code: def forward(self, input):
      xa, xb = self.ctx.mpc.split_variable(
          input, self.rank_a, self.rank_b
      )
      out = self.ctx.mpc.sshe.cross_smm(
          ctx=self.ctx,
          group=self.group,
          xa=xa,
          xb=xb,
          wa=self.wa,
          wb=self.wb,
          rank_a=self.rank_a,
          rank_b=self.rank_b,
          phe_cipher=self.phe_cipher,
          precision_bits=self.precision_bits,
      )
      return out
  
imports: import typing
  from typing import Any, Iterator
  import torch
  from torch.nn import Parameter
  from fate.arch.context import Context
  from fate.arch.protocol.mpc.common.encoding import IgnoreEncodings
  from fate.arch.protocol.mpc.mpc import FixedPointEncoder
  from fate.arch.trace import auto_trace
label_desc: Use image node_id 3 for calling the SSHENeuralNetworkAggregator obj's underlying member method code with example usage: obj.forward(input) and returns: out