"""simple docstring"""


import unittest

import numpy as np

from transformers import is_tf_available
from transformers.testing_utils import require_tf


if is_tf_available():
    import tensorflow as tf

    from transformers.activations_tf import get_tf_activation




@require_tf
class 					UpperCamelCase   (							unittest.TestCase  ):







       def 						a_		(					self) -> Optional[Any]:
            snake_case_   			=   tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 100.0])
            snake_case_   			=   get_tf_activation('gelu')
            snake_case_   			=   get_tf_activation('gelu_10')

            snake_case_   			=   gelu(lowerCAmelCase__)
            snake_case_   			=   geluaa(lowerCAmelCase__)

            snake_case_   			=   tf.where(y_gelu_aa < 10.0,				1.0,				0.0)

            self.assertEqual(tf.math.reduce_max(lowerCAmelCase__).numpy().item(),				10.0)
            self.assertTrue(np.allclose(y_gelu * clipped_mask,				y_gelu_aa * clipped_mask))







       def 						a_		(					self) -> str:
            get_tf_activation('gelu')
            get_tf_activation('gelu_10')
            get_tf_activation('gelu_fast')
            get_tf_activation('gelu_new')
            get_tf_activation('glu')
            get_tf_activation('mish')
            get_tf_activation('quick_gelu')
            get_tf_activation('relu')
            get_tf_activation('sigmoid')
            get_tf_activation('silu')
            get_tf_activation('swish')
            get_tf_activation('tanh')
            with self.assertRaises(lowerCAmelCase__):
                 get_tf_activation('bogus')
            with self.assertRaises(lowerCAmelCase__):
                 get_tf_activation(lowerCAmelCase__)


"""simple docstring"""


import bsa
import requests







def    UpperCAmelCase       (						UpperCAmelCase   )							-> dict[str, str]:
     return {
         "name": soup.ha.a.text,
         "genre": soup.find('span'		,   class_='genre'   ).text.strip(),
         "rating": soup.strong.text,
         "page_link": f'https://www.imdb.com{soup.a.get("href"   )}',
     }







def    UpperCAmelCase       (						UpperCAmelCase = 5   )							-> tuple:
     snake_case_   			=   int(float(UpperCAmelCase   )   )
     if num_movies < 1:
          return ()
     snake_case_   			=   (
         'https://www.imdb.com/search/title?title_type='
         f'feature&sort=num_votes,desc&count={num_movies}'
     )
     snake_case_   			=   bsa.BeautifulSoup(requests.get(UpperCAmelCase   ).content		,   'html.parser'   )
     return tuple(
         get_movie_data_from_soup(UpperCAmelCase   )
         for movie in source.find_all('div'		,   class_='lister-item mode-advanced'   )   )


if __name__ == "__main__":
    import json

    __UpperCamelCase										=     int(input('''How many movies would you like to see? '''))
    print(
        ''', '''.join(
            json.dumps(movie, indent=4) for movie in get_imdb_top_movies(num_movies)
        )
    )

