<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def execute_request(conn, classname, max_open, max_pull):
 """ Enumerate instances defined by the function's classname argument using the OpenEnumerateInstances and PullInstancesWithPath. * classname - Classname for the enumeration. * max_open - defines the maximum number of instances for the server to return for the open *max_pull defines the maximum number of instances for the WBEM server to return for each pull operation. Displays results of each open or pull operation including size, return parameters, and time to execute. Any exception exits the function. """

    start = ElapsedTimer()
    result = conn.OpenEnumerateInstances(classname,
                                         MaxObjectCount=max_open)


    print('open rtn eos=%s context=%s, count=%s time=%s ms' %
          (result.eos, result.context, len(result.instances),
           start.elapsed_ms()))

    # save instances since we reuse result
    insts = result.instances

    # loop to make pull requests until end_of_sequence received.
    pull_count = 0
    while not result.eos:
        pull_count += 1
        op_start = ElapsedTimer()
        result = conn.PullInstancesWithPath(result.context,
                                            MaxObjectCount=max_pull)

        insts.extend(result.instances)

        print('pull rtn eos=%s context=%s, insts=%s time=%s ms' %
              (result.eos, result.context, len(result.instances),
               op_start.elapsed_ms()))


    print('Result instance count=%s pull count=%s time=%.2f sec' % \
          (len(insts), pull_count, start.elapsed_sec()))
    return insts