{{ numInputs = operation.inputs.length }}
{{ numOutputs = operation.outputs.length }}
{{ numParams = operation.parameters.length }}
{{ numDatas = operation.data.length }}
{{ numEx = operation.exceptions.length }}
{{ bodyHeight = portSpace+portSpace * (
numInputs+numParams > numOutputs+numDatas ?
(numInputs+numParams) :
(numOutputs+numDatas)
) + portSpace * ( numEx > 0 ? 1 : 0 ) }}
{{operation.id}}: {{operation.name}}
{{ numPorts = exceptionTotalPorts(ex) }}
{{ n = ex.outputs.length + ex.data.length }}
{{ exBodyHeight = portSpace+portSpace * ( n == 0 ? 1 : n ) }}
{{ exX = width + portSpace/2 }}
{{ exY = bodyHeight + ($index+2)*portSpace + (numPorts+2*$index)*portSpace }}
{{ outX = (numEx-1)*portSpace/2 + width/2 - portSpace*$index }}
{{ outY = nameHeight+bodyHeight }}
{{ex.name}}
{{ numExOutputs = ex.outputs.length }}