





'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A__    :       Optional[int]              ={
    '''configuration_mgp_str''': ['''MGP_STR_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MgpstrConfig'''],
    '''processing_mgp_str''': ['''MgpstrProcessor'''],
    '''tokenization_mgp_str''': ['''MgpstrTokenizer'''],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__    :       int              =[
          '''MGP_STR_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''MgpstrModel''',
          '''MgpstrPreTrainedModel''',
          '''MgpstrForSceneTextRecognition''',
      ]

if TYPE_CHECKING:
      from .configuration_mgp_str import MGP_STR_PRETRAINED_CONFIG_ARCHIVE_MAP, MgpstrConfig
      from .processing_mgp_str import MgpstrProcessor
      from .tokenization_mgp_str import MgpstrTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_mgp_str import (
                MGP_STR_PRETRAINED_MODEL_ARCHIVE_LIST,
                MgpstrForSceneTextRecognition,
                MgpstrModel,
                MgpstrPreTrainedModel,
            )
else:
      import sys

      A__    :       List[Any]              =_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)













'''simple docstring'''






def        UpperCamelCase__				(		lowerCAmelCase							,     lowerCAmelCase  ):





      """simple docstring"""


      if not (isinstance(lowerCAmelCase							,     lowerCAmelCase  ) and isinstance(lowerCAmelCase							,     lowerCAmelCase  )):
            raise ValueError("""longest_common_substring() takes two strings for inputs"""  )

      _lowerCAmelCase												=							len(lowerCAmelCase  )
      _lowerCAmelCase												=							len(lowerCAmelCase  )

      _lowerCAmelCase												=							[[0] * (texta_length + 1) for _ in range(texta_length + 1  )]
      _lowerCAmelCase												=							0
      _lowerCAmelCase												=							0

      for i in range(1							,     texta_length + 1  ):
            for j in range(1							,     texta_length + 1  ):
                  if texta[i - 1] == texta[j - 1]:
                        _lowerCAmelCase												=							1 + dp[i - 1][j - 1]
                        if dp[i][j] > ans_length:
                              _lowerCAmelCase												=							i
                              _lowerCAmelCase												=							dp[i][j]

      return texta[ans_index - ans_length : ans_index]


if __name__ == "__main__":
      import doctest

      doctest.testmod()






