<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def resource_absent(name, resource_type, resource_selector_property, resource_selector_value):
    '''
    Ensure resource is absent

    name : string
        name of the zone
    resource_type : string
        type of resource
    resource_selector_property : string
        unique resource identifier
    resource_selector_value : string
        value for resource selection

    .. warning::
        Both resource_selector_property and resource_selector_value must be provided, some properties
        like ```name``` are already reserved by salt in there states.

    .. note::
        You can set both resource_selector_property and resource_selector_value to None for
        resources that do not require them.

    '''
    ret = {'name': name,
           'changes': {},
           'result': None,
           'comment': ''}

    # sanitize input
    if resource_selector_property:
        resource_selector_value = _parse_value(resource_selector_value)
    else:
        resource_selector_value = None

    zones = __salt__['zoneadm.list'](installed=True, configured=True)
    if name in zones:
        ## zone exists
        zonecfg = __salt__['zonecfg.info'](name, show_all=True)
        if resource_type in zonecfg:
            for resource in zonecfg[resource_type]:
                if __opts__['test']:
                    ret['result'] = True
                elif not resource_selector_property:
                    zonecfg_res = __salt__['zonecfg.remove_resource'](
                        zone=name,
                        resource_type=resource_type,
                        resource_key=None,
                        resource_value=None,
                    )
                    ret['result'] = zonecfg_res['status']
                    if zonecfg_res['status']:
                        ret['changes'][resource_type] = 'removed'
                        if ret['comment'] == '':
                            ret['comment'] = 'The {0} resource was removed.'.format(
                                resource_type,
                            )
                    elif 'messages' in zonecfg_res:
                        ret['comment'] = zonecfg_res['message']
                    else:
                        ret['comment'] = 'The {0} resource was not removed.'.format(
                            resource_type,
                        )
                elif resource[resource_selector_property] == resource_selector_value:
                    zonecfg_res = __salt__['zonecfg.remove_resource'](
                        zone=name,
                        resource_type=resource_type,
                        resource_key=resource_selector_property,
                        resource_value=resource_selector_value,
                    )
                    ret['result'] = zonecfg_res['status']
                    if zonecfg_res['status']:
                        ret['changes'][resource_type] = {}
                        ret['changes'][resource_type][resource_selector_value] = 'removed'
                        if ret['comment'] == '':
                            ret['comment'] = 'The {0} resource {1} was removed.'.format(
                                resource_type,
                                resource_selector_value,
                            )
                    elif 'messages' in zonecfg_res:
                        ret['comment'] = zonecfg_res['message']
                    else:
                        ret['comment'] = 'The {0} resource {1} was not removed.'.format(
                            resource_type,
                            resource_selector_value,
                        )

        # resource already absent
        if ret['result'] is None:
            ret['result'] = True
            ret['comment'] = 'The {0} resource {1} was absent.'.format(
                resource_type,
                resource_selector_value,
            )
    else:
        ## zone does not exist
        ret['result'] = False
        ret['comment'] = 'The zone {0} is not in the configured, installed, or booted state.'.format(name)

    return ret