diff --git a/.github/workflows/test_labeling.yaml b/.github/workflows/test_labeling.yaml index be726ca0..25a8126c 100644 --- a/.github/workflows/test_labeling.yaml +++ b/.github/workflows/test_labeling.yaml @@ -1,4 +1,4 @@ -name: CI +name: CI labeling # Controls when the action will run. on: diff --git a/README.md b/README.md index 52eb8166..a4c02e92 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,31 @@ In 2022, the system won a grant to support the development of promising AI proje * Using Tesseract, an actively developed OCR engine from Google, together with image preprocessing methods. * Utilizing modern machine learning approaches for detecting a document orientation, detecting single/multicolumn document page, detecting bold text and extracting hierarchical structure based on the classification of features extracted from document images. +## Document format description +The system processes different document formats. The main formats are listed below: + +| Format group | Description | +|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Office formats | DOCX, XLSX, PPTX and formats that canbe converted to them. Handling of these for-mats is held by analysis of format inner rep-resentation and using specialized libraries ([python-docx](https://python-docx.readthedocs.io/en/latest/), [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)) | +| HTML, EML, MHTML | HTML documents are parsed using tagsanalysis, HTML handler is used for han-dling documents of other formats in thisgroup | +| TXT | Only raw textual content is analyzed | +| Archives | Attachments of the archive are analyzed | | +| PDF,document images | Copyable PDF documents (with a textual layer) can be handled using [pdfminer-six](https://pdfminersix.readthedocs.io/en/latest/) library or [tabby](https://github.com/sunveil/ispras_tbl_extr) software. Non-copyable PDF documents or imagesare handled using [Tesseract-OCR](https://github.com/tesseract-ocr/tesseract), machine learning methods (including neural network methods) and [image processing methods](https://opencv.org/) | + +## Examples of processed scanned documents +* Dedoc can only process scanned black and white documents, such as technical specifications, regulations, articles, etc. +Document examples + +* In particular, dedoc recognizes tabular information only from tables with explicit boundaries. Here are examples of documents that can be processed by an dedoc's image handler: +Table parsing example + +* The system also automatically detects and corrects the orientation of scanned documents + +## Example of structure extractor +Law structure example +Tz structure example + + ## Impact This project may be useful as a first step of automatic document analysis pipeline (e.g. before the NLP part). Dedoc is in demand for information analytic systems, information leak monitoring systems, as well as for natural language processing systems. @@ -44,6 +69,20 @@ The library is intended for application use by developers of systems for automat # Online-Documentation Relevant documentation of the dedoc is available [here](https://dedoc.readthedocs.io/en/latest/) +# Demo +You can try dedoc's demo: https://dedoc-readme.hf.space. + +We have a video to demonstrate how to use the system: https://www.youtube.com/watch?v=ZUnPYV8rd9A. + +![Web_interface](docs/source/_static/web_interface.png) + +![dedoc_demo](docs/source/_static/dedoc_short.gif) + +# Some our publications + +* Article on [Habr](https://habr.com/ru/companies/isp_ras/articles/779390/), where we describe our system in detail +* [Our article](https://aclanthology.org/2022.fnp-1.13.pdf) from the FINTOC 2022 competition. We are the winners :smiley: :trophy:! + # Installation instructions **************************************** This project has REST Api and you can run it in Docker container. @@ -105,113 +144,8 @@ If you don't want to use docker for running the application, it's possible to ru However, it isn't suitable for any operating system (`Ubuntu 20+` is recommended) and there may be not enough machine's resources for its work. You should have `python` (`python3.8`, `python3.9` are recommended) and `pip` installed. - -### 1. Install necessary packages: -```shell -sudo apt-get install -y libreoffice djvulibre-bin unzip unrar -``` - -`libreoffice` and `djvulibre-bin` packages are used by converters (doc, odt to docx; xls, ods to xlsx; ppt, odp to pptx; djvu to pdf). -If you don't need converters, you can skip this step. -`unzip` and `unrar` packages are used in the process of extracting archives. - -### 2. Install `Tesseract OCR 5` framework: -You can try any tutorial for this purpose or look [`here`](https://github.com/ispras/dedockerfiles/blob/master/dedoc_p3.9_base.Dockerfile) -to get the example of Tesseract installing for dedoc container or use next commands for building Tesseract OCR 5 from sources: - -#### 2.1. Install compilers and libraries required by the Tesseract OCR: -```shell -sudo apt-get update -sudo apt-get install -y automake binutils-dev build-essential ca-certificates clang g++ g++-multilib gcc-multilib libcairo2 libffi-dev \ -libgdk-pixbuf2.0-0 libglib2.0-dev libjpeg-dev libleptonica-dev libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpng-dev libsm6 \ -libtesseract-dev libtool libxext6 make pkg-config poppler-utils pstotext shared-mime-info software-properties-common swig zlib1g-dev -``` -#### 2.2. Build Tesseract from sources: -```shell -sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel -sudo apt-get update --allow-releaseinfo-change -sudo apt-get install -y tesseract-ocr tesseract-ocr-rus -git clone --depth 1 --branch 5.0.0-beta-20210916 https://github.com/tesseract-ocr/tesseract/ -cd tesseract && ./autogen.sh && sudo ./configure && sudo make && sudo make install && sudo ldconfig && cd .. -export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ -``` - -## Install the dedoc library via pip. - -You need `torch~=1.11.0` and `torchvision~=0.12.0` installed. If you already have torch and torchvision in your environment: - -```shell -pip install dedoc -``` - -Or you can install dedoc with torch and torchvision included: - -```shell -pip install "dedoc[torch]" -``` +Installation instructions via pip are available [here](https://dedoc.readthedocs.io/en/latest/getting_started/installation.html#install-dedoc-using-pip). ## Install and run dedoc from sources +You can also install and run dedoc locally from sources using [this](https://dedoc.readthedocs.io/en/latest/getting_started/installation.html#install-and-run-dedoc-from-sources) instruction. -If you want to run dedoc as a service from sources, it's possible to run dedoc locally. -However, it is suitable not for all operating systems (`Ubuntu 20+` is recommended) and -there may be not enough machine's resources for its work. -You should have `python` (`python3.8`, `python3.9` are recommended) and `pip` installed. - -### 1. Install necessary packages: according to instructions [install necessary packages](#1-Install-necessary-packages) - -### 2. Build Tesseract from sources according to instructions [Install Tesseract OCR-5 framework](#2-Install-Tesseract-OCR-5-framework) - -### 3. We recommend to install python's virtual environment (for example, via `virtualenvwrapper`) - -Below are the instructions for installing the package `virtualenvwrapper`: - -```shell -sudo pip3 install virtualenv virtualenvwrapper -mkdir ~/.virtualenvs -export WORKON_HOME=~/.virtualenvs -echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8" >> ~/.bashrc -echo ". /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc -source ~/.bashrc -mkvirtualenv dedoc_env -``` - -### 4. Install python's requirements and launch dedoc service on default port `1231`: - -```shell -# clone dedoc project -git clone https://github.com/ispras/dedoc.git -cd dedoc -# check on your's python environment -workon dedoc_env -export PYTHONPATH=$PYTHONPATH:$(pwd) -pip install -r requirements.txt -pip install torch=1.11.0 torchvision==0.12.0 -f https://download.pytorch.org/whl/torch_stable.html -python dedoc/main.py -c ./dedoc/config.py -``` -Now you can go to the `localhost:1231` and look at the docs and examples. - -## Option: You can change the port of service: -You need to change environment `DOCREADER_PORT` - -1. For local service launching on `your_port` (e.g. `1166`). Install ([installation instruction](#Install-and-run-dedoc-from-sources)) and launch with environment: -```shell -DOCREADER_PORT=1166 python dedoc/main.py -c ./dedoc/config.py -``` - -2. For service launching in docker-container you need to change port value in `DOCREADER_PORT` env and field `ports` in `docker-compose.yml` file: -```yaml - ... - dedoc: - ... - ports: - - your_port_number:your_port_number - environment: - DOCREADER_PORT: your_port_number - ... - test: - ... - environment: - DOCREADER_PORT: your_port_number -``` - -Go [here](https://dedoc.readthedocs.io/en/latest/getting_started/installation.html) to get more details about dedoc installation. diff --git a/VERSION b/VERSION index 42f7d233..7c327287 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1 \ No newline at end of file +2.1.1 \ No newline at end of file diff --git a/dedoc/readers/html_reader/html_reader.py b/dedoc/readers/html_reader/html_reader.py index d398fbe9..4a2668bf 100644 --- a/dedoc/readers/html_reader/html_reader.py +++ b/dedoc/readers/html_reader/html_reader.py @@ -1,9 +1,8 @@ import hashlib import string -from typing import List, Optional, Union +from typing import List, Optional, Tuple, Union -from bs4 import BeautifulSoup -from bs4 import Comment, Doctype, Tag +from bs4 import BeautifulSoup, Comment, Doctype, NavigableString, Tag from dedoc.data_structures.cell_with_meta import CellWithMeta from dedoc.data_structures.hierarchy_level import HierarchyLevel @@ -48,16 +47,18 @@ def read(self, file_path: str, parameters: Optional[dict] = None) -> Unstructure soup = BeautifulSoup(f.read(), "html.parser") handle_invisible_table = str(parameters.get("handle_invisible_table", "false")).lower() == "true" - path_hash = calculate_file_hash(path=file_path) - lines = self.__read_blocks(soup, path_hash=path_hash, handle_invisible_table=handle_invisible_table) + filepath_hash = calculate_file_hash(path=file_path) + lines = self.__read_blocks(soup, filepath_hash=filepath_hash, handle_invisible_table=handle_invisible_table) tables = [ - self._read_table(table, path_hash) for table in soup.find_all("table") if self._visible_table(table, handle_invisible_table=handle_invisible_table) + self._read_table(table, filepath_hash) for table in soup.find_all("table") if self._visible_table(table, + handle_invisible_table=handle_invisible_table) ] document = UnstructuredDocument(tables=tables, lines=lines, attachments=[]) document_postprocess = self.postprocessor.postprocess(document) return document_postprocess - def __handle_block(self, tag: Union[Tag], uid: str, handle_invisible_table: bool, table: Optional[bool] = False) -> List[LineWithMeta]: + def __handle_block(self, tag: Union[Tag], filepath_hash: str, handle_invisible_table: bool, table: Optional[bool] = False, + uid: Optional[str] = "") -> List[LineWithMeta]: tag_uid = hashlib.md5((uid + str(tag.name)).encode()).hexdigest() assert isinstance(tag, (Tag, str)) if not self.__is_content_tag(tag, handle_invisible_table=handle_invisible_table): @@ -65,27 +66,27 @@ def __handle_block(self, tag: Union[Tag], uid: str, handle_invisible_table: bool elif tag.name == "table" and not self._visible_table(tag, handle_invisible_table=handle_invisible_table): # if table is invisible and we don't parse invisible tables (handle_invisible_table == False) # then we parse table as raw text - block_lines = self.__handle_invisible_table(block=tag, path_hash=uid) + block_lines = self.__handle_invisible_table(block=tag, filepath_hash=filepath_hash, uid=tag_uid) elif isinstance(tag, str): - block_lines = self._handle_text_line(block=tag, path_hash=uid) + block_lines = self._handle_text_line(block=tag, filepath_hash=filepath_hash, uid=tag_uid) elif tag.name not in HtmlTags.available_tags: self.logger.debug(f"skip tag {tag.name.encode()}") block_lines = [] elif tag.name in HtmlTags.special_symbol_tags: tag_value = HtmlTags.special_symbol_tags[tag.name] - block_lines = self._handle_text_line(block=tag_value, path_hash=uid, ignore_space=False) + block_lines = self._handle_text_line(block=tag_value, filepath_hash=filepath_hash, uid=tag_uid, ignore_space=False) elif tag.name in HtmlTags.block_tags: - block_lines = self.__read_blocks(block=tag, path_hash=uid) + block_lines = self.__read_blocks(block=tag, filepath_hash=filepath_hash, uid=tag_uid) elif tag.name in HtmlTags.list_tags: - block_lines = self.__read_list(lst=tag, uid=tag_uid, path_hash=uid, handle_invisible_table=handle_invisible_table) + block_lines = self.__read_list(lst=tag, uid=tag_uid, filepath_hash=filepath_hash, handle_invisible_table=handle_invisible_table) else: - block_lines = self.__handle_single_tag(tag, uid, table) + block_lines = self.__handle_single_tag(tag=tag, filepath_hash=filepath_hash, uid=tag_uid, table=table) for line in block_lines: if not getattr(line.metadata, "html_tag", None): line.metadata.extend_other_fields({"html_tag": tag.name}) return block_lines - def __handle_single_tag(self, tag: Tag, uid: str, table: Optional[bool] = False) -> List[LineWithMeta]: + def __handle_single_tag(self, tag: Tag, filepath_hash: str, uid: str, table: Optional[bool] = False) -> List[LineWithMeta]: text = self.__get_text(tag, table) if not text or text.isspace(): @@ -95,12 +96,13 @@ def __handle_single_tag(self, tag: Tag, uid: str, table: Optional[bool] = False) header_level = int(tag.name[1:]) if tag.name in HtmlTags.header_tags else 0 line_type = HierarchyLevel.unknown if header_level == 0 else HierarchyLevel.header tag_uid = hashlib.md5((uid + text).encode()).hexdigest() - line = self.__make_line(line=text, line_type=line_type, header_level=header_level, uid=tag_uid, path_hash=uid, annotations=annotations) + line = self.__make_line(line=text, line_type=line_type, header_level=header_level, uid=tag_uid, filepath_hash=filepath_hash, annotations=annotations) line.metadata.extend_other_fields({"html_tag": tag.name}) return [line] - def __read_blocks(self, block: Tag, path_hash: str = "", handle_invisible_table: bool = False, table: Optional[bool] = False) -> List[LineWithMeta]: - uid = hashlib.md5((path_hash + str(block.name)).encode()).hexdigest() + def __read_blocks(self, block: Tag, filepath_hash: str = "", handle_invisible_table: bool = False, table: Optional[bool] = False, + uid: Optional[str] = "") -> List[LineWithMeta]: + tag_uid = hashlib.md5((filepath_hash + uid + str(block.name)).encode()).hexdigest() if not self.__is_content_tag(block, handle_invisible_table=handle_invisible_table): return [] @@ -108,25 +110,26 @@ def __read_blocks(self, block: Tag, path_hash: str = "", handle_invisible_table: for tag in block: assert isinstance(tag, (Tag, str)) - block_lines = self.__handle_block(tag=tag, uid=uid, handle_invisible_table=handle_invisible_table, table=table) + block_lines = self.__handle_block(tag=tag, filepath_hash=filepath_hash, handle_invisible_table=handle_invisible_table, table=table, uid=tag_uid) lines.extend(block_lines) return lines - def _handle_text_line(self, block: str, path_hash: str, ignore_space: bool = True) -> List[LineWithMeta]: + def _handle_text_line(self, block: str, filepath_hash: str, uid: str, ignore_space: bool = True) -> List[LineWithMeta]: if not block.strip() and ignore_space: return [] - uid = hashlib.md5(block.encode()).hexdigest() - line = self.__make_line(block, HierarchyLevel.unknown, 0, uid=uid, path_hash=path_hash) + tag_uid = hashlib.md5((uid + block).encode()).hexdigest() + line = self.__make_line(block, HierarchyLevel.unknown, 0, uid=tag_uid, filepath_hash=filepath_hash) return [line] - def __make_line(self, line: str, line_type: str, header_level: int = 0, uid: str = None, path_hash: str = None, annotations: List = None) -> LineWithMeta: + def __make_line(self, line: str, line_type: str, header_level: int = 0, uid: str = None, filepath_hash: str = None, + annotations: List = None) -> LineWithMeta: if annotations is None: annotations = [] level = None if header_level == 0 else HierarchyLevel(1, header_level, False, line_type=line_type) metadata = LineMetadata(page_id=0, line_id=None, tag_hierarchy_level=level) # TODO line_id - uid = f"{path_hash}_{uid}" + uid = f"{filepath_hash}_{uid}" return LineWithMeta(line=line, metadata=metadata, annotations=annotations, uid=uid) def __get_li_header(self, list_type: str, index: int) -> LineWithMeta: @@ -149,7 +152,8 @@ def __get_li_header(self, list_type: str, index: int) -> LineWithMeta: header_line = LineWithMeta(line=header, metadata=metadata) return header_line - def __read_list(self, lst: Tag, uid: str, path_hash: str, handle_invisible_table: bool) -> List[LineWithMeta]: + def __read_list(self, lst: Tag, uid: str, filepath_hash: str, handle_invisible_table: bool) -> List[LineWithMeta]: + tag_uid = hashlib.md5((uid + str(lst.name)).encode()).hexdigest() lines = [] list_type = lst.get("type", "1" if lst.name in HtmlTags.ordered_list else "") item_index = 0 @@ -159,16 +163,18 @@ def __read_list(self, lst: Tag, uid: str, path_hash: str, handle_invisible_table item_lines = self.__handle_list_item(item=item, item_index=item_index, list_type=list_type, - path_hash=path_hash, + filepath_hash=filepath_hash, + uid=tag_uid, handle_invisible_table=handle_invisible_table) item_index += 1 lines.extend(item_lines) return lines - def __handle_list_item(self, item: Tag, item_index: int, list_type: str, path_hash: str, handle_invisible_table: bool) -> List[LineWithMeta]: + def __handle_list_item(self, item: Tag, item_index: int, list_type: str, filepath_hash: str, uid: str, handle_invisible_table: bool) -> List[LineWithMeta]: + tag_uid = hashlib.md5((uid + str(item.name)).encode()).hexdigest() lines = [] header_line = self.__get_li_header(list_type=list_type, index=item_index) - block_lines = self.__handle_block(item, uid=path_hash, handle_invisible_table=handle_invisible_table) + block_lines = self.__handle_block(item, filepath_hash=filepath_hash, uid=tag_uid, handle_invisible_table=handle_invisible_table) hl_depth = header_line.metadata.tag_hierarchy_level.level_1 for line in block_lines: if line.metadata.tag_hierarchy_level.is_unknown(): @@ -202,29 +208,69 @@ def __is_content_tag(self, tag: Tag, handle_invisible_table: bool = False) -> bo return True return not isinstance(tag, Doctype) and not isinstance(tag, Comment) - def __handle_invisible_table(self, block: Tag, path_hash: str) -> List[LineWithMeta]: - uid = hashlib.md5(block.name.encode()).hexdigest() + def __handle_invisible_table(self, block: Tag, filepath_hash: str, uid: str) -> List[LineWithMeta]: result = [] - rows = self._read_table(block, path_hash).cells + rows = self._read_table(block, filepath_hash).cells for row in rows: text = "\t".join([cell.get_text() for cell in row]) if text.strip() != "": tag_uid = hashlib.md5((uid + text).encode()).hexdigest() - line = self.__make_line(line=text, line_type=HierarchyLevel.unknown, uid=tag_uid, path_hash=path_hash) + line = self.__make_line(line=text, line_type=HierarchyLevel.unknown, uid=tag_uid, filepath_hash=filepath_hash) result.append(line) return result - def _read_table(self, table: Tag, path_hash: str) -> Table: + def __clone_cell(self, el: Tuple[Tag, NavigableString]) -> Tuple[Tag, NavigableString]: + if isinstance(el, NavigableString): + return type(el)(el) + + copy = Tag(None, el.builder, el.name, el.namespace, el.nsprefix) + if el.name in HtmlTags.table_cells: + el_attrs = el.attrs + copy.hidden = True + copy.attrs = dict(el_attrs) + copy.attrs["colspan"] = 1 + copy.attrs["rowspan"] = 1 + for child in el.contents: + copy.append(self.__clone_cell(child)) + return copy + + def __split_table_cells(self, table: Tag, table_list: List[List[Tag]]) -> None: + for row_index, row in enumerate(table.find_all(HtmlTags.table_rows)): + for cell_index, cell in enumerate(row.find_all(HtmlTags.table_cells)): + cell_rowspan = int(cell.attrs.get("rowspan", 1)) + cell_colspan = int(cell.attrs.get("colspan", 1)) + if cell_rowspan > 1 or cell_colspan > 1: + cell_copy = self.__clone_cell(cell) + table_list[row_index][cell_index + 1:cell_index + 1] = [cell_copy] * (cell_colspan - 1) + for index in range(row_index + 1, row_index + cell_rowspan): + table_list[index][cell_index:cell_index] = [cell_copy] * cell_colspan + + def __fix_table(self, table: Tag) -> List[List[Tag]]: + table_list = [] + + # create table list + for row in table.find_all(HtmlTags.table_rows): + row_line = [] + for cell in row.find_all(HtmlTags.table_cells): + row_line.append(cell) + table_list.append(row_line) + + self.__split_table_cells(table, table_list) + + return table_list + + def _read_table(self, table: Tag, filepath_hash: str) -> Table: cells_with_meta = [] + fixed_table = self.__fix_table(table) - for row in table.find_all(HtmlTags.table_rows): + for row in fixed_table: row_lines = [] - for cell in row.find_all(HtmlTags.table_cells): + for cell in row: cell_with_meta = CellWithMeta( - lines=self.__read_blocks(block=cell, path_hash=path_hash, handle_invisible_table=False, table=True), # read each cell as block with styles - colspan=cell.colspan if cell.colspan else 1, - rowspan=cell.rowspan if cell.rowspan else 1, - invisible=cell.invisible if cell.invisible else True + lines=self.__read_blocks(block=cell, filepath_hash=filepath_hash, handle_invisible_table=False, table=True), # read each cell as a block + colspan=int(cell.attrs.get("colspan", 1)), + rowspan=int(cell.attrs.get("rowspan", 1)), + invisible=cell.hidden if cell.hidden else False ) row_lines.append(cell_with_meta) cells_with_meta.append(row_lines) diff --git a/dedoc/readers/pdf_reader/pdf_txtlayer_reader/pdfminer_reader/pdfminer_extractor.py b/dedoc/readers/pdf_reader/pdf_txtlayer_reader/pdfminer_reader/pdfminer_extractor.py index f76c10d4..1e8e587b 100644 --- a/dedoc/readers/pdf_reader/pdf_txtlayer_reader/pdfminer_reader/pdfminer_extractor.py +++ b/dedoc/readers/pdf_reader/pdf_txtlayer_reader/pdfminer_reader/pdfminer_extractor.py @@ -4,7 +4,7 @@ import os import uuid from collections import namedtuple -from typing import List, Optional, Tuple +from typing import BinaryIO, Iterator, List, Optional, Tuple import cv2 import numpy as np @@ -36,7 +36,7 @@ WordObj = namedtuple("Word", ["start", "end", "value"]) -class PdfminerExtractor(object): +class PdfminerExtractor: """ Class extracts text with style from pdf with help pdfminer.six """ @@ -45,6 +45,10 @@ def __init__(self, *, config: dict) -> None: self.config = config self.logger = self.config.get("logger", logging.getLogger()) + @staticmethod + def get_pages(fp: BinaryIO) -> Iterator[PDFPage]: + return PDFPage.get_pages(fp) + def extract_text_layer(self, path: str, page_number: int, attachments_dir: str) -> Optional[PageWithBBox]: """ Extract text information with metadata from pdf with help pdfminer.six @@ -54,7 +58,7 @@ def extract_text_layer(self, path: str, page_number: int, attachments_dir: str) :return: pages_with_bbox - page with extracted text """ with open(path, "rb") as fp: - pages = PDFPage.get_pages(fp) + pages = PdfminerExtractor.get_pages(fp) for page_num, page in enumerate(pages): if page_num != page_number: continue diff --git a/dedoc/structure_extractors/abstract_structure_extractor.py b/dedoc/structure_extractors/abstract_structure_extractor.py index 4514d892..54b9633a 100644 --- a/dedoc/structure_extractors/abstract_structure_extractor.py +++ b/dedoc/structure_extractors/abstract_structure_extractor.py @@ -54,6 +54,9 @@ def _postprocess(self, lines: List[LineWithMeta], paragraph_type: List[str], reg :param excluding_regexps: list of filtering garbage regular pattern according to list of paragraph types :return: new post-processed list of LineWithMeta """ + if self.config.get("labeling_mode", False): + return lines + result = [] for line in lines: if line.metadata.hierarchy_level.is_raw_text() and len(line.line) == 0: # skip empty raw text diff --git a/docs/source/_static/dedoc_short.gif b/docs/source/_static/dedoc_short.gif new file mode 100644 index 00000000..f82cac96 Binary files /dev/null and b/docs/source/_static/dedoc_short.gif differ diff --git a/docs/source/_static/doc_examples.png b/docs/source/_static/doc_examples.png new file mode 100644 index 00000000..f91a1f1b Binary files /dev/null and b/docs/source/_static/doc_examples.png differ diff --git a/docs/source/_static/example_table.jpg b/docs/source/_static/example_table.jpg new file mode 100644 index 00000000..bd47d6cc Binary files /dev/null and b/docs/source/_static/example_table.jpg differ diff --git a/docs/source/_static/str_ext_example_law.png b/docs/source/_static/str_ext_example_law.png new file mode 100644 index 00000000..66cf9b26 Binary files /dev/null and b/docs/source/_static/str_ext_example_law.png differ diff --git a/docs/source/_static/str_ext_example_tz.png b/docs/source/_static/str_ext_example_tz.png new file mode 100644 index 00000000..adda39c9 Binary files /dev/null and b/docs/source/_static/str_ext_example_tz.png differ diff --git a/docs/source/_static/web_interface.png b/docs/source/_static/web_interface.png new file mode 100644 index 00000000..7e418258 Binary files /dev/null and b/docs/source/_static/web_interface.png differ diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index f530b4f9..9163e2e9 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -1,5 +1,13 @@ Changelog ========= +v2.1.1 (2024-03-21) +Release note: `v2.1.1 `_ + +* Update README.md. +* Update table and time benchmarks. +* Re-label line-classifier datasets (law, diploma, paragraphs datasets). +* Update tasker creators (for the labeling system). +* Fix HTML table parsing. v2.1 (2024-03-05) ----------------- diff --git "a/labeling/tests/data/laws/\320\272\320\276\320\260\320\277_\320\274\320\276\321\201\320\272\320\262\321\213_8_7_2015_utf.txt" b/labeling/tests/data/laws/1710323261_94.txt similarity index 100% rename from "labeling/tests/data/laws/\320\272\320\276\320\260\320\277_\320\274\320\276\321\201\320\272\320\262\321\213_8_7_2015_utf.txt" rename to labeling/tests/data/laws/1710323261_94.txt diff --git a/labeling/tests/data/laws/law_classifier_000000_Bhw.json b/labeling/tests/data/laws/law_classifier_000000_Bhw.json index e0938a7c..eff7ffaf 100644 --- a/labeling/tests/data/laws/law_classifier_000000_Bhw.json +++ b/labeling/tests/data/laws/law_classifier_000000_Bhw.json @@ -1,4754 +1,8738 @@ { - "0": { - "id": 0, - "task_path": "images/000001_000000_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_4.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "ЗАКОН\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 4 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_4", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "1": { - "id": 1, - "task_path": "images/000001_000001_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_6.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " ГОРОДА МОСКВЫ\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 6 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_6", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "2": { - "id": 2, - "task_path": "images/000001_000002_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_8.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " от 21 ноября 2007 г. № 45\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 8 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_8", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "3": { - "id": 3, - "task_path": "images/000001_000003_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_10.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Кодекс города Москвы об административных правонарушениях\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 10 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_10", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "4": { - "id": 4, - "task_path": "images/000001_000004_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_12.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " (В редакции законов Москвы от 10.12.2008 № 64, от 20.05.2009 № 12, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 12 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_12", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "5": { - "id": 5, - "task_path": "images/000001_000005_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_13.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "03.06.2009 № 17, от 07.10.2009 № 42, от 10.03.2010 № 6, от 14.04.2010 № 11, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 13 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_13", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "6": { - "id": 6, - "task_path": "images/000001_000006_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_14.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "23.06.2010 № 28, от 13.10.2010 № 40, от 01.06.2011 № 21, от 26.10.2011 № 47, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 14 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_14", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "7": { - "id": 7, - "task_path": "images/000001_000007_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_15.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "23.11.2011 № 55, от 23.11.2011 № 56, от 14.12.2011 № 64, от 17.10.2012 № 50, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 15 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_15", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "8": { - "id": 8, - "task_path": "images/000001_000008_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_16.jpg", - "labeled": [ - "Other" - ], - "data": { - "_line": "24.10.2012 № 51, от 31.10.2012 № 54, от 12.12.2012 № 65, от 16.01.2013 № 1, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 16 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_16", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "9": { - "id": 9, - "task_path": "images/000001_000009_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_17.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "13.03.2013 № 11, от 27.03.2013 № 12, от 03.04.2013 № 13, от 24.04.2013 № 19, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 17 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_17", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "10": { - "id": 10, - "task_path": "images/000001_000010_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_18.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "26.06.2013 № 35, от 26.06.2013 № 36, от 20.11.2013 № 65, от 22.01.2014 № 2, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 18 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_18", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "11": { - "id": 11, - "task_path": "images/000001_000011_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_19.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "07.05.2014 № 24, от 04.06.2014 № 30, от 18.06.2014 № 31, от 17.12.2014 № 61, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 19 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_19", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "12": { - "id": 12, - "task_path": "images/000001_000012_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_20.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "21.01.2015 № 1, от 13.05.2015 № 25, от 13.05.2015 № 26, от 27.05.2015 № 28, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 20 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_20", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "13": { - "id": 13, - "task_path": "images/000001_000013_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_21.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "24.06.2015 № 32, от 24.06.2015 № 38, от 24.06.2015 № 39, от 08.07.2015 № 43, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 21 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_21", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "14": { - "id": 14, - "task_path": "images/000001_000014_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_22.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "08.07.2015 № 46, от 09.09.2015 № 49, от 09.12.2015 № 68, от 27.01.2016 № 3, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 22 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_22", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "15": { - "id": 15, - "task_path": "images/000001_000015_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_23.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "23.03.2016 № 13, от 25.05.2016 № 26, от 23.11.2016 № 39, от 20.09.2017 № 35, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 23 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_23", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "16": { - "id": 16, - "task_path": "images/000001_000016_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_24.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "24.01.2018 № 3, от 19.12.2018 № 32, от 26.12.2018 № 40, от 30.01.2019 № 4, от\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 24 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_24", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "17": { - "id": 17, - "task_path": "images/000001_000017_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_25.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "29.04.2019 № 15, от 22.05.2019 № 20, от 11.12.2019 № 34, от 01.04.2020 № 6)\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 25 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_25", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "18": { - "id": 18, - "task_path": "images/000001_000018_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_27.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Закон города Москвы \"Кодекс города Москвы об административных\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 27 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_27", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "19": { - "id": 19, - "task_path": "images/000001_000019_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_28.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "правонарушениях\" (далее - Кодекс) в соответствии с Конституцией Российской\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 28 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_28", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "20": { - "id": 20, - "task_path": "images/000001_000020_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_29.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "Федерации, Кодексом Российской Федерации об административных правонарушениях,\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 29 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_29", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "21": { - "id": 21, - "task_path": "images/000001_000021_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_30.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "Уставом города Москвы устанавливает административную ответственность по\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 30 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_30", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "22": { - "id": 22, - "task_path": "images/000001_000022_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_31.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "вопросам, не отнесенным Кодексом Российской Федерации об административных\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 31 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_31", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "23": { - "id": 23, - "task_path": "images/000001_000023_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_32.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "правонарушениях к ведению Российской Федерации, в том числе за нарушение норм и\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 32 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_32", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "24": { - "id": 24, - "task_path": "images/000001_000024_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_33.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "правил, предусмотренных законами и иными нормативными правовыми актами города\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 33 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_33", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "25": { - "id": 25, - "task_path": "images/000001_000025_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_34.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "Москвы, нормативными правовыми актами органов местного самоуправления в городе\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 34 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_34", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "26": { - "id": 26, - "task_path": "images/000001_000026_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_35.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "Москве, определяет органы и перечень должностных лиц, уполномоченных составлять\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 35 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_35", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "27": { - "id": 27, - "task_path": "images/000001_000027_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_36.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "протоколы и рассматривать дела об административных правонарушениях,\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 36 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_36", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "28": { - "id": 28, - "task_path": "images/000001_000028_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_37.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "предусмотренных настоящим Кодексом, а также определяет перечень должностных лиц,\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 37 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_37", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "29": { - "id": 29, - "task_path": "images/000001_000029_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_38.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "уполномоченных составлять протоколы об административных правонарушениях в\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 38 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_38", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "30": { - "id": 30, - "task_path": "images/000001_000030_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_39.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "случаях, предусмотренных Кодексом Российской Федерации об административных\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 39 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_39", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "31": { - "id": 31, - "task_path": "images/000001_000031_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_40.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "правонарушениях. (В редакции Закона Москвы от 24.06.2015 г. № 39)\n", - "_hierarchy_level": { - "level_1": 0, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "root" - }, - "_metadata": { - "paragraph_type": "root", - "predicted_classes": null, - "page_id": 0, - "line_id": 40 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_40", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#ffa500" - }, - "default_label": "title" - }, - "32": { - "id": 32, - "task_path": "images/000001_000032_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_45.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 1.1. Законодательство города Москвы об административных\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 45 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_45", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "33": { - "id": 33, - "task_path": "images/000001_000033_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_46.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "правонарушениях\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 46 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_46", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "34": { - "id": 34, - "task_path": "images/000001_000034_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_48.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 1.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 48 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_48", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "35": { - "id": 35, - "task_path": "images/000001_000035_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_48_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Законодательство города Москвы об административных правонарушениях\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 48 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_48_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "36": { - "id": 36, - "task_path": "images/000001_000036_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_49.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "состоит из настоящего Кодекса.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 49 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_49", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "37": { - "id": 37, - "task_path": "images/000001_000037_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_51.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 2.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 51 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_51", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "38": { - "id": 38, - "task_path": "images/000001_000038_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_51_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Нормы, устанавливающие административную ответственность по вопросам, не\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 51 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_51_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "39": { - "id": 39, - "task_path": "images/000001_000039_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_52.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "отнесенным Кодексом Российской Федерации об административных правонарушениях к\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 52 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_52", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "40": { - "id": 40, - "task_path": "images/000001_000040_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_53.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "ведению Российской Федерации, не могут содержаться в иных законах города Москвы\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 53 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_53", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "41": { - "id": 41, - "task_path": "images/000001_000041_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_54.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "и подлежат включению в настоящий Кодекс.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 54 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_54", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "42": { - "id": 42, - "task_path": "images/000001_000042_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_56.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 1.2. Виды административных наказаний\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 56 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_56", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "43": { - "id": 43, - "task_path": "images/000001_000043_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_58.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 1.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 58 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_58", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "44": { - "id": 44, - "task_path": "images/000001_000044_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_58_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " За совершение административных правонарушений, предусмотренных настоящим\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 58 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_58_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "45": { - "id": 45, - "task_path": "images/000001_000045_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_59.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "Кодексом, могут устанавливаться и применяться в отношении граждан, должностных\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 59 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_59", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "46": { - "id": 46, - "task_path": "images/000001_000046_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_60.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "лиц и юридических лиц следующие административные наказания:\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 60 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_60", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "47": { - "id": 47, - "task_path": "images/000001_000047_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_62.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 1)", - "_hierarchy_level": { - "level_1": 8, - "level_2": 1, - "can_be_multiline": false, - "paragraph_type": "item" - }, - "_metadata": { - "paragraph_type": "item", - "predicted_classes": null, - "page_id": 0, - "line_id": 62 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_62", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "48": { - "id": 48, - "task_path": "images/000001_000048_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_62_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " предупреждение;\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 62 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_62_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "49": { - "id": 49, - "task_path": "images/000001_000049_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_64.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 2)", - "_hierarchy_level": { - "level_1": 8, - "level_2": 1, - "can_be_multiline": false, - "paragraph_type": "item" - }, - "_metadata": { - "paragraph_type": "item", - "predicted_classes": null, - "page_id": 0, - "line_id": 64 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_64", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "50": { - "id": 50, - "task_path": "images/000001_000050_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_64_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " административный штраф.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 64 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_64_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "51": { - "id": 51, - "task_path": "images/000001_000051_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_66.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 2.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 66 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_66", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "52": { - "id": 52, - "task_path": "images/000001_000052_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_66_split.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Совершившие административные правонарушения в связи с выполнением\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 66 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_66_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "53": { - "id": 53, - "task_path": "images/000001_000053_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_67.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "организационно-распорядительных или административно-хозяйственных функций\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 67 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_67", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "54": { - "id": 54, - "task_path": "images/000001_000054_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_68.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "руководители и другие работники организаций, не являющихся государственными и\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 68 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_68", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "55": { - "id": 55, - "task_path": "images/000001_000055_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_69.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "муниципальными, а также лица, осуществляющие предпринимательскую деятельность\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 69 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_69", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "56": { - "id": 56, - "task_path": "images/000001_000056_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_70.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "без образования юридического лица (далее - индивидуальные предприниматели),\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 70 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_70", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "57": { - "id": 57, - "task_path": "images/000001_000057_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_71.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "несут административную ответственность как должностные лица, если настоящим\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 71 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_71", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "58": { - "id": 58, - "task_path": "images/000001_000058_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_72.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "Кодексом не установлено иное.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 72 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_72", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "59": { - "id": 59, - "task_path": "images/000001_000059_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_74.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Статья 1.3. Порядок зачисления административных штрафов\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 74 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_74", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "60": { - "id": 60, - "task_path": "images/000001_000060_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_76.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Суммы административных штрафов за административные правонарушения,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 76 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_76", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "61": { - "id": 61, - "task_path": "images/000001_000061_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_77.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "предусмотренные настоящим Кодексом, зачисляются в бюджет города Москвы либо в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 77 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_77", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "62": { - "id": 62, - "task_path": "images/000001_000062_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_78.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "бюджеты внутригородских муниципальных образований в городе Москве в порядке,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 78 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_78", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "63": { - "id": 63, - "task_path": "images/000001_000063_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_79.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "установленном законом города Москвы о бюджете города Москвы на соответствующий\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 79 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_79", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "64": { - "id": 64, - "task_path": "images/000001_000064_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_80.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "финансовый год.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 80 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_80", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "65": { - "id": 65, - "task_path": "images/000001_000065_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_82.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Глава 2. Административные правонарушения, посягающие на права граждан и\n", - "_hierarchy_level": { - "level_1": 4, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "chapter" - }, - "_metadata": { - "paragraph_type": "chapter", - "predicted_classes": null, - "page_id": 0, - "line_id": 82 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_82", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "66": { - "id": 66, - "task_path": "images/000001_000066_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_83.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "здоровье населения\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 83 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_83", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "67": { - "id": 67, - "task_path": "images/000001_000067_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_85.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Статья 2.1. Неправомерный отказ, уклонение от рассмотрения либо нарушение\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 85 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_85", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "68": { - "id": 68, - "task_path": "images/000001_000068_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_86.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "порядка и сроков рассмотрения обращений граждан\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 86 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_86", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "69": { - "id": 69, - "task_path": "images/000001_000069_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_88.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": " (Утратила силу - Закон Москвы от 07.10.2009 г. № 42)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 88 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_88", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "70": { - "id": 70, - "task_path": "images/000001_000070_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_90.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.2. Нарушение установленного порядка квотирования рабочих мест\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 90 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_90", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "71": { - "id": 71, - "task_path": "images/000001_000071_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_92.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Невыполнение работодателем установленной законодательством города Москвы\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 92 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_92", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "72": { - "id": 72, - "task_path": "images/000001_000072_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_93.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "обязанности по созданию или выделению квотируемых рабочих мест -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 93 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_93", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "73": { - "id": 73, - "task_path": "images/000001_000073_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_95.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 95 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_95", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "74": { - "id": 74, - "task_path": "images/000001_000074_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_96.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "трех тысяч до пяти тысяч рублей; на юридических лиц - от тридцати тысяч до\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 96 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_96", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "75": { - "id": 75, - "task_path": "images/000001_000075_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_97.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "пятидесяти тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 97 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_97", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "76": { - "id": 76, - "task_path": "images/000001_000076_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_99.jpg", - "labeled": [ - "Other" - ], - "data": { - "_line": " Статья 2.3. Невыполнение требований по обеспечению доступа инвалидов к\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 99 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_99", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "77": { - "id": 77, - "task_path": "images/000001_000077_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_100.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "объектам социальной, транспортной и инженерной инфраструктур\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 100 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_100", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "78": { - "id": 78, - "task_path": "images/000001_000078_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_102.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 102 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_102", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "79": { - "id": 79, - "task_path": "images/000001_000079_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_104.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Статья 2.4. Нарушение установленных Правительством Москвы норм и правил в\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 104 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_104", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "80": { - "id": 80, - "task_path": "images/000001_000080_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_105.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "сфере опеки и попечительства\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 105 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_105", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "81": { - "id": 81, - "task_path": "images/000001_000081_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_107.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Нарушение установленных Правительством Москвы норм и правил в сфере опеки и\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 107 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_107", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "82": { - "id": 82, - "task_path": "images/000001_000082_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_108.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "попечительства -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 108 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_108", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "83": { - "id": 83, - "task_path": "images/000001_000083_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_110.jpg", - "labeled": [ - "Other" - ], - "data": { - "_line": " влечет предупреждение или наложение административного штрафа на граждан в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 110 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_110", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "84": { - "id": 84, - "task_path": "images/000001_000084_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_111.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 111 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_111", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "85": { - "id": 85, - "task_path": "images/000001_000085_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_112.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "до десяти тысяч рублей; на юридических лиц - от тридцати тысяч до пятидесяти\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 112 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_112", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "86": { - "id": 86, - "task_path": "images/000001_000086_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_113.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 113 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_113", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "87": { - "id": 87, - "task_path": "images/000001_000087_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_115.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": " (Статья в редакции Закона Москвы от 07.10.2009 г. № 42)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 115 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_115", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "88": { - "id": 88, - "task_path": "images/000001_000088_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_117.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Статья 2.5. Неисполнение постановлений и представлений комиссий по делам\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 117 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_117", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "89": { - "id": 89, - "task_path": "images/000001_000089_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_118.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "несовершеннолетних и защите их прав\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 118 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_118", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "90": { - "id": 90, - "task_path": "images/000001_000090_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_120.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Неисполнение либо создание препятствий для исполнения постановления или\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 120 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_120", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "91": { - "id": 91, - "task_path": "images/000001_000091_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_121.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "представления комиссии по делам несовершеннолетних и защите их прав, принятого в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 121 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_121", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "92": { - "id": 92, - "task_path": "images/000001_000092_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_122.jpg", - "labeled": [ - "Other" - ], - "data": { - "_line": "соответствии с ее компетенцией, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 122 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_122", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "93": { - "id": 93, - "task_path": "images/000001_000093_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_124.jpg", - "labeled": [ - "Other" - ], - "data": { - "_line": " влечет предупреждение или наложение административного штрафа на граждан в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 124 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_124", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "94": { - "id": 94, - "task_path": "images/000001_000094_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_125.jpg", - "labeled": [ - "footer" - ], - "data": { - "_line": "размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 125 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_125", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "95": { - "id": 95, - "task_path": "images/000001_000095_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_126.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "до трех тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 126 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_126", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "96": { - "id": 96, - "task_path": "images/000001_000096_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_128.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " Статья 2.6. Отказ в приеме граждан на обучение и исключение их из\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 128 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_128", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "97": { - "id": 97, - "task_path": "images/000001_000097_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_129.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "образовательных учреждений и организаций\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 129 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_129", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "98": { - "id": 98, - "task_path": "images/000001_000098_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_131.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 131 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_131", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "99": { - "id": 99, - "task_path": "images/000001_000099_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_133.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Статья 2.7. Нарушение прав граждан на получение общего образования\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 133 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_133", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "100": { - "id": 100, - "task_path": "images/000001_000100_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_135.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 135 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_135", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "101": { - "id": 101, - "task_path": "images/000001_000101_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_137.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.8. Воспрепятствование деятельности членов комиссии по делам\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 137 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_137", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "102": { - "id": 102, - "task_path": "images/000001_000102_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_138.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "несовершеннолетних и защите их прав\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 138 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_138", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "103": { - "id": 103, - "task_path": "images/000001_000103_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_140.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Воспрепятствование посещению учреждения системы профилактики безнадзорности\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 140 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_140", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "104": { - "id": 104, - "task_path": "images/000001_000104_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_141.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "и правонарушений несовершеннолетних членом комиссии по делам несовершеннолетних\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 141 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_141", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "105": { - "id": 105, - "task_path": "images/000001_000105_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_142.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "и защите их прав, осуществляющим по поручению данной комиссии проверку условий\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 142 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_142", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "106": { - "id": 106, - "task_path": "images/000001_000106_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_143.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "содержания, воспитания и обучения несовершеннолетних в указанном учреждении, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 143 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_143", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "107": { - "id": 107, - "task_path": "images/000001_000107_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_145.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на граждан в размере от пятисот\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 145 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_145", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "108": { - "id": 108, - "task_path": "images/000001_000108_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_146.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "до одной тысячи рублей; на должностных лиц - от четырех тысяч до пяти тысяч\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 146 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_146", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "109": { - "id": 109, - "task_path": "images/000001_000109_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_147.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "рублей; на юридических лиц - от тридцати тысяч до пятидесяти тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 147 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_147", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "110": { - "id": 110, - "task_path": "images/000001_000110_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_149.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.9. Невыполнение обязанности по выделению бесплатных билетов для\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 149 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_149", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "111": { - "id": 111, - "task_path": "images/000001_000111_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_150.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "организации досуга несовершеннолетних\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 150 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_150", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "112": { - "id": 112, - "task_path": "images/000001_000112_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_152.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Невыполнение учреждением культуры, физической культуры и спорта, получающим\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 152 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_152", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "113": { - "id": 113, - "task_path": "images/000001_000113_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_153.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "денежные средства из бюджета города Москвы или целевых бюджетных фондов развития\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 153 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_153", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "114": { - "id": 114, - "task_path": "images/000001_000114_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_154.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "территорий административных округов и районов города Москвы, обязанности по\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 154 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_154", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "115": { - "id": 115, - "task_path": "images/000001_000115_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_155.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "выделению для детей из неблагополучных семей установленного правовыми актами\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 155 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_155", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "116": { - "id": 116, - "task_path": "images/000001_000116_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_156.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "города Москвы количества реализуемых (распространяемых) указанным учреждением\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 156 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_156", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "117": { - "id": 117, - "task_path": "images/000001_000117_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_157.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "билетов (абонементов) -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 157 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_157", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "118": { - "id": 118, - "task_path": "images/000001_000118_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_159.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 159 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_159", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "119": { - "id": 119, - "task_path": "images/000001_000119_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_160.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "одной тысячи до двух тысяч рублей; на юридических лиц - от десяти тысяч до\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 160 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_160", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "120": { - "id": 120, - "task_path": "images/000001_000120_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_161.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "двадцати тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 161 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_161", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "121": { - "id": 121, - "task_path": "images/000001_000121_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_163.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.10. Нарушение порядка льготного обеспечения лекарственными\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 163 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_163", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "122": { - "id": 122, - "task_path": "images/000001_000122_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_164.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "средствами и изделиями медицинского назначения\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 164 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_164", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "123": { - "id": 123, - "task_path": "images/000001_000123_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_166.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Нарушение установленного Правительством Москвы порядка обеспечения\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 166 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_166", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "124": { - "id": 124, - "task_path": "images/000001_000124_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_167.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "отдельных категорий жителей города Москвы лекарственными средствами и изделиями\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 167 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_167", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "125": { - "id": 125, - "task_path": "images/000001_000125_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_168.jpg", - "labeled": [ - "title" - ], - "data": { - "_line": "медицинского назначения, отпускаемыми по рецептам врачей бесплатно или с\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 168 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_168", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "126": { - "id": 126, - "task_path": "images/000001_000126_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_169.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "50-процентной скидкой, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 169 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_169", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "127": { - "id": 127, - "task_path": "images/000001_000127_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_171.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 171 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_171", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "128": { - "id": 128, - "task_path": "images/000001_000128_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_172.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "пятисот до двух тысяч рублей; на юридических лиц - от двух тысяч до пяти тысяч\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 172 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_172", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "129": { - "id": 129, - "task_path": "images/000001_000129_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_173.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 173 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_173", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "130": { - "id": 130, - "task_path": "images/000001_000130_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_175.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.10.1. Вовлечение несовершеннолетних в процесс использования\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 175 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_175", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "131": { - "id": 131, - "task_path": "images/000001_000131_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_176.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "устройств, имитирующих курение табака\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 176 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_176", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "132": { - "id": 132, - "task_path": "images/000001_000132_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_178.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 1.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 178 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_178", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "133": { - "id": 133, - "task_path": "images/000001_000133_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_178_split.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Вовлечение несовершеннолетних в процесс использования устройств,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 178 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_178_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "134": { - "id": 134, - "task_path": "images/000001_000134_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_179.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "имитирующих курение табака, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 179 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_179", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "135": { - "id": 135, - "task_path": "images/000001_000135_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_181.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на граждан в размере от одной\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 181 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_181", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "136": { - "id": 136, - "task_path": "images/000001_000136_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_182.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "тысячи пятисот до трех тысяч рублей; на должностных лиц в размере от двух тысяч\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 182 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_182", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "137": { - "id": 137, - "task_path": "images/000001_000137_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_183.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "пятисот до пяти тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 183 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_183", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "138": { - "id": 138, - "task_path": "images/000001_000138_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_185.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 2.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 185 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_185", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "139": { - "id": 139, - "task_path": "images/000001_000139_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_185_split.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Те же действия, совершенные родителями (законными представителями)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 185 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_185_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "140": { - "id": 140, - "task_path": "images/000001_000140_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_186.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "несовершеннолетних, а также лицами, на которых возложены обязанности по обучению\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 186 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_186", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "141": { - "id": 141, - "task_path": "images/000001_000141_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_187.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "и воспитанию несовершеннолетних, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 187 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_187", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "142": { - "id": 142, - "task_path": "images/000001_000142_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_189.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влекут наложение административного штрафа в размере от четырех тысяч до\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 189 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_189", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "143": { - "id": 143, - "task_path": "images/000001_000143_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_190.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "пяти тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 190 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_190", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "144": { - "id": 144, - "task_path": "images/000001_000144_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_192.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Примечание. Под использованием устройств, имитирующих курение табака, в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 192 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_192", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "145": { - "id": 145, - "task_path": "images/000001_000145_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_193.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "настоящем Кодексе понимается использование электронных систем доставки никотина\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 193 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_193", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "146": { - "id": 146, - "task_path": "images/000001_000146_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_194.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "либо других веществ, содержащихся в жидкостях или иных субстанциях для указанных\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 194 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_194", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "147": { - "id": 147, - "task_path": "images/000001_000147_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_195.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "электронных систем, кальянов, в том числе электронных, а также устройств для\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 195 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_195", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "148": { - "id": 148, - "task_path": "images/000001_000148_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_196.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "нагревания табака и иных аналогичных устройств, имитирующих курение табака.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 196 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_196", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "149": { - "id": 149, - "task_path": "images/000001_000149_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_198.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " (Статья дополнена - Закон Москвы от 30.01.2019 № 4)\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 198 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_198", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "150": { - "id": 150, - "task_path": "images/000001_000150_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_200.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.11. Нарушение порядка предоставления льгот по оплате ветеринарных\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 200 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_200", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "151": { - "id": 151, - "task_path": "images/000001_000151_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_201.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "услуг\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 201 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_201", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "152": { - "id": 152, - "task_path": "images/000001_000152_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_203.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Нарушение установленного Правительством Москвы порядка предоставления\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 203 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_203", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "153": { - "id": 153, - "task_path": "images/000001_000153_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_204.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "отдельным категориям жителей города Москвы льгот по оплате ветеринарных услуг -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 204 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_204", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "154": { - "id": 154, - "task_path": "images/000001_000154_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_206.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 206 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_206", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "155": { - "id": 155, - "task_path": "images/000001_000155_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_207.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "пятисот до одной тысячи рублей; на юридических лиц - от одной тысячи до двух\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 207 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_207", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "156": { - "id": 156, - "task_path": "images/000001_000156_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_208.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 208 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_208", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "157": { - "id": 157, - "task_path": "images/000001_000157_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_210.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " Статья 2.12. Нарушение административного регламента предоставления\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 210 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_210", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "158": { - "id": 158, - "task_path": "images/000001_000158_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_211.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": "государственной услуги города Москвы\n", - "_hierarchy_level": { - "level_1": 6, - "level_2": 0, - "can_be_multiline": true, - "paragraph_type": "article" - }, - "_metadata": { - "paragraph_type": "article", - "predicted_classes": null, - "page_id": 0, - "line_id": 211 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_211", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "159": { - "id": 159, - "task_path": "images/000001_000159_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_213.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 1.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 213 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_213", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - }, - "160": { - "id": 160, - "task_path": "images/000001_000160_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_213_split.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " Нарушение административного регламента предоставления государственной\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 213 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_213_split", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "161": { - "id": 161, - "task_path": "images/000001_000161_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_214.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "услуги города Москвы, выразившееся в требовании о необходимости представления\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 214 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_214", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "162": { - "id": 162, - "task_path": "images/000001_000162_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_215.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "заявителем документов, не входящих в перечень документов, подлежащих\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 215 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_215", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "163": { - "id": 163, - "task_path": "images/000001_000163_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_216.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "представлению заявителем согласно соответствующему административному регламенту,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 216 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_216", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "164": { - "id": 164, - "task_path": "images/000001_000164_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_217.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "за исключением случаев, когда нормативное правовое регулирование отношений,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 217 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_217", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "165": { - "id": 165, - "task_path": "images/000001_000165_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_218.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "возникающих в связи с предоставлением данной государственной услуги,\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 218 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_218", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "166": { - "id": 166, - "task_path": "images/000001_000166_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_219.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "осуществляется нормативными правовыми актами Российской Федерации, а равно в\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 219 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_219", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "167": { - "id": 167, - "task_path": "images/000001_000167_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_220.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "отказе в приеме у заявителя документов, необходимых для предоставления\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 220 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_220", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "168": { - "id": 168, - "task_path": "images/000001_000168_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_221.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "государственной услуги, по основаниям, не предусмотренным соответствующим\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 221 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_221", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "169": { - "id": 169, - "task_path": "images/000001_000169_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_222.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "административным регламентом, -\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 222 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_222", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "170": { - "id": 170, - "task_path": "images/000001_000170_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_224.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": " влечет наложение административного штрафа на должностных лиц органов\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 224 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_224", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "171": { - "id": 171, - "task_path": "images/000001_000171_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_225.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "исполнительной власти города Москвы в размере от пяти тысяч до десяти тысяч\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 225 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_225", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "172": { - "id": 172, - "task_path": "images/000001_000172_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_226.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "рублей; на работников казенных, автономных учреждений города Москвы и\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 226 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_226", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "173": { - "id": 173, - "task_path": "images/000001_000173_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_227.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "многофункциональных центров предоставления государственных услуг - от одной\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 227 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_227", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "174": { - "id": 174, - "task_path": "images/000001_000174_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_228.jpg", - "labeled": [ - "raw_text" - ], - "data": { - "_line": "тысячи пятисот до трех тысяч рублей.\n", - "_hierarchy_level": { - "level_1": null, - "level_2": null, - "can_be_multiline": false, - "paragraph_type": "raw_text" - }, - "_metadata": { - "paragraph_type": "raw_text", - "predicted_classes": null, - "page_id": 0, - "line_id": 228 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_228", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#f00" - }, - "default_label": "raw_text" - }, - "175": { - "id": 175, - "task_path": "images/000001_000175_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_230.jpg", - "labeled": [ - "item" - ], - "data": { - "_line": " 2.", - "_hierarchy_level": { - "level_1": 7, - "level_2": 2, - "can_be_multiline": false, - "paragraph_type": "articlePart" - }, - "_metadata": { - "paragraph_type": "articlePart", - "predicted_classes": null, - "page_id": 0, - "line_id": 230 - }, - "_annotations": [], - "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_230", - "original_document": "коап_москвы_8_7_2015_utf.txt", - "color": "#00f" - }, - "default_label": "item" - } -} + "0": { + "id": 0, + "task_path": "images/000001_000000_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_4.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "ЗАКОН\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 4, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 15, + "name": "spacing", + "value": "400", + "is_mergeable": true + }, + { + "start": 0, + "end": 15, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_4", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 4

text ЗАКОН\n

", + "default_label": "title" + }, + "1": { + "id": 1, + "task_path": "images/000001_000001_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_6.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": " ГОРОДА МОСКВЫ\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 6, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 19, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 19, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_6", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 6

text ГОРОДА МОСКВЫ\n

", + "default_label": "title" + }, + "2": { + "id": 2, + "task_path": "images/000001_000002_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_8.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": " от 21 ноября 2007 г. № 45\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 8, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 31, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 31, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_8", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 8

text от 21 ноября 2007 г. № 45\n

", + "default_label": "title" + }, + "3": { + "id": 3, + "task_path": "images/000001_000003_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_10.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": " Кодекс города Москвы об административных правонарушениях\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 10, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 62, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 62, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_10", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 10

text Кодекс города Москвы об административных правонарушениях\n

", + "default_label": "title" + }, + "4": { + "id": 4, + "task_path": "images/000001_000004_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_12.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": " (В редакции законов Москвы от 10.12.2008 № 64, от 20.05.2009 № 12, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 12, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_12", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 12

text (В редакции законов Москвы от 10.12.2008 № 64, от 20.05.2009 № 12, от\n

", + "default_label": "title" + }, + "5": { + "id": 5, + "task_path": "images/000001_000005_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_13.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "03.06.2009 № 17, от 07.10.2009 № 42, от 10.03.2010 № 6, от 14.04.2010 № 11, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 13, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_13", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 13

text 03.06.2009 № 17, от 07.10.2009 № 42, от 10.03.2010 № 6, от 14.04.2010 № 11, от\n

", + "default_label": "title" + }, + "6": { + "id": 6, + "task_path": "images/000001_000006_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_14.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "23.06.2010 № 28, от 13.10.2010 № 40, от 01.06.2011 № 21, от 26.10.2011 № 47, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 14, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_14", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 14

text 23.06.2010 № 28, от 13.10.2010 № 40, от 01.06.2011 № 21, от 26.10.2011 № 47, от\n

", + "default_label": "title" + }, + "7": { + "id": 7, + "task_path": "images/000001_000007_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_15.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "23.11.2011 № 55, от 23.11.2011 № 56, от 14.12.2011 № 64, от 17.10.2012 № 50, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 15, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_15", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 15

text 23.11.2011 № 55, от 23.11.2011 № 56, от 14.12.2011 № 64, от 17.10.2012 № 50, от\n

", + "default_label": "title" + }, + "8": { + "id": 8, + "task_path": "images/000001_000008_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_16.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "24.10.2012 № 51, от 31.10.2012 № 54, от 12.12.2012 № 65, от 16.01.2013 № 1, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 16, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_16", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 16

text 24.10.2012 № 51, от 31.10.2012 № 54, от 12.12.2012 № 65, от 16.01.2013 № 1, от\n

", + "default_label": "title" + }, + "9": { + "id": 9, + "task_path": "images/000001_000009_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_17.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "13.03.2013 № 11, от 27.03.2013 № 12, от 03.04.2013 № 13, от 24.04.2013 № 19, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 17, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_17", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 17

text 13.03.2013 № 11, от 27.03.2013 № 12, от 03.04.2013 № 13, от 24.04.2013 № 19, от\n

", + "default_label": "title" + }, + "10": { + "id": 10, + "task_path": "images/000001_000010_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_18.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "26.06.2013 № 35, от 26.06.2013 № 36, от 20.11.2013 № 65, от 22.01.2014 № 2, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 18, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_18", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 18

text 26.06.2013 № 35, от 26.06.2013 № 36, от 20.11.2013 № 65, от 22.01.2014 № 2, от\n

", + "default_label": "title" + }, + "11": { + "id": 11, + "task_path": "images/000001_000011_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_19.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "07.05.2014 № 24, от 04.06.2014 № 30, от 18.06.2014 № 31, от 17.12.2014 № 61, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 19, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_19", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 19

text 07.05.2014 № 24, от 04.06.2014 № 30, от 18.06.2014 № 31, от 17.12.2014 № 61, от\n

", + "default_label": "title" + }, + "12": { + "id": 12, + "task_path": "images/000001_000012_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_20.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "21.01.2015 № 1, от 13.05.2015 № 25, от 13.05.2015 № 26, от 27.05.2015 № 28, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 20, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_20", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 20

text 21.01.2015 № 1, от 13.05.2015 № 25, от 13.05.2015 № 26, от 27.05.2015 № 28, от\n

", + "default_label": "title" + }, + "13": { + "id": 13, + "task_path": "images/000001_000013_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_21.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "24.06.2015 № 32, от 24.06.2015 № 38, от 24.06.2015 № 39, от 08.07.2015 № 43, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 21, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_21", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 21

text 24.06.2015 № 32, от 24.06.2015 № 38, от 24.06.2015 № 39, от 08.07.2015 № 43, от\n

", + "default_label": "title" + }, + "14": { + "id": 14, + "task_path": "images/000001_000014_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_22.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "08.07.2015 № 46, от 09.09.2015 № 49, от 09.12.2015 № 68, от 27.01.2016 № 3, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 22, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_22", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 22

text 08.07.2015 № 46, от 09.09.2015 № 49, от 09.12.2015 № 68, от 27.01.2016 № 3, от\n

", + "default_label": "title" + }, + "15": { + "id": 15, + "task_path": "images/000001_000015_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_23.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "23.03.2016 № 13, от 25.05.2016 № 26, от 23.11.2016 № 39, от 20.09.2017 № 35, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 23, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_23", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 23

text 23.03.2016 № 13, от 25.05.2016 № 26, от 23.11.2016 № 39, от 20.09.2017 № 35, от\n

", + "default_label": "title" + }, + "16": { + "id": 16, + "task_path": "images/000001_000016_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_24.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "24.01.2018 № 3, от 19.12.2018 № 32, от 26.12.2018 № 40, от 30.01.2019 № 4, от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 24, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_24", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 24

text 24.01.2018 № 3, от 19.12.2018 № 32, от 26.12.2018 № 40, от 30.01.2019 № 4, от\n

", + "default_label": "title" + }, + "17": { + "id": 17, + "task_path": "images/000001_000017_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_25.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "29.04.2019 № 15, от 22.05.2019 № 20, от 11.12.2019 № 34, от 01.04.2020 № 6)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 25, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 76, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 76, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_25", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 25

text 29.04.2019 № 15, от 22.05.2019 № 20, от 11.12.2019 № 34, от 01.04.2020 № 6)\n

", + "default_label": "title" + }, + "18": { + "id": 18, + "task_path": "images/000001_000018_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_27.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": " Закон города Москвы \"Кодекс города Москвы об административных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 27, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_27", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 27

text Закон города Москвы \"Кодекс города Москвы об административных\n

", + "default_label": "title" + }, + "19": { + "id": 19, + "task_path": "images/000001_000019_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_28.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "правонарушениях\" (далее - Кодекс) в соответствии с Конституцией Российской\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 28, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_28", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 28

text правонарушениях\" (далее - Кодекс) в соответствии с Конституцией Российской\n

", + "default_label": "title" + }, + "20": { + "id": 20, + "task_path": "images/000001_000020_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_29.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "Федерации, Кодексом Российской Федерации об административных правонарушениях,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 29, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_29", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 29

text Федерации, Кодексом Российской Федерации об административных правонарушениях,\n

", + "default_label": "title" + }, + "21": { + "id": 21, + "task_path": "images/000001_000021_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_30.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "Уставом города Москвы устанавливает административную ответственность по\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 30, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_30", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 30

text Уставом города Москвы устанавливает административную ответственность по\n

", + "default_label": "title" + }, + "22": { + "id": 22, + "task_path": "images/000001_000022_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_31.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "вопросам, не отнесенным Кодексом Российской Федерации об административных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 31, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_31", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 31

text вопросам, не отнесенным Кодексом Российской Федерации об административных\n

", + "default_label": "title" + }, + "23": { + "id": 23, + "task_path": "images/000001_000023_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_32.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "правонарушениях к ведению Российской Федерации, в том числе за нарушение норм и\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 32, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_32", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 32

text правонарушениях к ведению Российской Федерации, в том числе за нарушение норм и\n

", + "default_label": "title" + }, + "24": { + "id": 24, + "task_path": "images/000001_000024_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_33.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "правил, предусмотренных законами и иными нормативными правовыми актами города\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 33, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_33", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 33

text правил, предусмотренных законами и иными нормативными правовыми актами города\n

", + "default_label": "title" + }, + "25": { + "id": 25, + "task_path": "images/000001_000025_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_34.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "Москвы, нормативными правовыми актами органов местного самоуправления в городе\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 34, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_34", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 34

text Москвы, нормативными правовыми актами органов местного самоуправления в городе\n

", + "default_label": "title" + }, + "26": { + "id": 26, + "task_path": "images/000001_000026_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_35.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "Москве, определяет органы и перечень должностных лиц, уполномоченных составлять\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 35, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_35", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 35

text Москве, определяет органы и перечень должностных лиц, уполномоченных составлять\n

", + "default_label": "title" + }, + "27": { + "id": 27, + "task_path": "images/000001_000027_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_36.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "протоколы и рассматривать дела об административных правонарушениях,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 36, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_36", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 36

text протоколы и рассматривать дела об административных правонарушениях,\n

", + "default_label": "title" + }, + "28": { + "id": 28, + "task_path": "images/000001_000028_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_37.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "предусмотренных настоящим Кодексом, а также определяет перечень должностных лиц,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 37, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_37", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 37

text предусмотренных настоящим Кодексом, а также определяет перечень должностных лиц,\n

", + "default_label": "title" + }, + "29": { + "id": 29, + "task_path": "images/000001_000029_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_38.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "уполномоченных составлять протоколы об административных правонарушениях в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 38, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_38", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 38

text уполномоченных составлять протоколы об административных правонарушениях в\n

", + "default_label": "title" + }, + "30": { + "id": 30, + "task_path": "images/000001_000030_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_39.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "случаях, предусмотренных Кодексом Российской Федерации об административных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 39, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_39", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 39

text случаях, предусмотренных Кодексом Российской Федерации об административных\n

", + "default_label": "title" + }, + "31": { + "id": 31, + "task_path": "images/000001_000031_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_40.jpg", + "labeled": [ + "root" + ], + "data": { + "_line": "правонарушениях. (В редакции Закона Москвы от 24.06.2015 г. № 39)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 0, + "level_2": 0, + "can_be_multiline": true, + "line_type": "root" + }, + "page_id": 0, + "line_id": 40, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 66, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 66, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_40", + "original_document": "1710323261_94.txt", + "color": "#ffa500" + }, + "additional_info": "

page_id 0

line_id 40

text правонарушениях. (В редакции Закона Москвы от 24.06.2015 г. № 39)\n

", + "default_label": "title" + }, + "32": { + "id": 32, + "task_path": "images/000001_000032_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_45.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 1.1. Законодательство города Москвы об административных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 45, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "400", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_45", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 45

text Статья 1.1. Законодательство города Москвы об административных\n

", + "default_label": "item" + }, + "33": { + "id": 33, + "task_path": "images/000001_000033_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_46.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "правонарушениях\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 46, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 16, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 16, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_46", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 46

text правонарушениях\n

", + "default_label": "item" + }, + "34": { + "id": 34, + "task_path": "images/000001_000034_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_48.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 1. Законодательство города Москвы об административных правонарушениях\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 48, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_48", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 48

text 1. Законодательство города Москвы об административных правонарушениях\n

", + "default_label": "item" + }, + "35": { + "id": 35, + "task_path": "images/000001_000035_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_49.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "состоит из настоящего Кодекса.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 49, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 31, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 31, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_49", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 49

text состоит из настоящего Кодекса.\n

", + "default_label": "raw_text" + }, + "36": { + "id": 36, + "task_path": "images/000001_000036_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_51.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 2. Нормы, устанавливающие административную ответственность по вопросам, не\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 51, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_51", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 51

text 2. Нормы, устанавливающие административную ответственность по вопросам, не\n

", + "default_label": "item" + }, + "37": { + "id": 37, + "task_path": "images/000001_000037_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_52.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "отнесенным Кодексом Российской Федерации об административных правонарушениях к\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 52, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_52", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 52

text отнесенным Кодексом Российской Федерации об административных правонарушениях к\n

", + "default_label": "raw_text" + }, + "38": { + "id": 38, + "task_path": "images/000001_000038_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_53.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "ведению Российской Федерации, не могут содержаться в иных законах города Москвы\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 53, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_53", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 53

text ведению Российской Федерации, не могут содержаться в иных законах города Москвы\n

", + "default_label": "raw_text" + }, + "39": { + "id": 39, + "task_path": "images/000001_000039_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_54.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "и подлежат включению в настоящий Кодекс.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 54, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 41, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 41, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_54", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 54

text и подлежат включению в настоящий Кодекс.\n

", + "default_label": "raw_text" + }, + "40": { + "id": 40, + "task_path": "images/000001_000040_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_56.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 1.2. Виды административных наказаний\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 56, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 49, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 49, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_56", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 56

text Статья 1.2. Виды административных наказаний\n

", + "default_label": "item" + }, + "41": { + "id": 41, + "task_path": "images/000001_000041_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_58.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 1. За совершение административных правонарушений, предусмотренных настоящим\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 58, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_58", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 58

text 1. За совершение административных правонарушений, предусмотренных настоящим\n

", + "default_label": "item" + }, + "42": { + "id": 42, + "task_path": "images/000001_000042_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_59.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "Кодексом, могут устанавливаться и применяться в отношении граждан, должностных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 59, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_59", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 59

text Кодексом, могут устанавливаться и применяться в отношении граждан, должностных\n

", + "default_label": "raw_text" + }, + "43": { + "id": 43, + "task_path": "images/000001_000043_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_60.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "лиц и юридических лиц следующие административные наказания:\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 60, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 60, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 60, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_60", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 60

text лиц и юридических лиц следующие административные наказания:\n

", + "default_label": "raw_text" + }, + "44": { + "id": 44, + "task_path": "images/000001_000044_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_62.jpg", + "labeled": [ + "item" + ], + "data": { + "_line": " 1) предупреждение;\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 3, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 10, + "level_2": 0, + "can_be_multiline": false, + "line_type": "item" + }, + "page_id": 0, + "line_id": 62, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 24, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 24, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_62", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 62

text 1) предупреждение;\n

", + "default_label": "item" + }, + "45": { + "id": 45, + "task_path": "images/000001_000045_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_64.jpg", + "labeled": [ + "item" + ], + "data": { + "_line": " 2) административный штраф.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 3, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 10, + "level_2": 0, + "can_be_multiline": false, + "line_type": "item" + }, + "page_id": 0, + "line_id": 64, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 32, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 32, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_64", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 64

text 2) административный штраф.\n

", + "default_label": "item" + }, + "46": { + "id": 46, + "task_path": "images/000001_000046_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_66.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 2. Совершившие административные правонарушения в связи с выполнением\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 66, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_66", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 66

text 2. Совершившие административные правонарушения в связи с выполнением\n

", + "default_label": "item" + }, + "47": { + "id": 47, + "task_path": "images/000001_000047_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_67.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "организационно-распорядительных или административно-хозяйственных функций\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 67, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_67", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 67

text организационно-распорядительных или административно-хозяйственных функций\n

", + "default_label": "raw_text" + }, + "48": { + "id": 48, + "task_path": "images/000001_000048_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_68.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "руководители и другие работники организаций, не являющихся государственными и\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 68, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_68", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 68

text руководители и другие работники организаций, не являющихся государственными и\n

", + "default_label": "raw_text" + }, + "49": { + "id": 49, + "task_path": "images/000001_000049_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_69.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "муниципальными, а также лица, осуществляющие предпринимательскую деятельность\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 69, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_69", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 69

text муниципальными, а также лица, осуществляющие предпринимательскую деятельность\n

", + "default_label": "raw_text" + }, + "50": { + "id": 50, + "task_path": "images/000001_000050_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_70.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "без образования юридического лица (далее - индивидуальные предприниматели),\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 70, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_70", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 70

text без образования юридического лица (далее - индивидуальные предприниматели),\n

", + "default_label": "raw_text" + }, + "51": { + "id": 51, + "task_path": "images/000001_000051_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_71.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "несут административную ответственность как должностные лица, если настоящим\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 71, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_71", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 71

text несут административную ответственность как должностные лица, если настоящим\n

", + "default_label": "raw_text" + }, + "52": { + "id": 52, + "task_path": "images/000001_000052_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_72.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "Кодексом не установлено иное.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 72, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 30, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 30, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_72", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 72

text Кодексом не установлено иное.\n

", + "default_label": "raw_text" + }, + "53": { + "id": 53, + "task_path": "images/000001_000053_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_74.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 1.3. Порядок зачисления административных штрафов\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 74, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 61, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 61, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_74", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 74

text Статья 1.3. Порядок зачисления административных штрафов\n

", + "default_label": "item" + }, + "54": { + "id": 54, + "task_path": "images/000001_000054_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_76.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Суммы административных штрафов за административные правонарушения,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 76, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_76", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 76

text Суммы административных штрафов за административные правонарушения,\n

", + "default_label": "raw_text" + }, + "55": { + "id": 55, + "task_path": "images/000001_000055_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_77.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "предусмотренные настоящим Кодексом, зачисляются в бюджет города Москвы либо в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 77, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_77", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 77

text предусмотренные настоящим Кодексом, зачисляются в бюджет города Москвы либо в\n

", + "default_label": "raw_text" + }, + "56": { + "id": 56, + "task_path": "images/000001_000056_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_78.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "бюджеты внутригородских муниципальных образований в городе Москве в порядке,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 78, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_78", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 78

text бюджеты внутригородских муниципальных образований в городе Москве в порядке,\n

", + "default_label": "raw_text" + }, + "57": { + "id": 57, + "task_path": "images/000001_000057_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_79.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "установленном законом города Москвы о бюджете города Москвы на соответствующий\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 79, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_79", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 79

text установленном законом города Москвы о бюджете города Москвы на соответствующий\n

", + "default_label": "raw_text" + }, + "58": { + "id": 58, + "task_path": "images/000001_000058_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_80.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "финансовый год.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 80, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 16, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 16, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_80", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 80

text финансовый год.\n

", + "default_label": "raw_text" + }, + "59": { + "id": 59, + "task_path": "images/000001_000059_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_82.jpg", + "labeled": [ + "chapter" + ], + "data": { + "_line": " Глава 2. Административные правонарушения, посягающие на права граждан и\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 6, + "level_2": 0, + "can_be_multiline": true, + "line_type": "chapter" + }, + "page_id": 0, + "line_id": 82, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_82", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 82

text Глава 2. Административные правонарушения, посягающие на права граждан и\n

", + "default_label": "item" + }, + "60": { + "id": 60, + "task_path": "images/000001_000060_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_83.jpg", + "labeled": [ + "chapter" + ], + "data": { + "_line": "здоровье населения\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 6, + "level_2": 0, + "can_be_multiline": true, + "line_type": "chapter" + }, + "page_id": 0, + "line_id": 83, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 19, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 19, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_83", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 83

text здоровье населения\n

", + "default_label": "item" + }, + "61": { + "id": 61, + "task_path": "images/000001_000061_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_85.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.1. Неправомерный отказ, уклонение от рассмотрения либо нарушение\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 85, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_85", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 85

text Статья 2.1. Неправомерный отказ, уклонение от рассмотрения либо нарушение\n

", + "default_label": "item" + }, + "62": { + "id": 62, + "task_path": "images/000001_000062_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_86.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "порядка и сроков рассмотрения обращений граждан\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 86, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 48, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 48, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_86", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 86

text порядка и сроков рассмотрения обращений граждан\n

", + "default_label": "item" + }, + "63": { + "id": 63, + "task_path": "images/000001_000063_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_88.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Утратила силу - Закон Москвы от 07.10.2009 г. № 42)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 88, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 58, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 58, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_88", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 88

text (Утратила силу - Закон Москвы от 07.10.2009 г. № 42)\n

", + "default_label": "raw_text" + }, + "64": { + "id": 64, + "task_path": "images/000001_000064_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_90.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.2. Нарушение установленного порядка квотирования рабочих мест\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 90, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 76, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 76, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_90", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 90

text Статья 2.2. Нарушение установленного порядка квотирования рабочих мест\n

", + "default_label": "item" + }, + "65": { + "id": 65, + "task_path": "images/000001_000065_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_92.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Невыполнение работодателем установленной законодательством города Москвы\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 92, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_92", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 92

text Невыполнение работодателем установленной законодательством города Москвы\n

", + "default_label": "raw_text" + }, + "66": { + "id": 66, + "task_path": "images/000001_000066_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_93.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "обязанности по созданию или выделению квотируемых рабочих мест -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 93, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 65, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 65, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_93", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 93

text обязанности по созданию или выделению квотируемых рабочих мест -\n

", + "default_label": "raw_text" + }, + "67": { + "id": 67, + "task_path": "images/000001_000067_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_95.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 95, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_95", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 95

text влечет наложение административного штрафа на должностных лиц в размере от\n

", + "default_label": "raw_text" + }, + "68": { + "id": 68, + "task_path": "images/000001_000068_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_96.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "трех тысяч до пяти тысяч рублей; на юридических лиц - от тридцати тысяч до\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 96, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_96", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 96

text трех тысяч до пяти тысяч рублей; на юридических лиц - от тридцати тысяч до\n

", + "default_label": "raw_text" + }, + "69": { + "id": 69, + "task_path": "images/000001_000069_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_97.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "пятидесяти тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 97, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 25, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 25, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_97", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 97

text пятидесяти тысяч рублей.\n

", + "default_label": "raw_text" + }, + "70": { + "id": 70, + "task_path": "images/000001_000070_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_99.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.3. Невыполнение требований по обеспечению доступа инвалидов к\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 99, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_99", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 99

text Статья 2.3. Невыполнение требований по обеспечению доступа инвалидов к\n

", + "default_label": "item" + }, + "71": { + "id": 71, + "task_path": "images/000001_000071_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_100.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "объектам социальной, транспортной и инженерной инфраструктур\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 100, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 61, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 61, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_100", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 100

text объектам социальной, транспортной и инженерной инфраструктур\n

", + "default_label": "item" + }, + "72": { + "id": 72, + "task_path": "images/000001_000072_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_102.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 102, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 58, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 58, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_102", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 102

text (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n

", + "default_label": "raw_text" + }, + "73": { + "id": 73, + "task_path": "images/000001_000073_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_104.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.4. Нарушение установленных Правительством Москвы норм и правил в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 104, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_104", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 104

text Статья 2.4. Нарушение установленных Правительством Москвы норм и правил в\n

", + "default_label": "item" + }, + "74": { + "id": 74, + "task_path": "images/000001_000074_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_105.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "сфере опеки и попечительства\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 105, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 29, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 29, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_105", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 105

text сфере опеки и попечительства\n

", + "default_label": "item" + }, + "75": { + "id": 75, + "task_path": "images/000001_000075_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_107.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Нарушение установленных Правительством Москвы норм и правил в сфере опеки и\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 107, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_107", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 107

text Нарушение установленных Правительством Москвы норм и правил в сфере опеки и\n

", + "default_label": "raw_text" + }, + "76": { + "id": 76, + "task_path": "images/000001_000076_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_108.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "попечительства -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 108, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 17, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 17, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_108", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 108

text попечительства -\n

", + "default_label": "raw_text" + }, + "77": { + "id": 77, + "task_path": "images/000001_000077_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_110.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет предупреждение или наложение административного штрафа на граждан в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 110, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_110", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 110

text влечет предупреждение или наложение административного штрафа на граждан в\n

", + "default_label": "raw_text" + }, + "78": { + "id": 78, + "task_path": "images/000001_000078_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_111.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 111, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_111", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 111

text размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n

", + "default_label": "raw_text" + }, + "79": { + "id": 79, + "task_path": "images/000001_000079_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_112.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "до десяти тысяч рублей; на юридических лиц - от тридцати тысяч до пятидесяти\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 112, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_112", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 112

text до десяти тысяч рублей; на юридических лиц - от тридцати тысяч до пятидесяти\n

", + "default_label": "raw_text" + }, + "80": { + "id": 80, + "task_path": "images/000001_000080_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_113.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 113, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 14, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 14, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_113", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 113

text тысяч рублей.\n

", + "default_label": "raw_text" + }, + "81": { + "id": 81, + "task_path": "images/000001_000081_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_115.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Статья в редакции Закона Москвы от 07.10.2009 г. № 42)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 115, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 61, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 61, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_115", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 115

text (Статья в редакции Закона Москвы от 07.10.2009 г. № 42)\n

", + "default_label": "raw_text" + }, + "82": { + "id": 82, + "task_path": "images/000001_000082_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_117.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.5. Неисполнение постановлений и представлений комиссий по делам\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 117, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_117", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 117

text Статья 2.5. Неисполнение постановлений и представлений комиссий по делам\n

", + "default_label": "item" + }, + "83": { + "id": 83, + "task_path": "images/000001_000083_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_118.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "несовершеннолетних и защите их прав\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 118, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 36, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 36, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_118", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 118

text несовершеннолетних и защите их прав\n

", + "default_label": "item" + }, + "84": { + "id": 84, + "task_path": "images/000001_000084_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_120.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Неисполнение либо создание препятствий для исполнения постановления или\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 120, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_120", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 120

text Неисполнение либо создание препятствий для исполнения постановления или\n

", + "default_label": "raw_text" + }, + "85": { + "id": 85, + "task_path": "images/000001_000085_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_121.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "представления комиссии по делам несовершеннолетних и защите их прав, принятого в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 121, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_121", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 121

text представления комиссии по делам несовершеннолетних и защите их прав, принятого в\n

", + "default_label": "raw_text" + }, + "86": { + "id": 86, + "task_path": "images/000001_000086_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_122.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "соответствии с ее компетенцией, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 122, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 34, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 34, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_122", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 122

text соответствии с ее компетенцией, -\n

", + "default_label": "raw_text" + }, + "87": { + "id": 87, + "task_path": "images/000001_000087_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_124.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет предупреждение или наложение административного штрафа на граждан в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 124, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_124", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 124

text влечет предупреждение или наложение административного штрафа на граждан в\n

", + "default_label": "raw_text" + }, + "88": { + "id": 88, + "task_path": "images/000001_000088_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_125.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 125, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_125", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 125

text размере от пятисот до одной тысячи рублей; на должностных лиц - от одной тысячи\n

", + "default_label": "raw_text" + }, + "89": { + "id": 89, + "task_path": "images/000001_000089_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_126.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "до трех тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 126, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 22, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 22, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_126", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 126

text до трех тысяч рублей.\n

", + "default_label": "raw_text" + }, + "90": { + "id": 90, + "task_path": "images/000001_000090_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_128.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.6. Отказ в приеме граждан на обучение и исключение их из\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 128, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_128", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 128

text Статья 2.6. Отказ в приеме граждан на обучение и исключение их из\n

", + "default_label": "item" + }, + "91": { + "id": 91, + "task_path": "images/000001_000091_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_129.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "образовательных учреждений и организаций\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 129, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 41, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 41, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_129", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 129

text образовательных учреждений и организаций\n

", + "default_label": "item" + }, + "92": { + "id": 92, + "task_path": "images/000001_000092_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_131.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 131, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 58, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 58, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_131", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 131

text (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n

", + "default_label": "raw_text" + }, + "93": { + "id": 93, + "task_path": "images/000001_000093_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_133.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.7. Нарушение прав граждан на получение общего образования\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 133, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 72, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 72, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_133", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 133

text Статья 2.7. Нарушение прав граждан на получение общего образования\n

", + "default_label": "item" + }, + "94": { + "id": 94, + "task_path": "images/000001_000094_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_135.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 135, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 58, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 58, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_135", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 135

text (Утратила силу - Закон Москвы от 12.12.2012 г. № 65)\n

", + "default_label": "raw_text" + }, + "95": { + "id": 95, + "task_path": "images/000001_000095_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_137.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.8. Воспрепятствование деятельности членов комиссии по делам\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 137, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_137", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 137

text Статья 2.8. Воспрепятствование деятельности членов комиссии по делам\n

", + "default_label": "item" + }, + "96": { + "id": 96, + "task_path": "images/000001_000096_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_138.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "несовершеннолетних и защите их прав\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 138, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 36, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 36, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_138", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 138

text несовершеннолетних и защите их прав\n

", + "default_label": "item" + }, + "97": { + "id": 97, + "task_path": "images/000001_000097_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_140.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Воспрепятствование посещению учреждения системы профилактики безнадзорности\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 140, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_140", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 140

text Воспрепятствование посещению учреждения системы профилактики безнадзорности\n

", + "default_label": "raw_text" + }, + "98": { + "id": 98, + "task_path": "images/000001_000098_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_141.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "и правонарушений несовершеннолетних членом комиссии по делам несовершеннолетних\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 141, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_141", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 141

text и правонарушений несовершеннолетних членом комиссии по делам несовершеннолетних\n

", + "default_label": "raw_text" + }, + "99": { + "id": 99, + "task_path": "images/000001_000099_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_142.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "и защите их прав, осуществляющим по поручению данной комиссии проверку условий\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 142, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_142", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 142

text и защите их прав, осуществляющим по поручению данной комиссии проверку условий\n

", + "default_label": "raw_text" + }, + "100": { + "id": 100, + "task_path": "images/000001_000100_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_143.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "содержания, воспитания и обучения несовершеннолетних в указанном учреждении, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 143, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 79, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 79, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_143", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 143

text содержания, воспитания и обучения несовершеннолетних в указанном учреждении, -\n

", + "default_label": "raw_text" + }, + "101": { + "id": 101, + "task_path": "images/000001_000101_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_145.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на граждан в размере от пятисот\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 145, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_145", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 145

text влечет наложение административного штрафа на граждан в размере от пятисот\n

", + "default_label": "raw_text" + }, + "102": { + "id": 102, + "task_path": "images/000001_000102_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_146.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "до одной тысячи рублей; на должностных лиц - от четырех тысяч до пяти тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 146, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_146", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 146

text до одной тысячи рублей; на должностных лиц - от четырех тысяч до пяти тысяч\n

", + "default_label": "raw_text" + }, + "103": { + "id": 103, + "task_path": "images/000001_000103_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_147.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "рублей; на юридических лиц - от тридцати тысяч до пятидесяти тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 147, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 75, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 75, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_147", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 147

text рублей; на юридических лиц - от тридцати тысяч до пятидесяти тысяч рублей.\n

", + "default_label": "raw_text" + }, + "104": { + "id": 104, + "task_path": "images/000001_000104_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_149.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.9. Невыполнение обязанности по выделению бесплатных билетов для\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 149, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_149", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 149

text Статья 2.9. Невыполнение обязанности по выделению бесплатных билетов для\n

", + "default_label": "item" + }, + "105": { + "id": 105, + "task_path": "images/000001_000105_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_150.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "организации досуга несовершеннолетних\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 150, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 38, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 38, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_150", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 150

text организации досуга несовершеннолетних\n

", + "default_label": "item" + }, + "106": { + "id": 106, + "task_path": "images/000001_000106_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_152.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Невыполнение учреждением культуры, физической культуры и спорта, получающим\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 152, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_152", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 152

text Невыполнение учреждением культуры, физической культуры и спорта, получающим\n

", + "default_label": "raw_text" + }, + "107": { + "id": 107, + "task_path": "images/000001_000107_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_153.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "денежные средства из бюджета города Москвы или целевых бюджетных фондов развития\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 153, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_153", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 153

text денежные средства из бюджета города Москвы или целевых бюджетных фондов развития\n

", + "default_label": "raw_text" + }, + "108": { + "id": 108, + "task_path": "images/000001_000108_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_154.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "территорий административных округов и районов города Москвы, обязанности по\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 154, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_154", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 154

text территорий административных округов и районов города Москвы, обязанности по\n

", + "default_label": "raw_text" + }, + "109": { + "id": 109, + "task_path": "images/000001_000109_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_155.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "выделению для детей из неблагополучных семей установленного правовыми актами\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 155, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_155", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 155

text выделению для детей из неблагополучных семей установленного правовыми актами\n

", + "default_label": "raw_text" + }, + "110": { + "id": 110, + "task_path": "images/000001_000110_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_156.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "города Москвы количества реализуемых (распространяемых) указанным учреждением\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 156, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_156", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 156

text города Москвы количества реализуемых (распространяемых) указанным учреждением\n

", + "default_label": "raw_text" + }, + "111": { + "id": 111, + "task_path": "images/000001_000111_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_157.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "билетов (абонементов) -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 157, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 24, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 24, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_157", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 157

text билетов (абонементов) -\n

", + "default_label": "raw_text" + }, + "112": { + "id": 112, + "task_path": "images/000001_000112_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_159.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 159, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_159", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 159

text влечет наложение административного штрафа на должностных лиц в размере от\n

", + "default_label": "raw_text" + }, + "113": { + "id": 113, + "task_path": "images/000001_000113_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_160.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "одной тысячи до двух тысяч рублей; на юридических лиц - от десяти тысяч до\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 160, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_160", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 160

text одной тысячи до двух тысяч рублей; на юридических лиц - от десяти тысяч до\n

", + "default_label": "raw_text" + }, + "114": { + "id": 114, + "task_path": "images/000001_000114_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_161.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "двадцати тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 161, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 23, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 23, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_161", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 161

text двадцати тысяч рублей.\n

", + "default_label": "raw_text" + }, + "115": { + "id": 115, + "task_path": "images/000001_000115_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_163.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.10. Нарушение порядка льготного обеспечения лекарственными\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 163, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_163", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 163

text Статья 2.10. Нарушение порядка льготного обеспечения лекарственными\n

", + "default_label": "item" + }, + "116": { + "id": 116, + "task_path": "images/000001_000116_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_164.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "средствами и изделиями медицинского назначения\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 164, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 47, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 47, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_164", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 164

text средствами и изделиями медицинского назначения\n

", + "default_label": "item" + }, + "117": { + "id": 117, + "task_path": "images/000001_000117_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_166.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Нарушение установленного Правительством Москвы порядка обеспечения\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 166, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_166", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 166

text Нарушение установленного Правительством Москвы порядка обеспечения\n

", + "default_label": "raw_text" + }, + "118": { + "id": 118, + "task_path": "images/000001_000118_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_167.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "отдельных категорий жителей города Москвы лекарственными средствами и изделиями\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 167, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_167", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 167

text отдельных категорий жителей города Москвы лекарственными средствами и изделиями\n

", + "default_label": "raw_text" + }, + "119": { + "id": 119, + "task_path": "images/000001_000119_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_168.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "медицинского назначения, отпускаемыми по рецептам врачей бесплатно или с\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 168, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_168", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 168

text медицинского назначения, отпускаемыми по рецептам врачей бесплатно или с\n

", + "default_label": "raw_text" + }, + "120": { + "id": 120, + "task_path": "images/000001_000120_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_169.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "50-процентной скидкой, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 169, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 25, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 25, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_169", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 169

text 50-процентной скидкой, -\n

", + "default_label": "raw_text" + }, + "121": { + "id": 121, + "task_path": "images/000001_000121_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_171.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 171, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_171", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 171

text влечет наложение административного штрафа на должностных лиц в размере от\n

", + "default_label": "raw_text" + }, + "122": { + "id": 122, + "task_path": "images/000001_000122_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_172.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "пятисот до двух тысяч рублей; на юридических лиц - от двух тысяч до пяти тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 172, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_172", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 172

text пятисот до двух тысяч рублей; на юридических лиц - от двух тысяч до пяти тысяч\n

", + "default_label": "raw_text" + }, + "123": { + "id": 123, + "task_path": "images/000001_000123_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_173.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 173, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 8, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 8, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_173", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 173

text рублей.\n

", + "default_label": "raw_text" + }, + "124": { + "id": 124, + "task_path": "images/000001_000124_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_175.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.10.1. Вовлечение несовершеннолетних в процесс использования\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 175, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_175", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 175

text Статья 2.10.1. Вовлечение несовершеннолетних в процесс использования\n

", + "default_label": "item" + }, + "125": { + "id": 125, + "task_path": "images/000001_000125_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_176.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "устройств, имитирующих курение табака\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 176, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 38, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 38, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_176", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 176

text устройств, имитирующих курение табака\n

", + "default_label": "item" + }, + "126": { + "id": 126, + "task_path": "images/000001_000126_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_178.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 1. Вовлечение несовершеннолетних в процесс использования устройств,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 178, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_178", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 178

text 1. Вовлечение несовершеннолетних в процесс использования устройств,\n

", + "default_label": "item" + }, + "127": { + "id": 127, + "task_path": "images/000001_000127_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_179.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "имитирующих курение табака, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 179, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 30, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 30, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_179", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 179

text имитирующих курение табака, -\n

", + "default_label": "raw_text" + }, + "128": { + "id": 128, + "task_path": "images/000001_000128_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_181.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на граждан в размере от одной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 181, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_181", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 181

text влечет наложение административного штрафа на граждан в размере от одной\n

", + "default_label": "raw_text" + }, + "129": { + "id": 129, + "task_path": "images/000001_000129_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_182.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "тысячи пятисот до трех тысяч рублей; на должностных лиц в размере от двух тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 182, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_182", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 182

text тысячи пятисот до трех тысяч рублей; на должностных лиц в размере от двух тысяч\n

", + "default_label": "raw_text" + }, + "130": { + "id": 130, + "task_path": "images/000001_000130_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_183.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "пятисот до пяти тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 183, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 30, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 30, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_183", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 183

text пятисот до пяти тысяч рублей.\n

", + "default_label": "raw_text" + }, + "131": { + "id": 131, + "task_path": "images/000001_000131_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_185.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 2. Те же действия, совершенные родителями (законными представителями)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 185, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_185", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 185

text 2. Те же действия, совершенные родителями (законными представителями)\n

", + "default_label": "item" + }, + "132": { + "id": 132, + "task_path": "images/000001_000132_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_186.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "несовершеннолетних, а также лицами, на которых возложены обязанности по обучению\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 186, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_186", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 186

text несовершеннолетних, а также лицами, на которых возложены обязанности по обучению\n

", + "default_label": "raw_text" + }, + "133": { + "id": 133, + "task_path": "images/000001_000133_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_187.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "и воспитанию несовершеннолетних, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 187, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 35, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 35, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_187", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 187

text и воспитанию несовершеннолетних, -\n

", + "default_label": "raw_text" + }, + "134": { + "id": 134, + "task_path": "images/000001_000134_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_189.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влекут наложение административного штрафа в размере от четырех тысяч до\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 189, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_189", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 189

text влекут наложение административного штрафа в размере от четырех тысяч до\n

", + "default_label": "raw_text" + }, + "135": { + "id": 135, + "task_path": "images/000001_000135_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_190.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "пяти тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 190, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 19, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 19, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_190", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 190

text пяти тысяч рублей.\n

", + "default_label": "raw_text" + }, + "136": { + "id": 136, + "task_path": "images/000001_000136_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_192.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Примечание. Под использованием устройств, имитирующих курение табака, в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 192, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_192", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 192

text Примечание. Под использованием устройств, имитирующих курение табака, в\n

", + "default_label": "raw_text" + }, + "137": { + "id": 137, + "task_path": "images/000001_000137_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_193.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "настоящем Кодексе понимается использование электронных систем доставки никотина\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 193, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_193", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 193

text настоящем Кодексе понимается использование электронных систем доставки никотина\n

", + "default_label": "raw_text" + }, + "138": { + "id": 138, + "task_path": "images/000001_000138_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_194.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "либо других веществ, содержащихся в жидкостях или иных субстанциях для указанных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 194, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_194", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 194

text либо других веществ, содержащихся в жидкостях или иных субстанциях для указанных\n

", + "default_label": "raw_text" + }, + "139": { + "id": 139, + "task_path": "images/000001_000139_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_195.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "электронных систем, кальянов, в том числе электронных, а также устройств для\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 195, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_195", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 195

text электронных систем, кальянов, в том числе электронных, а также устройств для\n

", + "default_label": "raw_text" + }, + "140": { + "id": 140, + "task_path": "images/000001_000140_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_196.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "нагревания табака и иных аналогичных устройств, имитирующих курение табака.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 196, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 76, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 76, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_196", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 196

text нагревания табака и иных аналогичных устройств, имитирующих курение табака.\n

", + "default_label": "raw_text" + }, + "141": { + "id": 141, + "task_path": "images/000001_000141_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_198.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " (Статья дополнена - Закон Москвы от 30.01.2019 № 4)\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 198, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 57, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 57, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_198", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 198

text (Статья дополнена - Закон Москвы от 30.01.2019 № 4)\n

", + "default_label": "raw_text" + }, + "142": { + "id": 142, + "task_path": "images/000001_000142_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_200.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.11. Нарушение порядка предоставления льгот по оплате ветеринарных\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 200, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_200", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 200

text Статья 2.11. Нарушение порядка предоставления льгот по оплате ветеринарных\n

", + "default_label": "item" + }, + "143": { + "id": 143, + "task_path": "images/000001_000143_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_201.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "услуг\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 201, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 6, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 6, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_201", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 201

text услуг\n

", + "default_label": "item" + }, + "144": { + "id": 144, + "task_path": "images/000001_000144_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_203.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " Нарушение установленного Правительством Москвы порядка предоставления\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 203, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_203", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 203

text Нарушение установленного Правительством Москвы порядка предоставления\n

", + "default_label": "raw_text" + }, + "145": { + "id": 145, + "task_path": "images/000001_000145_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_204.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "отдельным категориям жителей города Москвы льгот по оплате ветеринарных услуг -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 204, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 80, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 80, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_204", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 204

text отдельным категориям жителей города Москвы льгот по оплате ветеринарных услуг -\n

", + "default_label": "raw_text" + }, + "146": { + "id": 146, + "task_path": "images/000001_000146_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_206.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц в размере от\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 206, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_206", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 206

text влечет наложение административного штрафа на должностных лиц в размере от\n

", + "default_label": "raw_text" + }, + "147": { + "id": 147, + "task_path": "images/000001_000147_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_207.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "пятисот до одной тысячи рублей; на юридических лиц - от одной тысячи до двух\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 207, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_207", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 207

text пятисот до одной тысячи рублей; на юридических лиц - от одной тысячи до двух\n

", + "default_label": "raw_text" + }, + "148": { + "id": 148, + "task_path": "images/000001_000148_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_208.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 208, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 14, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 14, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_208", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 208

text тысяч рублей.\n

", + "default_label": "raw_text" + }, + "149": { + "id": 149, + "task_path": "images/000001_000149_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_210.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": " Статья 2.12. Нарушение административного регламента предоставления\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 210, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_210", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 210

text Статья 2.12. Нарушение административного регламента предоставления\n

", + "default_label": "item" + }, + "150": { + "id": 150, + "task_path": "images/000001_000150_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_211.jpg", + "labeled": [ + "article" + ], + "data": { + "_line": "государственной услуги города Москвы\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": 8, + "level_2": 0, + "can_be_multiline": true, + "line_type": "article" + }, + "page_id": 0, + "line_id": 211, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 37, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 37, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_211", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 211

text государственной услуги города Москвы\n

", + "default_label": "item" + }, + "151": { + "id": 151, + "task_path": "images/000001_000151_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_213.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 1. Нарушение административного регламента предоставления государственной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 213, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_213", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 213

text 1. Нарушение административного регламента предоставления государственной\n

", + "default_label": "item" + }, + "152": { + "id": 152, + "task_path": "images/000001_000152_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_214.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "услуги города Москвы, выразившееся в требовании о необходимости представления\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 214, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_214", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 214

text услуги города Москвы, выразившееся в требовании о необходимости представления\n

", + "default_label": "raw_text" + }, + "153": { + "id": 153, + "task_path": "images/000001_000153_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_215.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "заявителем документов, не входящих в перечень документов, подлежащих\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 215, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_215", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 215

text заявителем документов, не входящих в перечень документов, подлежащих\n

", + "default_label": "raw_text" + }, + "154": { + "id": 154, + "task_path": "images/000001_000154_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_216.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "представлению заявителем согласно соответствующему административному регламенту,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 216, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_216", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 216

text представлению заявителем согласно соответствующему административному регламенту,\n

", + "default_label": "raw_text" + }, + "155": { + "id": 155, + "task_path": "images/000001_000155_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_217.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "за исключением случаев, когда нормативное правовое регулирование отношений,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 217, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_217", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 217

text за исключением случаев, когда нормативное правовое регулирование отношений,\n

", + "default_label": "raw_text" + }, + "156": { + "id": 156, + "task_path": "images/000001_000156_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_218.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "возникающих в связи с предоставлением данной государственной услуги,\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 218, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_218", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 218

text возникающих в связи с предоставлением данной государственной услуги,\n

", + "default_label": "raw_text" + }, + "157": { + "id": 157, + "task_path": "images/000001_000157_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_219.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "осуществляется нормативными правовыми актами Российской Федерации, а равно в\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 219, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_219", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 219

text осуществляется нормативными правовыми актами Российской Федерации, а равно в\n

", + "default_label": "raw_text" + }, + "158": { + "id": 158, + "task_path": "images/000001_000158_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_220.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "отказе в приеме у заявителя документов, необходимых для предоставления\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 220, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_220", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 220

text отказе в приеме у заявителя документов, необходимых для предоставления\n

", + "default_label": "raw_text" + }, + "159": { + "id": 159, + "task_path": "images/000001_000159_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_221.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "государственной услуги, по основаниям, не предусмотренным соответствующим\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 221, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_221", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 221

text государственной услуги, по основаниям, не предусмотренным соответствующим\n

", + "default_label": "raw_text" + }, + "160": { + "id": 160, + "task_path": "images/000001_000160_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_222.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "административным регламентом, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 222, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 32, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 32, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_222", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 222

text административным регламентом, -\n

", + "default_label": "raw_text" + }, + "161": { + "id": 161, + "task_path": "images/000001_000161_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_224.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц органов\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 224, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_224", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 224

text влечет наложение административного штрафа на должностных лиц органов\n

", + "default_label": "raw_text" + }, + "162": { + "id": 162, + "task_path": "images/000001_000162_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_225.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "исполнительной власти города Москвы в размере от пяти тысяч до десяти тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 225, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_225", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 225

text исполнительной власти города Москвы в размере от пяти тысяч до десяти тысяч\n

", + "default_label": "raw_text" + }, + "163": { + "id": 163, + "task_path": "images/000001_000163_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_226.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "рублей; на работников казенных, автономных учреждений города Москвы и\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 226, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_226", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 226

text рублей; на работников казенных, автономных учреждений города Москвы и\n

", + "default_label": "raw_text" + }, + "164": { + "id": 164, + "task_path": "images/000001_000164_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_227.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "многофункциональных центров предоставления государственных услуг - от одной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 227, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_227", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 227

text многофункциональных центров предоставления государственных услуг - от одной\n

", + "default_label": "raw_text" + }, + "165": { + "id": 165, + "task_path": "images/000001_000165_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_228.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "тысячи пятисот до трех тысяч рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 228, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 37, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 37, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_228", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 228

text тысячи пятисот до трех тысяч рублей.\n

", + "default_label": "raw_text" + }, + "166": { + "id": 166, + "task_path": "images/000001_000166_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_230.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 2. Нарушение административного регламента предоставления государственной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 230, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_230", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 230

text 2. Нарушение административного регламента предоставления государственной\n

", + "default_label": "item" + }, + "167": { + "id": 167, + "task_path": "images/000001_000167_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_231.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "услуги города Москвы, выразившееся в приостановлении предоставления\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 231, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_231", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 231

text услуги города Москвы, выразившееся в приостановлении предоставления\n

", + "default_label": "raw_text" + }, + "168": { + "id": 168, + "task_path": "images/000001_000168_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_232.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "государственной услуги города Москвы по основаниям, не предусмотренным\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 232, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_232", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 232

text государственной услуги города Москвы по основаниям, не предусмотренным\n

", + "default_label": "raw_text" + }, + "169": { + "id": 169, + "task_path": "images/000001_000169_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_233.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "соответствующим административным регламентом, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 233, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 48, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 48, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_233", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 233

text соответствующим административным регламентом, -\n

", + "default_label": "raw_text" + }, + "170": { + "id": 170, + "task_path": "images/000001_000170_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_235.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц органов\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 235, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_235", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 235

text влечет наложение административного штрафа на должностных лиц органов\n

", + "default_label": "raw_text" + }, + "171": { + "id": 171, + "task_path": "images/000001_000171_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_236.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "исполнительной власти города Москвы в размере от трех тысяч до пяти тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 236, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_236", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 236

text исполнительной власти города Москвы в размере от трех тысяч до пяти тысяч\n

", + "default_label": "raw_text" + }, + "172": { + "id": 172, + "task_path": "images/000001_000172_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_237.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "рублей; на работников казенных и автономных учреждений города Москвы - от одной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 237, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_237", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 237

text рублей; на работников казенных и автономных учреждений города Москвы - от одной\n

", + "default_label": "raw_text" + }, + "173": { + "id": 173, + "task_path": "images/000001_000173_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_238.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "тысячи до одной тысячи пятисот рублей.\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 238, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 39, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 39, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_238", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 238

text тысячи до одной тысячи пятисот рублей.\n

", + "default_label": "raw_text" + }, + "174": { + "id": 174, + "task_path": "images/000001_000174_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_240.jpg", + "labeled": [ + "articlePart" + ], + "data": { + "_line": " 3. Отказ в предоставлении государственной услуги по основаниям, не\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": 2, + "level_2": 1, + "can_be_multiline": false, + "line_type": "list_item" + }, + "hierarchy_level": { + "level_1": 9, + "level_2": 0, + "can_be_multiline": false, + "line_type": "articlePart" + }, + "page_id": 0, + "line_id": 240, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_240", + "original_document": "1710323261_94.txt", + "color": "#00f" + }, + "additional_info": "

page_id 0

line_id 240

text 3. Отказ в предоставлении государственной услуги по основаниям, не\n

", + "default_label": "item" + }, + "175": { + "id": 175, + "task_path": "images/000001_000175_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_241.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "предусмотренным административным регламентом предоставления государственной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 241, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_241", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 241

text предусмотренным административным регламентом предоставления государственной\n

", + "default_label": "raw_text" + }, + "176": { + "id": 176, + "task_path": "images/000001_000176_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_242.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "услуги города Москвы, за исключением случаев, когда нормативное правовое\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 242, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_242", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 242

text услуги города Москвы, за исключением случаев, когда нормативное правовое\n

", + "default_label": "raw_text" + }, + "177": { + "id": 177, + "task_path": "images/000001_000177_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_243.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "регулирование отношений, возникающих в связи с предоставлением данной\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 243, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_243", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 243

text регулирование отношений, возникающих в связи с предоставлением данной\n

", + "default_label": "raw_text" + }, + "178": { + "id": 178, + "task_path": "images/000001_000178_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_244.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "государственной услуги, осуществляется нормативными правовыми актами Российской\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 244, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_244", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 244

text государственной услуги, осуществляется нормативными правовыми актами Российской\n

", + "default_label": "raw_text" + }, + "179": { + "id": 179, + "task_path": "images/000001_000179_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_245.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "Федерации, -\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 245, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 13, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 13, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_245", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 245

text Федерации, -\n

", + "default_label": "raw_text" + }, + "180": { + "id": 180, + "task_path": "images/000001_000180_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_247.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": " влечет наложение административного штрафа на должностных лиц органов\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 247, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "100", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "1055", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_247", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 247

text влечет наложение административного штрафа на должностных лиц органов\n

", + "default_label": "raw_text" + }, + "181": { + "id": 181, + "task_path": "images/000001_000181_img_bbox_txt_6210f1fb59150aae33a09f49c8724baf_248.jpg", + "labeled": [ + "raw_text" + ], + "data": { + "_line": "исполнительной власти города Москвы в размере от трех тысяч до пяти тысяч\n", + "_metadata": { + "tag_hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": true, + "line_type": "raw_text" + }, + "hierarchy_level": { + "level_1": null, + "level_2": null, + "can_be_multiline": false, + "line_type": "raw_text" + }, + "page_id": 0, + "line_id": 248, + "_LineMetadata__other_fields": {} + }, + "_annotations": [ + { + "start": 0, + "end": 81, + "name": "spacing", + "value": "50", + "is_mergeable": true + }, + { + "start": 0, + "end": 81, + "name": "indentation", + "value": "0", + "is_mergeable": true + } + ], + "_uid": "txt_6210f1fb59150aae33a09f49c8724baf_248", + "original_document": "1710323261_94.txt", + "color": "#f00" + }, + "additional_info": "

page_id 0

line_id 248

text исполнительной власти города Москвы в размере от трех тысяч до пяти тысяч\n

", + "default_label": "raw_text" + } +} \ No newline at end of file diff --git a/labeling/tests/test_api_taskers.py b/labeling/tests/test_api_taskers.py index 0eabc1e2..fba72db3 100644 --- a/labeling/tests/test_api_taskers.py +++ b/labeling/tests/test_api_taskers.py @@ -45,7 +45,7 @@ def __test_any_tasker(self, data: dict, archive_name: str, test_original_documen with zipfile.ZipFile(result_archive_path) as archive: name_list = archive.namelist() - for file_name in ["original_documents.zip", "formInput.html", "formResult.html", "task_manager.py"]: + for file_name in ["original_documents.zip", "formInput.html", "formResult.html", "task_manager.py", "parameters.json"]: self.assertIn(file_name, name_list) archive.extractall(tmp_dir) diff --git a/labeling/tests/test_line_extractor.py b/labeling/tests/test_line_extractor.py index 27b8bcde..fcc45e29 100644 --- a/labeling/tests/test_line_extractor.py +++ b/labeling/tests/test_line_extractor.py @@ -18,7 +18,7 @@ def test_txt_file(self) -> None: lines = extractor.create_task() with open(path) as file: labels = json.load(file) - labels = {key: value for key, value in labels.items() if not value["data"]["_uid"].endswith("_split")} + labels = {key: value for key, value in labels.items()} uids_set_real = {line.uid for line in lines} uids2label = {item["data"]["_uid"]: item["labeled"][0] for item in labels.values()} diff --git a/labeling/tests/test_taskers.py b/labeling/tests/test_taskers.py index 511916ac..395dd5c2 100644 --- a/labeling/tests/test_taskers.py +++ b/labeling/tests/test_taskers.py @@ -53,11 +53,12 @@ def test_tasker(self) -> None: ) } tasker = Tasker(line_info_path=self.path2lines, images_path=self.path2docs, save_path=tmpdir, concrete_taskers=taskers, config=self.config) - tasks_path, task_size = tasker.create_tasks(type_of_task="law_classifier", task_size=1) + tasks_path, task_size = tasker.create_tasks(type_of_task="law_classifier", task_size=1, parameters={}) self.assertTrue(os.path.isfile(tasks_path)) self.assertEqual(1, task_size) with ZipFile(tasks_path) as archive: self.assertIn("original_documents.zip", archive.namelist()) + self.assertIn("parameters.json", archive.namelist()) def _get_line_label_classifier(self) -> LineLabelTasker: tasker = LineLabelTasker( diff --git a/labeling/train_dataset/api/api.py b/labeling/train_dataset/api/api.py index bc427504..52516497 100644 --- a/labeling/train_dataset/api/api.py +++ b/labeling/train_dataset/api/api.py @@ -83,9 +83,10 @@ class TrainDatasetParameters(QueryParameters): "root": "title", "toc": "toc", "toc_item": "toc", - "item": "raw_text", - "part": "named_item", - "raw_text": "raw_text" + "named_item": "named_item", + "raw_text": "raw_text", + "page_id": "page_id", + "footnote": "footnote" } taskers = { @@ -105,7 +106,7 @@ class TrainDatasetParameters(QueryParameters): config_path=os.path.join(train_resources_path, "paragraph", "config.json"), tmp_dir=UPLOAD_FOLDER, progress_bar=progress_bar, - item2label=lambda t: "not_paragraph", + item2label=lambda t: "not_paragraph" if t["_metadata"]["tag_hierarchy_level"]["can_be_multiline"] else "paragraph", config=config), "tz_classifier": LineLabelTasker( path2lines=path2lines, @@ -187,7 +188,7 @@ def get_result_archive(request: Request, uid: str) -> Response: logger.info(f"md5sum {hash_sum}") return templates.TemplateResponse("download.html", dict(request=request, value=file, cnt_per_one=1, hash_sum=hash_sum, filename=file)) else: - response = "

Ещё не готово

" + response = "

The tasks aren't ready yet

" for line in handler.get_progress(uid).split("\n"): response += f"

{line}

" return HTMLResponse(response, status_code=202) diff --git a/labeling/train_dataset/api/async_archive_handler.py b/labeling/train_dataset/api/async_archive_handler.py index fa1495b7..42121a80 100644 --- a/labeling/train_dataset/api/async_archive_handler.py +++ b/labeling/train_dataset/api/async_archive_handler.py @@ -45,7 +45,12 @@ def _handle_archive(self, uid: str, path: str, parameters: dict) -> str: self.__handle_one_file(archive, file, parameters) self.progress[uid] = f"files done\t= {i + 1} \n files_in_progress\t= {0}\n total\t= {len(archive.namelist())}" - task, _ = self.tasker.create_tasks(type_of_task=parameters["type_of_task"], task_size=int(parameters["task_size"]), task_uid=uid) + task, _ = self.tasker.create_tasks( + type_of_task=parameters["type_of_task"], + task_size=int(parameters["task_size"]), + task_uid=uid, + parameters=parameters + ) return task except Exception as e: self.progress[uid] = f"Fail with\n{e}" diff --git a/labeling/train_dataset/extractors/line_with_meta_extractor.py b/labeling/train_dataset/extractors/line_with_meta_extractor.py index 36caa924..32d85b88 100644 --- a/labeling/train_dataset/extractors/line_with_meta_extractor.py +++ b/labeling/train_dataset/extractors/line_with_meta_extractor.py @@ -69,9 +69,7 @@ def _get_lines(self, document_name: str, labels: List[dict]) -> List[LineWithLab return self.__add_labels(document_name, labels, lines) def __add_labels(self, document_name: str, labels: List[dict], lines: List[LineWithMeta]) -> List[LineWithLabel]: - label_dict = { - data["data"]["_uid"]: data["labeled"][0] for data in labels - } + label_dict = {data["data"]["_uid"]: data["labeled"][0] for data in labels} result = [] for line in lines: if line.uid in label_dict: diff --git a/labeling/train_dataset/task_manager.py b/labeling/train_dataset/task_manager.py index d60067f2..42e21910 100644 --- a/labeling/train_dataset/task_manager.py +++ b/labeling/train_dataset/task_manager.py @@ -91,6 +91,7 @@ def get_results() -> Response: archive.writestr(f"original_documents/{file}", f_in.read()) archive.write("task_manager.log") + archive.write("parameters.json") return send_file(archive_path, as_attachment=True, attachment_filename=archive_name) diff --git a/labeling/train_dataset/taskers/concrete_taskers/abstract_line_label_tasker.py b/labeling/train_dataset/taskers/concrete_taskers/abstract_line_label_tasker.py index 247b529c..757b89b9 100644 --- a/labeling/train_dataset/taskers/concrete_taskers/abstract_line_label_tasker.py +++ b/labeling/train_dataset/taskers/concrete_taskers/abstract_line_label_tasker.py @@ -103,7 +103,7 @@ def _create_one_task(self, task: List[List[dict]], task_id: int, job_uid: str, * task_items = OrderedDict() item_id = 0 with zipfile.ZipFile(path, "w") as task_archive: - for page_id, page in enumerate(task): + for page in task: # add original files document_name = get_original_document_path(self.path2docs, page) archive_name = os.path.join(task_directory, "original_document", os.path.basename(document_name)) @@ -117,8 +117,6 @@ def _create_one_task(self, task: List[List[dict]], task_id: int, job_uid: str, * item.task_id = item_id item_id += 1 task_items[item.task_id] = item.to_dict() - self.progress_bar[job_uid] = self.progress_bar.get(job_uid, "").split("\n")[0] - self.progress_bar[job_uid] += f"\n done = {page_id} total = {len(task)}" task_archive.writestr(f"{task_directory}/tasks.json", json.dumps(task_items, ensure_ascii=False, indent=4).encode("utf-8")) task_archive.write(self.manifest_path, os.path.join(task_directory, os.path.basename(self.manifest_path))) self._add_config(task_archive, task_name=task_name, task_directory=task_directory, config_path=self.config_path, tmp_dir=self.tmp_dir) diff --git a/labeling/train_dataset/taskers/images_creators/concrete_creators/docx_images_creator.py b/labeling/train_dataset/taskers/images_creators/concrete_creators/docx_images_creator.py index 09b1e5d8..5df1da8b 100644 --- a/labeling/train_dataset/taskers/images_creators/concrete_creators/docx_images_creator.py +++ b/labeling/train_dataset/taskers/images_creators/concrete_creators/docx_images_creator.py @@ -40,6 +40,11 @@ def __init__(self, path2docs: str, *, config: dict) -> None: self.two_colors_file_name = "two_colors_doc" self.config = config self.logger = self.config.get("logger", logging.getLogger()) + self.scan_reader = PdfImageReader(config=self.config) + + def can_read(self, page: List[dict]) -> bool: + file_name = get_original_document_path(self.path2docs, page) + return file_name.lower().endswith("docx") def add_images(self, page: List[dict], archive: zipfile.ZipFile) -> None: """ @@ -195,11 +200,6 @@ def _split_pdf2image(path: str) -> Iterator[np.ndarray]: if len(images) > 0: yield np.array(images[0]) - def can_read(self, page: List[dict]) -> bool: - - image_name = get_original_document_path(self.path2docs, page) - return image_name.endswith("docx") - def _create_images_from_pdf(self, pdfs: PairedPdf, page: List[dict], tmp_dir: str) -> Iterable[Tuple[str, Image.Image]]: """ we take two paired pdfs with bboxes and create images from them. Then we return images according to @@ -209,9 +209,8 @@ def _create_images_from_pdf(self, pdfs: PairedPdf, page: List[dict], tmp_dir: st @param tmp_dir: path where we save intermediate images @return: """ - scan_reader = PdfImageReader(config=self.config) - many_color_images = scan_reader._get_images(pdfs.many_color_pdf, 0, math.inf) - two_color_images = scan_reader._get_images(pdfs.two_color_pdf, 0, math.inf) + many_color_images = self.scan_reader._get_images(pdfs.many_color_pdf, 0, math.inf) + two_color_images = self.scan_reader._get_images(pdfs.two_color_pdf, 0, math.inf) uid2path = defaultdict(list) n = 0 for two_color, many_color in zip(two_color_images, many_color_images): diff --git a/labeling/train_dataset/taskers/images_creators/concrete_creators/scanned_images_creator.py b/labeling/train_dataset/taskers/images_creators/concrete_creators/scanned_images_creator.py index 89fd5d2c..70b3ef5c 100644 --- a/labeling/train_dataset/taskers/images_creators/concrete_creators/scanned_images_creator.py +++ b/labeling/train_dataset/taskers/images_creators/concrete_creators/scanned_images_creator.py @@ -4,7 +4,7 @@ import zipfile from copy import deepcopy from itertools import zip_longest -from typing import Iterator, List +from typing import Iterator, List, Optional import PIL import cv2 @@ -22,22 +22,6 @@ class ScannedImagesCreator(AbstractImagesCreator): def __init__(self, path2docs: str) -> None: self.path2docs = path2docs - def __draw_one_bbox(self, image: PIL.Image, line: dict, pdf_image: bool = False) -> np.ndarray: - bbox_annotation = self.__get_bbox_annotations(line)[0] - bbox = json.loads(bbox_annotation["value"]) - if pdf_image: - image = image.resize(size=(bbox["page_width"], bbox["page_height"]), resample=PIL.Image.BICUBIC) - image_bbox = draw_rectangle( - image=image, - x_top_left=int(bbox["x_top_left"] * bbox["page_width"]), - y_top_left=int(bbox["y_top_left"] * bbox["page_height"]), - width=bbox["width"] * bbox["page_width"], - height=bbox["height"] * bbox["page_height"], - color=line.get("color", (0, 0, 0)) - ) - image_bbox = cv2.resize(np.array(image_bbox), (1276, 1754)) - return image_bbox - def add_images(self, page: List[dict], archive: zipfile.ZipFile) -> None: """ take list of line with meta (all lines from one document) and creates images with a bbox around the line @@ -47,11 +31,15 @@ def add_images(self, page: List[dict], archive: zipfile.ZipFile) -> None: """ path = get_original_document_path(self.path2docs, page) page = [line for line in page if self.__get_bbox_annotations(line)] - if path.endswith("pdf"): + if path.endswith(".pdf"): images = self._create_image_pdf(path=path, page=page) else: images = self._create_image_jpg(path=path, page=page) + for image, line in zip_longest(images, page): + if image is None: + continue + img_name = f"{line['_uid']}.jpg" with tempfile.TemporaryDirectory() as tmpfile: img_path = os.path.join(tmpfile, img_name) @@ -65,7 +53,7 @@ def can_read(self, page: List[dict]) -> bool: @return: """ image_name = get_original_document_path(self.path2docs, page) - return image_name.endswith(("png", "jpg", "jpeg", "pdf")) + return image_name.lower().endswith(("png", "jpg", "jpeg", "pdf")) def _create_image_pdf(self, path: str, page: List[dict]) -> Iterator[Image]: current_image = None @@ -77,18 +65,46 @@ def _create_image_pdf(self, path: str, page: List[dict]) -> Iterator[Image]: current_image = convert_from_path(path, first_page=current_page, last_page=current_page + 1)[0] image = deepcopy(current_image) image_bbox = self.__draw_one_bbox(image, line, pdf_image=True) + if image_bbox is None: + yield image_bbox + continue + image_bbox = PIL.Image.fromarray(image_bbox) image_bbox = image_bbox.convert("RGB") yield image_bbox - def _create_image_jpg(self, path: str, page: List[dict]) -> Iterator[Image]: + def _create_image_jpg(self, path: str, page: List[dict]) -> Iterator[Optional[Image]]: image = PIL.Image.open(path) for line in page: image_bbox = self.__draw_one_bbox(image, line) + if image_bbox is None: + yield image_bbox + continue + image_bbox = PIL.Image.fromarray(image_bbox) image_bbox = image_bbox.convert("RGB") yield image_bbox + def __draw_one_bbox(self, image: PIL.Image, line: dict, pdf_image: bool = False) -> Optional[np.ndarray]: + try: + bbox_annotation = self.__get_bbox_annotations(line)[0] + bbox = json.loads(bbox_annotation["value"]) + if pdf_image: + image = image.resize(size=(bbox["page_width"], bbox["page_height"]), resample=PIL.Image.BICUBIC) + image_bbox = draw_rectangle( + image=image, + x_top_left=int(bbox["x_top_left"] * bbox["page_width"]), + y_top_left=int(bbox["y_top_left"] * bbox["page_height"]), + width=bbox["width"] * bbox["page_width"], + height=bbox["height"] * bbox["page_height"], + color=line.get("color", (0, 0, 0)) + ) + image_bbox = cv2.resize(np.array(image_bbox), (1276, 1754)) + except Exception as e: + print(e) # noqa + return None + return image_bbox + def __get_bbox_annotations(self, line: dict) -> List[dict]: bbox_annotations = [annotation for annotation in line["_annotations"] if annotation["name"] == "bounding box"] return bbox_annotations diff --git a/labeling/train_dataset/taskers/images_creators/concrete_creators/txt_images_creator.py b/labeling/train_dataset/taskers/images_creators/concrete_creators/txt_images_creator.py index e804f15f..4c096338 100644 --- a/labeling/train_dataset/taskers/images_creators/concrete_creators/txt_images_creator.py +++ b/labeling/train_dataset/taskers/images_creators/concrete_creators/txt_images_creator.py @@ -1,138 +1,141 @@ +import dataclasses import logging import os import tempfile import zipfile -from typing import List, Tuple +from typing import List, Optional, Tuple +import PIL +import numpy as np from PIL import Image, ImageDraw, ImageFont +from dedocutils.data_structures import BBox -from dedoc.data_structures.line_with_meta import LineWithMeta -from dedoc.readers.txt_reader.raw_text_reader import RawTextReader +from dedoc.utils.image_utils import draw_rectangle from dedoc.utils.train_dataset_utils import get_original_document_path -from dedoc.utils.utils import get_batch from train_dataset.taskers.images_creators.concrete_creators.abstract_images_creator import AbstractImagesCreator +@dataclasses.dataclass +class LineLocation: + image_name: str + bbox: BBox + + class TxtImagesCreator(AbstractImagesCreator): - # TODO отдебажить def __init__(self, path2docs: str, *, config: dict) -> None: self.path2docs = path2docs - self.max_characters = 80 - self.max_lines = 40 - self.horizontal_padding = 20 - self.vertical_padding = 40 - - self.row_height = 36 - self.font_size = self.row_height - 8 - self.row_width = int(self.max_characters * self.row_height / 2.5) - + # text drawing settings + self.font_size = 25 + self.page_size = (1240, 1750) + self.page_color = (255, 255, 255) self.text_color = (0, 0, 0) - self.background_color = (255, 255, 255) - self.border_color = (0, 0, 0) + self.word_space = 0.5 + self.line_gap = 10 + self.margin = 35 font_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "resources", "Arial_Narrow.ttf")) self.font = ImageFont.truetype(font_path, self.font_size) - self.txt_reader = RawTextReader(config=config) self.logger = config.get("logger", logging.getLogger()) + self.logging_step = 50 + + def can_read(self, page: List[dict]) -> bool: + file_name = get_original_document_path(self.path2docs, page) + return file_name.lower().endswith(".txt") def add_images(self, page: List[dict], archive: zipfile.ZipFile) -> None: """ - take list of line with meta (all lines from one document) and creates images with a bbox around the line - @param page: list - @param archive: archive where this image creator should put image, named .jpg - @return: + 1 - draw text for all document lines (create several pages) + 2 - for each line get a page with one line highlighted by bounding box """ - path2doc = get_original_document_path(self.path2docs, page) - doc = self.txt_reader.read(path2doc, parameters={}) + len_page = len(page) - txt_lines = self.__make_text_lines(doc.lines) + with tempfile.TemporaryDirectory() as tmpdir: + self.logger.info("Draw images with text") + location_list = self.__draw_pages(page, tmpdir) - for batch_index, batch_lines in enumerate(get_batch(self.max_lines, txt_lines)): - batch_start = batch_index * self.max_lines - txt_lines_count = sum([len(line) for line in batch_lines]) - width = self.horizontal_padding * 2 + self.row_width - height = self.vertical_padding * 2 + max(self.max_lines, txt_lines_count) * self.row_height + self.logger.info("Draw bounding boxes on images") + for line_num, line_dict in enumerate(page, start=1): + if line_num % self.logging_step == 0: + self.logger.info(f"{line_num}/{len_page} bboxes") - for i, (uid, line) in enumerate(batch_lines): - if line[0].isspace(): - self.logger.info(f"\n{i + batch_start + 1} / {len(txt_lines)} image processed (empty line)") + line_location = location_list[line_num - 1] + if line_location is None: continue - image = self.__make_image(width, height, batch_lines) - self.logger.info(f"\n{i + batch_start + 1} / {len(txt_lines)} image processed") - image_with_bbox = self.__make_bbox_image(image, batch_lines, i) - img_name = f"{uid}.jpg" - with tempfile.TemporaryDirectory() as tmpdir: - img_path = os.path.join(tmpdir, img_name) - image_with_bbox.save(img_path, format="jpeg") + image = PIL.Image.open(os.path.join(tmpdir, line_location.image_name)) + image_with_bbox = draw_rectangle( + image=image, + x_top_left=line_location.bbox.x_top_left, + y_top_left=line_location.bbox.y_top_left, + width=line_location.bbox.width, + height=line_location.bbox.height, + color=line_dict.get("color", (0, 0, 0)) + ) + image_with_bbox = PIL.Image.fromarray(image_with_bbox).convert("RGB") + + img_name = f'{line_dict["_uid"]}.jpg' + with tempfile.TemporaryDirectory() as tmpfile: + img_path = os.path.join(tmpfile, img_name) + image_with_bbox.save(os.path.join(tmpfile, img_name), format="jpeg") archive.write(img_path, img_name) - def can_read(self, page: List[dict]) -> bool: - """ - return if this creator can handle this document type - @param page: - @return: - """ - image_name = get_original_document_path(self.path2docs, page) - return image_name.endswith("txt") - - def __split_long_line(self, line: str) -> List[str]: - words = line.split() - - # if no words in this very long line - if len(words) == 1: - parts = (len(line) + self.max_characters) // self.max_characters - return [line[i:i + self.max_characters] for i in range(parts)] - - splited_lines = [] - curr_line = [] - curr_len = 0 - - for word in words: - if curr_len + len(curr_line) - 1 + len(word) >= self.max_characters: - splited_lines.append(" ".join(curr_line)) - curr_line = [] - curr_len = 0 - - curr_len += len(word) - curr_line.append(word) - - splited_lines.append(" ".join(curr_line)) - return splited_lines - - def __make_text_lines(self, page: List[LineWithMeta]) -> List[Tuple[str, List[str]]]: - txt_lines = [] - - for line in page: - if len(line.line) <= self.max_characters: - split_line = [line.line] - else: - split_line = self.__split_long_line(line.line) - txt_lines.append((line.uid, split_line)) - return txt_lines - - def __make_image(self, width: int, height: int, txt_lines: List[Tuple[str, List[str]]]) -> Image: - image = Image.new("RGB", (width, height), color=self.background_color) - - draw = ImageDraw.Draw(image) - x = self.horizontal_padding - y = self.vertical_padding - - for _, (_, line) in enumerate(txt_lines): - for part in line: - draw.text((x, y), part, font=self.font, fill=self.text_color) - y += self.row_height - - return image - - def __make_bbox_image(self, image: Image, txt_lines: List[Tuple[str, List[str]]], draw_index: int) -> Image: - draw = ImageDraw.Draw(image) - x = self.horizontal_padding - y = self.vertical_padding + sum([len(line) for _, line in txt_lines[:draw_index]]) * self.row_height - - w, h = self.row_width, len(txt_lines[draw_index]) * self.row_height - draw.rectangle([(x - 1, y - 1), (x + w + 2, y + h + 2)], outline=self.border_color) - - return image + def __draw_pages(self, page: List[dict], tmpdir: str) -> List[Optional[LineLocation]]: + location_list = [None for _ in page] + len_page = len(page) + page_number = 0 + + x, y = self.margin, self.margin + img, draw = self.__create_page() + + for line_num, line_dict in enumerate(page, start=1): + if line_num % self.logging_step == 0: + self.logger.info(f"{line_num}/{len_page} lines") + + words = line_dict["_line"].strip().split() + if len(words) == 0: + continue + + line_bbox, line_ended = None, False + y_top_left = y + + for word in words: + x_min, y_min, x_max, y_max = draw.textbbox((x, y), word, self.font) + if x_max + self.margin >= self.page_size[0]: + x = self.margin + y += self.font_size + self.line_gap + + if y_max + self.margin >= self.page_size[1]: + img.save(os.path.join(tmpdir, f"{page_number}.jpg"), format="jpeg") + page_number += 1 + img, draw = self.__create_page() + x, y = self.margin, self.margin + y_top_left = y + + if line_bbox is not None: + location_list[line_num - 1] = LineLocation(image_name=f"{page_number - 1}.jpg", bbox=line_bbox) + line_ended = True + break + + x_min, y_min, x_max, y_max = draw.textbbox((x, y), word, self.font) + draw.text((x, y), word, self.text_color, font=self.font) + line_bbox = BBox.from_two_points(top_left=(self.margin, y_top_left), bottom_right=(self.page_size[0] - self.margin, y + self.font_size)) + x = x_max + int(self.word_space * self.font_size) + + if line_ended: + continue + + location_list[line_num - 1] = LineLocation(image_name=f"{page_number}.jpg", bbox=line_bbox) + y += self.font_size + self.line_gap + x = self.margin + + img.save(os.path.join(tmpdir, f"{page_number}.jpg"), format="jpeg") + return location_list + + def __create_page(self) -> Tuple[Image.Image, ImageDraw.ImageDraw]: + img_arr = np.zeros((self.page_size[1], self.page_size[0], 3), dtype=np.uint8) + img_arr[:, :] = self.page_color + img = Image.fromarray(img_arr) + draw = ImageDraw.Draw(img) + return img, draw diff --git a/labeling/train_dataset/taskers/tasker.py b/labeling/train_dataset/taskers/tasker.py index 587f0e22..72bf463c 100644 --- a/labeling/train_dataset/taskers/tasker.py +++ b/labeling/train_dataset/taskers/tasker.py @@ -1,5 +1,5 @@ +import json import logging -import math import os import random import uuid @@ -41,24 +41,17 @@ def __init__(self, resources_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources") self.resources = os.path.abspath(resources_path) - def create_tasks(self, type_of_task: str, count_tasks: int = None, task_size: int = None, task_uid: Optional[str] = None) -> Tuple[str, int]: + def create_tasks(self, type_of_task: str, task_size: int, parameters: dict, task_uid: Optional[str] = None) -> Tuple[str, int]: """ - creates subtasks with help of ConcreteTaskers and return common archive of tasks + Creates subtasks with help of ConcreteTaskers and return common archive of tasks :param type_of_task: task type for calling concrete tasker (for example type_of_task='line_classifier') :param task_size: size of one task, task should not be larger than this. For example number of page. - :param count_tasks: number of tasks + :param parameters: all parameters for files parsing and task creation :param task_uid: unique id of task :return: archive of tasks, task size """ task_uid = str(uuid.uuid1()) if task_uid is None else task_uid self.progress_bar[task_uid] = "Form task (in progress)" - if task_size is None and count_tasks is None: - raise Exception("Task size undefined") - elif count_tasks is not None and task_size is None: - self.logger.warning("count_tasks is deprecated, use task_size") - task_size = math.ceil(len(os.listdir(self.images_path)) / count_tasks) - elif count_tasks is not None and task_size is not None: - self.logger.warning("count_tasks is deprecated, ignore its value and use task_size") if type_of_task not in self.concrete_taskers: raise UnknownTaskError(type_of_task) @@ -66,8 +59,7 @@ def create_tasks(self, type_of_task: str, count_tasks: int = None, task_size: in path_to_common_zip = os.path.join(self.save_path, f"{type_of_task}_{random.randint(0, 1000000):06d}.zip") with ZipFile(path_to_common_zip, "w") as tasks_archive: - for task_path in tasker.create_tasks(task_size=task_size, - tasks_uid=task_uid): + for task_path in tasker.create_tasks(task_size=task_size, tasks_uid=task_uid): task_name = os.path.basename(task_path) tasks_archive.write(filename=task_path, arcname=task_name) self.logger.info(self.progress_bar) @@ -75,6 +67,7 @@ def create_tasks(self, type_of_task: str, count_tasks: int = None, task_size: in tasks_archive.write(original_documents, os.path.basename(original_documents)) os.remove(original_documents) self._add_special(tasks_archive) + tasks_archive.writestr("parameters.json", json.dumps(parameters, indent=4, ensure_ascii=False).encode("utf-8")) self.progress_bar.pop(task_uid) return path_to_common_zip, task_size diff --git a/resources/benchmarks/table_benchmark_on_generated_data.json b/resources/benchmarks/table_benchmark_on_generated_data.json index 130bcd28..95bd4100 100644 --- a/resources/benchmarks/table_benchmark_on_generated_data.json +++ b/resources/benchmarks/table_benchmark_on_generated_data.json @@ -1,506 +1,506 @@ { - "mode_metric_structure_only": true, - "mean": 0.9467889492889642, + "mode_metric_structure_only": false, + "mean": 0.8962329986201388, "images": { - "0OEG7D5CXUSXDNEXAZ8A3.png": 0.993103448275862, - "0IS8OPRTM71QYN821WA5S.png": 0.9878048780487805, - "0KX1D4AGMTM3EWR0EF0A5.png": 0.989010989010989, - "0QBK1U71YOHBG5Z23MT7E.png": 0.9916666666666667, - "0DC57AS1OYZ1BRHZHPIO2.png": 0.96, - "0GJE73OG32H2P2SL2AI2J.png": 0.9905660377358491, - "0GYAQKWTI3LN6DNZFM2TZ.png": 0.9904761904761905, - "0GHKLO6LOH5LBTYEUND3S.png": 0.9917355371900827, - "0F831FOUA10K3594FG4IM.png": 0.9896907216494846, - "0XG0I2F0MMZ3QMXWLWFMX.png": 0.9935064935064936, - "0WMTO9U10ILEB9HCX4C0B.png": 0.9863013698630136, - "0C1ZYGFL2YNFM2W3P2KN1.png": 0.9795918367346939, - "0A4G5JAZSJS4BT5LBZ2Q3.png": 0.9850746268656716, - "0I75SMSDR5JSJXF07PN6J.png": 0.9915966386554622, - "0K9EAAIYXSUT80SYF3ML4.png": 0.9836065573770492, - "0PH78O2B9CJAM6MMINZXT.png": 0.9876543209876543, - "1BRZ4ALOZMMEXGR4AVJWG.png": 0.9876543209876543, - "0AFVW6AL3EH9H76ONNDYF.png": 0.9848484848484849, - "0EVCQHN9C65AUYG1UAN3C.png": 0.9696969696969697, - "0DD9D0ILAPJIH77GEVRGP.png": 0.4098360655737705, - "1BHU2JO8ODKS3OL4RIU6A.png": 0.9905660377358491, - "0OG2AZLHJPMBX43O2O9LR.png": 0.989010989010989, - "0M64SMZT9HTN6LXQ4M24T.png": 0.9846153846153847, - "0TY12X0C3U2BPZC81PW66.png": 0.9836065573770492, - "0W109P7LI6B5HIYM3SJ5A.png": 0.9873417721518988, - "0H6272E6S2YUDJWBSWKQN.png": 0.9873417721518988, - "0ZRX97WSSVCVQ3NJ5959P.png": 0.9873417721518988, - "0ZFX4HDI3O7YQFDYRRYKI.png": 0.9722222222222222, - "1A4SDGAXB66WDBW7OUH58.png": 0.9876543209876543, - "0HQVUJMOQRQQ5FIP4PMZF.png": 0.9859154929577465, - "0Q335MQBC8UJJMASJUNWZ.png": 0.9938271604938271, - "0AF02R419WL1YN97ZV144.png": 0.9868421052631579, - "0JWOGY4C0KQ14J958GLYD.png": 0.9922480620155039, - "0JCVUE03Y5YD8A45IOIA5.png": 0.972972972972973, - "0R10PSLELMJ0SPFCXX92A.png": 0.9814814814814815, - "0BF411IVR1HLU1Q44I3K7.png": 0.990990990990991, - "0K9C1HJZ8K3L6CRAQ6VCW.png": 0.9850746268656716, - "0Q2MRICBMAFRV1GRRR5TA.png": 0.5189873417721519, - "0ZK44UG99IWIPKRSCOSJV.png": 0.9795918367346939, - "0S09D3ZPVQ8YOT55XIOE1.png": 0.9887640449438202, - "0KRLZUD3DQAU1DYDU99ZH.png": 0.9882352941176471, - "1ATIOLLN3DOAHKX75560Q.png": 0.5460992907801419, - "0KSBBUINDNN16F2ZLQHV4.png": 0.9915254237288136, - "0P5IE8XH9BN2EGC0DX27Z.png": 0.989010989010989, - "0GJ88Q9SMUOWF3WILKG14.png": 0.98, - "0QYA242XOQ0Y9078UC7NI.png": 0.984375, - "0F4Z8B4S5RV008LHJBW8S.png": 0.9896907216494846, - "0GWJH40B21AJBR1F73FXI.png": 0.9722222222222222, - "0ZO44O69QHTV62QJ3X9KH.png": 0.9883720930232558, - "0VK3KLUJVLAB9SRQDN6EJ.png": 0.45622119815668205, - "0HQHS3BO0IIOJ5L2EP2H4.png": 0.9882352941176471, - "1DBQ2M6XQ66Y2895PYNOM.png": 0.9824561403508771, - "0A4OYW3ZL5QP76IGF0DK0.png": 0.9836065573770492, - "1AFVW6AL3EH9H76ONNDYF.png": 0.9863013698630136, - "0J0JQM9WD7B0RCNKWBC5S.png": 0.972972972972973, - "0OVSLM3WAA36TZQCOL1WS.png": 0.9821428571428571, - "0GMEN2MGE7HN3ROOZQ5YD.png": 0.9879518072289156, - "0AJLKOKRHEVOTGE90GEH6.png": 0.9922480620155039, - "0DUX4YKT5JYJO3Z573OG8.png": 0.967741935483871, - "0A4SDGAXB66WDBW7OUH58.png": 0.9871794871794872, - "0G5S5CXGRLABEYII4QG2Z.png": 0.9887640449438202, - "0YM92E2EEDDGHAUW2YZ8Q.png": 0.9863013698630136, - "0F0E32N4VR4Q9960I0DB8.png": 0.975609756097561, - "0JNQPLSGKLPQ0UAAFYL5T.png": 0.967741935483871, - "0YL4VFF3LUUQITLVU3U9V.png": 0.9902912621359223, - "0ZO2Z3XCHZLB43ARH68WS.png": 0.9803921568627451, - "0SHL8BKLII1AGBZ1SEB4U.png": 0.9876543209876543, - "0KBLEG9N1SBX956ZCIP5I.png": 0.9795918367346939, - "1B1QX4K8U8P9QA3HVLRPN.png": 0.9896907216494846, - "0D0ZG3O9YHMQAPHCD0890.png": 0.9924242424242424, - "0PTMPFGYNVJWO6FCX1QRZ.png": 0.9933333333333333, - "0A7ZA5BA5TPHBN2WP6TT9.png": 0.9904761904761905, - "0DE9UIIVMYH3UK0SYFVUG.png": 0.9767441860465116, - "0U0LFAJATVD9YEC1Z3497.png": 0.9767441860465116, - "1A3YX0911ULBZSCUBNDZS.png": 0.9929577464788732, - "0WRQRWHH2CMV2L4CE3SN9.png": 0.9878048780487805, - "0C1X00FENSOUN2Y08Y3JT.png": 0.9824561403508771, - "0ONRU7A4SU4WAUWF25FRP.png": 0.9878048780487805, - "1DD9D0ILAPJIH77GEVRGP.png": 0.9824561403508771, - "0CBFM7HG55Z7O8F4Y0O0L.png": 0.9905660377358491, - "0C9EM94JJTICVGS6U2T2U.png": 0.9917355371900827, - "0KK57808VO3HNS1AW4CJO.png": 0.9767441860465116, - "0E7XFLPH56MT23HNK3MZ6.png": 0.9886363636363636, - "0J818KH6HIIA83D74FXS3.png": 0.9887640449438202, - "0TLMD42BW0F4NSD9PG19X.png": 0.984375, - "0PSN5QFZWTPA9U05O7MZ3.png": 0.99, - "0GI0JNFJAOXK5OJKRXCND.png": 0.9891304347826086, - "0Z4X1LVZ1K4NE2RR8P7EA.png": 0.9859154929577465, - "0S709DW5AZF9VPCPMVHXB.png": 0.9891304347826086, - "1B87OEX5XX0BHUOQAS50A.png": 0.9767441860465116, - "1AAERNSDA06GDA7OFZVCA.png": 0.9850746268656716, - "1CORAY089OILX2OWIKU1E.png": 0.98, - "0WO86MK2DC2EZUZLSMFA1.png": 0.9911504424778761, - "0KNUPYHEXZYSW1TNZ6I7L.png": 0.9846153846153847, - "0ONF59OAQYX89LAM941E6.png": 0.9859154929577465, - "0E1IVAEMQXKVCH3Q0JCVX.png": 0.9782608695652174, - "0K8YJZK75V8SXL0GIM4SU.png": 0.9896907216494846, - "0LUL2CVQ1HLC1KL6D2VMP.png": 0.4065934065934066, - "0WIEGQEF4G9LN2UM49Y12.png": 0.9876543209876543, - "0AQ9EL10BYBSGJO2RLC6Q.png": 0.9888888888888889, - "0M0WYXRJONRUQ3ZG24MJJ.png": 0.989010989010989, - "0E3XQJO1C4CKR9TNFB4IC.png": 0.9871794871794872, - "0H17CYXGJTHXPQUP51TBI.png": 0.9911504424778761, - "0NK736IIIHGBF52E1UKQ4.png": 0.9859154929577465, - "0DYIHMLOKOR6HNF2XAI8F.png": 0.9836065573770492, - "0BZ5GZPTUSCNBNGBNQZEG.png": 0.9859154929577465, - "0M47PMX0DRIVKCJBYKHPJ.png": 0.9767441860465116, - "00MK8C41M7MW013CJ9SPU.png": 0.9922480620155039, - "0DMXCT01TPF8O33UMENE4.png": 0.9917355371900827, - "0WS9VI6T1X0M5H6D8O67Z.png": 0.9859154929577465, - "0XQ9XQOL15RDKQT4YZUQC.png": 0.5739130434782609, - "1DD8FWYLADAY5EJ3UZUD9.png": 0.9876543209876543, - "0MXPSYD5A5U86BSSZQMJN.png": 0.975609756097561, - "0QAOLXSIIRIRQ3W1OP7Y8.png": 0.9921259842519685, - "1BZ5GZPTUSCNBNGBNQZEG.png": 0.9767441860465116, - "0Y5AIJNHB8DTPQOC92X6P.png": 0.9882352941176471, - "0IL3BP1QRAZ54V54IBK9A.png": 0.9876543209876543, - "0MDCUYD9ASW4AGWD3ZYK5.png": 0.9891304347826086, - "0MON88TOR16AGTBLDTGJC.png": 0.9904761904761905, - "0QVCHWR0EZCMQ5J5P0Z1J.png": 0.9767441860465116, - "0IPJ09DW34Q275Z5CMS1X.png": 0.99, - "1A7ZU26KX6C0LG0D3T3ZS.png": 0.9863013698630136, - "0M49YEV7H4P48EONCBFPS.png": 0.9863013698630136, - "1D34PI1NNCV0AB4WCQMB3.png": 0.9863013698630136, - "0AGYYXV88WJW2FC6FVV3Q.png": 0.9863013698630136, - "0F9W69ODT3GQCQ6F11L2E.png": 0.9767441860465116, - "0Q3RJT1DJMPO9D9BE6JNO.png": 0.9868421052631579, - "0ETQJY2HRGYIBO46BSD3P.png": 0.4503105590062112, - "0BRZ4ALOZMMEXGR4AVJWG.png": 0.43983402489626555, - "0WLG2ZXPFXZGF9RM2Z6N6.png": 0.9871794871794872, - "1BP5KU2XHXZ0C431B4OL9.png": 0.43450479233226835, - "00ZG4J0UMAHQMR57DQ5T7.png": 0.9818181818181818, - "0S5HD36LFVDWLLH6UFK9I.png": 0.9939759036144579, - "0EW4PZW85MH9BS8VI83KZ.png": 0.9848484848484849, - "0EMFKQLMGGAFPLQGUEZSJ.png": 0.96, - "0H4TWDI39J0HRG239GQ10.png": 0.9938650306748467, - "0BSXNNN0LA94101P5D38I.png": 0.9882352941176471, - "0SLVZSD9X7VZPGQU0Q2QN.png": 0.9850746268656716, - "0K6WPSDJC0ICOWFEASYB4.png": 0.9911504424778761, - "0TY3MTJ6YZDE6QI73SH5A.png": 0.9859154929577465, - "0B87OEX5XX0BHUOQAS50A.png": 0.9896907216494846, - "1C1X00FENSOUN2Y08Y3JT.png": 0.967741935483871, - "0KEM29NIZZ7UI3CTN6NEA.png": 0.9896907216494846, - "0JZQMX95783K8QW3ERXSM.png": 0.8827586206896552, - "0R47TY8TMFAL346RUY0LW.png": 0.9696969696969697, - "0EG83QLMPW7MGGMGBYGPD.png": 0.9882352941176471, - "1AGYYXV88WJW2FC6FVV3Q.png": 0.9927536231884058, - "0OF74SYX6Q102JCQ5KELF.png": 0.9896907216494846, - "1BX1I2HS6BLV92NZHV6J1.png": 0.9940828402366864, - "1DDEMI2034QD7F4QRH1IV.png": 0.972972972972973, - "0Z8LGXZ1SMLBHV5T6Y4O9.png": 0.9859154929577465, - "0NGE5XRBD2YHBZFMDL7VD.png": 0.9795918367346939, - "0SX4TWDHV25DCZV3HQEHH.png": 0.9777777777777777, - "00Q04QLVCESVWCSMDAURN.png": 0.9855072463768116, - "0SK696SAQW3MZNDMD4W85.png": 0.984375, - "0F4WBFLG32FAT22W0NGEY.png": 0.45871559633027525, - "0TNFF3RUQ2UL3PRNYF45M.png": 0.9868421052631579, - "1A4OYW3ZL5QP76IGF0DK0.png": 0.9904761904761905, - "0IUNRRJ3JHMEAORR2EXRS.png": 0.9908256880733946, - "0L764EQB3ZGC3FYQ20PR9.png": 0.9863013698630136, - "0XZJ4SZWY0ZOD9QBZP96A.png": 0.9922480620155039, - "0PU3J7NYVCB6XLSJJOEZ9.png": 0.9911504424778761, - "0DDKIN1PFJQTFW1JADVHT.png": 0.9863013698630136, - "1A4G5JAZSJS4BT5LBZ2Q3.png": 0.9836065573770492, - "0DPMX3BRIG9CWZPYKXFWS.png": 0.9921259842519685, - "0N7P792721CFI8EDOCB0N.png": 0.9908256880733946, - "1BIC4PMO7M3ZB8WUC3STJ.png": 0.9933333333333333, - "0XNBY82W4NFSD9GV6ONKU.png": 0.9911504424778761, - "0F3P8XGEMBYESYCYAOQPN.png": 0.9923076923076923, - "00D983SP0WHF6YGMKSHCR.png": 0.9803921568627451, - "0N91H0ZWMHBPPPPON4HUW.png": 0.993006993006993, - "0AWZPWR198XN7U8HY1E32.png": 0.9836065573770492, - "0S0Z9J05KZWNPKUFRD78Z.png": 0.9927007299270073, - "0FCDXM7JS1QEBBY3DCGBM.png": 0.9795918367346939, - "0OEVVJNLZKKW7GOPM188W.png": 0.9615384615384616, - "0Z7FUMCO707ZDI55EG306.png": 0.9878048780487805, - "0DE4P4M2855D754NA8993.png": 0.9722222222222222, - "0UZ81HSUQSHVVGU56NIOG.png": 0.9902912621359223, - "0AAERNSDA06GDA7OFZVCA.png": 0.992, - "0WZXI1YECN77S9GD6GQ4M.png": 0.98989898989899, - "0S8HOU13AW544ALTKAB73.png": 0.989010989010989, - "0AAPDAAK73MRINE7PM0ZJ.png": 0.41628959276018096, - "0UJ2AFVE6RWGTYSB6DKLJ.png": 0.45871559633027525, - "0ISYQEE43TA3O41XMA47A.png": 0.993103448275862, - "0L2E8S3ICCMGPE9PS3RLV.png": 0.9908256880733946, - "0BIC4PMO7M3ZB8WUC3STJ.png": 0.984375, - "0CTFYQFHQ1S1FLIEAPZTB.png": 0.9767441860465116, - "0A9RJA2I3YJT58JR2MEOT.png": 0.9818181818181818, - "0UGHOJ96BTPB57BR0DJS7.png": 0.4505494505494505, - "0TW35WW1PRLL2YKVYWYRM.png": 0.9818181818181818, - "0HTO45RT9NH5KQUCLOV2H.png": 0.9722222222222222, - "0F0TA5W8GO31TXUFMHHTO.png": 0.98989898989899, - "0HWMSCT6L3MCGFJV4OXF8.png": 0.975609756097561, - "0KCIUQNXNE3ZMX5ECY7V3.png": 0.9925925925925926, - "0ET4I24PZATQRKGMGG5KC.png": 0.975609756097561, - "0I6WVEL7V26O3KJJ1GGYF.png": 0.9896907216494846, - "1A2AT7TW5KOMUUAK7TQXT.png": 0.9767441860465116, - "0W8NNJL30MNEY6RTPD6DA.png": 0.9767441860465116, - "0XC0XOHP855H9DFG41W9T.png": 0.9803921568627451, - "1DC57AS1OYZ1BRHZHPIO2.png": 0.9903846153846154, - "00WVVGSQ00B0IZU4OKPHQ.png": 0.9916666666666667, - "0RTI5C20W407SL59RANEM.png": 0.991304347826087, - "0A0DA327P9Y532UTLHE2N.png": 0.9722222222222222, - "0AQZMEU4Q38NKK4USHAC5.png": 0.9896907216494846, - "0U7602J86XPC7AVTSPMWL.png": 0.9878048780487805, - "0DSGAEKSK52RUNGEOGEXP.png": 0.9921259842519685, - "0JD5R5NDJKRRHT1UI6GFW.png": 0.7058823529411764, - "0PQ9OK98A29AC6GEI3DKQ.png": 0.4882352941176471, - "0TA7SVAQC7PKDE8BUP3NF.png": 0.9887640449438202, - "0TQM47CA0F30LG2C0S2KN.png": 0.9887640449438202, - "0HA1FE8828DJ86ZIJUIX4.png": 0.967741935483871, - "0P1Y0C88Y17DSXE616MQN.png": 0.98989898989899, - "0I6GDDWCTMF9V4YLGLBIM.png": 0.4036697247706422, - "0SI6DA6CAXUMFYSXBXIF6.png": 0.9906542056074766, - "0NM9CUQJV6W2N9434O81D.png": 0.9859154929577465, - "0WU8XJP1VJSLZXQ7S43HM.png": 0.9767441860465116, - "0P0WR7JJ9JBXO0HVMDETS.png": 0.975609756097561, - "0ZNTZMWW1X0QZV4AGDHYL.png": 0.9926470588235294, - "0C98HOE9TQ4HZK6DKGF5I.png": 0.989010989010989, - "0JCDZWWAMUR9FRGHL9IVN.png": 0.9911504424778761, - "0PVN50SJP1LUTHE2TID60.png": 0.9926470588235294, - "0D7CMRTBBENLYDO7EWWVZ.png": 0.98, - "0JOTZX26K6UJB6LNVK9RH.png": 0.975609756097561, - "0ZFOZ6UKG7DCCD5HSUIIX.png": 0.9876543209876543, - "0L7V0ZXS2M9JMSBD05I25.png": 0.9873417721518988, - "0G1E97R3QFH7FG9AUAIFB.png": 0.9863013698630136, - "0CORAY089OILX2OWIKU1E.png": 0.984375, - "0EH9JARAL7RYD3CVMM8AZ.png": 0.5185185185185186, - "00KDBG5H22KPNCPCK7L2P.png": 0.9848484848484849, - "00XJ5C1RWIRVID9IPUX8G.png": 0.8, - "0FFJM5ABUDDCT2DOCW2T4.png": 0.9916666666666667, - "0D34PI1NNCV0AB4WCQMB3.png": 0.9896907216494846, - "0X9D7AJTD7S91BNHMQ4L0.png": 0.9876543209876543, - "0W9SN5GJDEWTG3WAPGPDZ.png": 0.9887640449438202, - "0ATIOLLN3DOAHKX75560Q.png": 0.9882352941176471, - "1C9EM94JJTICVGS6U2T2U.png": 0.9883720930232558, - "0TG6BRHGF3C865C2OL6DE.png": 0.9882352941176471, - "1BUP8L4PGVBNQE1GSCGJZ.png": 0.9863013698630136, - "1AJLKOKRHEVOTGE90GEH6.png": 0.989010989010989, - "1C98HOE9TQ4HZK6DKGF5I.png": 0.9859154929577465, - "0IH65GI6IN6RQWJE04YPG.png": 0.9859154929577465, - "0DNHG32KRYJ9PQ7UU1YL5.png": 0.9863013698630136, - "0EV54WP1Y9JDCWMDIT0OM.png": 0.975609756097561, - "0BE3I0HX6XWZQA4EFY99C.png": 0.984375, - "0O7G4HGEK48J2NUB5RCES.png": 0.9882352941176471, - "1BXWVCNXW1Z4N1XG8QOG4.png": 0.9905660377358491, - "0M2V36SUMHY2U8FRS9NYZ.png": 0.4424778761061947, - "0STJA7OMA59TOQ8XQ54G5.png": 0.98, - "0VB0OIQZQXKY5PA111Q8B.png": 0.984375, - "0RBPX6DU1W6LIYA2VRAA4.png": 0.972972972972973, - "0SP3KJJ2HMQZF088NH2DR.png": 0.9904761904761905, - "1D0ZG3O9YHMQAPHCD0890.png": 0.9655172413793104, - "0XZ590ZLZXRB09XIADL9V.png": 0.9934640522875817, - "0QU6QW0KAWVXZ6TL7FVJE.png": 0.9933774834437086, - "0PKH21420YW57OPRJR21R.png": 0.9922480620155039, - "0TX7Y5KWQ2MVU3579QIYH.png": 0.9777777777777777, - "0Y6OW4PMMWG05F4ZFYQ40.png": 0.9767441860465116, - "0EK5DRITVR9G3KDVF1CTJ.png": 0.9876543209876543, - "0DDEMI2034QD7F4QRH1IV.png": 0.9933774834437086, - "0HJXUBEZQCR1DEUQ8V30I.png": 0.9932885906040269, - "0BG5K95UCWQ3JXWC501XA.png": 0.9886363636363636, - "00TNQG8N9T3KUVMZ7AWTB.png": 0.967741935483871, - "0TJSB9YOUAG7C9OZW3U80.png": 0.9848484848484849, - "0SYEGYPSNLKCALCQBPGK2.png": 0.9929577464788732, - "0IP23CAYMTIVE93KLVMRA.png": 0.9824561403508771, - "0KFRN6DX1A6MMGS24B39T.png": 0.9850746268656716, - "1CTFYQFHQ1S1FLIEAPZTB.png": 0.9803921568627451, - "0U9U2Q7VBD1V6HBT7FQKM.png": 0.9923076923076923, - "0S7MUFP120D8OP4ZCCCUV.png": 0.4873417721518988, - "0BXWVCNXW1Z4N1XG8QOG4.png": 0.9873417721518988, - "1A7ZA5BA5TPHBN2WP6TT9.png": 0.9824561403508771, - "1ACY14LU0VWSKDOHEAVZM.png": 0.9924812030075187, - "0MPO1XXHHM8I5BOIT3DB9.png": 0.9876543209876543, - "0RSQ19UNM98CNWII5Q25F.png": 0.975609756097561, - "0EAA9XEBN9W7XDBPK31UZ.png": 0.9803921568627451, - "0U0BR4A64P7CE7YZ57HQ1.png": 0.9911504424778761, - "0XFNT3NMKFW1DB0F2LVY3.png": 0.9916666666666667, - "1AQZMEU4Q38NKK4USHAC5.png": 0.9904761904761905, - "0VGZMTO2VCZVZKGAOHZEU.png": 0.9910714285714286, - "0DBQ2M6XQ66Y2895PYNOM.png": 0.984375, - "0BP5KU2XHXZ0C431B4OL9.png": 0.9811320754716981, - "0PYCGJHF1705P4NTCM8AS.png": 0.9824561403508771, - "0RAGYZ9465I7GLXZXCLCQ.png": 0.9924812030075187, - "1A9560NY0NQ5OVZQQBJRQ.png": 0.4636363636363636, - "0KXDSHWWWYQJBXT2Y6U8S.png": 0.9803921568627451, - "1BF411IVR1HLU1Q44I3K7.png": 0.984375, - "0T1ZL9NSVN3385DR7B86C.png": 0.9824561403508771, - "0SYKTWM1EF4KS646AWQEL.png": 0.9803921568627451, - "0S104IFNSN5EJ31212IOP.png": 0.989010989010989, - "0H2RZUXKBQEVFJ2JT29R4.png": 0.9818181818181818, - "0SVC8WRHPF38HHKBN65YD.png": 0.9926470588235294, - "0HVIW7DPWCJSWJ5PCJDM2.png": 0.9855072463768116, - "0PRIZA7CG2JAL9GTN265B.png": 0.9929577464788732, - "0FXLG8PO267BZPBBXIX4E.png": 0.9922480620155039, - "1B0LNAITDDPPCJ4I6XIWK.png": 0.9868421052631579, - "0YNQ2KZ01B1TWP9FR5DE7.png": 0.45360824742268047, - "0A8AVSZNK6GTNOCBEVFOY.png": 0.9722222222222222, - "0XM8RQF6JQDOTJ5WQVHFE.png": 0.9873417721518988, - "0JBU3LJRDTMJI2XGB6NUE.png": 0.9868421052631579, - "0FKIASN9E4KCZ0JRCAJLQ.png": 0.9917355371900827, - "0A2AT7TW5KOMUUAK7TQXT.png": 0.9882352941176471, - "0QISJETVE3HGF1PMBD1BM.png": 0.9848484848484849, - "0KBOWWQLYSIZ0P4SIZMHJ.png": 0.993421052631579, - "0OMZO818L9AC4U3JJTKGD.png": 0.9863013698630136, - "0IVOAVCWOJ4CA92H7CM1Q.png": 0.9917355371900827, - "0SH9F7EHAT35OVT003OC5.png": 0.3728813559322034, - "0F7BJ4Z9F1R95HUG4RRZD.png": 0.9767441860465116, - "00RJGV4A4UTMTLDEIR1IG.png": 0.975609756097561, - "0BUP8L4PGVBNQE1GSCGJZ.png": 0.967741935483871, - "0B1QX4K8U8P9QA3HVLRPN.png": 0.9923664122137404, - "0IZ8M2UHYSA9H6K8XIOKS.png": 0.9855072463768116, - "0KLEV2650Z6X2DAUO94QK.png": 0.9876543209876543, - "0MRYJGMAVHEDMZ3XSX9XI.png": 0.9871794871794872, - "0I6PWVE3HEK6ZZ5K53UY4.png": 0.9818181818181818, - "1BE3I0HX6XWZQA4EFY99C.png": 0.984375, - "0M7CJCA8K3PX504PNHJRT.png": 0.9883720930232558, - "0ESACK4QILSDBXRS54UK0.png": 0.9795918367346939, - "0KLU5K631Q9RHQOY6771B.png": 0.4444444444444444, - "0RAZV12CY84ZGA4BRZQUC.png": 0.9871794871794872, - "0HZ4TDEJG6BY7B2RTALZK.png": 0.9868421052631579, - "0ROPMUV96VG8PTONLNGV9.png": 0.9887640449438202, - "0L194VI2NIOAX4AUCU2WG.png": 0.9767441860465116, - "0PG6K8IFJM2PHHLA1S4Y6.png": 0.9905660377358491, - "0H5AHQVKHAKQ1W636PLCS.png": 0.9878048780487805, - "0ZAHJJUMYDOQIMIUUFAUD.png": 0.9863013698630136, - "0MO39PWU9N82Y88WNANVM.png": 0.984375, - "0ZSUP0IMF3PK86DIVWQ8V.png": 0.967741935483871, - "0M1B6J5CTPBITI79C68MO.png": 0.9824561403508771, - "0BWJOYJSDHL1XJH6UG2RM.png": 0.9882352941176471, - "0SPYHIS3OEEZ082CFJEGF.png": 0.9871794871794872, - "0A3YX0911ULBZSCUBNDZS.png": 0.9896907216494846, - "0FK1CU21TAIHIR7YWZ2W7.png": 0.9818181818181818, - "0WP1ZBKQCK8W2W0ZXI2Z4.png": 0.7916666666666666, - "1AF02R419WL1YN97ZV144.png": 0.9767441860465116, - "0BKBFKJTQPLQBNIBZSM7E.png": 0.9916666666666667, - "1C1ZYGFL2YNFM2W3P2KN1.png": 0.9871794871794872, - "0IHOYC7KXLECI1F3G1WAF.png": 0.9848484848484849, - "1A0DA327P9Y532UTLHE2N.png": 0.9868421052631579, - "0SK9B35AHQ2OQA1RDKHHP.png": 0.9917355371900827, - "0EECJZYQ42MZLSWPOK9ZH.png": 0.9887640449438202, - "0UFBWJZOD5PBKMVX7G231.png": 0.9824561403508771, - "0OZ6DU5POAFSM589UXX4S.png": 0.9876543209876543, - "0OUIP8MTUSWLFQ6J13VXT.png": 0.967741935483871, - "0NFAI2Z8TAUKU6S7892KH.png": 0.975609756097561, - "0F3VUGWY35HLOJYHPT78G.png": 0.9883720930232558, - "0AYZOGNX998RYQVPWP1OA.png": 0.9846153846153847, - "0UC2QTKS4ITXYK4E6HU9T.png": 0.9939759036144579, - "0KK6YAU45B9B34SSZTAS7.png": 0.9836065573770492, - "0WV2Q54214D8ARYKCMBE0.png": 0.547945205479452, - "0TUDLFORB7K1BVA4U0ULU.png": 0.9917355371900827, - "0XZRML313QJ6X82YZJLYT.png": 0.9848484848484849, - "0ACY14LU0VWSKDOHEAVZM.png": 0.9873417721518988, - "0HH9NAZ1I95NJINORKJIM.png": 0.9795918367346939, - "1AWZPWR198XN7U8HY1E32.png": 0.9795918367346939, - "0TLG8NFY9BXHB15A47OGW.png": 0.9926470588235294, - "1CBFM7HG55Z7O8F4Y0O0L.png": 0.9848484848484849, - "0EV3WT6VJG3QH2HFJEIBA.png": 0.975609756097561, - "0OBPU21JDPO0KPYEQGLFO.png": 0.9722222222222222, - "0MJ27YD7XBYLQKM87RM3Y.png": 0.9887640449438202, - "0BHU2JO8ODKS3OL4RIU6A.png": 0.99, - "0WVB351NNWY8OOQQRRW6F.png": 0.476878612716763, - "1BCT1VG1R4HUK3Q6NMZGU.png": 0.9916666666666667, - "0YJ043WAWUTW4AEMDTD4R.png": 0.9782608695652174, - "0YS08VVMS1YPOHVJOFXXA.png": 0.98989898989899, - "0EWWFSOUCGGD5BK6RKMKO.png": 0.522875816993464, - "0VCTD6BP09MBAXOOM5Y5E.png": 0.975609756097561, - "0S7ZGBZ7OBI15CZS5V95A.png": 0.984375, - "0JJ9O2OQ6O13OAOFM7643.png": 0.99, - "00TXY79AHYWJ7WLXB3VLV.png": 0.9846153846153847, - "0J2UQ7WIZXFK4I5TV9UHW.png": 0.9935064935064936, - "0TYF1PBQCH64LANCKYWY7.png": 0.9859154929577465, - "0SWG2OW7F5RLADFAHJ9A4.png": 0.9882352941176471, - "0RV3TKC89HQD4FRFCTNSK.png": 0.9767441860465116, - "1BQBJ8UFLH7H3JQ965JF6.png": 0.9863013698630136, - "0C70JEJWPOAT1S8RUWCVB.png": 0.972972972972973, - "0RCE6GI0QYPCA15RH6HM7.png": 0.49382716049382713, - "0SB1QV5XRJM6W0HRU4AH7.png": 0.9891304347826086, - "0I1HQDO584A6ODC54PLNA.png": 0.9891304347826086, - "1AWHACFMS9KSHM18INN41.png": 0.9836065573770492, - "1BKBFKJTQPLQBNIBZSM7E.png": 0.9863013698630136, - "0T0Q44ALMC9WURWEESEMP.png": 0.9875, - "1A9RJA2I3YJT58JR2MEOT.png": 0.9615384615384616, - "0DD8FWYLADAY5EJ3UZUD9.png": 0.9868421052631579, - "0F078JDZMTC8C8H2P8IVA.png": 0.9921875, - "0L5KEP1L6K1ALH88LLMEY.png": 0.9795918367346939, - "0U2FXJ2H3K5SQTZNJ1WV1.png": 0.98, - "0U49K9QPO02GF77TU5JB8.png": 0.9863013698630136, - "0A9560NY0NQ5OVZQQBJRQ.png": 0.9836065573770492, - "0MRQ2DF27RW94C36QLLTZ.png": 0.9863013698630136, - "0BCT1VG1R4HUK3Q6NMZGU.png": 0.9795918367346939, - "0GQC64N9E830BWDTF8L0Q.png": 0.9910714285714286, - "0HIESCSLITYADXZHOO7IA.png": 0.989010989010989, - "0FZFGRN9B0WT3XCQMOVPJ.png": 0.9767441860465116, - "00LQMDL10JL253UW69YUO.png": 0.9818181818181818, - "0U79XK18POJ6HCLLOXS4Z.png": 0.9905660377358491, - "0I3RG6GXJ2VILV3BPFIY4.png": 0.9767441860465116, - "0X8PV0Z6SNEKPIPOCP5HR.png": 0.3931034482758621, - "0UFQOEKLIWTX65AY778BD.png": 0.5275590551181102, - "0HZUERFF8VNKXAZLV8RO5.png": 0.9850746268656716, - "0FWXHCMHZ7KG6WYRNWD6Q.png": 0.9922480620155039, - "0A9B6NHM7J57SCT1Z8TAS.png": 0.9861111111111112, - "0WOTQFWQFAEPN0HZ6MYIL.png": 0.9929577464788732, - "0IUNSDMCG8WWVJJ758NN9.png": 0.9887640449438202, - "0XLK4S5OWK77LRNU2JAG9.png": 0.46543778801843316, - "00FMSMFBJU5732FGUTLIF.png": 0.9821428571428571, - "0YOETJE558OS77GHG5L5U.png": 0.9876543209876543, - "0BKXE7HQJOJV0I1LL8YOF.png": 0.9821428571428571, - "0AWHACFMS9KSHM18INN41.png": 0.5416666666666667, - "1BL58Q9DLPBQF73ROGFDX.png": 0.9921875, - "0Q7EACO6OF8WQFZXI1MRQ.png": 0.9896907216494846, - "0R1IOV08YNRVC0KQS84EF.png": 0.9818181818181818, - "0SEF4O8YR8ULW23U32SE6.png": 0.9836065573770492, - "0IQGTS9QZK0ZYRL80GOSD.png": 0.9767441860465116, - "0E00IBZTY74DGR1SSX77L.png": 0.975609756097561, - "0BR0V61AWXYXVQSK6RMY7.png": 0.9911504424778761, - "0MESCFGQYOQNMVWD6B1VU.png": 0.9885057471264368, - "0F3GIMIL9E4UNWEFYLKGV.png": 0.9824561403508771, - "1A8AVSZNK6GTNOCBEVFOY.png": 0.9910714285714286, - "0E7WX1NX5ZKR24SEIUKRN.png": 0.9811320754716981, - "0QZOZCFYQ2TK5C0Q3KN5C.png": 0.5106382978723405, - "0SDC2B1I853GR50G545IX.png": 0.9891304347826086, - "0FEKB24PHTZNT3KIZZVIS.png": 0.9876543209876543, - "0SIW9Q9NWY3TWRC712D4J.png": 0.9876543209876543, - "0JFFFUOFXDOLV2ZGQJAPB.png": 0.9887640449438202, - "0O976W9Y9NDSJ24YV7HU9.png": 0.975609756097561, - "0B0LNAITDDPPCJ4I6XIWK.png": 0.9811320754716981, - "1AAPDAAK73MRINE7PM0ZJ.png": 0.9852941176470589, - "0HC8F1RENJE297WV8RW0N.png": 0.45517241379310347, - "0OXJ4SWAYILOZVQCGO1OB.png": 0.9937106918238994, - "0I3S2Z8YWZ0JOIMKGU51B.png": 0.972972972972973, - "0Y0LZ2LRH7BR5ZDYBTH7U.png": 0.9824561403508771, - "0T0LAS5REAE827IQO0Q9U.png": 0.98989898989899, - "1AQ9EL10BYBSGJO2RLC6Q.png": 0.9868421052631579, - "0L1YL688ZRRPYAJ07UOFQ.png": 0.9911504424778761, - "1BWJOYJSDHL1XJH6UG2RM.png": 0.9922480620155039, - "0TELO9B7QI0QQVFMJXAQ1.png": 0.9896907216494846, - "0XDX2OT3OG575I0U99YAQ.png": 0.54, - "0X49B57NNHU6FEB4J21VY.png": 0.993006993006993, - "0DHJ8WY2XLWKG7K345LAK.png": 0.975609756097561, - "0BQBJ8UFLH7H3JQ965JF6.png": 0.989010989010989, - "00CBN2MRTC48ZY50RUSBW.png": 0.9767441860465116, - "1D7CMRTBBENLYDO7EWWVZ.png": 0.9863013698630136, - "0BX1I2HS6BLV92NZHV6J1.png": 0.9722222222222222, - "0XQE375V4J34MLJYN711T.png": 0.9722222222222222, - "1BKXE7HQJOJV0I1LL8YOF.png": 0.9795918367346939, - "0E3OA2PY1K3B44GN9AS0Y.png": 0.9863013698630136, - "0SCRALC3GPIO2ZD918U8L.png": 0.478021978021978, - "0ITKDLWB7SDGMM8980ZSS.png": 0.9911504424778761, - "1BYRMKANKN4PL6JFPG8AR.png": 0.989010989010989, - "0BYRMKANKN4PL6JFPG8AR.png": 0.9803921568627451, - "0R8W6O2N25AVQI9FQ5IL7.png": 0.972972972972973, - "0J9TV59N7U65CB7YCHD38.png": 0.9922480620155039, - "0VX41MM59ET2MK09202C3.png": 0.9896907216494846, - "1CGP5R7FMVCKR47XK6IVA.png": 0.9896907216494846, - "1BSXNNN0LA94101P5D38I.png": 0.9926470588235294, - "0UMVEM9RUVZDRJRFA1W2V.png": 0.9722222222222222, - "0KPHJHUXB0MS3B9RHL57O.png": 0.9868421052631579, - "0TYH6IN161KXZT369VVWQ.png": 0.9795918367346939, - "0AUTW1OL7IAPO1JH1TQUR.png": 0.984375, - "0GNCKEB99NZ0J9GCAI0TH.png": 0.9850746268656716, - "0CGP5R7FMVCKR47XK6IVA.png": 0.9915966386554622, - "0NNLAUZDCGVKZP852ZJ7X.png": 0.9836065573770492, - "0EJW9DEXTHUR17CZCUPB1.png": 0.9850746268656716, - "0JZRIWIFSATGGFL8P0NZF.png": 0.9908256880733946, - "0VNHMSVYYS2Q0H0VJDNAK.png": 0.9782608695652174, - "0Z2ZZWW84O21E70F5RGIA.png": 0.993103448275862, - "0UODYVKUWDGD6S5D7LNAW.png": 0.9930555555555556, - "0NGNPB7KAJSSKSHQV1KZS.png": 0.9767441860465116, - "0Q3C8N8G8GXV2EP88XEXI.png": 0.9795918367346939, - "0IU89E255WY0KPUD6L7Y9.png": 0.9902912621359223, - "0F22CQYG638LSZROETJ9V.png": 0.9904761904761905, - "0HBX9X0EJVVL4TA9CJ25G.png": 0.9873417721518988, - "0IRDSID7UDBLOIRB9JQ9S.png": 0.9883720930232558, - "0IHCMVD5NO41KSAB3ODC0.png": 0.5213270142180095, - "1AYZOGNX998RYQVPWP1OA.png": 0.9931506849315068, - "0WM2Y66O2ZJA831TN2E7Z.png": 0.9615384615384616, - "0CPW27F5C8I03UQBVBL2Y.png": 0.42500000000000004, - "1BR0V61AWXYXVQSK6RMY7.png": 0.989010989010989, - "0JJPRMSYFQLJKD3JYA1JP.png": 0.9850746268656716, - "0RT937QPOOWU9LKZVU0G3.png": 0.9922480620155039, - "0EFBK546D496KI033ACDF.png": 0.972972972972973, - "0EP1D1EXZC4VOMGZJGQQT.png": 0.9891304347826086, - "0DSQ4IAVY32EHCJ0AJM1Y.png": 0.9824561403508771, - "0F4HFOUP4374O8RL4E914.png": 0.9824561403508771, - "0IMS5FXCTVU6GSCR5CHTK.png": 0.984375, - "0P82SO3E98ECMRNRS62D4.png": 0.9868421052631579, - "1AUTW1OL7IAPO1JH1TQUR.png": 0.9911504424778761, - "0WFIWI83FBAOLU16M27NL.png": 0.9939024390243902, - "1A9B6NHM7J57SCT1Z8TAS.png": 0.9859154929577465, - "0UU3AG1PSZ1H78B6J17PA.png": 0.9882352941176471, - "0UVW81GETVKT5GPM6ZX0S.png": 0.9803921568627451, - "0IKFXKSQ9OA3OCRGQBZFI.png": 0.9795918367346939, - "1C70JEJWPOAT1S8RUWCVB.png": 0.9803921568627451, - "0A7ZU26KX6C0LG0D3T3ZS.png": 0.9818181818181818, - "0BL58Q9DLPBQF73ROGFDX.png": 0.9937106918238994, - "0UQWQMAYVXUFY65GH4ION.png": 0.9836065573770492, - "0R77TU5P7A0F1YTLIGSOA.png": 0.9863013698630136, - "0Q740R8QE6ZAF034ZMGQG.png": 0.9917355371900827, - "1BG5K95UCWQ3JXWC501XA.png": 0.9926470588235294, - "1CPW27F5C8I03UQBVBL2Y.png": 0.9916666666666667 + "0OEG7D5CXUSXDNEXAZ8A3.png": 0.9831018518518518, + "0IS8OPRTM71QYN821WA5S.png": 0.9792768959435626, + "0KX1D4AGMTM3EWR0EF0A5.png": 0.9721604938271605, + "0QBK1U71YOHBG5Z23MT7E.png": 0.9458310338767149, + "0DC57AS1OYZ1BRHZHPIO2.png": 0.9166666666666666, + "0GJE73OG32H2P2SL2AI2J.png": 0.9801587301587301, + "0GYAQKWTI3LN6DNZFM2TZ.png": 0.9603479853479854, + "0GHKLO6LOH5LBTYEUND3S.png": 0.9743055555555555, + "0F831FOUA10K3594FG4IM.png": 0.9666005291005291, + "0XG0I2F0MMZ3QMXWLWFMX.png": 0.9451213818860877, + "0WMTO9U10ILEB9HCX4C0B.png": 0.9490410052910053, + "0C1ZYGFL2YNFM2W3P2KN1.png": 0.9264204545454545, + "0A4G5JAZSJS4BT5LBZ2Q3.png": 0.9571969696969697, + "0I75SMSDR5JSJXF07PN6J.png": 0.9737989833979097, + "0K9EAAIYXSUT80SYF3ML4.png": 0.9875, + "0PH78O2B9CJAM6MMINZXT.png": 0.959498106060606, + "1BRZ4ALOZMMEXGR4AVJWG.png": 0.9357142857142857, + "0AFVW6AL3EH9H76ONNDYF.png": 0.9184182505738229, + "0EVCQHN9C65AUYG1UAN3C.png": 1.0, + "0DD9D0ILAPJIH77GEVRGP.png": 0.3883590198768121, + "1BHU2JO8ODKS3OL4RIU6A.png": 0.9372033257747543, + "0OG2AZLHJPMBX43O2O9LR.png": 0.9356172839506173, + "0M64SMZT9HTN6LXQ4M24T.png": 0.9505845579858738, + "0TY12X0C3U2BPZC81PW66.png": 0.9752777777777778, + "0W109P7LI6B5HIYM3SJ5A.png": 0.9943507472919237, + "0H6272E6S2YUDJWBSWKQN.png": 0.9621794871794872, + "0ZRX97WSSVCVQ3NJ5959P.png": 0.9449786324786325, + "0ZFX4HDI3O7YQFDYRRYKI.png": 0.9959183673469387, + "1A4SDGAXB66WDBW7OUH58.png": 0.9297526950351439, + "0HQVUJMOQRQQ5FIP4PMZF.png": 0.77875444000444, + "0Q335MQBC8UJJMASJUNWZ.png": 0.924764539951586, + "0AF02R419WL1YN97ZV144.png": 0.9678888888888889, + "0JWOGY4C0KQ14J958GLYD.png": 0.9422247023809524, + "0JCVUE03Y5YD8A45IOIA5.png": 0.948015873015873, + "0R10PSLELMJ0SPFCXX92A.png": 0.9335258834684593, + "0BF411IVR1HLU1Q44I3K7.png": 0.9626262626262626, + "0K9C1HJZ8K3L6CRAQ6VCW.png": 0.9734848484848485, + "0Q2MRICBMAFRV1GRRR5TA.png": 0.42820512820512824, + "0ZK44UG99IWIPKRSCOSJV.png": 0.9722222222222222, + "0S09D3ZPVQ8YOT55XIOE1.png": 0.9538690476190477, + "0KRLZUD3DQAU1DYDU99ZH.png": 0.839801494489325, + "1ATIOLLN3DOAHKX75560Q.png": 0.4237070282658518, + "0KSBBUINDNN16F2ZLQHV4.png": 0.9517393636958854, + "0P5IE8XH9BN2EGC0DX27Z.png": 0.9487419459531529, + "0GJ88Q9SMUOWF3WILKG14.png": 0.9300777453838678, + "0QYA242XOQ0Y9078UC7NI.png": 0.9830687830687831, + "0F4Z8B4S5RV008LHJBW8S.png": 0.9259176587301587, + "0GWJH40B21AJBR1F73FXI.png": 0.9285714285714286, + "0ZO44O69QHTV62QJ3X9KH.png": 0.9587114845938376, + "0VK3KLUJVLAB9SRQDN6EJ.png": 0.4267746913580246, + "0HQHS3BO0IIOJ5L2EP2H4.png": 0.8439795706243074, + "1DBQ2M6XQ66Y2895PYNOM.png": 0.9642857142857143, + "0A4OYW3ZL5QP76IGF0DK0.png": 0.941953823953824, + "1AFVW6AL3EH9H76ONNDYF.png": 0.9626623376623377, + "0J0JQM9WD7B0RCNKWBC5S.png": 0.9722222222222222, + "0OVSLM3WAA36TZQCOL1WS.png": 0.9736363636363636, + "0GMEN2MGE7HN3ROOZQ5YD.png": 0.8399451226280494, + "0AJLKOKRHEVOTGE90GEH6.png": 0.9719308035714286, + "0DUX4YKT5JYJO3Z573OG8.png": 0.9583333333333334, + "0A4SDGAXB66WDBW7OUH58.png": 0.9324675324675324, + "0G5S5CXGRLABEYII4QG2Z.png": 0.9344589164129677, + "0YM92E2EEDDGHAUW2YZ8Q.png": 0.9674873737373737, + "0F0E32N4VR4Q9960I0DB8.png": 0.8920238095238096, + "0JNQPLSGKLPQ0UAAFYL5T.png": 0.9916666666666667, + "0YL4VFF3LUUQITLVU3U9V.png": 0.9386814227782173, + "0ZO2Z3XCHZLB43ARH68WS.png": 0.9926666666666667, + "0SHL8BKLII1AGBZ1SEB4U.png": 0.9537797619047619, + "0KBLEG9N1SBX956ZCIP5I.png": 0.8492890211640212, + "1B1QX4K8U8P9QA3HVLRPN.png": 0.9895585317460317, + "0D0ZG3O9YHMQAPHCD0890.png": 0.9203282495798261, + "0PTMPFGYNVJWO6FCX1QRZ.png": 0.9525966177938981, + "0A7ZA5BA5TPHBN2WP6TT9.png": 0.9762019230769231, + "0DE9UIIVMYH3UK0SYFVUG.png": 0.9912698412698413, + "0U0LFAJATVD9YEC1Z3497.png": 0.951530612244898, + "1A3YX0911ULBZSCUBNDZS.png": 0.956967240797028, + "0WRQRWHH2CMV2L4CE3SN9.png": 0.8366647070350774, + "0C1X00FENSOUN2Y08Y3JT.png": 0.8200738249845393, + "0ONRU7A4SU4WAUWF25FRP.png": 0.9754703115814227, + "1DD9D0ILAPJIH77GEVRGP.png": 0.9327380952380953, + "0CBFM7HG55Z7O8F4Y0O0L.png": 0.9816666666666667, + "0C9EM94JJTICVGS6U2T2U.png": 0.8761216732140645, + "0KK57808VO3HNS1AW4CJO.png": 0.9615079365079365, + "0E7XFLPH56MT23HNK3MZ6.png": 0.9157900322805773, + "0J818KH6HIIA83D74FXS3.png": 0.888659773573051, + "0TLMD42BW0F4NSD9PG19X.png": 0.9920634920634921, + "0PSN5QFZWTPA9U05O7MZ3.png": 0.954954304954305, + "0GI0JNFJAOXK5OJKRXCND.png": 0.9394078144078144, + "0Z4X1LVZ1K4NE2RR8P7EA.png": 0.9773809523809524, + "0S709DW5AZF9VPCPMVHXB.png": 0.9247930002809991, + "1B87OEX5XX0BHUOQAS50A.png": 0.9406746031746032, + "1AAERNSDA06GDA7OFZVCA.png": 0.7248393884159434, + "1CORAY089OILX2OWIKU1E.png": 0.9827988338192419, + "0WO86MK2DC2EZUZLSMFA1.png": 0.9469246031746031, + "0KNUPYHEXZYSW1TNZ6I7L.png": 0.9649586397058824, + "0ONF59OAQYX89LAM941E6.png": 0.9380952380952381, + "0E1IVAEMQXKVCH3Q0JCVX.png": 0.9955555555555555, + "0K8YJZK75V8SXL0GIM4SU.png": 0.9510995370370371, + "0LUL2CVQ1HLC1KL6D2VMP.png": 0.35304232804232805, + "0WIEGQEF4G9LN2UM49Y12.png": 0.948466177462888, + "0AQ9EL10BYBSGJO2RLC6Q.png": 0.926093984492462, + "0M0WYXRJONRUQ3ZG24MJJ.png": 0.9351686802667195, + "0E3XQJO1C4CKR9TNFB4IC.png": 0.8991650613037291, + "0H17CYXGJTHXPQUP51TBI.png": 0.9626240079365079, + "0NK736IIIHGBF52E1UKQ4.png": 0.9596990311276026, + "0DYIHMLOKOR6HNF2XAI8F.png": 0.9582407407407407, + "0BZ5GZPTUSCNBNGBNQZEG.png": 0.9964285714285714, + "0M47PMX0DRIVKCJBYKHPJ.png": 0.9114641763138004, + "00MK8C41M7MW013CJ9SPU.png": 0.9106048699120072, + "0DMXCT01TPF8O33UMENE4.png": 0.9661607142857143, + "0WS9VI6T1X0M5H6D8O67Z.png": 0.8953123067408781, + "0XQ9XQOL15RDKQT4YZUQC.png": 0.5333443116337853, + "1DD8FWYLADAY5EJ3UZUD9.png": 0.9673611111111111, + "0MXPSYD5A5U86BSSZQMJN.png": 0.902358776844071, + "0QAOLXSIIRIRQ3W1OP7Y8.png": 0.9719576719576719, + "1BZ5GZPTUSCNBNGBNQZEG.png": 0.8654195011337869, + "0Y5AIJNHB8DTPQOC92X6P.png": 0.9737854737854738, + "0IL3BP1QRAZ54V54IBK9A.png": 0.9952083333333334, + "0MDCUYD9ASW4AGWD3ZYK5.png": 0.9127575223439885, + "0MON88TOR16AGTBLDTGJC.png": 0.9773811925254233, + "0QVCHWR0EZCMQ5J5P0Z1J.png": 0.9970238095238095, + "0IPJ09DW34Q275Z5CMS1X.png": 0.9309012723630414, + "1A7ZU26KX6C0LG0D3T3ZS.png": 0.9789562289562289, + "0M49YEV7H4P48EONCBFPS.png": 0.8327354744021411, + "1D34PI1NNCV0AB4WCQMB3.png": 0.9358363858363858, + "0AGYYXV88WJW2FC6FVV3Q.png": 0.9445231509021499, + "0F9W69ODT3GQCQ6F11L2E.png": 0.8854875283446713, + "0Q3RJT1DJMPO9D9BE6JNO.png": 0.9148095238095239, + "0ETQJY2HRGYIBO46BSD3P.png": 0.4380841121495327, + "0BRZ4ALOZMMEXGR4AVJWG.png": 0.37083333333333335, + "0WLG2ZXPFXZGF9RM2Z6N6.png": 0.9707792207792207, + "1BP5KU2XHXZ0C431B4OL9.png": 0.4125242812742812, + "00ZG4J0UMAHQMR57DQ5T7.png": 0.9652557319223986, + "0S5HD36LFVDWLLH6UFK9I.png": 0.9521674008624155, + "0EW4PZW85MH9BS8VI83KZ.png": 0.97, + "0EMFKQLMGGAFPLQGUEZSJ.png": 0.9583333333333334, + "0H4TWDI39J0HRG239GQ10.png": 0.9474913602560087, + "0BSXNNN0LA94101P5D38I.png": 0.9522675736961451, + "0SLVZSD9X7VZPGQU0Q2QN.png": 0.9515151515151515, + "0K6WPSDJC0ICOWFEASYB4.png": 0.9790816326530613, + "0TY3MTJ6YZDE6QI73SH5A.png": 0.9438095238095238, + "0B87OEX5XX0BHUOQAS50A.png": 0.9662126068376068, + "1C1X00FENSOUN2Y08Y3JT.png": 0.6391896407685882, + "0KEM29NIZZ7UI3CTN6NEA.png": 0.9558505639097744, + "0JZQMX95783K8QW3ERXSM.png": 0.6584141450869392, + "0R47TY8TMFAL346RUY0LW.png": 1.0, + "0EG83QLMPW7MGGMGBYGPD.png": 0.9612866300366301, + "1AGYYXV88WJW2FC6FVV3Q.png": 0.9507314657203582, + "0OF74SYX6Q102JCQ5KELF.png": 0.9542118102705203, + "1BX1I2HS6BLV92NZHV6J1.png": 0.946087705615418, + "1DDEMI2034QD7F4QRH1IV.png": 0.9259259259259259, + "0Z8LGXZ1SMLBHV5T6Y4O9.png": 0.95625, + "0NGE5XRBD2YHBZFMDL7VD.png": 0.9133184523809523, + "0SX4TWDHV25DCZV3HQEHH.png": 0.9678571428571429, + "00Q04QLVCESVWCSMDAURN.png": 0.9989495798319328, + "0SK696SAQW3MZNDMD4W85.png": 0.9633408919123205, + "0F4WBFLG32FAT22W0NGEY.png": 0.4212962962962963, + "0TNFF3RUQ2UL3PRNYF45M.png": 0.8728671911164172, + "1A4OYW3ZL5QP76IGF0DK0.png": 0.9746794871794872, + "0IUNRRJ3JHMEAORR2EXRS.png": 0.9034127252948763, + "0L764EQB3ZGC3FYQ20PR9.png": 0.9682539682539683, + "0XZJ4SZWY0ZOD9QBZP96A.png": 0.9444134424603174, + "0PU3J7NYVCB6XLSJJOEZ9.png": 0.9288095238095239, + "0DDKIN1PFJQTFW1JADVHT.png": 0.9861111111111112, + "1A4G5JAZSJS4BT5LBZ2Q3.png": 0.9625, + "0DPMX3BRIG9CWZPYKXFWS.png": 0.9874023683547493, + "0N7P792721CFI8EDOCB0N.png": 0.9744341563786009, + "1BIC4PMO7M3ZB8WUC3STJ.png": 0.9414191095041928, + "0XNBY82W4NFSD9GV6ONKU.png": 0.9696428571428571, + "0F3P8XGEMBYESYCYAOQPN.png": 0.9460244103062161, + "00D983SP0WHF6YGMKSHCR.png": 0.9234921940804294, + "0N91H0ZWMHBPPPPON4HUW.png": 0.9040086725559577, + "0AWZPWR198XN7U8HY1E32.png": 0.9776190476190476, + "0S0Z9J05KZWNPKUFRD78Z.png": 0.9621629901960784, + "0FCDXM7JS1QEBBY3DCGBM.png": 0.9645833333333333, + "0OEVVJNLZKKW7GOPM188W.png": 0.9593333333333334, + "0Z7FUMCO707ZDI55EG306.png": 0.9536383198420235, + "0DE4P4M2855D754NA8993.png": 0.9503968253968254, + "0UZ81HSUQSHVVGU56NIOG.png": 0.7717590432123305, + "0AAERNSDA06GDA7OFZVCA.png": 0.9431474519632415, + "0WZXI1YECN77S9GD6GQ4M.png": 0.8982407898224225, + "0S8HOU13AW544ALTKAB73.png": 0.9421957671957671, + "0AAPDAAK73MRINE7PM0ZJ.png": 0.3827272727272727, + "0UJ2AFVE6RWGTYSB6DKLJ.png": 0.42328042328042326, + "0ISYQEE43TA3O41XMA47A.png": 0.9710648148148148, + "0L2E8S3ICCMGPE9PS3RLV.png": 0.9796296296296296, + "0BIC4PMO7M3ZB8WUC3STJ.png": 0.931000481000481, + "0CTFYQFHQ1S1FLIEAPZTB.png": 1.0, + "0A9RJA2I3YJT58JR2MEOT.png": 0.9981481481481481, + "0UGHOJ96BTPB57BR0DJS7.png": 0.3622222222222222, + "0TW35WW1PRLL2YKVYWYRM.png": 0.9896514161220044, + "0HTO45RT9NH5KQUCLOV2H.png": 0.981904761904762, + "0F0TA5W8GO31TXUFMHHTO.png": 0.9788629737609329, + "0HWMSCT6L3MCGFJV4OXF8.png": 0.726387987012987, + "0KCIUQNXNE3ZMX5ECY7V3.png": 0.9110258874987862, + "0ET4I24PZATQRKGMGG5KC.png": 0.8172629490392649, + "0I6WVEL7V26O3KJJ1GGYF.png": 0.9619791666666667, + "1A2AT7TW5KOMUUAK7TQXT.png": 0.9267704649847507, + "0W8NNJL30MNEY6RTPD6DA.png": 0.9523809523809523, + "0XC0XOHP855H9DFG41W9T.png": 0.9966666666666667, + "1DC57AS1OYZ1BRHZHPIO2.png": 0.9214633064088867, + "00WVVGSQ00B0IZU4OKPHQ.png": 0.9765546218487395, + "0RTI5C20W407SL59RANEM.png": 0.9333195848205483, + "0A0DA327P9Y532UTLHE2N.png": 0.9044897959183673, + "0AQZMEU4Q38NKK4USHAC5.png": 0.9775752314814815, + "0U7602J86XPC7AVTSPMWL.png": 0.9578822412155745, + "0DSGAEKSK52RUNGEOGEXP.png": 0.9748677248677249, + "0JD5R5NDJKRRHT1UI6GFW.png": 0.5491591080876795, + "0PQ9OK98A29AC6GEI3DKQ.png": 0.45019723865877714, + "0TA7SVAQC7PKDE8BUP3NF.png": 0.9712527056277056, + "0TQM47CA0F30LG2C0S2KN.png": 0.9626893939393939, + "0HA1FE8828DJ86ZIJUIX4.png": 0.9837301587301587, + "0P1Y0C88Y17DSXE616MQN.png": 0.9500080984774862, + "0I6GDDWCTMF9V4YLGLBIM.png": 0.34391534391534384, + "0SI6DA6CAXUMFYSXBXIF6.png": 0.8908385612959033, + "0NM9CUQJV6W2N9434O81D.png": 0.8270510721771226, + "0WU8XJP1VJSLZXQ7S43HM.png": 1.0, + "0P0WR7JJ9JBXO0HVMDETS.png": 0.9841666666666666, + "0ZNTZMWW1X0QZV4AGDHYL.png": 0.9615818749152083, + "0C98HOE9TQ4HZK6DKGF5I.png": 0.9558024691358025, + "0JCDZWWAMUR9FRGHL9IVN.png": 0.9683673469387755, + "0PVN50SJP1LUTHE2TID60.png": 0.9391732417463412, + "0D7CMRTBBENLYDO7EWWVZ.png": 0.8801914072322236, + "0JOTZX26K6UJB6LNVK9RH.png": 0.9157936507936508, + "0ZFOZ6UKG7DCCD5HSUIIX.png": 0.9086659174159174, + "0L7V0ZXS2M9JMSBD05I25.png": 0.9265797366884323, + "0G1E97R3QFH7FG9AUAIFB.png": 0.9694444444444444, + "0CORAY089OILX2OWIKU1E.png": 0.9684807256235828, + "0EH9JARAL7RYD3CVMM8AZ.png": 0.48627887648481616, + "00KDBG5H22KPNCPCK7L2P.png": 0.9943589743589744, + "00XJ5C1RWIRVID9IPUX8G.png": 0.7794749694749695, + "0FFJM5ABUDDCT2DOCW2T4.png": 0.973143719026072, + "0D34PI1NNCV0AB4WCQMB3.png": 0.9973544973544973, + "0X9D7AJTD7S91BNHMQ4L0.png": 0.9894444444444445, + "0W9SN5GJDEWTG3WAPGPDZ.png": 0.9559096067409465, + "0ATIOLLN3DOAHKX75560Q.png": 0.9593434343434344, + "1C9EM94JJTICVGS6U2T2U.png": 0.9900840336134453, + "0TG6BRHGF3C865C2OL6DE.png": 0.9189970432617491, + "1BUP8L4PGVBNQE1GSCGJZ.png": 0.9584457671957672, + "1AJLKOKRHEVOTGE90GEH6.png": 0.849021164021164, + "1C98HOE9TQ4HZK6DKGF5I.png": 0.9731972789115646, + "0IH65GI6IN6RQWJE04YPG.png": 0.9693877551020408, + "0DNHG32KRYJ9PQ7UU1YL5.png": 0.9366047215311921, + "0EV54WP1Y9JDCWMDIT0OM.png": 0.9593452380952381, + "0BE3I0HX6XWZQA4EFY99C.png": 0.8534391534391534, + "0O7G4HGEK48J2NUB5RCES.png": 0.9178165106622359, + "1BXWVCNXW1Z4N1XG8QOG4.png": 0.9461048238308893, + "0M2V36SUMHY2U8FRS9NYZ.png": 0.3769905689548547, + "0STJA7OMA59TOQ8XQ54G5.png": 0.8345238095238094, + "0VB0OIQZQXKY5PA111Q8B.png": 0.9523809523809523, + "0RBPX6DU1W6LIYA2VRAA4.png": 0.8666576808411174, + "0SP3KJJ2HMQZF088NH2DR.png": 0.9785027472527472, + "1D0ZG3O9YHMQAPHCD0890.png": 0.9910714285714286, + "0XZ590ZLZXRB09XIADL9V.png": 0.9708958955200603, + "0QU6QW0KAWVXZ6TL7FVJE.png": 0.9564218742042272, + "0PKH21420YW57OPRJR21R.png": 0.9775855654761905, + "0TX7Y5KWQ2MVU3579QIYH.png": 0.6531052281052281, + "0Y6OW4PMMWG05F4ZFYQ40.png": 0.9630102040816326, + "0EK5DRITVR9G3KDVF1CTJ.png": 0.7946177944862156, + "0DDEMI2034QD7F4QRH1IV.png": 0.9367567335093079, + "0HJXUBEZQCR1DEUQ8V30I.png": 0.9467864047787902, + "0BG5K95UCWQ3JXWC501XA.png": 0.9502928722119127, + "00TNQG8N9T3KUVMZ7AWTB.png": 0.9333333333333333, + "0TJSB9YOUAG7C9OZW3U80.png": 0.95, + "0SYEGYPSNLKCALCQBPGK2.png": 0.9536714149825645, + "0IP23CAYMTIVE93KLVMRA.png": 0.9602465986394558, + "0KFRN6DX1A6MMGS24B39T.png": 0.9411135161135161, + "1CTFYQFHQ1S1FLIEAPZTB.png": 0.99, + "0U9U2Q7VBD1V6HBT7FQKM.png": 0.9066229604406882, + "0S7MUFP120D8OP4ZCCCUV.png": 0.4513775249028642, + "0BXWVCNXW1Z4N1XG8QOG4.png": 0.9386446886446886, + "1A7ZA5BA5TPHBN2WP6TT9.png": 0.9821428571428571, + "1ACY14LU0VWSKDOHEAVZM.png": 0.9310863737345951, + "0MPO1XXHHM8I5BOIT3DB9.png": 0.8872045315795316, + "0RSQ19UNM98CNWII5Q25F.png": 0.740824938949939, + "0EAA9XEBN9W7XDBPK31UZ.png": 0.86878569618787, + "0U0BR4A64P7CE7YZ57HQ1.png": 0.915993286883518, + "0XFNT3NMKFW1DB0F2LVY3.png": 0.9251300520208083, + "1AQZMEU4Q38NKK4USHAC5.png": 0.9499309471058697, + "0VGZMTO2VCZVZKGAOHZEU.png": 0.9737399816204164, + "0DBQ2M6XQ66Y2895PYNOM.png": 0.8674344336625038, + "0BP5KU2XHXZ0C431B4OL9.png": 0.9455128205128205, + "0PYCGJHF1705P4NTCM8AS.png": 0.9877976190476191, + "0RAGYZ9465I7GLXZXCLCQ.png": 0.9339979338842975, + "1A9560NY0NQ5OVZQQBJRQ.png": 0.4128440366972477, + "0KXDSHWWWYQJBXT2Y6U8S.png": 0.979452380952381, + "1BF411IVR1HLU1Q44I3K7.png": 0.861945461945462, + "0T1ZL9NSVN3385DR7B86C.png": 0.9017850700886415, + "0SYKTWM1EF4KS646AWQEL.png": 0.9885, + "0S104IFNSN5EJ31212IOP.png": 0.9528571428571428, + "0H2RZUXKBQEVFJ2JT29R4.png": 0.9691358024691358, + "0SVC8WRHPF38HHKBN65YD.png": 0.9480246913580247, + "0HVIW7DPWCJSWJ5PCJDM2.png": 0.8135635062105651, + "0PRIZA7CG2JAL9GTN265B.png": 0.9161719386927527, + "0FXLG8PO267BZPBBXIX4E.png": 0.9576920692155068, + "1B0LNAITDDPPCJ4I6XIWK.png": 0.9676430127606598, + "0YNQ2KZ01B1TWP9FR5DE7.png": 0.4111111111111111, + "0A8AVSZNK6GTNOCBEVFOY.png": 0.8137999302285017, + "0XM8RQF6JQDOTJ5WQVHFE.png": 0.9565157065157065, + "0JBU3LJRDTMJI2XGB6NUE.png": 0.9678672438672439, + "0FKIASN9E4KCZ0JRCAJLQ.png": 0.809098274673699, + "0A2AT7TW5KOMUUAK7TQXT.png": 0.9563492063492064, + "0QISJETVE3HGF1PMBD1BM.png": 0.9536752136752137, + "0KBOWWQLYSIZ0P4SIZMHJ.png": 0.9440279980204733, + "0OMZO818L9AC4U3JJTKGD.png": 0.9814814814814815, + "0IVOAVCWOJ4CA92H7CM1Q.png": 0.9862847222222222, + "0SH9F7EHAT35OVT003OC5.png": 0.3589743589743589, + "0F7BJ4Z9F1R95HUG4RRZD.png": 0.9933862433862434, + "00RJGV4A4UTMTLDEIR1IG.png": 0.965, + "0BUP8L4PGVBNQE1GSCGJZ.png": 0.9833333333333333, + "0B1QX4K8U8P9QA3HVLRPN.png": 0.9429955056385262, + "0IZ8M2UHYSA9H6K8XIOKS.png": 0.9803921568627451, + "0KLEV2650Z6X2DAUO94QK.png": 0.9853219696969697, + "0MRYJGMAVHEDMZ3XSX9XI.png": 0.8376514178462231, + "0I6PWVE3HEK6ZZ5K53UY4.png": 0.9814814814814815, + "1BE3I0HX6XWZQA4EFY99C.png": 0.9841269841269842, + "0M7CJCA8K3PX504PNHJRT.png": 0.8515176326941033, + "0ESACK4QILSDBXRS54UK0.png": 0.9876488095238095, + "0KLU5K631Q9RHQOY6771B.png": 0.4148936170212766, + "0RAZV12CY84ZGA4BRZQUC.png": 0.8154813864515927, + "0HZ4TDEJG6BY7B2RTALZK.png": 0.9788888888888889, + "0ROPMUV96VG8PTONLNGV9.png": 0.929978354978355, + "0L194VI2NIOAX4AUCU2WG.png": 0.7938303099017384, + "0PG6K8IFJM2PHHLA1S4Y6.png": 0.9652267573696145, + "0H5AHQVKHAKQ1W636PLCS.png": 0.9113756613756614, + "0ZAHJJUMYDOQIMIUUFAUD.png": 0.9409722222222222, + "0MO39PWU9N82Y88WNANVM.png": 0.9467463753178039, + "0ZSUP0IMF3PK86DIVWQ8V.png": 0.8093059446000623, + "0M1B6J5CTPBITI79C68MO.png": 0.9630952380952381, + "0BWJOYJSDHL1XJH6UG2RM.png": 0.9628736343022057, + "0SPYHIS3OEEZ082CFJEGF.png": 0.9521743408107044, + "0A3YX0911ULBZSCUBNDZS.png": 0.9006696428571429, + "0FK1CU21TAIHIR7YWZ2W7.png": 0.9598765432098766, + "0WP1ZBKQCK8W2W0ZXI2Z4.png": 0.7018429487179487, + "1AF02R419WL1YN97ZV144.png": 0.8314317991949571, + "0BKBFKJTQPLQBNIBZSM7E.png": 0.988795518207283, + "1C1ZYGFL2YNFM2W3P2KN1.png": 0.9522663610898905, + "0IHOYC7KXLECI1F3G1WAF.png": 0.9621794871794872, + "1A0DA327P9Y532UTLHE2N.png": 0.9189328449328449, + "0SK9B35AHQ2OQA1RDKHHP.png": 0.9452916910739082, + "0EECJZYQ42MZLSWPOK9ZH.png": 0.9394846596827965, + "0UFBWJZOD5PBKMVX7G231.png": 0.9821428571428571, + "0OZ6DU5POAFSM589UXX4S.png": 0.9056447750198717, + "0OUIP8MTUSWLFQ6J13VXT.png": 0.9333333333333333, + "0NFAI2Z8TAUKU6S7892KH.png": 0.9745535714285715, + "0F3VUGWY35HLOJYHPT78G.png": 0.957843137254902, + "0AYZOGNX998RYQVPWP1OA.png": 0.9594494047619048, + "0UC2QTKS4ITXYK4E6HU9T.png": 0.9553384152079805, + "0KK6YAU45B9B34SSZTAS7.png": 0.9396825396825397, + "0WV2Q54214D8ARYKCMBE0.png": 0.5370370370370371, + "0TUDLFORB7K1BVA4U0ULU.png": 0.9737306674806675, + "0XZRML313QJ6X82YZJLYT.png": 0.9269528209347214, + "0ACY14LU0VWSKDOHEAVZM.png": 0.9737484737484737, + "0HH9NAZ1I95NJINORKJIM.png": 1.0, + "1AWZPWR198XN7U8HY1E32.png": 0.9709821428571429, + "0TLG8NFY9BXHB15A47OGW.png": 0.9388947677836567, + "1CBFM7HG55Z7O8F4Y0O0L.png": 0.9006734291349676, + "0EV3WT6VJG3QH2HFJEIBA.png": 0.9581944444444445, + "0OBPU21JDPO0KPYEQGLFO.png": 0.8331894296180011, + "0MJ27YD7XBYLQKM87RM3Y.png": 0.9626893939393939, + "0BHU2JO8ODKS3OL4RIU6A.png": 0.9710147695441813, + "0WVB351NNWY8OOQQRRW6F.png": 0.4409350276552545, + "1BCT1VG1R4HUK3Q6NMZGU.png": 0.9616846738695478, + "0YJ043WAWUTW4AEMDTD4R.png": 0.8364332399626517, + "0YS08VVMS1YPOHVJOFXXA.png": 0.9647716229348883, + "0EWWFSOUCGGD5BK6RKMKO.png": 0.5190789473684211, + "0VCTD6BP09MBAXOOM5Y5E.png": 0.9533730158730158, + "0S7ZGBZ7OBI15CZS5V95A.png": 0.9614512471655329, + "0JJ9O2OQ6O13OAOFM7643.png": 0.9424744313798471, + "00TXY79AHYWJ7WLXB3VLV.png": 0.9657366071428571, + "0J2UQ7WIZXFK4I5TV9UHW.png": 0.9450106538341833, + "0TYF1PBQCH64LANCKYWY7.png": 0.9492857142857143, + "0SWG2OW7F5RLADFAHJ9A4.png": 1.0, + "0RV3TKC89HQD4FRFCTNSK.png": 0.9682539682539683, + "1BQBJ8UFLH7H3JQ965JF6.png": 0.970679012345679, + "0C70JEJWPOAT1S8RUWCVB.png": 0.9166666666666666, + "0RCE6GI0QYPCA15RH6HM7.png": 0.421875, + "0SB1QV5XRJM6W0HRU4AH7.png": 0.9692307692307692, + "0I1HQDO584A6ODC54PLNA.png": 0.9941391941391942, + "1AWHACFMS9KSHM18INN41.png": 0.9328769841269842, + "1BKBFKJTQPLQBNIBZSM7E.png": 0.7770629833129833, + "0T0Q44ALMC9WURWEESEMP.png": 0.9280807530578847, + "1A9RJA2I3YJT58JR2MEOT.png": 0.8074561403508772, + "0DD8FWYLADAY5EJ3UZUD9.png": 0.9822222222222222, + "0F078JDZMTC8C8H2P8IVA.png": 0.916450878426599, + "0L5KEP1L6K1ALH88LLMEY.png": 0.9710648148148148, + "0U2FXJ2H3K5SQTZNJ1WV1.png": 0.9350688993546137, + "0U49K9QPO02GF77TU5JB8.png": 0.9199074074074074, + "0A9560NY0NQ5OVZQQBJRQ.png": 0.9262031024531024, + "0MRQ2DF27RW94C36QLLTZ.png": 0.9400462962962963, + "0BCT1VG1R4HUK3Q6NMZGU.png": 0.9704861111111112, + "0GQC64N9E830BWDTF8L0Q.png": 0.9159089213437039, + "0HIESCSLITYADXZHOO7IA.png": 0.9717592592592592, + "0FZFGRN9B0WT3XCQMOVPJ.png": 0.9595238095238096, + "00LQMDL10JL253UW69YUO.png": 0.9753086419753086, + "0U79XK18POJ6HCLLOXS4Z.png": 0.9404932369218083, + "0I3RG6GXJ2VILV3BPFIY4.png": 0.9940476190476191, + "0X8PV0Z6SNEKPIPOCP5HR.png": 0.36111111111111116, + "0UFQOEKLIWTX65AY778BD.png": 0.48853930461073314, + "0HZUERFF8VNKXAZLV8RO5.png": 0.9532467532467532, + "0FWXHCMHZ7KG6WYRNWD6Q.png": 0.9418557787698413, + "0A9B6NHM7J57SCT1Z8TAS.png": 0.9269583371613198, + "0WOTQFWQFAEPN0HZ6MYIL.png": 0.9483116988986395, + "0IUNSDMCG8WWVJJ758NN9.png": 0.9138258540330733, + "0XLK4S5OWK77LRNU2JAG9.png": 0.44495884773662553, + "00FMSMFBJU5732FGUTLIF.png": 0.9217570664629489, + "0YOETJE558OS77GHG5L5U.png": 0.21548611111111104, + "0BKXE7HQJOJV0I1LL8YOF.png": 0.9592271364998638, + "0AWHACFMS9KSHM18INN41.png": 0.4697820037105751, + "1BL58Q9DLPBQF73ROGFDX.png": 0.9486731477938659, + "0Q7EACO6OF8WQFZXI1MRQ.png": 0.9652777777777778, + "0R1IOV08YNRVC0KQS84EF.png": 0.7602711627006433, + "0SEF4O8YR8ULW23U32SE6.png": 0.9763888888888889, + "0IQGTS9QZK0ZYRL80GOSD.png": 0.9860509860509861, + "0E00IBZTY74DGR1SSX77L.png": 0.9625, + "0BR0V61AWXYXVQSK6RMY7.png": 0.9613095238095238, + "0MESCFGQYOQNMVWD6B1VU.png": 0.9468509010369476, + "0F3GIMIL9E4UNWEFYLKGV.png": 0.9320790816326531, + "1A8AVSZNK6GTNOCBEVFOY.png": 0.9441702191251741, + "0E7WX1NX5ZKR24SEIUKRN.png": 0.9399038461538461, + "0QZOZCFYQ2TK5C0Q3KN5C.png": 0.46690909090909094, + "0SDC2B1I853GR50G545IX.png": 0.9361522482401603, + "0FEKB24PHTZNT3KIZZVIS.png": 0.8764239824717766, + "0SIW9Q9NWY3TWRC712D4J.png": 0.9278869047619047, + "0JFFFUOFXDOLV2ZGQJAPB.png": 0.9283549783549784, + "0O976W9Y9NDSJ24YV7HU9.png": 0.7494119769119769, + "0B0LNAITDDPPCJ4I6XIWK.png": 0.7795656463419621, + "1AAPDAAK73MRINE7PM0ZJ.png": 0.9137764042712982, + "0HC8F1RENJE297WV8RW0N.png": 0.3670634920634921, + "0OXJ4SWAYILOZVQCGO1OB.png": 0.9023944289749876, + "0I3S2Z8YWZ0JOIMKGU51B.png": 0.984743265993266, + "0Y0LZ2LRH7BR5ZDYBTH7U.png": 1.0, + "0T0LAS5REAE827IQO0Q9U.png": 0.9424919751450364, + "1AQ9EL10BYBSGJO2RLC6Q.png": 0.8512273652273652, + "0L1YL688ZRRPYAJ07UOFQ.png": 0.879689144397791, + "1BWJOYJSDHL1XJH6UG2RM.png": 0.9542725503663003, + "0TELO9B7QI0QQVFMJXAQ1.png": 0.9771303258145363, + "0XDX2OT3OG575I0U99YAQ.png": 0.524600326171897, + "0X49B57NNHU6FEB4J21VY.png": 0.8964340180881419, + "0DHJ8WY2XLWKG7K345LAK.png": 0.8810052488361312, + "0BQBJ8UFLH7H3JQ965JF6.png": 0.9395414462081129, + "00CBN2MRTC48ZY50RUSBW.png": 0.9774659863945578, + "1D7CMRTBBENLYDO7EWWVZ.png": 0.9369047619047619, + "0BX1I2HS6BLV92NZHV6J1.png": 0.9642857142857143, + "0XQE375V4J34MLJYN711T.png": 0.9857142857142858, + "1BKXE7HQJOJV0I1LL8YOF.png": 0.7635712666962667, + "0E3OA2PY1K3B44GN9AS0Y.png": 0.961574074074074, + "0SCRALC3GPIO2ZD918U8L.png": 0.4419889502762431, + "0ITKDLWB7SDGMM8980ZSS.png": 0.8515766723356009, + "1BYRMKANKN4PL6JFPG8AR.png": 0.9844444444444445, + "0BYRMKANKN4PL6JFPG8AR.png": 0.9541904761904761, + "0R8W6O2N25AVQI9FQ5IL7.png": 0.9305555555555556, + "0J9TV59N7U65CB7YCHD38.png": 0.9213321834415584, + "0VX41MM59ET2MK09202C3.png": 0.9791666666666666, + "1CGP5R7FMVCKR47XK6IVA.png": 0.9264790764790765, + "1BSXNNN0LA94101P5D38I.png": 0.9746208112874779, + "0UMVEM9RUVZDRJRFA1W2V.png": 0.9837301587301588, + "0KPHJHUXB0MS3B9RHL57O.png": 0.9408888888888889, + "0TYH6IN161KXZT369VVWQ.png": 0.9628472222222222, + "0AUTW1OL7IAPO1JH1TQUR.png": 0.9778911564625851, + "0GNCKEB99NZ0J9GCAI0TH.png": 0.9295514670514671, + "0CGP5R7FMVCKR47XK6IVA.png": 0.8926834303929919, + "0NNLAUZDCGVKZP852ZJ7X.png": 0.9680555555555556, + "0EJW9DEXTHUR17CZCUPB1.png": 0.9701659451659451, + "0JZRIWIFSATGGFL8P0NZF.png": 0.9776828110161444, + "0VNHMSVYYS2Q0H0VJDNAK.png": 0.7637301587301588, + "0Z2ZZWW84O21E70F5RGIA.png": 0.9414053797953255, + "0UODYVKUWDGD6S5D7LNAW.png": 0.919190278592376, + "0NGNPB7KAJSSKSHQV1KZS.png": 0.9836309523809523, + "0Q3C8N8G8GXV2EP88XEXI.png": 0.9374857632549196, + "0IU89E255WY0KPUD6L7Y9.png": 0.848927366206778, + "0F22CQYG638LSZROETJ9V.png": 0.9838827838827838, + "0HBX9X0EJVVL4TA9CJ25G.png": 0.9768772893772893, + "0IRDSID7UDBLOIRB9JQ9S.png": 0.9736928104575163, + "0IHCMVD5NO41KSAB3ODC0.png": 0.44233211233211234, + "1AYZOGNX998RYQVPWP1OA.png": 0.8260551304802747, + "0WM2Y66O2ZJA831TN2E7Z.png": 0.96, + "0CPW27F5C8I03UQBVBL2Y.png": 0.39290621266427705, + "1BR0V61AWXYXVQSK6RMY7.png": 0.9486557307850214, + "0JJPRMSYFQLJKD3JYA1JP.png": 0.9659755449229134, + "0RT937QPOOWU9LKZVU0G3.png": 0.961873759920635, + "0EFBK546D496KI033ACDF.png": 0.9305555555555556, + "0EP1D1EXZC4VOMGZJGQQT.png": 0.9405416012558869, + "0DSQ4IAVY32EHCJ0AJM1Y.png": 0.9320436507936508, + "0F4HFOUP4374O8RL4E914.png": 0.9362530121766575, + "0IMS5FXCTVU6GSCR5CHTK.png": 0.948066263542454, + "0P82SO3E98ECMRNRS62D4.png": 0.9706666666666667, + "1AUTW1OL7IAPO1JH1TQUR.png": 0.961844529478458, + "0WFIWI83FBAOLU16M27NL.png": 0.9224528037265118, + "1A9B6NHM7J57SCT1Z8TAS.png": 0.9589285714285715, + "0UU3AG1PSZ1H78B6J17PA.png": 0.9853174603174604, + "0UVW81GETVKT5GPM6ZX0S.png": 0.9624761904761905, + "0IKFXKSQ9OA3OCRGQBZFI.png": 0.1855624121249121, + "1C70JEJWPOAT1S8RUWCVB.png": 1.0, + "0A7ZU26KX6C0LG0D3T3ZS.png": 0.9135802469135803, + "0BL58Q9DLPBQF73ROGFDX.png": 0.9308702743618086, + "0UQWQMAYVXUFY65GH4ION.png": 0.8006377881377882, + "0R77TU5P7A0F1YTLIGSOA.png": 0.9922839506172839, + "0Q740R8QE6ZAF034ZMGQG.png": 0.8527251768699138, + "1BG5K95UCWQ3JXWC501XA.png": 0.9457231040564374, + "1CPW27F5C8I03UQBVBL2Y.png": 0.9566377342345018 } } \ No newline at end of file diff --git a/resources/benchmarks/table_benchmark_on_our_data.json b/resources/benchmarks/table_benchmark_on_our_data.json new file mode 100644 index 00000000..704bd424 --- /dev/null +++ b/resources/benchmarks/table_benchmark_on_our_data.json @@ -0,0 +1,37 @@ +{ + "mode_metric_structure_only": false, + "mean": 0.9675821602750511, + "images": { + "example_with_table0_0.png": 0.9525583036909738, + "example_with_table0_1.png": 0.9264351862896008, + "example_with_table6.png": 0.989010989010989, + "example_with_table4.jpg": 0.908436211832951, + "example_with_table17.jpg": 0.8078952936402488, + "example_with_table_hor_vert_union.png": 0.9896091617933723, + "example_with_table1.png": 0.9781560283687943, + "example_with_table_horizontal_union.jpg": 0.9925757575757576, + "example_with_table3.png": 0.9778008866078716, + "example_with_table5.png": 0.9458965482130129, + "img_00029.png": 1.0, + "img_00027.png": 0.9031857944901424, + "im_1_2.png": 1.0, + "im_1_3.png": 0.986863711001642, + "img_00054.png": 0.9914529914529915, + "img_00471.png": 0.9991017291713452, + "img_00028.png": 0.9620735785953177, + "im_1_4.png": 0.9416131827145962, + "img_00449.png": 0.9521500666916612, + "img_00025.png": 1.0, + "img_00479.png": 0.96875, + "im_1_1.png": 0.9978354978354979, + "img_00026.png": 0.9998530708198649, + "img_00317.png": 1.0, + "img_00030.png": 0.9487179487179487, + "img_00047.png": 1.0, + "img_00410.png": 1.0, + "img_00162.png": 1.0, + "img_00035.png": 0.9669117647058824, + "img_00478.png": 1.0, + "img_00461.png": 0.9081632653061225 + } +} \ No newline at end of file diff --git a/resources/benchmarks/time_benchmark.csv b/resources/benchmarks/time_benchmark.csv new file mode 100644 index 00000000..9be87ffa --- /dev/null +++ b/resources/benchmarks/time_benchmark.csv @@ -0,0 +1,13 @@ +,Dataset,total_file_size,total_files,total_pages,total_time_raw,throughput_raw,mean_time_on_file_raw,mean_time_cpu_on_page_raw,total_time_indp_cpu,throughput_indp_cpu,mean_time_on_file_indp_cpu,mean_time_cpu_on_page_indp_cpu,cpu_performance,version +0,images,105240044,259,259,819.3893718719482,128437.16017401138,3.1636655284631208,3.1636655284631208,845.0002507880153,124544.39380563155,3.2625492308417576,3.262549230841758,1.0312560545636043,2.1 +0,law_html,215921201,1526,1526,227.0532796382904,950971.5135759128,0.14878982938289018,0.14878982938289018,234.1500693355101,922148.7809623912,0.15344041240859116,0.15344041240859116,1.0312560545636043,2.1 +0,other_html,215921201,1526,1526,156.9773073196411,1375493.0867831479,0.1028684844820715,0.1028684844820715,161.8837986024715,1333803.6472088536,0.10608374744591842,0.1060837474459184,1.0312560545636043,2.1 +0,txt,2483851,999,999,13.047960042953491,190363.16725551253,0.013061021064017509,0.013061021064017509,13.455787793999773,184593.5026641549,0.013469257051050823,0.013469257051050825,1.0312560545636043,2.1 +0,pdf_text_layer_true,109643533,33,445,417.5641739368439,262578.8797115134,12.653459816267997,1.0459708427522103,430.6155825412202,254620.4490626033,13.048957046703642,1.0786637644852126,1.0312560545636043,2.1 +0,pdf_text_layer_auto,109643533,33,445,744.6476347446442,147242.16916045017,22.565079840746794,1.9358688088909384,767.9223818468816,142779.44697523108,23.270375207481262,1.9963764300096132,1.0312560545636043,2.1 +0,pdf_text_layer_auto_tabby,109643533,33,445,861.5465660095215,127263.61792357055,26.107471697258227,2.408536994270351,888.475112485801,123406.42012271588,26.923488257145486,2.4838183579817246,1.0312560545636043,2.1 +0,pdf_text_layer_false,109643533,33,445,1923.4744081497192,57002.85511231277,58.28710327726422,4.837624405643553,1983.5946292025433,55275.171340869965,60.10892815765283,4.988829458024572,1.0312560545636043,2.1 +0,pdf_text_layer_tabby,109643533,33,445,459.48560762405396,238622.3445973723,13.923806291637998,1.2937336014756313,473.84731484714223,231390.00594604985,14.359009540822491,1.334170609514122,1.0312560545636043,2.1 +0,docx,417727,22,22,16.942837953567505,24655.078514284138,0.770128997889432,0.770128997889432,17.472404221106515,23907.814557963888,0.794200191868478,0.794200191868478,1.0312560545636043,2.1 +0,pdf,6086144,18,117,375.61194705963135,16203.275874592393,20.86733039220174,3.0367271868588284,387.35209457166883,15712.175267130062,21.519560809537158,3.131643297506068,1.0312560545636043,2.1 +0,pdf_tables,16536264,2,267,1197.7023212909698,13806.656049706928,598.8511606454849,4.039958413717207,1235.137770396196,13388.193929731136,617.568885198098,4.166231574331044,1.0312560545636043,2.1 diff --git a/resources/benchmarks/time_benchmark.json b/resources/benchmarks/time_benchmark.json deleted file mode 100644 index 77a60948..00000000 --- a/resources/benchmarks/time_benchmark.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "version": "2023.05.26", - "cpu_performance": 1.0271486519712283, - "images": { - "raw_time": 999.8349206447601, - "total_time": 1026.9790909340254, - "total_size": 105240044, - "throughput": 102475.35215569522, - "mean_time": 3.9651702352665072, - "total_files": 259 - }, - "law_html": { - "raw_time": 474.3593273162842, - "total_time": 487.23754360289996, - "total_size": 215921201, - "throughput": 443153.8657784065, - "mean_time": 0.3192906576690039, - "total_files": 1526 - }, - "other_html": { - "raw_time": 330.6621506214142, - "total_time": 339.6391822686928, - "total_size": 215921201, - "throughput": 635737.0182018105, - "mean_time": 0.22256827147358638, - "total_files": 1526 - }, - "txt": { - "raw_time": 96.24431586265564, - "total_time": 98.85721929821985, - "total_size": 2483851, - "throughput": 25125.64097627544, - "mean_time": 0.09895617547369354, - "total_files": 999 - }, - "pdf_text_layer_true": { - "raw_time": 567.8917989730835, - "total_time": 583.3092957807185, - "total_size": 109643533, - "throughput": 187968.08793052036, - "mean_time": 17.676039266082377, - "total_files": 33 - }, - "pdf_text_layer_auto": { - "raw_time": 1311.265530347824, - "total_time": 1346.8646218731053, - "total_size": 109643533, - "throughput": 81406.49863348334, - "mean_time": 40.81407945070016, - "total_files": 33 - }, - "pdf_text_layer_auto_tabby": { - "raw_time": 1054.8082127571106, - "total_time": 1083.4448338216466, - "total_size": 109643533, - "throughput": 101198.99931891612, - "mean_time": 32.83166163095899, - "total_files": 33 - }, - "pdf_text_layer_false": { - "raw_time": 2244.6923444271088, - "total_time": 2305.632715668441, - "total_size": 109643533, - "throughput": 47554.639667841686, - "mean_time": 69.86765805055882, - "total_files": 33 - }, - "pdf_text_layer_tabby": { - "raw_time": 523.7221403121948, - "total_time": 537.9404904291574, - "total_size": 109643533, - "throughput": 203820.9336362257, - "mean_time": 16.30122698270174, - "total_files": 33 - }, - "docx": { - "raw_time": 26.66093373298645, - "total_time": 27.38474214413128, - "total_size": 417727, - "throughput": 15254.005234061387, - "mean_time": 1.2447610065514219, - "total_files": 22 - }, - "pdf": { - "raw_time": 434.4631836414337, - "total_time": 446.2582734084268, - "total_size": 6086144, - "throughput": 13638.165077624919, - "mean_time": 24.792126300468155, - "total_files": 18 - }, - "pdf_tables": { - "raw_time": 1497.133377790451, - "total_time": 1537.7785308185935, - "total_size": 16536264, - "throughput": 10753.345601201352, - "mean_time": 768.8892654092967, - "total_files": 2 - } -} \ No newline at end of file diff --git a/scripts/benchmark.py b/scripts/benchmark.py index 12c3f104..fe4d359d 100644 --- a/scripts/benchmark.py +++ b/scripts/benchmark.py @@ -1,28 +1,40 @@ -import json import os import time import zipfile -from collections import OrderedDict, namedtuple +from collections import namedtuple from tempfile import TemporaryDirectory +from typing import List import numpy as np +import pandas as pd import requests import wget from tqdm import tqdm +from dedoc.readers.pdf_reader.pdf_txtlayer_reader.pdfminer_reader.pdfminer_extractor import PdfminerExtractor from dedoc.utils.utils import send_file path_result = os.path.join(os.path.dirname(__file__), "..", "resources", "benchmarks") path_result = os.path.abspath(path_result) os.makedirs(path_result, exist_ok=True) -path_result = os.path.join(path_result, "time_benchmark.json") +path_result = os.path.join(path_result, "time_benchmark.csv") -Task = namedtuple("Task", ("directory", "name", "parameters")) +Task = namedtuple("Task", ("directory", "name", "parameters", "func_page_count")) host = "http://localhost:1231" data_url = "https://at.ispras.ru/owncloud/index.php/s/bEozaxZALrUyFzM/download" +def get_pdf_page_count(path: str) -> int: + with open(path, "rb") as fp: + pages = len(list(PdfminerExtractor.get_pages(fp))) + return pages if pages > 0 else 1 + + +def get_none_page_count(path: str) -> int: + return 1 + + def get_cpu_performance() -> float: start = time.time() for _ in range(50000): @@ -32,6 +44,15 @@ def get_cpu_performance() -> float: return 1 / (time.time() - start) +def get_times(spend_page_times: List, total_size: int, total_time: int, total_files: int, cpu_performance: float = 1.0) -> List[float]: + total_time = total_time * cpu_performance + throughput = total_size / total_time + mean_time_on_file = total_time / total_files + mean_time_cpu_on_page = sum(spend_page_times) / len(spend_page_times) * cpu_performance + + return [total_time, throughput, mean_time_on_file, mean_time_cpu_on_page] + + cpu_performance = get_cpu_performance() print(f'"cpu_performance" = {cpu_performance}') @@ -43,30 +64,36 @@ def get_cpu_performance() -> float: print(path_base) failed = [] - result = OrderedDict() - result["version"] = requests.get(f"{host}/version").text - result["cpu_performance"] = cpu_performance + version = requests.get(f"{host}/version").text tasks = [ - Task("images", "images", {}), - Task("htmls", "law_html", {"document_type": "law"}), - Task("htmls", "other_html", {}), - Task("txt", "txt", {}), - Task("pdf_text_layer", "pdf_text_layer_true", {"pdf_with_text_layer": "true"}), - Task("pdf_text_layer", "pdf_text_layer_auto", {"pdf_with_text_layer": "auto"}), - Task("pdf_text_layer", "pdf_text_layer_auto_tabby", {"pdf_with_text_layer": "auto_tabby"}), - Task("pdf_text_layer", "pdf_text_layer_false", {"pdf_with_text_layer": "false"}), - Task("pdf_text_layer", "pdf_text_layer_tabby", {"pdf_with_text_layer": "tabby"}), - Task("docx", "docx", {}), - Task("pdf", "pdf", {"pdf_with_text_layer": "false"}), - Task("pdf_tables", "pdf_tables", {}) + Task("images", "images", {}, get_none_page_count), + Task("htmls", "law_html", {"document_type": "law"}, get_none_page_count), + Task("htmls", "other_html", {}, get_none_page_count), + Task("txt", "txt", {}, get_none_page_count), + Task("pdf_text_layer", "pdf_text_layer_true", {"pdf_with_text_layer": "true"}, get_pdf_page_count), + Task("pdf_text_layer", "pdf_text_layer_auto", {"pdf_with_text_layer": "auto"}, get_pdf_page_count), + Task("pdf_text_layer", "pdf_text_layer_auto_tabby", {"pdf_with_text_layer": "auto_tabby"}, get_pdf_page_count), + Task("pdf_text_layer", "pdf_text_layer_false", {"pdf_with_text_layer": "false"}, get_pdf_page_count), + Task("pdf_text_layer", "pdf_text_layer_tabby", {"pdf_with_text_layer": "tabby"}, get_pdf_page_count), + Task("docx", "docx", {}, get_none_page_count), + Task("pdf", "pdf", {"pdf_with_text_layer": "false"}, get_pdf_page_count), + Task("pdf_tables", "pdf_tables", {}, get_pdf_page_count) ] print(tasks) - for directory, name, parameters in tasks: + header = ["Dataset", "total_file_size", "total_files", "total_pages", # noqa + "total_time_raw", "throughput_raw", "mean_time_on_file_raw", "mean_time_cpu_on_page_raw", # noqa + "total_time_indp_cpu", "throughput_indp_cpu", "mean_time_on_file_indp_cpu", "mean_time_cpu_on_page_indp_cpu"] # noqa + + df = pd.DataFrame(columns=header) + for directory, name, parameters, page_func in tasks: total_size = 0 total_time = 0 total_files = 0 + total_pages = 0 files_info = [] + spend_page_times = [] directory = os.path.join(path_base, directory) + for file in tqdm(os.listdir(directory), desc=name): file_path = os.path.join(directory, file) file_size = os.path.getsize(file_path) @@ -74,21 +101,22 @@ def get_cpu_performance() -> float: time_start = time.time() send_file(host=host, file_name=file, file_path=file_path, parameters=parameters) time_finish = time.time() - spend_time = time_finish - time_start - total_time += spend_time - files_info.append({"file": file, "size": file_size, "time": spend_time}) + spend_file_time = time_finish - time_start + pages = page_func(file_path) + spend_page_times.append(spend_file_time / pages) + total_time += spend_file_time + total_pages += pages + files_info.append({"file": file, "size": file_size, "time_per_file": spend_file_time, "time_per_page": spend_page_times[-1]}) total_files += 0 - result_item = OrderedDict() - result_item["raw_time"] = total_time - total_time *= cpu_performance - result_item["total_time"] = total_time - result_item["total_size"] = total_size - result_item["throughput"] = total_size / total_time - result_item["mean_time"] = total_time / len(files_info) - result_item["total_files"] = len(files_info) - result[name] = result_item - - with open(path_result, "w") as file_out: - json.dump(obj=result, fp=file_out, indent=4, ensure_ascii=False) - print(f"save result in {path_result}") + + result_item = [name, total_size, len(files_info), total_pages] + result_item.extend(get_times(spend_page_times, total_size, total_time, len(files_info))) + result_item.extend(get_times(spend_page_times, total_size, total_time, len(files_info), cpu_performance)) + df_item = pd.DataFrame(data=[result_item], columns=header) + df = pd.concat([df, df_item]) if not df.empty else df_item + df_meta = pd.DataFrame(data=[[cpu_performance, version]], columns=["cpu_performance", "version"]) + df_result = pd.concat([df, df_meta], axis=1) + df_result.to_csv(path_result) + print(f"save result in {path_result}") + print(failed) diff --git a/scripts/benchmark_table/benchmark_table.py b/scripts/benchmark_table/benchmark_table.py index 8a52048d..117ba3e3 100644 --- a/scripts/benchmark_table/benchmark_table.py +++ b/scripts/benchmark_table/benchmark_table.py @@ -33,8 +33,8 @@ def call_metric(pred_json: dict, true_json: dict, structure_only: bool = False, return scores -def get_tables(image_path: Path) -> str: - document = image_reader.read(str(image_path)) +def get_tables(image_path: Path, language: str) -> str: + document = image_reader.read(str(image_path), {"language": language}) for table in document.tables: table.metadata.uid = "test_id" @@ -45,12 +45,12 @@ def get_tables(image_path: Path) -> str: return html_tables[0] -def make_predict_json(data_path: Path) -> dict: +def make_predict_json(data_path: Path, language: str) -> dict: predict_json = {} for pathname in Path.iterdir(data_path): print(pathname) - predict_json[pathname.name] = {"html": "" + get_tables(pathname) + ""} + predict_json[pathname.name] = {"html": "" + get_tables(pathname, language) + ""} return predict_json @@ -71,8 +71,8 @@ def download_dataset(data_dir: Path, name_zip: str, url: str) -> None: print(f"Benchmark data downloaded to {data_dir}") -def prediction(path_pred: Path, path_images: Path) -> dict: - pred_json = make_predict_json(path_images) +def prediction(path_pred: Path, path_images: Path, language: str = "rus+eng") -> dict: + pred_json = make_predict_json(path_images, language) with path_pred.open("w") as fd: json.dump(pred_json, fd, indent=2, ensure_ascii=False) @@ -84,21 +84,22 @@ def benchmark_on_our_data() -> dict: path_images = data_dir / "images" path_gt = data_dir / "gt.json" path_pred = data_dir / "pred.json" - download_dataset(data_dir, name_zip="benchmark_table_data.zip", url="https://at.ispras.ru/owncloud/index.php/s/Xaf4OyHj6xN2RHH/download") + result = dict() + download_dataset(data_dir, name_zip="benchmark_table_data.zip", url="https://at.ispras.ru/owncloud/index.php/s/nYgwbhVk5SpvD3z/download") mode_metric_structure_only = False with open(path_gt, "r") as fp: gt_json = json.load(fp) + """ - Creating base html (based on method predictions for future labeling) - path_images = data_dir / "images_tmp" - pred_json = prediction("gt_tmp.json", path_images) + # Creating base html (based on method predictions for future labeling) + pred_json = prediction(data_dir / "gt_generated.json", path_images) """ + pred_json = prediction(path_pred, path_images) scores = call_metric(pred_json=pred_json, true_json=gt_json, structure_only=mode_metric_structure_only) - result = dict() result["mode_metric_structure_only"] = mode_metric_structure_only result["mean"] = np.mean([score for score in scores.values()]) result["images"] = scores @@ -123,7 +124,7 @@ def benchmark_on_generated_table() -> dict: download_dataset(data_dir, name_zip="benchmark_table_data_generated_500_tables_category_1.zip", url="https://at.ispras.ru/owncloud/index.php/s/gItWxupnF2pve6B/download") - mode_metric_structure_only = True + mode_metric_structure_only = False # make common ground-truth file common_gt_json = {} @@ -143,9 +144,9 @@ def benchmark_on_generated_table() -> dict: # calculate metrics path_pred = data_dir / "pred.json" - - pred_json = prediction(path_pred, path_images) - scores = call_metric(pred_json=pred_json, true_json=common_gt_json, structure_only=mode_metric_structure_only, ignore_nodes=["span", "style", "head", "h4"]) + pred_json = prediction(path_pred, path_images, language="eng") + scores = call_metric(pred_json=pred_json, true_json=common_gt_json, structure_only=mode_metric_structure_only, + ignore_nodes=["span", "style", "head", "h4", "tbody"]) result = dict() result["mode_metric_structure_only"] = mode_metric_structure_only diff --git a/scripts/benchmark_table/metric.py b/scripts/benchmark_table/metric.py index 28c46b5b..9bd107ac 100644 --- a/scripts/benchmark_table/metric.py +++ b/scripts/benchmark_table/metric.py @@ -8,7 +8,6 @@ # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # Apache 2.0 License for more details. - # Source: https://github.com/ibm-aur-nlp/PubTabNet from collections import deque @@ -55,6 +54,8 @@ def normalized_distance(self, *sequences) -> float: # noqa """ Get distance from 0 to 1 """ + if self.maximum(*sequences) == 0: + return 0 return float(distance.levenshtein(*sequences)) / self.maximum(*sequences) def rename(self, node1: TableTree, node2: TableTree) -> float: @@ -67,7 +68,7 @@ def rename(self, node1: TableTree, node2: TableTree) -> float: if not node1.visible or not node2.visible: return 0. if node1.content or node2.content: - return self.normalized_distance(node1.content, node2.content) + return self.normalized_distance("".join(node1.content).strip(), "".join(node2.content).strip()) return 0. diff --git a/tests/api_tests/test_api_format_html.py b/tests/api_tests/test_api_format_html.py index 07561afd..b8f49910 100644 --- a/tests/api_tests/test_api_format_html.py +++ b/tests/api_tests/test_api_format_html.py @@ -155,6 +155,15 @@ def test_html_table_with_styles(self) -> None: self.assertIn({"start": 0, "end": 10, "name": "italic", "value": "True"}, table["cells"][1][1]["lines"][0]["annotations"]) self.assertIn({"start": 0, "end": 10, "name": "linked_text", "value": "some_text"}, table["cells"][2][0]["lines"][0]["annotations"]) self.assertIn({"start": 0, "end": 16, "name": "strike", "value": "True"}, table["cells"][2][1]["lines"][0]["annotations"]) + self.assertEqual(table["cells"][3][0]["rowspan"], 2) + self.assertEqual(table["cells"][3][0]["colspan"], 2) + self.assertEqual(table["cells"][3][0]["invisible"], False) + self.assertEqual(table["cells"][3][1]["rowspan"], 1) + self.assertEqual(table["cells"][3][1]["colspan"], 1) + self.assertEqual(table["cells"][3][1]["invisible"], True) + self.assertEqual(table["cells"][4][0]["rowspan"], 1) + self.assertEqual(table["cells"][4][0]["colspan"], 1) + self.assertEqual(table["cells"][4][0]["invisible"], True) def test_html_font_style_attribute(self) -> None: file_name = "210.html" diff --git a/tests/data/htmls/table_with_styles.html b/tests/data/htmls/table_with_styles.html index c3e3d028..98172e72 100644 --- a/tests/data/htmls/table_with_styles.html +++ b/tests/data/htmls/table_with_styles.html @@ -10,9 +10,12 @@ Первый столбец Второй столбец + Третий столбец -

Что-то

Что-то ещё
- Ещё что-тоПоследняя ячейка +

Что-то

Что-то ещё
Просто текст + Ещё что-тоПоследняя ячейкаПросто текст + ТекстПросто текст + Просто текст \ No newline at end of file