      """
      norms = {"layer": LayerNormalization,
               "rms": RMSNormalization,
               "instance": InstanceNormalization}
      bottlenecks = {"average_pooling": GlobalAveragePooling2D(),
                     "dense": Dense(size),
                     "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
 
</s> remove     norms = {"layer": LayerNormalization,
 </s> add     norms = {"layer": kl.LayerNormalization, </s> remove     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:
 </s> add     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: </s> remove         norms = {"batch": BatchNormalization,
 </s> add         norms = {"batch": kl.BatchNormalization, </s> remove         var_x = Flatten()(var_x)
 </s> add         var_x = kl.Flatten()(var_x) </s> remove                  "layer": LayerNormalization,
 </s> add                  "layer": kl.LayerNormalization,
    bottlenecks = {"average_pooling": kl.GlobalAveragePooling2D(),
                   "dense": kl.Dense(size),
                   "max_pooling": kl.GlobalMaxPooling2D()}
      """
      norms = {"layer": LayerNormalization,
               "rms": RMSNormalization,
               "instance": InstanceNormalization}
    bottlenecks = {"average_pooling": kl.GlobalAveragePooling2D(),
                   "dense": kl.Dense(size),
                   "max_pooling": kl.GlobalMaxPooling2D()}
    bottlenecks = {"average_pooling": kl.GlobalAveragePooling2D(),
                   "dense": kl.Dense(size),
                   "max_pooling": kl.GlobalMaxPooling2D()}
    bottlenecks = {"average_pooling": kl.GlobalAveragePooling2D(),
                   "dense": kl.Dense(size),
                   "max_pooling": kl.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
keep keep keep keep 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