code: def numba_funcify_BernoulliRV(op, node, **kwargs):
      out_dtype = node.outputs[1].type.numpy_dtype
  
      def body_fn(a):
          return f"""
      if {a} < np.random.uniform(0, 1):
          return direct_cast(0, out_dtype)
      else:
          return direct_cast(1, out_dtype)
          """
  
      return create_numba_random_fn(
          op,
          node,
          body_fn,
          {
              "out_dtype": out_dtype,
              "direct_cast": numba_basic.direct_cast,
          },
      )
  
imports: from textwrap import dedent, indent
  from typing import Any, Callable, Optional
  import numba.np.unsafe.ndarray
  import numpy
  from numba import _helperlib, types
  from numba.core import cgutils
  from numba.extending import NativeValue, box, models, register_model, typeof_impl, unbox
  from numpy.random import RandomState
  import pytensor.tensor.random.basic
  from pytensor.graph.basic import Apply
  from pytensor.graph.op import Op
  from pytensor.link.numba.dispatch import basic
  from pytensor.link.numba.dispatch.basic import numba_funcify, numba_typify
  from pytensor.link.utils import compile_function_src, get_name_for_object, unique_name_generator
  from pytensor.tensor.basic import get_vector_length
  from pytensor.tensor.random.type import RandomStateType
label_desc: Use image node_id 11 for calling a global function with example usage: numba_funcify_BernoulliRV(op, node) and returns: create_numba_random_fn, str, a, str