<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select(cls, **context):
 """ Selects records for the class based on the inputted \ options. If no db is specified, then the current \ global database will be used. If the inflated flag is specified, then \ the results will be inflated to class instances. If the flag is left as None, then results will be auto-inflated if no columns were supplied. If columns were supplied, then the results will not be inflated by default. If the groupBy flag is specified, then the groupBy columns will be added to the beginning of the ordered search (to ensure proper paging). See the Table.groupRecords methods for more details. :note From version 0.6.0 on, this method now accepts a mutable keyword dictionary of values. You can supply any member value for either the <orb.LookupOptions> or <orb.Context>, as well as the keyword 'lookup' to an instance of <orb.LookupOptions> and 'context' for an instance of the <orb.Context> :return [ <cls>, .. ] || { <variant> grp: <variant> result, .. } """

        rset_type = getattr(cls, 'Collection', orb.Collection)
        return rset_type(model=cls, **context)