Project Name: altair-viz+altair
Language: Python
Statement Type: Branch

Source Code:
def properties(self, **kwargs) -> Self:
        """Set top-level properties of the Chart.

        Argument names and types are the same as class initialization.
        """
        # ignore type as copy comes from another class for subclasses of TopLevelMixin
        copy = self.copy(deep=False)  # type: ignore[attr-defined]
        for key, val in kwargs.items():
            if key == "selection" and isinstance(val, Parameter):
                # TODO: Can this be removed
                # For backward compatibility with old selection interface.
                setattr(copy, key, {val.name: val.selection})
            else:
                # Don't validate data, because it hasn't been processed.
                if key != "data":
                    # ignore type as validate_property comes from SchemaBase,
                    # not from TopLevelMixin
                    self.validate_property(key, val)  # type: ignore[attr-defined]
                setattr(copy, key, val)
        return copy

properties(self=alt.Chart(...), kwargs={'width': 750, 'height': 500}, self._args=(), self._kwds={'data': UrlData({  format: TopoDataFormat({    feature: 'states',    type: 'topojson'  }),  url: 'https://cdn.jsdelivr.net/npm/vega-datasets@v1.29.0/data/us-10m.json'}), 'mark': MarkDef({  fill: 'lightgray',  stroke: 'white',  type: 'geoshape'}), 'align': Undefined, 'autosize': Undefined, 'background': Undefined, 'bounds': Undefined, 'center': Undefined, 'config': Undefined, 'datasets': Undefined, 'description': Undefined, 'encoding': Undefined, 'height': Undefined, 'name': Undefined, 'padding': Undefined, 'params': Undefined, 'projection': Undefined, 'resolve': Undefined, 'spacing': Undefined, 'title': Undefined, 'transform': Undefined, 'usermeta': Undefined, 'view': Undefined, 'width': Undefined})

Selected Statement: if key != "data":

Function Input:
self: alt.Chart(...)
kwargs: width: 750
height: 500
self._args: ()
self._kwds: {'data': UrlData({  format: TopoDataFormat({    feature: 'states',    type: 'topojson'  }),  url: 'https://cdn.jsdelivr.net/npm/vega-datasets@v1.29.0/data/us-10m.json'}), 'mark': MarkDef({  fill: 'lightgray',  stroke: 'white',  type: 'geoshape'}), 'align': Undefined, 'autosize': Undefined, 'background': Undefined, 'bounds': Undefined, 'center': Undefined, 'config': Undefined, 'datasets': Undefined, 'description': Undefined, 'encoding': Undefined, 'height': Undefined, 'name': Undefined, 'padding': Undefined, 'params': Undefined, 'projection': Undefined, 'resolve': Undefined, 'spacing': Undefined, 'title': Undefined, 'transform': Undefined, 'usermeta': Undefined, 'view': Undefined, 'width': Undefined}

Variable Values Before Statement:
key: 'height'

Value After Statement Execution: No

Variable States During Runtime (line, value):
self: 1
alt.Chart(...)
kwargs: 1
width: 750
height: 500
self._args: 1
()
self._kwds: 1
{'data': UrlData({  format: TopoDataFormat({    feature: 'states',    type: 'topojson'  }),  url: 'https://cdn.jsdelivr.net/npm/vega-datasets@v1.29.0/data/us-10m.json'}), 'mark': MarkDef({  fill: 'lightgray',  stroke: 'white',  type: 'geoshape'}), 'align': Undefined, 'autosize': Undefined, 'background': Undefined, 'bounds': Undefined, 'center': Undefined, 'config': Undefined, 'datasets': Undefined, 'description': Undefined, 'encoding': Undefined, 'height': Undefined, 'name': Undefined, 'padding': Undefined, 'params': Undefined, 'projection': Undefined, 'resolve': Undefined, 'spacing': Undefined, 'title': Undefined, 'transform': Undefined, 'usermeta': Undefined, 'view': Undefined, 'width': Undefined}
copy: 7
alt.Chart(...)
key: 8
'width'
8
'height'
val: 8
750
8
500