code: 
  
  
  '''simple docstring'''
  
  
  
  import itertools
  from dataclasses import dataclass
  from typing import Optional
  
  import pyarrow as pa
  
  import datasets
  from datasets.table import table_cast
  
  
  __lowercase			:		int =			datasets.utils.logging.get_logger(__name__)
  
  
  
  
  
  @dataclass
  class 							__UpperCamelCase       (	datasets.BuilderConfig      ):
  	A_			    =					None
  
  
  
  
  
  class 							__UpperCamelCase       (	datasets.ArrowBasedBuilder      ):
  	A_			    =					ArrowConfig
  
  
  
  
  	def    __UpperCAmelCase							(     self							):
  
  						'''simple docstring'''
  
  
  
  
  
  						return datasets.DatasetInfo(features=self.config.features							)
  
  
  
  
  	def    __UpperCAmelCase							(     self		,       __a							):
  
  						'''simple docstring'''
  
  
  
  
  
  						if not self.config.data_files:
  											raise ValueError(f"""At least one data file must be specified, but got data_files={self.config.data_files}"""							)
  						__a    : Dict      					=						dl_manager.download_and_extract(self.config.data_files							)
  						if isinstance(__a		,       (str, list, tuple)							):
  											__a    : Optional[Any]      					=						data_files
  											if isinstance(__a		,       __a							):
  																__a    : Tuple      					=						[files]
  											# Use `dl_manager.iter_files` to skip hidden files in an extracted archive
  											__a    : Tuple      					=						[dl_manager.iter_files(__a							) for file in files]
  											return [datasets.SplitGenerator(name=datasets.Split.TRAIN		,       gen_kwargs={'files': files}							)]
  						__a    : int      					=						[]
  						for split_name, files in data_files.items():
  											if isinstance(__a		,       __a							):
  																__a    : Optional[int]      					=						[files]
  											# Use `dl_manager.iter_files` to skip hidden files in an extracted archive
  											__a    : List[Any]      					=						[dl_manager.iter_files(__a							) for file in files]
  											# Infer features is they are stoed in the arrow schema
  											if self.info.features is None:
  																for file in itertools.chain.from_iterable(__a							):
  																					with open(__a		,       'rb'							) as f:
  																										__a    : List[str]      					=						datasets.Features.from_arrow_schema(pa.ipc.open_stream(__a							).schema							)
  																					break
  											splits.append(datasets.SplitGenerator(name=__a		,       gen_kwargs={'files': files}							)							)
  						return splits
  
  
  
  
  	def    __UpperCAmelCase							(     self		,       __a							):
  
  						'''simple docstring'''
  
  
  
  
  
  						if self.info.features is not None:
  											# more expensive cast to support nested features with keys in a different order
  											# allows str <-> int/float or str to Audio for example
  											__a    : Any      					=						table_cast(__a		,       self.info.features.arrow_schema							)
  						return pa_table
  
  
  
  
  
  	def    __UpperCAmelCase							(     self		,       __a							):
  
  						'''simple docstring'''
  
  
  
  
  
  						for file_idx, file in enumerate(itertools.chain.from_iterable(__a							)							):
  											with open(__a		,       'rb'							) as f:
  																try:
  																					for batch_idx, record_batch in enumerate(pa.ipc.open_stream(__a							)							):
  																										__a    : Union[str, Any]      					=						pa.Table.from_batches([record_batch]							)
  																										# Uncomment for debugging (will print the Arrow table size and elements)
  																										# logger.warning(f"pa_table: {pa_table} num rows: {pa_table.num_rows}")
  																										# logger.warning('\n'.join(str(pa_table.slice(i, 1).to_pydict()) for i in range(pa_table.num_rows)))
  																										yield f"""{file_idx}_{batch_idx}""", self._cast_table(__a							)
  																except ValueError as e:
  																					logger.error(f"""Failed to read file '{file}' with error {type(__a							)}: {e}"""							)
  																					raise
  
  
  
  
style_context: 
  
  
  '''simple docstring'''
  
  
  
  from typing import TYPE_CHECKING
  
  from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available
  
  
  __lowercase			:		Any =			{'configuration_visual_bert': ['VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'VisualBertConfig']}
  
  try:
  	if not is_torch_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	__lowercase			:		Optional[int] =			[
  	    'VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST',
  	    'VisualBertForMultipleChoice',
  	    'VisualBertForPreTraining',
  	    'VisualBertForQuestionAnswering',
  	    'VisualBertForRegionToPhraseAlignment',
  	    'VisualBertForVisualReasoning',
  	    'VisualBertLayer',
  	    'VisualBertModel',
  	    'VisualBertPreTrainedModel',
  	]
  
  
  if TYPE_CHECKING:
  	from .configuration_visual_bert import VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, VisualBertConfig
  
  	try:
  		if not is_torch_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .modeling_visual_bert import (
  		    VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
  		    VisualBertForMultipleChoice,
  		    VisualBertForPreTraining,
  		    VisualBertForQuestionAnswering,
  		    VisualBertForRegionToPhraseAlignment,
  		    VisualBertForVisualReasoning,
  		    VisualBertLayer,
  		    VisualBertModel,
  		    VisualBertPreTrainedModel,
  		)
  
  
  else:
  	import sys
  
  	__lowercase			:		Tuple =			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
  
  
  
  