



'''simple docstring'''





from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


SCREAMING_SNAKE_CASE__      					=     logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__      					=     {
    "google/bit-50": "https://huggingface.co/google/bit-50/resolve/main/config.json",
}


class 				snake_case (UpperCamelCase		,      UpperCamelCase   ):
       lowerCAmelCase__  :Optional[Any]						   =					"bit"
       lowerCAmelCase__  :Tuple						   =					["preactivation", "bottleneck"]
       lowerCAmelCase__  :Any						   =					["SAME", "VALID"]



       def __init__(				self     ,UpperCAmelCase_=3     ,UpperCAmelCase_=64     ,UpperCAmelCase_=[256, 512, 1_024, 2_048]     ,UpperCAmelCase_=[3, 4, 6, 3]     ,UpperCAmelCase_="preactivation"     ,UpperCAmelCase_="relu"     ,UpperCAmelCase_=None     ,UpperCAmelCase_=32     ,UpperCAmelCase_=0.0     ,UpperCAmelCase_=False     ,UpperCAmelCase_=32     ,UpperCAmelCase_=1     ,UpperCAmelCase_=None     ,UpperCAmelCase_=None     ,**UpperCAmelCase_     ,)  ->							Optional[int]:
           super().__init__(**UpperCAmelCase_      )
           if layer_type not in self.layer_types:
               raise ValueError(F'''layer_type={layer_type} is not one of {','.join(self.layer_types      )}'''      )
           if global_padding is not None:
               if global_padding.upper() in self.supported_padding:
                   lowercase__		       =						global_padding.upper()
               else:
                   raise ValueError(F'''Padding strategy {global_padding} not supported'''      )
           lowercase__		       =						num_channels
           lowercase__		       =						embedding_size
           lowercase__		       =						hidden_sizes
           lowercase__		       =						depths
           lowercase__		       =						layer_type
           lowercase__		       =						hidden_act
           lowercase__		       =						global_padding
           lowercase__		       =						num_groups
           lowercase__		       =						drop_path_rate
           lowercase__		       =						embedding_dynamic_padding
           lowercase__		       =						output_stride
           lowercase__		       =						width_factor

           lowercase__		       =						["stem"] + [F'''stage{idx}''' for idx in range(1     ,len(UpperCAmelCase_      ) + 1      )]
           lowercase__       ,       lowercase__		       =						get_aligned_output_features_output_indices(
               out_features=UpperCAmelCase_     ,out_indices=UpperCAmelCase_     ,stage_names=self.stage_names      )









'''simple docstring'''





def        lowerCamelCase  (				_snake_case  :						int = 4_000_000       ):





    '''simple docstring'''


    lowercase__		       =						[0, 1]
    lowercase__		       =						0
    while fib[i] <= n:
        fib.append(fib[i] + fib[i + 1]       )
        if fib[i + 2] > n:
            break
        i += 1
    lowercase__		       =						0
    for j in range(len(_snake_case       ) - 1       ):
        if fib[j] % 2 == 0:
            total += fib[j]

    return total


if __name__ == "__main__":
 print(f'''{solution() = }''')




