class_docstr: Pads a value to the `event_shape` of a `Tensor`.
  
  The semantics of `tfp.bijectors.Pad` generally follow that of `tf.pad()`
  except that `tfp.bijectors.Pad`'s `paddings` argument applies to the rightmost
  dimensions. Additionally, the new argument `axis` enables overriding the
  dimensions to which `paddings` is applied. Like `paddings`, the `axis`
  argument is also relative to the rightmost dimension and must therefore be
  negative.
  
  The argument `paddings` is a vector of `int` pairs each representing the
  number of left and/or right `constant_values` to pad to the corresponding
  righmost dimensions. That is, unless `axis` is specified, specifiying `k`
  different `paddings` means the rightmost `k` dimensions will be "grown" by the
  sum of the respective `paddings` row. When `axis` is specified, it indicates
  the dimension to which the corresponding `paddings` element is applied. By
  default `axis` is `None` which means it is logically equivalent to
  `range(start=-len(paddings), limit=0)`, i.e., the rightmost dimensions.
  
  Example usage:
  
  ```python
  b = tfp.bijectors.Pad()  # Default arguments.
  
  b.forward([3., 4.])      # shape: [2]
  # ==> [[3., 4., 0.]]     # shape: [3]
  
  b.forward([[1., 2.],
             [3., 4.]])    # shape: [2, 2]
  # ==> [[1., 2., 0.],
  #      [3., 4., 0.]]     # shape: [2, 3]
  
  b.inverse([3., 4., 0.])  # shape: [3]
  # ==> [3., 4.]           # shape: [2]
  
  b.forward_log_det_jacobian(any_value)
  # ==> 0.
  
  b.inverse_log_det_jacobian(any_value)
  # ==> 0.
  ```
  
  ```python
  b = tfp.bijectors.Pad(axis=-2)  # With non-default `axis` arg.
  
  b.forward([[3., 4.]])    # shape: [1, 2]
  # ==> [[3., 4.],         # shape: [2, 2]
  #      [0., 0.]]
  
  b.inverse([[3., 4.],     # shape: [2, 2]
             [0., 0.]])
  # ==> [[3., 4.]]         # shape: [1, 2]
  
  b.forward_log_det_jacobian(any_value)
  # ==> 0.
  
  b.inverse_log_det_jacobian(any_value)
  # ==> 0.
  ```
code: def _parameter_properties(cls, dtype):
      return dict(
          paddings=parameter_properties.ShapeParameterProperties(),
          constant_values=parameter_properties.ParameterProperties(),
          axis=parameter_properties.ShapeParameterProperties(),
      )
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 2 for calling the Pad obj's underlying member method code with example usage: obj._parameter_properties(cls, dtype) and returns: dict