return function(gate, argv) if #argv == 1 then gate.ports[1]:setstate(toboolean(argv[1])) gate.ports[2]:setstate(toboolean(argv[1])) else gate.ports[1]:setstate(not gate.ports[1].state) gate.ports[2]:setstate(not gate.ports[2].state) end gate:cb(bool_to_int[gate.ports[1].state]) end