from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase							:      Optional[int]      							={
    '''configuration_swinv2''': ['''SWINV2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''Swinv2Config'''],
}


try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    _lowercase							:      Optional[int]      							=[
        '''SWINV2_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''Swinv2ForImageClassification''',
        '''Swinv2ForMaskedImageModeling''',
        '''Swinv2Model''',
        '''Swinv2PreTrainedModel''',
    ]


if TYPE_CHECKING:
    from .configuration_swinva import SWINV2_PRETRAINED_CONFIG_ARCHIVE_MAP, SwinvaConfig

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_swinva import (
            SWINV2_PRETRAINED_MODEL_ARCHIVE_LIST,
            SwinvaForImageClassification,
            SwinvaForMaskedImageModeling,
            SwinvaModel,
            SwinvaPreTrainedModel,
        )


else:
    import sys

    _lowercase							:      Union[str, Any]      							=_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)







def A__  (			lowercase:     int					)				->		int:
       if not isinstance(lowercase,		lowercase					) or number < 0:
              raise ValueError('Input must be a non-negative integer'					)

       A						:     Any         =0
       while number:
              # This way we arrive at next set bit (next 1) instead of looping
              # through each bit and checking for 1s hence the
              # loop won't run 32 times it will only run the number of `1` times
              number &= number - 1
              count += 1
       return count


if __name__ == "__main__":
    import doctest

    doctest.testmod()






