def call(self, inputs):
<EOL>features, static_sample = inputs<EOL>length = tf.shape(input=features)[-<NUM_LIT:2>]<EOL>static_sample = static_sample[..., tf.newaxis, :] + tf.zeros([length, <NUM_LIT:1>])<EOL>sample_shape_static = tf.shape(input=static_sample)[:-<NUM_LIT:3>]<EOL>sample_shape_inputs = tf.shape(input=features)[:-<NUM_LIT:3>]<EOL>broadcast_shape_inputs = tf.concat((sample_shape_static, [<NUM_LIT:1>, <NUM_LIT:1>, <NUM_LIT:1>]), <NUM_LIT:0>)<EOL>broadcast_shape_static = tf.concat((sample_shape_inputs, [<NUM_LIT:1>, <NUM_LIT:1>, <NUM_LIT:1>]), <NUM_LIT:0>)<EOL>features = features + tf.zeros(broadcast_shape_inputs)<EOL>static_sample = static_sample + tf.zeros(broadcast_shape_static)<EOL>combined = tf.concat((features, static_sample), axis=-<NUM_LIT:1>)<EOL>collapsed_shape = tf.concat(([-<NUM_LIT:1>], tf.shape(input=combined)[-<NUM_LIT:2>:]), axis=<NUM_LIT:0>)<EOL>out = tf.reshape(combined, collapsed_shape)<EOL>out = self.bilstm(out)  <EOL>out = self.rnn(out)  <EOL>expanded_shape = tf.concat(<EOL>(tf.shape(input=combined)[:-<NUM_LIT:2>], tf.shape(input=out)[<NUM_LIT:1>:]), axis=<NUM_LIT:0>)<EOL>out = tf.reshape(out, expanded_shape)  <EOL>out = self.output_layer(out)  <EOL>loc = out[..., :self.latent_size]<EOL>scale_diag = tf.nn.softplus(out[..., self.latent_size:]) + <NUM_LIT>  <EOL>return tfd.MultivariateNormalDiag(loc=loc, scale_diag=scale_diag)<EOL>
Runs the model to generate a distribution `q(z_{1:T} | x_{1:T}, f)`.

        This generates a list of batched MultivariateNormalDiag
        distributions using the output of the recurrent model at each
        timestep to parameterize each distribution.

        Args:
          inputs: A tuple of a batch of intermediate representations of
            image frames across all timesteps of shape [..., batch_size,
            timesteps, dimensions], and a sample of the static latent
            variable `f` of shape [..., batch_size, latent_size].

        Returns:
          A batch of MultivariateNormalDiag distributions with event shape
          [latent_size], batch shape [broadcasted_shape, batch_size,
          timesteps], and sample shape [sample_shape, broadcasted_shape,
          batch_size, timesteps, latent_size], where `broadcasted_shape` is
          the broadcasted sampled shape between the inputs and static
          sample.