<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def geocodeAddresses(self, addresses, outSR=4326, sourceCountry=None, category=None):
 """ The geocodeAddresses operation is performed on a Geocode Service resource. The result of this operation is a resource representing the list of geocoded addresses. This resource provides information about the addresses including the address, location, score, and other geocode service-specific attributes.You can provide arguments to the geocodeAddresses operation as query parameters defined in the following parameters table. Inputs: addresses - A record set representing the addresses to be geocoded. Each record must include an OBJECTID attribute with a unique value, as well as various address fields accepted by the corresponding geocode service. The field names that should be used can be found in the JSON representation of the geocode service resource under the addressFields property, for multiple input field geocoding, or the singleLineAddressField property, for single input field geocoding. The OBJECTID specified in the request is reflected as ResultID in the response. The maximum number of addresses that can be geocoded in a single request is limited to the SuggestedBatchSize property of the locator. Syntax: { "records" : [ { "attributes" : {"<OBJECTID>" : "<OID11>", "<field1>" : "<value11>", "<field2>" : "<value12>", "<field3>" : "<value13>" } }, { "attributes" : {"<OBJECTID>" : "<OID12>", "<field1>" : "<value11>", "<field2>" : "<value12>", "<field3>" : "<value13>" } } ] } outSR - The well-known ID of the spatial reference, or a spatial reference json object for the returned addresses. For a list of valid WKID values, see Projected coordinate systems and Geographic coordinate systems. sourceCountry - The sourceCountry parameter is only supported by geocode services published using StreetMap Premium locators. Added at 10.3 and only supported by geocode services published with ArcGIS 10.3 for Server and later versions. category - The category parameter is only supported by geocode services published using StreetMap Premium locators. """

        params = {
            "f" : "json"
        }
        url = self._url + "/geocodeAddresses"
        params['outSR'] = outSR
        params['sourceCountry'] = sourceCountry
        params['category'] = category
        params['addresses'] = addresses
        return self._post(url=url,
                             param_dict=params,
                             securityHandler=self._securityHandler,
                             proxy_url=self._proxy_url,
                             proxy_port=self._proxy_port)