                     "max_pooling": GlobalMaxPooling2D()}
      var_x = inputs
      if normalization:
          var_x = norms[normalization]()(var_x)
      if bottleneck == "dense" and len(K.int_shape(var_x)[1:]) > 1:
          # Flatten non-1D inputs for dense bottleneck
          var_x = Flatten()(var_x)
      var_x = bottlenecks[bottleneck](var_x)
      if len(K.int_shape(var_x)[1:]) > 1:
          # Flatten prior to fc layers
          var_x = Flatten()(var_x)
      return var_x
  
  
 
</s> remove     bottlenecks = {"average_pooling": GlobalAveragePooling2D(),
                   "dense": Dense(size),
                   "max_pooling": GlobalMaxPooling2D()}
 </s> add     bottlenecks = {"average_pooling": kl.GlobalAveragePooling2D(),
                   "dense": kl.Dense(size),
                   "max_pooling": kl.GlobalMaxPooling2D()} </s> remove         var_x = Flatten()(var_x)
 </s> add         var_x = kl.Flatten()(var_x) </s> remove                 style = LeakyReLU(0.1)(style)
 </s> add                 style = kl.LeakyReLU(0.1)(style) </s> remove             var_x = Add()([var_x, noise])
            var_x = LeakyReLU(0.2)(var_x)
 </s> add             var_x = kl.Add()([var_x, noise])
            var_x = kl.LeakyReLU(0.2)(var_x) </s> remove             styles = [Reshape([1, 1, filters])(Dense(filters)(style)) for _ in range(2)]
            noise = KConv2D(filters, 1, padding="same")(GaussianNoise(1.0)(var_x))
 </s> add             styles = [kl.Reshape([1, 1, filters])(kl.Dense(filters)(style)) for _ in range(2)]
            noise = kl.Conv2D(filters, 1, padding="same")(kl.GaussianNoise(1.0)(var_x))
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
                     "max_pooling": GlobalMaxPooling2D()}
      var_x = inputs
      if normalization:
          var_x = norms[normalization]()(var_x)
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
    if bottleneck == "dense" and K.ndim(var_x) > 2:  # Flatten non-1D inputs for dense
        var_x = kl.Flatten()(var_x)
    if bottleneck != "flatten":
        var_x = bottlenecks[bottleneck](var_x)
    if K.ndim(var_x) > 2:
          # Flatten prior to fc layers
          var_x = Flatten()(var_x)
      return var_x
  
  
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Updates:
    - Remove clipfaker
    - Add clip to Phaze-A
    - streamline clip to vision only
    - update lib.model.networks
    - Docs and tests update
    - Phaze-A - add option to flatten bottleneck 
plugins/train/model/phaze_a.py