<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create(cls, name, mgmt_ip, mgmt_network, mgmt_interface=0, inline_interface='1-2', logical_interface='default_eth', log_server_ref=None, domain_server_address=None, zone_ref=None, enable_antivirus=False, enable_gti=False, comment=None):
 """ Create a single layer 2 firewall with management interface and inline pair :param str name: name of firewall engine :param str mgmt_ip: ip address of management interface :param str mgmt_network: management network in cidr format :param int mgmt_interface: (optional) interface for management from SMC to fw :param str inline_interface: interfaces to use for first inline pair :param str logical_interface: name, str href or LogicalInterface (created if it doesn't exist) :param str log_server_ref: (optional) href to log_server instance :param list domain_server_address: (optional) DNS server addresses :param str zone_ref: zone name, str href or Zone for management interface (created if not found) :param bool enable_antivirus: (optional) Enable antivirus (required DNS) :param bool enable_gti: (optional) Enable GTI :raises CreateEngineFailed: Failure to create with reason :return: :py:class:`smc.core.engine.Engine` """

        interfaces = []
        interface_id, second_interface_id = inline_interface.split('-')
        l2 = {'interface_id': interface_id,
              'interface': 'inline_interface',
              'second_interface_id': second_interface_id,
              'logical_interface_ref': logical_interface}
        
        interfaces.append(
            {'physical_interface': Layer2PhysicalInterface(**l2)})
        
        layer3 = {'interface_id': mgmt_interface,
                  'zone_ref': zone_ref,
             'interfaces': [{'nodes': [
                 {'address': mgmt_ip, 'network_value': mgmt_network, 'nodeid': 1}]}]
             }
        
        interfaces.append(
            {'physical_interface': Layer3PhysicalInterface(primary_mgt=mgmt_interface, **layer3)})
            
        engine = super(Layer2Firewall, cls)._create(
            name=name,
            node_type='fwlayer2_node',
            physical_interfaces=interfaces,
            domain_server_address=domain_server_address,
            log_server_ref=log_server_ref,
            nodes=1, enable_gti=enable_gti,
            enable_antivirus=enable_antivirus,
            comment=comment)
        
        try:
            return ElementCreator(cls, json=engine)
        
        except CreateElementFailed as e:
            raise CreateEngineFailed(e)