743 lines
220 KiB
Plaintext
743 lines
220 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "be3c1872",
|
|
"metadata": {},
|
|
"source": [
|
|
"# AI-based OCR Benchmark Notebook\n",
|
|
"\n",
|
|
"This notebook benchmarks **AI-based OCR models** on scanned PDF documents/images in Spanish.\n",
|
|
"It excludes traditional OCR engines like Tesseract that require external installations."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "6a1e98fe",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: pip in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (25.2)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: jupyter in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.1.1)\n",
|
|
"Requirement already satisfied: notebook in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (7.4.7)\n",
|
|
"Requirement already satisfied: jupyter-console in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (6.6.3)\n",
|
|
"Requirement already satisfied: nbconvert in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (7.16.6)\n",
|
|
"Requirement already satisfied: ipykernel in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (6.30.1)\n",
|
|
"Requirement already satisfied: ipywidgets in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (8.1.7)\n",
|
|
"Requirement already satisfied: jupyterlab in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (4.4.9)\n",
|
|
"Requirement already satisfied: comm>=0.1.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (0.2.3)\n",
|
|
"Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (1.8.17)\n",
|
|
"Requirement already satisfied: ipython>=7.23.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (9.6.0)\n",
|
|
"Requirement already satisfied: jupyter-client>=8.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (8.6.3)\n",
|
|
"Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (5.8.1)\n",
|
|
"Requirement already satisfied: matplotlib-inline>=0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (0.1.7)\n",
|
|
"Requirement already satisfied: nest-asyncio>=1.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (1.6.0)\n",
|
|
"Requirement already satisfied: packaging>=22 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (25.0)\n",
|
|
"Requirement already satisfied: psutil>=5.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (7.1.0)\n",
|
|
"Requirement already satisfied: pyzmq>=25 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (27.1.0)\n",
|
|
"Requirement already satisfied: tornado>=6.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (6.5.2)\n",
|
|
"Requirement already satisfied: traitlets>=5.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (5.14.3)\n",
|
|
"Requirement already satisfied: colorama in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.4.6)\n",
|
|
"Requirement already satisfied: decorator in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (5.2.1)\n",
|
|
"Requirement already satisfied: ipython-pygments-lexers in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (1.1.1)\n",
|
|
"Requirement already satisfied: jedi>=0.16 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.19.2)\n",
|
|
"Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (3.0.52)\n",
|
|
"Requirement already satisfied: pygments>=2.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (2.19.2)\n",
|
|
"Requirement already satisfied: stack_data in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.6.3)\n",
|
|
"Requirement already satisfied: wcwidth in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel->jupyter) (0.2.14)\n",
|
|
"Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->jupyter) (0.8.5)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-client>=8.0.0->ipykernel->jupyter) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: platformdirs>=2.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel->jupyter) (4.4.0)\n",
|
|
"Requirement already satisfied: pywin32>=300 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel->jupyter) (311)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->jupyter-client>=8.0.0->ipykernel->jupyter) (1.17.0)\n",
|
|
"Requirement already satisfied: widgetsnbextension~=4.0.14 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets->jupyter) (4.0.14)\n",
|
|
"Requirement already satisfied: jupyterlab_widgets~=3.0.15 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets->jupyter) (3.0.15)\n",
|
|
"Requirement already satisfied: async-lru>=1.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.0.5)\n",
|
|
"Requirement already satisfied: httpx<1,>=0.25.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (0.28.1)\n",
|
|
"Requirement already satisfied: jinja2>=3.0.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (3.1.6)\n",
|
|
"Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.3.0)\n",
|
|
"Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.17.0)\n",
|
|
"Requirement already satisfied: jupyterlab-server<3,>=2.27.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.27.3)\n",
|
|
"Requirement already satisfied: notebook-shim>=0.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (0.2.4)\n",
|
|
"Requirement already satisfied: setuptools>=41.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (80.9.0)\n",
|
|
"Requirement already satisfied: anyio in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (4.11.0)\n",
|
|
"Requirement already satisfied: certifi in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (2025.10.5)\n",
|
|
"Requirement already satisfied: httpcore==1.* in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (1.0.9)\n",
|
|
"Requirement already satisfied: idna in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (3.10)\n",
|
|
"Requirement already satisfied: h11>=0.16 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpcore==1.*->httpx<1,>=0.25.0->jupyterlab->jupyter) (0.16.0)\n",
|
|
"Requirement already satisfied: argon2-cffi>=21.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (25.1.0)\n",
|
|
"Requirement already satisfied: jupyter-events>=0.11.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.12.0)\n",
|
|
"Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.5.3)\n",
|
|
"Requirement already satisfied: nbformat>=5.3.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (5.10.4)\n",
|
|
"Requirement already satisfied: prometheus-client>=0.9 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.23.1)\n",
|
|
"Requirement already satisfied: pywinpty>=2.0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (3.0.2)\n",
|
|
"Requirement already satisfied: send2trash>=1.8.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.8.3)\n",
|
|
"Requirement already satisfied: terminado>=0.8.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.18.1)\n",
|
|
"Requirement already satisfied: websocket-client>=1.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.9.0)\n",
|
|
"Requirement already satisfied: babel>=2.10 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (2.17.0)\n",
|
|
"Requirement already satisfied: json5>=0.9.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (0.12.1)\n",
|
|
"Requirement already satisfied: jsonschema>=4.18.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (4.25.1)\n",
|
|
"Requirement already satisfied: requests>=2.31 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (2.32.5)\n",
|
|
"Requirement already satisfied: sniffio>=1.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from anyio->httpx<1,>=0.25.0->jupyterlab->jupyter) (1.3.1)\n",
|
|
"Requirement already satisfied: argon2-cffi-bindings in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (25.1.0)\n",
|
|
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jinja2>=3.0.3->jupyterlab->jupyter) (3.0.3)\n",
|
|
"Requirement already satisfied: attrs>=22.2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (25.4.0)\n",
|
|
"Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (2025.9.1)\n",
|
|
"Requirement already satisfied: referencing>=0.28.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (0.36.2)\n",
|
|
"Requirement already satisfied: rpds-py>=0.7.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (0.27.1)\n",
|
|
"Requirement already satisfied: python-json-logger>=2.0.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (4.0.0)\n",
|
|
"Requirement already satisfied: pyyaml>=5.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (6.0.2)\n",
|
|
"Requirement already satisfied: rfc3339-validator in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.1.4)\n",
|
|
"Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.1.1)\n",
|
|
"Requirement already satisfied: fqdn in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.5.1)\n",
|
|
"Requirement already satisfied: isoduration in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (20.11.0)\n",
|
|
"Requirement already satisfied: jsonpointer>1.13 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (3.0.0)\n",
|
|
"Requirement already satisfied: rfc3987-syntax>=1.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.1.0)\n",
|
|
"Requirement already satisfied: uri-template in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.3.0)\n",
|
|
"Requirement already satisfied: webcolors>=24.6.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (24.11.1)\n",
|
|
"Requirement already satisfied: beautifulsoup4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (4.14.2)\n",
|
|
"Requirement already satisfied: bleach!=5.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach[css]!=5.0.0->nbconvert->jupyter) (6.2.0)\n",
|
|
"Requirement already satisfied: defusedxml in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.7.1)\n",
|
|
"Requirement already satisfied: jupyterlab-pygments in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.3.0)\n",
|
|
"Requirement already satisfied: mistune<4,>=2.0.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (3.1.4)\n",
|
|
"Requirement already satisfied: nbclient>=0.5.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.10.2)\n",
|
|
"Requirement already satisfied: pandocfilters>=1.4.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (1.5.1)\n",
|
|
"Requirement already satisfied: webencodings in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert->jupyter) (0.5.1)\n",
|
|
"Requirement already satisfied: tinycss2<1.5,>=1.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach[css]!=5.0.0->nbconvert->jupyter) (1.4.0)\n",
|
|
"Requirement already satisfied: fastjsonschema>=2.15 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.21.2)\n",
|
|
"Requirement already satisfied: charset_normalizer<4,>=2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests>=2.31->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (3.4.3)\n",
|
|
"Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests>=2.31->jupyterlab-server<3,>=2.27.1->jupyterlab->jupyter) (2.5.0)\n",
|
|
"Requirement already satisfied: lark>=1.2.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from rfc3987-syntax>=1.1.0->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.3.0)\n",
|
|
"Requirement already satisfied: cffi>=1.0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.0.0)\n",
|
|
"Requirement already satisfied: pycparser in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.23)\n",
|
|
"Requirement already satisfied: soupsieve>1.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from beautifulsoup4->nbconvert->jupyter) (2.8)\n",
|
|
"Requirement already satisfied: typing-extensions>=4.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from beautifulsoup4->nbconvert->jupyter) (4.15.0)\n",
|
|
"Requirement already satisfied: arrow>=0.15.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.3.0)\n",
|
|
"Requirement already satisfied: types-python-dateutil>=2.8.10 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.9.0.20251008)\n",
|
|
"Requirement already satisfied: executing>=1.2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel->jupyter) (2.2.1)\n",
|
|
"Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel->jupyter) (3.0.0)\n",
|
|
"Requirement already satisfied: pure-eval in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel->jupyter) (0.2.3)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: ipywidgets in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (8.1.7)\n",
|
|
"Requirement already satisfied: comm>=0.1.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (0.2.3)\n",
|
|
"Requirement already satisfied: ipython>=6.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (9.6.0)\n",
|
|
"Requirement already satisfied: traitlets>=4.3.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (5.14.3)\n",
|
|
"Requirement already satisfied: widgetsnbextension~=4.0.14 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (4.0.14)\n",
|
|
"Requirement already satisfied: jupyterlab_widgets~=3.0.15 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (3.0.15)\n",
|
|
"Requirement already satisfied: colorama in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.4.6)\n",
|
|
"Requirement already satisfied: decorator in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (5.2.1)\n",
|
|
"Requirement already satisfied: ipython-pygments-lexers in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (1.1.1)\n",
|
|
"Requirement already satisfied: jedi>=0.16 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.19.2)\n",
|
|
"Requirement already satisfied: matplotlib-inline in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.1.7)\n",
|
|
"Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (3.0.52)\n",
|
|
"Requirement already satisfied: pygments>=2.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (2.19.2)\n",
|
|
"Requirement already satisfied: stack_data in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n",
|
|
"Requirement already satisfied: wcwidth in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.14)\n",
|
|
"Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.5)\n",
|
|
"Requirement already satisfied: executing>=1.2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (2.2.1)\n",
|
|
"Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (3.0.0)\n",
|
|
"Requirement already satisfied: pure-eval in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (0.2.3)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: ipykernel in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (6.30.1)\n",
|
|
"Requirement already satisfied: comm>=0.1.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (0.2.3)\n",
|
|
"Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (1.8.17)\n",
|
|
"Requirement already satisfied: ipython>=7.23.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (9.6.0)\n",
|
|
"Requirement already satisfied: jupyter-client>=8.0.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (8.6.3)\n",
|
|
"Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (5.8.1)\n",
|
|
"Requirement already satisfied: matplotlib-inline>=0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (0.1.7)\n",
|
|
"Requirement already satisfied: nest-asyncio>=1.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (1.6.0)\n",
|
|
"Requirement already satisfied: packaging>=22 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (25.0)\n",
|
|
"Requirement already satisfied: psutil>=5.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (7.1.0)\n",
|
|
"Requirement already satisfied: pyzmq>=25 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (27.1.0)\n",
|
|
"Requirement already satisfied: tornado>=6.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (6.5.2)\n",
|
|
"Requirement already satisfied: traitlets>=5.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (5.14.3)\n",
|
|
"Requirement already satisfied: colorama in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.4.6)\n",
|
|
"Requirement already satisfied: decorator in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (5.2.1)\n",
|
|
"Requirement already satisfied: ipython-pygments-lexers in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (1.1.1)\n",
|
|
"Requirement already satisfied: jedi>=0.16 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.19.2)\n",
|
|
"Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (3.0.52)\n",
|
|
"Requirement already satisfied: pygments>=2.4.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (2.19.2)\n",
|
|
"Requirement already satisfied: stack_data in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.6.3)\n",
|
|
"Requirement already satisfied: wcwidth in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel) (0.2.14)\n",
|
|
"Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel) (0.8.5)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-client>=8.0.0->ipykernel) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: platformdirs>=2.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel) (4.4.0)\n",
|
|
"Requirement already satisfied: pywin32>=300 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel) (311)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->jupyter-client>=8.0.0->ipykernel) (1.17.0)\n",
|
|
"Requirement already satisfied: executing>=1.2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel) (2.2.1)\n",
|
|
"Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel) (3.0.0)\n",
|
|
"Requirement already satisfied: pure-eval in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data->ipython>=7.23.1->ipykernel) (0.2.3)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: easyocr in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.7.2)\n",
|
|
"Requirement already satisfied: transformers in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (4.57.0)\n",
|
|
"Requirement already satisfied: torch in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (2.8.0+cpu)\n",
|
|
"Requirement already satisfied: pdf2image in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.17.0)\n",
|
|
"Requirement already satisfied: pillow in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (11.3.0)\n",
|
|
"Requirement already satisfied: jiwer in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (4.0.0)\n",
|
|
"Requirement already satisfied: paddleocr in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.2.0)\n",
|
|
"Requirement already satisfied: hf_xet in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.1.10)\n",
|
|
"Requirement already satisfied: paddlepaddle in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.2.0)\n",
|
|
"Requirement already satisfied: torchvision>=0.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (0.23.0+cpu)\n",
|
|
"Requirement already satisfied: opencv-python-headless in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (4.12.0.88)\n",
|
|
"Requirement already satisfied: scipy in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (1.16.2)\n",
|
|
"Requirement already satisfied: numpy in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (2.1.2)\n",
|
|
"Requirement already satisfied: scikit-image in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (0.25.2)\n",
|
|
"Requirement already satisfied: python-bidi in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (0.6.6)\n",
|
|
"Requirement already satisfied: PyYAML in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (6.0.2)\n",
|
|
"Requirement already satisfied: Shapely in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (2.1.2)\n",
|
|
"Requirement already satisfied: pyclipper in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (1.3.0.post6)\n",
|
|
"Requirement already satisfied: ninja in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from easyocr) (1.13.0)\n",
|
|
"Requirement already satisfied: filelock in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (3.13.1)\n",
|
|
"Requirement already satisfied: huggingface-hub<1.0,>=0.34.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.35.3)\n",
|
|
"Requirement already satisfied: packaging>=20.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (25.0)\n",
|
|
"Requirement already satisfied: regex!=2019.12.17 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (2025.9.18)\n",
|
|
"Requirement already satisfied: requests in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (2.32.5)\n",
|
|
"Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.22.1)\n",
|
|
"Requirement already satisfied: safetensors>=0.4.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.6.2)\n",
|
|
"Requirement already satisfied: tqdm>=4.27 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (4.67.1)\n",
|
|
"Requirement already satisfied: fsspec>=2023.5.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from huggingface-hub<1.0,>=0.34.0->transformers) (2024.6.1)\n",
|
|
"Requirement already satisfied: typing-extensions>=3.7.4.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from huggingface-hub<1.0,>=0.34.0->transformers) (4.15.0)\n",
|
|
"Requirement already satisfied: sympy>=1.13.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from torch) (1.13.3)\n",
|
|
"Requirement already satisfied: networkx in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from torch) (3.3)\n",
|
|
"Requirement already satisfied: jinja2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from torch) (3.1.6)\n",
|
|
"Requirement already satisfied: setuptools in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from torch) (80.9.0)\n",
|
|
"Requirement already satisfied: click>=8.1.8 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jiwer) (8.3.0)\n",
|
|
"Requirement already satisfied: rapidfuzz>=3.9.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jiwer) (3.14.1)\n",
|
|
"Requirement already satisfied: paddlex<3.3.0,>=3.2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (3.2.1)\n",
|
|
"Requirement already satisfied: aistudio_sdk>=0.3.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.3.8)\n",
|
|
"Requirement already satisfied: chardet in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (5.2.0)\n",
|
|
"Requirement already satisfied: colorlog in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (6.9.0)\n",
|
|
"Requirement already satisfied: modelscope>=1.28.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (1.30.0)\n",
|
|
"Requirement already satisfied: pandas>=1.3 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2.3.3)\n",
|
|
"Requirement already satisfied: prettytable in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (3.16.0)\n",
|
|
"Requirement already satisfied: py-cpuinfo in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (9.0.0)\n",
|
|
"Requirement already satisfied: pydantic>=2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2.12.0)\n",
|
|
"Requirement already satisfied: ruamel.yaml in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.18.15)\n",
|
|
"Requirement already satisfied: ujson in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (5.11.0)\n",
|
|
"Requirement already satisfied: imagesize in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (1.4.1)\n",
|
|
"Requirement already satisfied: opencv-contrib-python==4.10.0.84 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (4.10.0.84)\n",
|
|
"Requirement already satisfied: pypdfium2>=4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (4.30.0)\n",
|
|
"Requirement already satisfied: httpx in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (0.28.1)\n",
|
|
"Requirement already satisfied: protobuf>=3.20.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (6.32.1)\n",
|
|
"Requirement already satisfied: opt-einsum==3.3.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (3.3.0)\n",
|
|
"Requirement already satisfied: psutil in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from aistudio_sdk>=0.3.5->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (7.1.0)\n",
|
|
"Requirement already satisfied: bce-python-sdk in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from aistudio_sdk>=0.3.5->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.9.46)\n",
|
|
"Requirement already satisfied: colorama in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from click>=8.1.8->jiwer) (0.4.6)\n",
|
|
"Requirement already satisfied: urllib3>=1.26 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from modelscope>=1.28.0->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2.5.0)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2025.2)\n",
|
|
"Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2025.2)\n",
|
|
"Requirement already satisfied: annotated-types>=0.6.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.7.0)\n",
|
|
"Requirement already satisfied: pydantic-core==2.41.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (2.41.1)\n",
|
|
"Requirement already satisfied: typing-inspection>=0.4.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.4.2)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas>=1.3->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (1.17.0)\n",
|
|
"Requirement already satisfied: charset_normalizer<4,>=2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (3.4.3)\n",
|
|
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (3.10)\n",
|
|
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (2025.10.5)\n",
|
|
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from sympy>=1.13.3->torch) (1.3.0)\n",
|
|
"Requirement already satisfied: pycryptodome>=3.8.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bce-python-sdk->aistudio_sdk>=0.3.5->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (3.23.0)\n",
|
|
"Requirement already satisfied: future>=0.6.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bce-python-sdk->aistudio_sdk>=0.3.5->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (1.0.0)\n",
|
|
"Requirement already satisfied: anyio in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx->paddlepaddle) (4.11.0)\n",
|
|
"Requirement already satisfied: httpcore==1.* in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx->paddlepaddle) (1.0.9)\n",
|
|
"Requirement already satisfied: h11>=0.16 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpcore==1.*->httpx->paddlepaddle) (0.16.0)\n",
|
|
"Requirement already satisfied: sniffio>=1.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from anyio->httpx->paddlepaddle) (1.3.1)\n",
|
|
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jinja2->torch) (3.0.3)\n",
|
|
"Requirement already satisfied: wcwidth in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prettytable->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.2.14)\n",
|
|
"Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ruamel.yaml->paddlex<3.3.0,>=3.2.0->paddlex[ocr-core]<3.3.0,>=3.2.0->paddleocr) (0.2.14)\n",
|
|
"Requirement already satisfied: imageio!=2.35.0,>=2.33 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from scikit-image->easyocr) (2.37.0)\n",
|
|
"Requirement already satisfied: tifffile>=2022.8.12 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from scikit-image->easyocr) (2025.10.4)\n",
|
|
"Requirement already satisfied: lazy-loader>=0.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from scikit-image->easyocr) (0.4)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: PyMuPDF in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.26.4)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: pandas in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (2.3.3)\n",
|
|
"Requirement already satisfied: numpy>=1.26.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2.1.2)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2025.2)\n",
|
|
"Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2025.2)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: matplotlib in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.10.6)\n",
|
|
"Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (1.3.3)\n",
|
|
"Requirement already satisfied: cycler>=0.10 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (0.12.1)\n",
|
|
"Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (4.60.1)\n",
|
|
"Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (1.4.9)\n",
|
|
"Requirement already satisfied: numpy>=1.23 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (2.1.2)\n",
|
|
"Requirement already satisfied: packaging>=20.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (25.0)\n",
|
|
"Requirement already satisfied: pillow>=8 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (11.3.0)\n",
|
|
"Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (3.2.5)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
"Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n",
|
|
"Requirement already satisfied: seaborn in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (0.13.2)\n",
|
|
"Requirement already satisfied: numpy!=1.24.0,>=1.20 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (2.1.2)\n",
|
|
"Requirement already satisfied: pandas>=1.2 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (2.3.3)\n",
|
|
"Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (3.10.6)\n",
|
|
"Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.3.3)\n",
|
|
"Requirement already satisfied: cycler>=0.10 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.12.1)\n",
|
|
"Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.60.1)\n",
|
|
"Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.9)\n",
|
|
"Requirement already satisfied: packaging>=20.0 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (25.0)\n",
|
|
"Requirement already satisfied: pillow>=8 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (11.3.0)\n",
|
|
"Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.2.5)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.2)\n",
|
|
"Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.2)\n",
|
|
"Requirement already satisfied: six>=1.5 in c:\\users\\sji\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn) (1.17.0)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"%pip install --upgrade pip\n",
|
|
"%pip install --upgrade jupyter\n",
|
|
"%pip install --upgrade ipywidgets\n",
|
|
"%pip install --upgrade ipykernel\n",
|
|
"\n",
|
|
"# Install necessary packages\n",
|
|
"%pip install easyocr transformers torch pdf2image pillow jiwer paddleocr hf_xet paddlepaddle\n",
|
|
"# pdf reading\n",
|
|
"%pip install PyMuPDF\n",
|
|
"\n",
|
|
"# Data analysis and visualization\n",
|
|
"%pip install pandas\n",
|
|
"%pip install matplotlib\n",
|
|
"%pip install seaborn"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "ae33632a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Imports\n",
|
|
"import os\n",
|
|
"import numpy as np\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from pdf2image import convert_from_path\n",
|
|
"from PIL import Image, ImageOps\n",
|
|
"import easyocr\n",
|
|
"from transformers import TrOCRProcessor, VisionEncoderDecoderModel\n",
|
|
"import torch\n",
|
|
"from jiwer import wer, cer\n",
|
|
"from paddleocr import PaddleOCR\n",
|
|
"import fitz # PyMuPDF"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0e00f1b0",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1 Configuration"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"PDF_FOLDER = './instructions' # Folder containing PDF files\n",
|
|
"OUTPUT_FOLDER = 'results'\n",
|
|
"os.makedirs(OUTPUT_FOLDER, exist_ok=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "dcefbebc",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU.\n",
|
|
"Using a slow image processor as `use_fast` is unset and a slow processor was saved with this model. `use_fast=True` will be the default behavior in v4.52, even if the model was saved with a slow processor. This will result in minor differences in outputs. You'll still be able to use a slow processor with `use_fast=False`.\n",
|
|
"Some weights of VisionEncoderDecoderModel were not initialized from the model checkpoint at microsoft/trocr-large-printed and are newly initialized: ['encoder.pooler.dense.bias', 'encoder.pooler.dense.weight']\n",
|
|
"You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# 1. EasyOCR (works well already)\n",
|
|
"import easyocr\n",
|
|
"easyocr_reader = easyocr.Reader(['es', 'en']) # Spanish and English\n",
|
|
"\n",
|
|
"# 2. TrOCR - Use a better variant for documents\n",
|
|
"from transformers import TrOCRProcessor, VisionEncoderDecoderModel\n",
|
|
"\n",
|
|
"# Try using the large model for better performance\n",
|
|
"try:\n",
|
|
" trocr_processor = TrOCRProcessor.from_pretrained(\"microsoft/trocr-large-printed\")\n",
|
|
" trocr_model = VisionEncoderDecoderModel.from_pretrained(\"microsoft/trocr-large-printed\")\n",
|
|
"except:\n",
|
|
" # Fallback to base model\n",
|
|
" trocr_processor = TrOCRProcessor.from_pretrained(\"microsoft/trocr-base-printed\")\n",
|
|
" trocr_model = VisionEncoderDecoderModel.from_pretrained(\"microsoft/trocr-base-printed\")\n",
|
|
"\n",
|
|
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
|
|
"trocr_model = trocr_model.to(device)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "243849b9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_35244\\1485176348.py:5: DeprecationWarning: The parameter `det_db_thresh` has been deprecated and will be removed in the future. Please use `text_det_thresh` instead.\n",
|
|
" paddleocr_model = PaddleOCR(\n",
|
|
"C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_35244\\1485176348.py:5: DeprecationWarning: The parameter `det_db_box_thresh` has been deprecated and will be removed in the future. Please use `text_det_box_thresh` instead.\n",
|
|
" paddleocr_model = PaddleOCR(\n",
|
|
"C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_35244\\1485176348.py:5: DeprecationWarning: The parameter `rec_batch_num` has been deprecated and will be removed in the future. Please use `text_recognition_batch_size` instead.\n",
|
|
" paddleocr_model = PaddleOCR(\n",
|
|
"c:\\Users\\sji\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\paddle\\utils\\cpp_extension\\extension_utils.py:718: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md\n",
|
|
" warnings.warn(warning_message)\n",
|
|
"\u001b[32mCreating model: ('PP-LCNet_x1_0_doc_ori', None)\u001b[0m\n",
|
|
"\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-LCNet_x1_0_doc_ori`.\u001b[0m\n",
|
|
"\u001b[32mCreating model: ('UVDoc', None)\u001b[0m\n",
|
|
"\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\UVDoc`.\u001b[0m\n",
|
|
"\u001b[32mCreating model: ('PP-LCNet_x1_0_textline_ori', None)\u001b[0m\n",
|
|
"\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-LCNet_x1_0_textline_ori`.\u001b[0m\n",
|
|
"\u001b[32mCreating model: ('PP-OCRv5_server_det', None)\u001b[0m\n",
|
|
"\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-OCRv5_server_det`.\u001b[0m\n",
|
|
"\u001b[32mCreating model: ('latin_PP-OCRv5_mobile_rec', None)\u001b[0m\n",
|
|
"\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\latin_PP-OCRv5_mobile_rec`.\u001b[0m\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# 3. PaddleOCR - Better configuration\n",
|
|
"from paddleocr import PaddleOCR\n",
|
|
"\n",
|
|
"# Initialize with better settings for Spanish/Latin text\n",
|
|
"paddleocr_model = PaddleOCR(\n",
|
|
" lang='es', # Use 'latin' for better Spanish support\n",
|
|
" det_db_thresh=0.3, # Lower threshold for better text detection\n",
|
|
" det_db_box_thresh=0.5,\n",
|
|
" rec_batch_num=6,\n",
|
|
")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "84c999e2",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2 Helper Functions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "9596c7df",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from typing import List, Optional\n",
|
|
"\n",
|
|
"def show_ocr_result(img: Image.Image, text: str, scale: float = 0.20):\n",
|
|
" \"\"\"\n",
|
|
" Displays a smaller version of the image with OCR text as a footer.\n",
|
|
" \"\"\"\n",
|
|
" # Compute plot size based on image dimensions (but without resizing the image)\n",
|
|
" w, h = img.size\n",
|
|
" figsize = (w * scale / 100, h * scale / 100) # convert pixels to inches approx\n",
|
|
"\n",
|
|
" fig, ax = plt.subplots(figsize=figsize)\n",
|
|
" ax.imshow(img)\n",
|
|
" ax.axis(\"off\")\n",
|
|
"\n",
|
|
"\n",
|
|
" # Add OCR text below the image (footer)\n",
|
|
" plt.figtext(0.5, 0.02, text.strip(), wrap=True, ha='center', va='bottom', fontsize=10)\n",
|
|
" plt.tight_layout()\n",
|
|
" plt.show()\n",
|
|
"\n",
|
|
"def pdf_to_images(pdf_path: str, dpi: int = 300, pages: List[int] = None) -> List[Image.Image]:\n",
|
|
" \"\"\"Render a PDF into a list of PIL Images using PyMuPDF or pdf2image.\"\"\"\n",
|
|
" images = []\n",
|
|
" if fitz is not None:\n",
|
|
" doc = fitz.open(pdf_path)\n",
|
|
" page_indices = pages if pages is not None else list(range(len(doc)))\n",
|
|
" for i in page_indices:\n",
|
|
" page = doc.load_page(i)\n",
|
|
" mat = fitz.Matrix(dpi/72.0, dpi/72.0)\n",
|
|
" pix = page.get_pixmap(matrix=mat, alpha=False)\n",
|
|
" img = Image.frombytes('RGB', [pix.width, pix.height], pix.samples)\n",
|
|
" images.append(img)\n",
|
|
" doc.close()\n",
|
|
" elif convert_from_path is not None:\n",
|
|
" if pages is None:\n",
|
|
" images = convert_from_path(pdf_path, dpi=dpi)\n",
|
|
" else:\n",
|
|
" # pdf2image supports first_page/last_page; render a slice if contiguous\n",
|
|
" images = [convert_from_path(pdf_path, dpi=dpi)[i] for i in pages]\n",
|
|
" else:\n",
|
|
" raise RuntimeError('Install PyMuPDF or pdf2image to convert PDFs.')\n",
|
|
" return images\n",
|
|
"\n",
|
|
"def ocr_easyocr(img):\n",
|
|
" result = easyocr_reader.readtext(np.array(img))\n",
|
|
" res = ' '.join([r[1] for r in result])\n",
|
|
" show_ocr_result(img, res)\n",
|
|
" return res\n",
|
|
"\n",
|
|
"def pdf_extract_text(pdf_path, page_num) -> str:\n",
|
|
" \"\"\"\n",
|
|
" Extracts text from a specific PDF page in proper reading order.\n",
|
|
" \"\"\"\n",
|
|
" doc = fitz.open(pdf_path)\n",
|
|
" \n",
|
|
" if page_num < 1 or page_num > len(doc):\n",
|
|
" return \"\"\n",
|
|
" \n",
|
|
" page = doc[page_num - 1]\n",
|
|
" blocks = page.get_text(\"blocks\") # returns list of (x0, y0, x1, y1, \"text\", block_no, block_type)\n",
|
|
" \n",
|
|
" # Sort blocks top-to-bottom, left-to-right\n",
|
|
" blocks_sorted = sorted(blocks, key=lambda b: (b[1], b[0])) # y0, then x0\n",
|
|
" \n",
|
|
" text = \" \".join([b[4].replace('\\n', ' ').strip() for b in blocks_sorted])\n",
|
|
" return text\n",
|
|
"\n",
|
|
"def evaluate_text(reference, prediction):\n",
|
|
" return {'WER': wer(reference, prediction), 'CER': cer(reference, prediction)}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e42cae29",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 3 Run AI OCR Benchmark"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "9b55c154",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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QEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEzqwNavXx++/e1vh6lTp6Y+lJ3erbfeGi6++OLUh7FDu+iii8Kdd96Z+jCkNmUgtp294x3vCK95zWtSH0aHQsFbVVUVVqxYEdqDP/zhD2HAgAHtIs989KMfjUHYrrvuGtojrts//vGPij//ta99LRx44IGhPZoxY0Y8nyeeeGKLv7344ovxOh1++OHtotxob/dMW7j88svD7373u3DYYYelPpRtoj3UDU3l8Y5YdnYUnXaGDDlhwoTws5/9LLQHP//5z2NmlLY2z/z5z3+OBedvf/vbJMe1sxk7dmyYP39+2HfffRv9vrq6Opx77rnh97//fdh///1De5cFaU398BnyXKm/Za1+5f7eo0ePZvc9cODA2Jqb98gjjzRso1Sg+4Mf/CDccMMNoXfv3u0muCn34NCagKY91A3FebytA/o3vvGN8VqqsS5F/95p1dbWxgzXqdO2jU379+8fdlabNm0KXbt2DTvT9d6WeeYtb3lL/NH2yXudO3cOI0aM2OL3PXv2DP/9739DR3H00UfHyjbzsY99LKxatSoGkplBgwbFYKJfv37hhRdeKJsfS/29VCBVrG/fvuHaa68Nb37zmxt+d8kll4Rx48aFWbNmbfH53XffPTz99NMhlY0bN4Zu3bp1+LqhufugXB5vq31zr/Cjxtp/LRRCOOGEE2IXzGc/+9lYQJBReBLJFAqF+G9u4u7du4dRo0bFz2ffnTlzZvjEJz7R6GkrayL95z//Gfbee+/4PQoAPv/xj3+80f55ouLJKrNhw4bwuc99Lj498D26hShEMs8++2w488wzYyFFgXPccceFl156qeQTGtviWIcNGxafJI899tj4ZJjJnkhuu+22cOihh4ZevXrFgrS48LvuuuvCwQcfHLcxceLE8PWvfz3U1NQ0mz5NPeUxHoNzZJ9veMMbwsqVKxs+wzGecsopYciQIbEAOf7448Njjz3WaDsc929+85tw1llnxadYxjIRAJ1//vlhl112iTfkHnvsEZ8EW2Lp0qWxAB89enQ8tv322y9ceeWVTX6n3PUm/T/96U/HbXGMRxxxxBZjUPguace+Xvva18b953FtX/3qV4fhw4eHPn36xK4Txgvltcc8k3fSSSeFD3/4w41+t3jx4lj5sJ1ymsp3pZAGVKocE5//8pe/HAvoYk3lvbq6uvCNb3wjjBkzJqYlefU///nPFq0Rf/3rX2O+5NhoPawk37BtWl64Pmyb606+LdfKcdddd8XuSD47cuTI8PnPf77R+TdXdpXCPfLJT34y5tfBgwfH73IPFx/nd7/73Yb76IADDghXX311qATXlOPIfvg+x5//XRZ0cL7532efz5T6O/dBc84777xw6aWXNmpV/Mtf/hJ/n1fJNeO8+T3HRXq9/OUvD2vXro3pfNlll8U8mm/pw+zZs2O+Io25Lty/XN9Mds9x7SkvKae2Rlb+3HTTTWGvvfaK5cRpp53WKCDO3+e0crNfrnMex/mud72r4vuvVBm8fPny+AA3dOjQmGa77bZbQxCez+P8/xNPPDH+nhZMfp/Vg9xvlDtZHqXsysqrpu7BUl2Tv/nNb8KkSZNiniOd6YJuDq2ypCPb3XPPPcMFF1ywxb7//ve/x+Mn33B/PPDAA6HdKrRD5513XuHVr351w7+PP/74Qr9+/Qpf+9rXCi+++GLhsssuK1RVVRVuvvnm+Perrroq/v3GG28szJw5s/DQQw8Vfvvb38a/LV26tDBmzJjCN77xjcL8+fPjD37/+98XunbtWjj66KML9913X+H5558vrF27Nu7rYx/7WKPj4Vg4pswb3vCGwtixYwt///vfCy+99FLh1ltvLfzlL3+Jf5szZ05h0KBBhbPPPrvwyCOPFF544YXCpZdeGrdf6tw++tGPFkaNGhWP/dlnn41/HzhwYDxu3HHHHZTAhSOOOKJw5513xs8cd9xx8bgzd999dzz/P/zhD/F4SJcJEybE9GoufUr56le/Wujdu3fhpJNOKjz++OOFu+66q7DrrrsWzj333IbP3HbbbYXLL7+8MHny5MJzzz1XOP/88wvDhw8vrFq1quEzHPewYcPi+XNc7Hvjxo2Fr3zlKzFtpk2bVvjTn/5U6NWrV+Gvf/1r2ePJ0mD58uUNafzDH/4wHhvb/cUvflHo3LlzPK9yyl3vd7/73fF3pOHUqVPjdrt37x7zGR588MFCp06dCt///vfjtfz5z39eGDBgQKF///4N237iiScKF154YeHpp5+O3/vSl75U6NGjRzzf9ppniv35z3+O21i/fn3D737yk5/EfFRXV1fyO83luywPXHvttQ3//uY3vxnTf/r06YV//vOfMc+Qti3JexwX+73yyitjGn32s5+N1za7Zmyb/XIs11xzTcxn8+bNqyjfsC3SgXMiP9xzzz2F3/3ud422y/ez60be/eAHPxjvA85zyJAh8RwqLbtKIT04Bo49u7f69u3bKA9861vfKuy5556F//znP/FcyN/kW653qXumKcX5K8M28/m8pX8vJTsu8jjHm90jlCUHHHBATMN8tVR8zX79618XunTp0nDNuK78mzzB9XnqqafiZ1avXh1/uO9OO+20hrJ/w4YNsQzaa6+9Cu9617vi50lj8tcee+wR/56lSZ8+fQpve9vbCs8880z8KYVrzXEXK84rWfnz8pe/PN7jjz76aDyGfL7OX4dly5YV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",
|
|
"text/plain": [
|
|
"<Figure size 620.25x877 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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pEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5gkSVImBjFJkqRMDGKSJEmZGMQkSZIyMYhJkiRlYhCTJEnKxCAmSZKUiUFMkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkScrEICZJkpSJQUySJCkTg5h0kDv33HP7/XedffKTnww33HCDv+vF7yQdHAxi0kHo1ltvDddcc81eP+Pft912W59/11ljY2P40pe+FP9ONm3aFL75zW/6uxK/k3TwMYhJB6F58+bFgv/d73532LlzZ/z7W9/6Vpg7d26ff9dZWVlZ/Pv8888Pjz76aLjsssvCi1/84jBnzhx/V+J3kg5CrZIOWh/60IdauQx8+MMf7rffdXbfffe1jh49uvXII49sra6u9nc9+J2kg4c1YtJBaO3ateE1r3lNqK6uDieddFLYvn17/Dc/7+vvOmtubg5f+cpXwvve975w8cUXhwsvvDBcdNFF4S9/+Yu/K/E7SQcfg5h0EFqxYkV4+9vfHr7+9a+HcePGxb/5Nz/v6+86a2lpif2grr322nDMMceEl73sZeHyyy+Pr/V3xX8n6eBTnnsBJB14Z5555jN+9rznPa/k6/vyu4qKivCBD3xgr59Nnz49vOtd74r/7++K/07SwaWM9sncCyFJknQwsmlSkiQpE4OYJElSJgYxSZKkTAxikiRJmRjEJEmSMjGISZIkZWIQkyRJysQgJkmSlIlBTJIkKRODmCRJUiYGMUmSpEwMYpIkSZkYxCRJkjIxiEmSJGViEJMkSQp5/H9Kr2UoACMHIAAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 620.25x877 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmIAAANaCAYAAAAqCCCSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAjVBJREFUeJzt3QV4ZcXdgPHJurs7LO7uTgsUWkopLS0V+pWWuru7u5cWqNBSoRQtFHd3XWTd3XezkuR+zzvZk57cvTe5yWZ3kt339zwp3eTeI3PmzPzP2KkqFAqFIEmSpG2u07bfpSRJkmAgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIl1S7ViS8gqFQvypqqqKP+1Rez5Gjquuri4eV6dO7f8ZOztejrXStMzSH+3xGmwJzqu2tjZ07tx5q55Xa/Pw9pz2qbX/u1XtCjdiTU1NLEB3RBs3bgzr1q1rKJDUdubPnx+uvPLKmMbt1Zw5c8J//vOfWGFuS+Q38h33Xqm8x+9WrFgRLr/88piOHcHy5cvDP//5z7B27doWfe/hhx8O999/f+hIyC/V1dVlyw1+P3ny5HDFFVeE9evXb9Vjoey+8cYbw8yZM1v83SeeeCLcfffdTdYNzf1kAR1pUurvdZvqlixQb2o72wtbxNQi3Dz//ve/w7777hv23HPPNt12duOhJU/J2wrHRyFEAfbWt741dO3aNfUhbVeokGfNmtWug/yVK1eGqVOnbvNj3LBhQ/jTn/4U9tlnn3DUUUdt9neO56677goDBgwIw4cPDx0BAQf3EpVqSyxevLhdB+vlApiHHnoovOMd7wi9e/cumfdvu+22cOSRR4bu3btv1WMhr0yfPj2MGTMmjB8/vkXfXbJkSVi2bFnZwJoHKfJqfl/51lnO7fWvf33o1atX/GzxtqqqqsLJJ58cdtttt/jve+65Jzz77LOb1QX9+/eP2+nRo0fYHhiIqcXByKJFi8KaNWu2yvZ50uXmPe6440J7NGrUqFiYdISuH20/6K6ichoxYkTZljpaxKic+Kzal6FDh4Y99tij5MMbZSqBGkERgXZ7ewCtFAHmSSed1PCQQmBGy9sZZ5wR+vXrF39H3uRzBGs8dBF4jhw5stF2sjxOupCvBw8eHA455JBGn+nWrVv82V4YiKlN5ZuLyxUoTX2GJ6SmWhsq2f7WOkb+S2Fa7nstObYtTafW7HNrbbvc54q7Drakgtka57m10mBLt1fqM1RgJ5xwQtnvDRs2LJxzzjmhZ8+eZY+x0v23pdbsryX5ZkvzaKWf29LrO27cuPhTzv777x9bd5oLotviPmjJZ1uyDwKjnXfeueHfCxcuDF26dInnPWTIkEafzVrNeLCdOHFik9sdOHBg2GWXXcL2zEBMW4zgadq0aWHvvfcOU6ZMiV033JQ83fG0k93M3OA0wdPUzE1KpUFgM3r06Dh+4qmnngpz586Nn7v33ntjqxPbpBma71DZ0CXx9NNPx0KLpyn28+STT4addtopDBo0qFEXKk+Z3OTcyNn+6Q558cUX49MYhd6ECRPiTU6BwXHyPf720ksvxTE5dPPstddeoU+fPnEb8+bNi83z+SdXAkee3PjO6tWr42d33XXX2PSftZyx7xdeeCE+GfL3Z555JixdujSe03777RfTIp9ObGfSpElhwYIF8Sma86CQyxfUHB+fYd98hvMgHUq11rFNuoE4P67Jc889F9Oap1POhePInw/jjLiWXFtaADkf0irbNteB9KV7evbs2XF8C2l18MEHx89wbvyO68y/edrffffdG9K5JeOiyE9cEwpvCnSOt2/fvmW3k117jpn047rwVH3ooYfG/bNdzo/rQVcj+YtrTKtF/hpwjnx3xowZMd35THGFxr958ietsrFZY8eOjfmavJnfHmny/PPPxzTl+PkMT//ZZ+ii41z5Yd/cF3yGvMH3yfdcu6zrkd+RJi+//HJDFx/nwDXhnLLtcnxsk3sp2z75hX9TEZZ7qCB/kH4HHHBAozzF38i/3Ffk8VLfJw9l9xH3Numf3ctNBTHke46PPM11JH34Xv7+yFCWkI9Jd+4r8gX7yX8uy8vc81xrusTIF1yj7F7iM5Qh5G/SimvEcR5xxBHxM/QAcH3pEiXduA+51/L3YpYP+C7lA/cV+Z30Je2yMpK0zL7Hdzgm8mF2n3BctHxyz3EefIZuRI6RtMjOl7Sn3OC8mwss2TbHtWrVqph/OK5SivMf+Yy0J806aitdR2H/irYYBRXjU6699trw6KOPxoCIAvUvf/lLrCCyyosgiMGoVNBUGBS0d9xxR6xM+P8UFPx/fvj/FFLZoEy2S7flVVddFT9LNwzb4//fd999mw1Q5nsEcxRCGSoEBgc/+OCDsSKkQLz11lvj2AxQ2LEtxi7w/xlvQ6DDAOhsQDGFKceSnROfYz//+Mc/4mcIFDhuvpN1s2Yo7Pns3//+91hoU2kQMPzrX/9qeEJkuxT4l112Waw8SEsKweuuuy6mVbY9zu/666+P3+czVBCMXyPdyqHC5phIA64B+6fSYOxRdp34obAnDUhjzodj4/wIlLPz5nfs78477wy33357DHDIB1nFx/kToHFsBCR0UfC5ljyZc44cB4OzqYipfDi2v/71r012jVOJkM4c380339xQmZJX2D/XgeMjj5IP+RvpTQWUHV+WvhwzgTOVJHmPa59HcMW2+C7Hx3GSnzjf/KBjgrk///nPMZAnTaiY+R75KdvfLbfcEm644YZ4vOTPxx57LN4vnA/bYIwRwU22TdKA68J58mCS5dc//OEPMZDJzoX8xHUiD5GWHCff5f7kuMpdE67xTTfdFM8xj3Tj9wTJpXDeHFN2H5HPOE/On/ux3P64P7k3CPI4f4IMzpn7o3hMGPmWz3L8bJ/zJR+T9/L3JudLOmd5mXuUNCM9sgkX/PeBBx6IeYaJGFxrts/5c9x8nuPOWnWuvvrq+PlsP1kXGvvn+nB9uQ/5HoEoOC7KlmyffIf7449//GP8DNeO4It7PCtLMpQDWRnDdzgO7l/Oq6n7gH0QQJK3yW8cFwEZ2yn+HulLnv3vf/8b71eOh+vAvca5bE8D49sjW8TUJii4eJJ77WtfG4MCCkEG9VOQZk3yFEYU6u95z3viUxYo7LL+/le+8pWxcOe7r3rVqxq2nQ8Q3vjGN8Yn2kylg3b5/iOPPBIrkbe//e0NA2YZ+Ezhlh0fgQpdPFlzOX8ngCluEcj+SwDDd97whjc0NMtnLQZU5GwnPwaCgpHtZ+dAi8fvf//7uB1+x7kTPPAkzdgKApzsc3/7299iawctJVQsVP7vfOc7Y0WUpWVzEwgowElbxlxwTlQMVCxUAG9729vi72jlOP/882NlmOF6EYTwFJ490ZP2HAMTF/KtkbQmnHfeeY1+x/lQyR199NENrYvNYT8M3CVYyvZJi8JFF10UWwloASmHwIYKjGPLD16nQiJQIg1o4cquF+dPUE56kuZcc34YXE1rYdZ9RCWWr5TIR+TJfEsMLSsEu8cff3wMekgnKjiOlzE0WV6i8s5a6KjwafEib2ZjZLK8V641goHM3C/5/EwrDteTQInfZ/mB+4778zWveU2818hnfI6HEu7P4n3wb64ZwVDWopi10HDNCRpovSl1bAQjBEBvetOb4mdw2GGHhWuuuSYGQNwrpb7HsXJ8XO8sjcj3l156aWyZy7aVpd2ZZ54ZrwnborWTNOeBkOuR3c/sjzIpG1IAWoQIEmnVygarkx4EKW95y1ti/s9wLKQjeTpDvqZc45xIS/Ia9yzbI19lx87+87Nr8/mGe5X7gWtCuZflb1qUCei4LuSVDPk9f778l3KD1jS+Uyo92QfBPfcs9xHHdfjhh8c0IoDNHxcBPGUDZUBWnpCmBHscC8e4NRBwrly5suHfnAd5OV/ecu15eMp/hnK10nKkI7BFTG2CJyjGsGTdMdxIFEy0NmSzoqh0KBxoDQKfy5rgSxUkxb+nEmab2e9b0lzOMVDQUoBxo2ff52bOCumswqEizf7OMRP8lBt7Q+VJBUGXYPYdzp3vkCZsM18Acw4EXNln+QyFfdZyR9pQkVHIZ0EYCL6oALIp5xTcbJcAOFPJJAKCRYKwbK0i/kua0FJDkMrvCB6KuzzYP0/R+Rlu7ItrnrXaZT8EbcVdRARDVHblWlFKYfsEsfl0YNvsj0C0Kez72GOPjfvN5xUCG65/Nisr+yxBEkFaVimQV8hrWZctP/x/gqv8edESlQ8ckAWOWasG9wCB0IEHHtiQ7vxQ4WdBF/sjKMgfL/cSXUOlgmvSke9QsebzM5+ly57rmZ+RRiDBtcrut/z9WW4pjmz/DAvIrjt5jn+Tv0vN7sv+TnCXD2i4hgQEPPSUW56BYyc98l1+3B9c8+KWXu5Z8m02u5rvkr7cH7SsgQc3rhnXOp8/OW/SmeAjf2+SbllXa/bDfcAx5K85ASrpn7Vik84EXQRE+etL3s2nQV52fbh+WXd9Vh4cdNBB8djy9xplRv58SRPKHbZTDi2h7IPtZcdFOnFfZA8X2TWjHONaZ0EYuL5Zd/bWWK6F8oAW4EsuuaThh1bTrH7IkEe5ltkP+X5rTRZLxRYxtQlu9HyFyU1PJZVf74VClmUv6FKgUKZgoZm90hmIBAitna2YdXfmx0KVKrg4nkpnnVGQEEAR3BRvkwKPbeUDJeTHDYHz4XdZyx6FEBUJLTT5WUGkIYVqVslQQVBx0B1MpUglRPo2t+wH28ynYRZ4UdASOFBhZ91etNJwfqQdgQTnm6+42A7fLTUInsqWp24qCo6Zn6yLraXLmVDJsS2uH/mJ65RvFS2FY8oCxDyergm26GbM/y3rEueHfXK+WYtZfpvFQVE2lowAgFYa0pBt5Neay8bZlXuCz7qjs2C+EgTN2RjG/Heyypw8TLCaVbil7k+OietebnIMnyENaBGhMiQAYZuMHTvxxBPLji3js9lSBnnkKdKm3HIV2dpSpCPpmQX+nGvxMRbfR9n1ztKeQIV8k90TeaQF6cK9mV+gtFR+4e/kXVqk2B75mnyYdXODNCFts5mBlSCNCKCL8wT755hpZWdf2TUj3xUfG9cvv1REMa4BZXDxPkiPfBlHGpMWnFfxAw55l+Mg/dt6Ni7HQQvi+NwSGlmLWB7B4CmnnNLod9vbmDUDMW0z3MinnXZaLNwZ/8LTDwEZTfD5SmJryAr5pgoTCqSWTonmO+W2mbVaNSdfqHCMpAVP8cWtcKRb9oRNIXbMMcfEJvrHH388BrcEhBRsLV1bJx+8cby0yNGNRMXEUzcFI8EGQUxzsoVFGdfDNjmmbPxLS4No0oKuFVqxaMXIWia2ZNo626TCJHgtLsxp0SB4zvJKc0FtNricLngqK64Fx0jlmD/XSrbVXN4s9Xn2XypN+R0/zeW9rKuxKbSQ0LJDKwT/5VqQL/ItKnlZ2pGOpdYZJG9mwxKKkW6MYyOfEWjzUNCSACA/MSZbXLSpe7M52UB3AkruAVrKs4fB4nsWLW2hL5cn8uexJTiuSnoOsgeecjMYGaKwtdZMJC/0ayaAzVpwt2cGYtpmsq4wCjSegmjlyAKILZmenM12pEDJBxT5gozghmCAICH/uTyeHHkCLPf3UvvNvlOMgo0n0vx07kqwPbZLGtHF1RQKJwpPfqgwGHxNt1C5MSMoNeuPFiK2ReDHcTNAnevDGLWssqACZnxbJRg/A8bbZF1htDAxbqglaHlhMgLj1TjH7HgZ+9VaFPq0PhHUlquMSQMqiOK8UpynwPERjDGWLAswaMnJ0gBU4gRq/JRbrJPrXtwl0xQCGq4N1y4/2zPbPxV9S1poymEfPCwx0Jwxa3QN0apdLu34fDYRhpaMlgQndOPTCnvBBRc0zHTmPHjQqDQfEzBkeY7jKHVvZq3LpVpziz/HpAM+x7jOrAuRFrv8mCWuO8eZtcRVgmPLWk/zQU52bGxnSxd2zfId+yjeVnHZyGfJL01dMwfsbz3bd5ipdiN7Qs1uZgpsxh1RIOX7+ymUWjKOiEKESiw/VoJ9UKjnm9lpRWF/PNnnZy7x/+kmAMEPhWwWjGWfIYgo1QWQDRolQKESyH+HIILtZuPBKkVrA2nCINx8wZcFAdnv8l1KbJ/KmB+CgqbQ2pWfWZYN1OW7pCPbpIsiG/fEtvkd51JpQUxAQeWVn4JPGrZ0nAnHwfXNj9Ghm6ipmaHNofuPQKx49l7WKpAFXgSijI2hIsvSnXxJBZz/HudKy01+eQXyT34SSRZQ52dl8l8qYvJoFnjzd+6F/Gc41lJdeVwrWqUIvLPjzs6BiSK0ZOUnS7RWNqaKdGC7nG825qoc7gm68vL3RHEal5ItL5FfmoTflXoFEtsnbYrzMd16WTDEcfCwR97Lf45rz1g1Bu03F4hlsy2zICy7JvlzIK0pX3hYye+HvFouuObBgvuBAfL571DOMF6LNN7SVqhslmd+ZmxWNuaHTHCf88DIA06W37PPFpc72jpsEdM2w7gHAgWeuii4uPEpePKzoej+oMAnuKGAoDJp6sk+m0FEFxaFG5Ue2yXgyndh8TnGVDEdmxllPOVTwdGiQaXJEy8VDoUX44cYlE3lms1me/Ob39zwlJ7fJtthWQe64hgESyVCQc9sLY4ra8mpFMEL+2aWHZUWx5Sty0VBzxsHSBMqYNKIwf9UPIypoUsnW/SzuSUhOFYqLbbB+Z111lkNrRwEIXQdM/6INKCCIwCpNKAk2GGMG9eA9OTYGGfUUhwfFQD5hlYY8g7T+POzrFqC42cQOWlKGpBWHB9pQsVMpcnssKwViDRgNhyzx6hUaRUiGMunA+dKd1q2xhcBePGyJeRfJkiwrWwdNypCPsdgba4hkwWYlcpMRlqeqITJx9lMtuLuZq4V+YR8R57J1rUjgKcF6XWve12bdScR9FFRM6uUAKG5+5HWRvILx0b3OYE0FTzBE3/nd6XQ7c59w+xmgijSiOtdbhwUsyS5HwhICS7Ib8zIzB4gGNCfLQ9DWhEws032QRBG8NsUtsP15f7mnuC8uR7ki3we4P7jOpLns/MgL7HEBfmWvxUjTZiQky0DQhnIf2k15r/Mft1SlEWMHaVszB5oSCdaNfMtd5wL+ZP7nG529k0LGQEw5QPlDdtJZdGiRbG8y+N8yCPby2vmDMTUIllLVr4wzmbwFPfjczPnFzWlYKSpn2UdwA1OAJQFOBQIjCuhMqPSIpB69atfHfdF5UVBUiwLhii8mM4Pjo/t8u9s4Cef4xjPPffcWKFS4XETUxhT8HCMVGh8j2OkgASB3emnn95wjBxDPrji3AnS2CYVFRUtv2OZBgKxfBcOgU2pc+D3+TTgfKh4qZAISrMuUCrBbOAtx82TbhawkUZMby+3wGaG7zGLikqCgpbtEYRlLXcEPkx1p7Ji21nwcvbZZ8dKLbuWnBfpWRwg8HkKbSpe0p9jIw05NgKNpsZ3EfTl8xH5g/2StlQgpCvdrtm4s3KyYyvVTcTfWCKBtCUQopLndwRk2cKl2QQG8gpT/QnaOE/+Tj6k2zEbe0N+zboiCehoHSG/UHnnu4MIBLIlQNgn6c658FCSVZrkI/aXrWVFIMqx8j2uS7acRJbOBJQsEcG1ZEwfOA+OO78kRbn7s9zvSyFPcv35b3OfJ61YQoLjIjghXbjXyOf5V9WQPhxnNj6UY+F8CUbYF+dKuvEwlB9wThoTgHH87IN7n7/zeqf8xBmOg8AsfxzkMdI9m0mYpSVlRqmB89zH5GGWPMmuAfcL+Sc77uwhj/MhAOX4OTaCY/IM2Ha+LOS/nBv5OPtOtgr9qaee2rDwLfvkfEvN2uZaN7V8D9/PZrJz/myL/EuasL/88jTZkjPcE1mZkvUi5B+UOZZKgx++z/mUuudJe/7WVFdu1aaWYgLEfFd/dm05ru0lEKsq2OaoFsiaqfODQEv9rtTvs6yWzZ7LZgIVfyf7TH52T6ntFx8XBW1WgJT7TnZM2fbzhWnx/ksdY7nzR7Z/tlk8EDffvF+8Jllzx4lSx9HcPovTh8qEbhUqagLGbGJAqWPN0iDbd3F6Zt1M5faZvx7ZsVdyDYu3mf0uG3idTYBobjuVfIbzz7ZbnA+Kr0G27+J0yG+Ln6bONf+5pvJI1hWZpXu2vdbkk3LpWmk6ZZ+jRYKxgxdeeGGzr1HKvgPOJZuIUOpeK3W9i9OoON9l287GhpZLz1J5MbuOlaZD8X3WXNlS7niaun5Z/i5XHuXPt7nfl7sWldyLxdeMY8kHqy3ZZ7nrW8nf8prqFq3kGDoKAzFpB1AciG0vBZi2PipluvRp0WIZAfOO1LYcrC/tILanJ0htO4yrYjJMU28ykNR6tohJOwBuc2bzMT6peBFQqSmMJWTANGOc2npRT0kGYpIkScnYNSlJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJVL/hlF1OHW8YNaleCVJO3BLUqeq/70kvaMyEOug/j55Wbjo+cWpD0OSpCROHt03fPHgEaFjh2EGYh3Wyg21YebqDakPQ5KkJJasqwnbA9812UGtr60L6+2blCTtoLp0qgo9O1d1+K5JAzFJkqREnDUpSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUSJdUO5a2V4VCIaypqQvL19eGft06h75dO4WqqqrUhyVJaodsEZPaUCGEMG/txvCaG6eEg698IXzr8Xnxd5IklWKLmDpMK1NtIYTq2rpA21L3zp1Cl6rQZi1NbH99bSFsrCuETlVVoVeXqlZtu7auEH7w5IJw19zVYVyfbuH83QbH49WWqysUwooNtTEfDOjWOXTpVNXia7yuthBWb6wNvbp0ij/bsqVyfW1deH7ZulBTVwh7D+wZerYyj+1ouG6L1tWEKSvWh8E9uoRd+neP9+j2lrenrlwfFlbXhIn9uodhPbuYN3YgBmLqEGoKIXzp4bnhPzNWxH/v1K97+MohI8JBQ3ptcYFFQf+fmSvDdx6fH5ZvqA09O1eFbx0+Opwypm+Lts127pm3Olz6wpJYyX7/yNFhz4E9LFDbyMzVG8Krb5gSVm6oDb87fnw4bVy/Fm+DPHT55KXhxFF9wx9PmhC6bqNLQ974++Rl4f33zIqV7tcPHRk+uf/wbbPzDm5DXSH83x0zwi2zV4ZhPbuG216za9h9QI+wPZmycn04+dqXw/zqjeHk0f3CVaftHHp0ttzYURiIqUNYs7E2/GvqsjBl5Yb472eXrQsLqzeGm169a+jfrfMWbXv2mo3hI/fOClNX1W8bBHwEYi1Ba82XHpkbVm+sCx/ff1h43U4DtkkQViiEUBcKsaWlc1VVoPzeHoO/tRvrwrRVG8LamrqweF1Nq7YxffWGMG9tTdwOAVHYhu2VLy5fF48dLyxbt83229FV1xTCS8vXh411ISxYuzH+lArE4n1QKISaQiF0qaoKnTpVdZjW6HlrNob51TXxHF9avi62zvfYsmJNHYhjxNQhUGXSJYUxvbsGeqUeW7w23DFnVWxtaPV2C4XwzynLYsU8pEfn2OWF2hZukwrg95MWhwcXrAnHj+oTPn/QiNC1hV1nrVcIP316YTji3y+Gzz00J9Q5KK1dOnhorzC8Z5cwtEeXcNSIPqkPp8NgmMDhw3vFe3OvgT3C+L7dSn6Oh5EvPzI33gfff3LBFpUL29r4vt3DHgO6x3M8ekSf2CqvHYctYupwThrdN9w/f02YvHJ9+OOLS8Lp4/qFbq0suGjF+vOLS2Og94adB4Zb56yK3ZMtxQD9SyYtCbv06x5+evTYhoBuW+DYn1y8Njy5pDr069YpBpGdO0xbwI6BFsqzJgwIhw/rHa/XyF5dt8tWy62BB5qLjhsXFlTXxNbvQd1L31s8gDyyqP4+YJxVxwnDQhjXp2u4/TW7hVUba+P4sG33EKf2wBYxdThDenQJb5g4IP7/O+euCpOWrWvV0y/fuWX2qvD8suowsHvn8NbdBrX6hqCV46rTJobbz9w17DvIcWHaXOdOVWFMn25hbJ9uLZ5osCPjXurdtXPYuV/3OFh/e7y3OKchPbvEsa+c6/Z4jirPQEwd0pt3GRRbnVZsqAt/fbm+RaulGIdxyaTFcSLAqWP6hT22YABwt86d4sD8Ub27WYhKkipm16Q6pD0G9ggnjuoTrpq+Ilw5dXn4+P7Dw4heXVvUGvb44rXh3vlrQvfOVeGCPQe3qpWCsWFrNtaFZetr4yKu9JD27do5DOzROXRnsHALZ10y0H/J+po4QJnuVrphWBSWJ6b8trLlPNh/XW78HN0zzDJjxEwe59bUlP9soDNdtXTN1g8WroothXH/FZwHx1RdW4j/zZaG4P9zPPPX1sSB6v27dYotmnS9tNeANTtmfnp17hRbsrLfM9Z+0bqNYeWGutC1c1UYvIXpk/2eQdrrautiXuzWgrShG7q6pi7un3FF5b6XTehYtaE2LF1ff327569vUf5qavkP8knPLp3iPuuPvRC7Dcm7LF48tGeXkufAMRRCIc565RjYVi/yeI8uoU/X+u2VPc+6Qsw/3BP5bcdrUvjftckaxjnXDbVMXmn8iNZUvsuuOwsxr9xYG7fH7OeB3bqEvt2aPr7ia8yTYbY8SbY0DjMi19UUYvcq90CXTv9L84Y8V1uftky6qSQLZNdk6fr69Of8yVuDenSO/92ay3xkZR/7XltTiGnLw/GA7p0rmjDU6D7rUn/O2e/JU0zI4T5rVA620zJjSxmIqUNiDbHzdx8crp+5Is6Eu2HmivB/uw+uuAIjVmGZCYKnY0b0DkcN7xNnW1WCgmLVxrrYLXrVtOXhkYVr4xgxClt236dLp7jW0RsmDgxv3XVQrOyaOi62N2P1hnDR84vjbE1mcVIgU1AzXf/oEb3DhXsOCYcN791QWFEpvffumWHyivXx34yXw1NLqsMrrnu50QgxCq8vHzIinDq2f8l9U+ix7hnj7R5auCYWgFRCFKyMVzluZJ9w4V5DwkFDe4VOoXwFQRq86ZZpMU3/cvKE2ML42KK14auPzouTGKgwqHCPGtE7XHz8+FgBt0ekB2n70IK1Md3OnTgwVhb/nbkyTsjgnLj+XJ/hPbuG08b2Cx/ad1iY2K/p1lAmhJx367T6ltgTxsf0zHzvyfmxZXe3/t3DH0+cUFHacO3+8MKS8JOnF8YJLP985c6hf9H4KbI0+fq++avDH19YEu5fsCbONub6cvxDe2zKX3sNiePXyCvlTmHJ+tpw7i1Tw5J1teEPJ4wPBwzpGZ5Zui589dG5cdkWHh56d+kUDhnWK55f/sGIY31u2brw6+cWhdtnr4pBSZbHRvfuGk4e3TceA4PxS6XhxZMWh58+sygcNKRnuOTE8Q1LO/AA9K67ZsRZh9y9Lyyvn41Kfj7x2pca3Qfs6wdHjgmHD+/d6LgoC/jev6ctD7fOXhWXkiBY5PcEfcN6dQnHjugT3pPdA01c4xmrNoQ33zo9BoJ/f8VOcWIBef9rj84Ljy5aG689Qd0JI/uGi44fF4OLLM+9+66ZsSz54D5Dw/v3HtLkjF6CII7zLy8tDf+dtTLul6CINCBtRvXuGo4f2Tecv/ugcOAQjrltZlJnAf0zS6pj+clkqTlr68sr9jGoe5dw0NCe4YI9hoRXjOnb5EMF99Q775gRx/R967BR4bUT+sf0oSz//aQl4YnFa2NwST5lTOXp4/qHD+0zNKZpe32Ia632WRJKFWB24p4De4anl1THAfd0V/IU2hwK32mr1ofrZqyIhcc79xgcv7dqY6Gi71KZfeqBOeHRRWtiSwYtXzzl9unRadPTaW1saWNCwdXTloc/nTQhVpSlCg+2R0HNOkkvrlgfunYKYXD3LvEJkGCLAvblFevDddNXhBvP2CUcOqy+EqHSe2DBmjB905Ib2UxJAgQK/Dz2yjZOHbv5vqlUP//wnFig8yRPwUng2K1rVSwEKexfWrE+XDltefj8gSPCh/cdGrthS2HfBIIsuksa3D5nVTj/jhlhzpqN8bwIIlmw8uZZq2ILSnsNxGjQIE9NWr4upi+LiX72wTnh8snL4hIhtGaM6NUlBgGk60srFoUbZ60MfzpxfDhieO+ylQQtLWyXCohgKG9Ur65xiQYWLb173upYKTVX2ZA/CAxZJJbv9yjK+4VNLZxfeWReuGTTQwfXlxaLft2qYsXNfUAQzwPFJ/YfHj51wPDYIlNyf1zfxdVh2YbamCbkv7feNj0GmOyaQIcg/rbZq+I1zwIxjuOa6SvC+++ZGZcO4X5hrFf9PVcXl/UgSLt+xopwx5m7hXElZkWSzgRL7IegJVvagYCJ+yxbziRrGebaFN8H5D/WossHYuz/q4/MDX96aWnMs5QHtOplS+KQflyXF5fXp9GPjhoT3sZY0nLXeAPXeG1sj+b/Pz9zZXjXnTPi0hSkD/HjgrU1MXhasq6mIRCjVe/pxdXxHFm+opzswYmHpq8/Nj+mM0fCNeMBkNNfU1MbA2R+/vLy0vDR/YaGT+0/IvTssmXBWNay97NnFsZFqwnMuR5xAkWPzrFldu7ajWHGtA3hxpkrw9t3GxS+e8To2EpWar+cB+XF88vWxetCq/mnHpwdrpiyPLb0Dt10n3FdSP8Xli8MN85cEf588oRwcBusH9metM+SUKoABcB5uwyMT2cPL1wTHlm4Jhw3qrK1v/728rIYFNAC8erxzVd6+cKDp1uCp537dYutJaeP7x8m9O0WK5j1dYVYafzq2UWx4L5j7urwhYfmxqf4UouHUoG8755ZMQg7YHDPuNAnyxxQsBLUMRHhzy8uiRUZx5uh4PvHK3eO3QI8pTJd/7Y5q+JEge8dMbpRNyvVKk/FxYUqzf4X3j0jXD1tRWz+f8uuA8O79xwSdu3fPVYaBGK0kP3s6YXhoYVrwxcfnhs/xxN7c10EHPe3H58f13w6e6cB4b17DYnHTKHLUz+FbEcwd83GGGzQUsIYwM8cMDzO2u3dtVNYuq42/H3y0vCDpxbEa851vOmMXcLwFnSRg7x3yth+8amfioz18l4zvn+stMvh+hHUkfe5vm+cODAGWXkEXh+6d1a4/OVlMT+cs3P9daBbn8/yd1r3fvHMotii9c3H5wVi7M8eMKKhO7b0zusXIP3FMwtjBXrGuH7hA/sMja23BBE8qIzs9b/rSyX6wXtnxSCMlq8vHDQitnyRlwgGafmgdeWe+atj4NMSTH645rSJsSuR7kvy6GOLq2Mr9xcPHtmodY+1xQ7JtUKCh4WfP7so9OzcKZw1oX84d5eB8TNZgMSDCpU/1zgGCg/MCfsP7hl/miszOC+CYIYavGmXgeFdewyOZdazS9eFp5asjQ88LUWgSQsorcyUD6Qj1/T4UX3j8jsEYouqa2JZ8JvnFsV1F7/52PyYzt86bHTougWTuQkWuae/++SCGCidMKpP+Mi+w+Ki2gTVBGnc3xc9vyg+5F48aUn8zq+OGbvZQ0KxmbElcVp8CKEM+8yBI+KDNl2WBKw8KP746YVh0vL14f13z4oPpQTz24vt50y0w6EgfP3OA+INSpDy55eWxjV4mqxENhWuf528NP7/N+8yMLZwVIoAhMUk6c4haCm1DAGtExTm/PaKqctjoTR5xbrYelfsplkrY2XKWKNLTxwfg7H89kZs6hr88JLqGPjlj4OALeumuOylJfH/U7hT2ZVrtcpQYP/82YUxwKMrg+CNrqF8V8LQniEGmGzvgjtnxvP41uPz47/LdSGhti7EimL+2o0xaKPbIRsTRaH9ll0HdZjFNWhJWldTF84Y3y/88phxcZmB7LwHdu8SPnvQiNjC9NH7ZsfAiDXpOOeWPq2TZ145pm9smaG7h4CM2ZVN4drRisl3Tx3Xb7MxhFSEf5tcH4R97dCRsdLkWjdcX9av6tMtnDSqb1zx/+9TloUfPbUwTlwhb5UdSxXqK2SO8Z27D46tRNmL7ek6JJipyh3H3yYvjS03LO3yhxPHN2odHtg9xK7JV47tF9OPLv2W4NyyFi4ekigLQFB48pi+DV355XC/vHbCgNjSe+Tw3puNIWM7rO+124Aesdt90aagYP8jRze5XY7lSw/Piy2fnzxgePjywSMb0p60LYSW3wOkJQEW9yBBGAHwb48bF9Mvf8yje3eLgSKtqrS00zr/y2cXhWNG9okBfmtaktg3XfM/enphDHgpK75z+Og45rPxvruGY0f2CV9/dF4MXkmrV43tF8vppvb72+cXx5Z0FsH+2dFjGp0T99mXDh4Z+nTtHD770Jy4fiQPuRfsUflQlPbOWZPq0Hbq2z3e6GB8FWOtmn+dEYHR+tgq8+ZdB7Vof7RS/PioMbFgKDdDMk6379Ipjhui8OUp//FF1SWX2KB1iG4MWlv2LhHc8G8qG8amDOjeds9NdLnxxEyX5v/tMTi8d++h8f2dpfZPoPr9I0bHxUizgLcpBIZUvGeM7x++ceioRtPx+W/9OKSOUYDS/feaCf3DH06c0CgIy1DRv3W3wWGfQT1jgEKwSitAS/HsQABDIEDLC917TS3JQmtm9rovxuKMLmqFI0j6+TMLYwsKrbYf229YbGUtdX0JJL9zxKh4fnTpEXw2dQocF+MYCeB4jVcWhJW6vuTtrIvwyBG9S3bR8+8enTuFw4b1LtsturUQNPz9lTvFhx0eXsrdzwTJjG0ELX71E2LKI1jhGrx+54HhiwfRLVg+jVqSFwmA6U7dvX/38OtjNw/C8sfMWmp8hoc5AnZa0gjgWoN9f//J+fG/pMO3Dx+1WRCW7ZcyjwcUhlGQTgRZzaXX2pq6cM5OA8LFJ5Q+Jx6uGULCQzCbYqhGK0+lXTIQU4dGBfb23QfHm59xR8ygbKoCo0CiG4SbmFYOntJbUiDyWSrL5rrm+NzuA+rXPeJopq+uH0xfLJsgQOXdeJ7j1kP6XDt9eazwGYv2wX2GxbEeTZ3LrgO6h1PG1Ae8vPMve1VPmS/ESp3gjcH5HdnBQ3qGXx87NrZYlssn/bp2it2VoIuScUstxbZpkaGrnJSle5Lxh+Wu3yOL1sSxe+RFAq18IzB/v2nmyhhsEyR9ZL9hm3VbFu+bF9TTWoI75q6KgV4TX4iV+w+PLD/+538HE+K4OvDf9lZ3ch9XMoOX9Mu6NWnpbTL/o6oqli3fOby+NbgtENAyVIAjff8+Q8PYEg8GjQ+hKuw9qEfsFsXDC9eG55ZVt2rfjy9aG/dPOUHLalPXnd9zTzDUIfvurGYekI8Y3jv84tixTW6XBwYCZjCWjq717UXHLiW1w+OmPXxYr9jlRSF/+ctLy1YiVFAPzF8dx5Px2pR37jGkUQXW1hh3wgBaMN6qlH0H9YwF67NLq8OdW/i6pkoRhLKQLXuiK7S52X7gLHjNTDaegy6actjSh/YZFoOKjtLyVQ5P9c2tgp8F3SAIY3X01mD8EN1JYCD81FWlg3eu27+nLo+tDIzno6Upf3zktJtnr4yfo6W1qW7khnOI17d3/C/j4uatbbripGtq3wrGSXF/0VoIZhnT/diRXj1U3DKMbJmJJj8fQvjE/sNi137bzFYsxHGKjMOiO5W3iVSyXQLNMycMiIEkweMD89e0OP35/O1zV8XWNMY/Hj2yT/P5adN4PJZIYfweEx6acuTw3rGHoqntZsNCwqaJEKtbeZ+1RwZi6vB44mQmE7cws6/umlc6oKHsjGN+agvhyOF96sdxtVGgwP7qp8L/74cjyAK9cmUfEwUYF0Og9q67ZsbZUFTmW7OyWp0rGCnYaI1jxlNTP6QZU9M5HZ5E6cIqh88w862jB2Go9BQYx8JHqaCbq6SbcvbOA2MrIul7w4wVJfMBg5cJtMAA8+LXaXG9Ji2rv74EamyhkuvLOZBfWc9s8bqmKzla0Cpb04lJIIPiQHIG65936/TYfcs+23NAVup+bu5ezuOzpFFb3QNkKdY9BMEdwyIqRR6gNSlsKh9bigbNJxfXt6TRbUh521x+4qd3l84xAOTYWdqmKVUVHks2wWF9bV0ch7e9cLC+OjwKO8bxfOeJ+WHm6o0xmHnVuP6bzVJkmjzTxhnnxUDPbC2i1qJwZtZjNnuNGWQ8qWVdMRs3jRNpCgUbs4oIwvj+hXfNDL95bnF83dKZE/rHAduVLLbZEowxYbYlrp6+PL6frxIsvxCXii3UV9ZqPCMPrLHU2uohdiUN7BEOHdordg8yIPl9ew9ttCQLwcF989fEZU1obT27xCBoWj4Wr6vPd7fMWhWOv+alivbPAwCVJltrq+vLobHe2I+OHBM+fv/suCTIubdMC0cN7x3ettvgcNq4fnGtutQLdWYLo9K1zHtb6fZdVL0xLhOTXdEXNgW3KdAKx7hLjOldP0O7UswAZUkcxncyi5n7tyVFH8MnaCXNZkOfXLROYTkES1kXLgPx20KXhsWVKwuIOwoDMW0X6D7ipcpMRb9jzupYYMSuk01/r59ZuDS2NFDZnTq2sqb9pgYr//KZheGfU5eH2as3NAzQLt5ic2UFx8Bg6xvPmBi+98SCcO30FTEwYjwGgeVrxw8I7927vhuouRlglYqtNpuCRQpnlmGoFBUAwSMLmaa0paON2rzab6MN0pXDUhR3zl0dnlhcHZ5bWt1oBiOX7cqpy2J+Y+HUvUvMxOUBgC4ssHRCS5aE4PqyMn7x4P8tQZDFg8VuA7qHbz++IC4Zcfvc1eHOeatjqxHn++49B8fB5SlaUQkYWMPs588siq1O2cKoyB9Nynqfe5ZWJrAgbEuSiVapLJiPLZEt3Dd5bu2mQIqW+2eXVLfoAYXxYlxblWcgpu0CxcxbdhsUB+LTKvW3l5eGfQeNauhbYhFFlhbgX3RjtmYNnywIYxHC82+fEZ5eWh0LOWY0HjOiT+wCyL+qhVaFLz88L6483eSxV1WFPQf0iKuR8wJy1n1ilW/Warpo0uI4cJt1dZhiz8zGLcXhZeX4O3YfHJdbaAkWYh3be9sHYsycyo6bV8W0FFVJ1m0YJ1y0w0U0yAuvGtcvzlBlEdCrp69oWKYEdPGwNh1HTgBD4LbZNhr+J8S1wz574IgWHQPdWARIbYl7gpX7rzhlp7h2Gcsa0EVJyx5r4HG/fuvwUXFR5m35QnQCE9YeY8V/WsR4yGDSAuvu0VJHPsmwfMNlLzc9Y3hbiK9yasHns1Zs8Fqu1si+ddiwXuFXx45rUYsaXZm8sF3lGYhpu0AFxto5rO910+yV4Yqpy8LH9h8W1wEieKILjkKflZqpwFr75M2q4u+7e2YMwtjWj48cE7sQs5lR+e3yXr8fPrmw2UAs+x4PrQze/87hPeNAXyrhHz65IHaTUFl0r3Ax1eawHZYLoIuShUkrWZyyPaArmWNfU1MfkHBdW3LcdBkzvgoE4m0Q024VdD0xC5OV/Jndymr3DOTnfBnwzut8CBJYtqXU+Xfr1Cm+I3NJqI3LJrSX68sxcP0YmM0suc8dNCIGYKzUPmvNxvCBe2aFfl07x/tpWxwv6ckwhl88W7/Mxzt2HxS+csjIhuEA2TFnWCg1VSDG4rfZ0h7k4dgtV2ES0S2YTSDhlVYtjXOz9+fW//+quOBqc+sUqmVMTW03aJ1iKQsKC167wms24ou0a+pigUuLCN2XvKusNdjWzbNWxq5DgqZvHzYqTg3P1slqi8oj287Qnl3jStz/OX1iXCSTrkRWuM9e5bIlKFQHb3pHDDMgO8qYV9ZRy2auPbO0usXHzRg3xuFlkxTShyZNrylGHmNV+kcXrom/pxGQ5VnIxwRqrCpfSq9NL97GrNUbW7Wu2daUraNFwMNip1edNjGM79M1PhiwCGhr17pqqZUb6+JaehtrC+Ho4b3DT48eGxe4rX/hdvta646yjeEXmL1mQ4uWbli4tiYGkWBx2qpWtESP6dO1YSjD9rRsRHthIKbtRvaqGGYhUkn/6cX6GZJ3z10dZ/3QbfgOVmPegn3wXjte70FAcNrYrfvkni3K+Mn9h8cblZa1aSubW7C2+e2y2CzLGmSzqFr6WplUGJzOwG86W3jFVHMzsYqDaNZgYg0oAhxWGW+vuO50dZOPCcD/RfBVKMSg+d75q+Px8wBQrnuIlkNaVsErh7JWwPaIgIzJCe/ak5dc1weeWdDQUiRHw4r+FXTeMbZzKvdTnOwzII5lak/BVx7Xuj7v1wfXU1dUNnEge5ctQS7j/5p6F2o5lD0sDwTuuez9tmo7BmLarrDw5ht3rl9IkIqXQujiSfUrOx8/ss9mrxBqqfqgpSr06NKp5PicfAHIjKEtnX3GsdLywbgZgqxyK1RnXQU8rTbXoECLy2l0a21aYZ/3u7XnpQTyx817K2mxYAYZky8IUCqxtqYQZ6PSOkRw25oKaVui6zRbYJXXYNESSpc7r+ea2L97DNTKLqgZQpyMQvZk1u6trCnWrq9v/YKyHDcPOdkix62RLVzLoPLmNsP4MCY28A1WiW8K+SybaZxCnNQzul/DO0L/MWVZRXmfMujPL9W/KYF3jO5f9M7ZSvd9Iu9X7dIp7ps17Cq971QZAzFtd+jWoSKj8v3Sw3Pj+9kYdMtTd37wbWswiBq0MtDNVaqC43fMzvzkA7PjuLRyNtTWhTlr6BqsX7OoFH7PYq9UGIznyron8qpyx8VaTcuaqTAoWHn9EOsRsV1em8Iq+81V1vl1lVLguAkw6t/VF8KPn14QF7ls6ng4ZgboMw6IgITghFmoBOztGed6zs4D49hD8hnnSQXImZ45vn+Tk02ymbh0vxKUf+/JBWXz6ta+vgQCtEI2tW9ar5gAwydoaW7tRBqubdYly/ky+7G5ZR2YTch+s/2XQnB49bTlcUB/SiyoXL+6f/3bQXjIbCpdec0S6ybSikravGevIbHVrzX2G9Qzvg4Kv5+0OE64qCQ/ZXmqfT8IpGcgpu0KlRAv6OXF1LhvU7M8A0x5qtuyVpCqODaHp1K2yfISBFxZIZMVOnT3nXfrtDj7sandsTzB0Ve9FF+QzXIY+QKL/1IB8IJb3hHHb2kF4bUmpc6ZAdnEmLxkmLFxWWUa10eqqYtBXx4viv70AcNjYMpSGW+/fXpcDy2+hiZXaGaFKRMP7pq7OrznrpkNY+9SYNA6LxHn1UwsOvq226aHXz27KK75lKVf9sO5MFbwUw/ODl97dF5sDWNGIm9UaM+tYRmWLGF8IMHUD59aEN8IQasEAVpzCGg+d+Dw2E357NJ14a23TY/Xudz1ZZFf1if74D2zmn1NWEtcP31FOObqF+PSEPlrlO2b42HcJa2bYAIC17i1DtjU4kMX/p2bFnbOfggK84uA0tKcrfp/xZTlccmQ4uNjbbWfPr0wvvS+qUWMtwWu/RcPHhHHePJmC2Zusy4iy2/Ec8xdTx7GfvTUgjjJh3iUB5i37jqo1fme1v8vHDQi3ne8Su5tt08PN89ipf/GC/Nm+6fMIbj93ENzY/qpac6a1HaHMTTn7z44XDN9RUPXA/9u7dNghjLsuFF9w6vH9wv/nrYi/GvK8ti1R8W4c79usTvkvvmr434Z50KrBMHRTbNWldweK/osqN4YvvnY/PCHF5bE4PHQYb3iCucMLKfivWHmyljoslzElw8ZUfadgceN7Bu73FiQ8rMPzQmTV66P66UR4PFyaF7sTQDyv3OpiktXsEQGleStc1bFhRpPGNU3PnmP6MXsqqrY8keL3EML6t9tyJi7vQb1DKeHNDhuguFfHDM2fPS+2WHhuprw0ftnx5l3LI/AuCpml5F+vFePl6pTcZBsvBbmt8eNi+9f7AgIopjhS4BE0I5jR/Su6NVC/J3v8nJ7WsTunb8mnHL95HD8qD5x1iItqwzCXrquJjy/bF28vry/r3rTa2zaCnmcYPjjD8wOv3x2UXx5NmOdmOCyuLomttYQiDFwfr/BPeNM56otWfpjbL/wnV5dYgsvszAZG8orvBgLdsPMFTGYYDwYenauCp/af3h4asn0eI+98ZapMc1IH15Pxr3EbGtaf2il4x2Lv0rYKlb/8vF+4RuHjgpfeHhuvMfPuXlqOGp4n3DMyPprSnk3ecWGcOuclXEtReJO3s/4q2PHbtF7X9k3L/vm/aIfv39OHMt39s1T4htK2D5dy8zsJHClnCA/MaGGB1behdqCSZ47JAMxdQj5gbjNPdRRaFA40ArGAo08+TK2qKKnwU0fKfdJCm+CAMZssfgqL9LlhyIuPpGyzlb3znH5ic8cMCJ85qE5ZXd1wOBe4bMHDg+/fX5xHPP0p5eWxh/2nT1j0mLFKuQ/OHJ0OHhI+VcysZQGL9l+/z0zY/fkd59Y0LAdghAC0VJPud84bFTswvrBkwtiUHbltOXx53+DnuvRtcEirrwo/Q07D2gq6ZpMv7ZAgMhgdYLfbzw2P7ZkTFm5If7EgUENO6+Kx83n3rPnkHDhXkPjWKBK8kFDXqvwmP73+SbeSZn7b0XHUFUVTh/XP3zz8flh4dqN8d9vmDiw4jdCkHc+f9CIGJySH3izBA8J/JS6vrSivWFsv/D23QY1fQItePUTLTGkPWOayF+Tn1+/2b45nzPG9Qs/OHJMnLXYZNrk1sArhfFzzGb+5ANz4j1Fa3N2H5AehRJd9D87ekz4yiPz4ucZR/jb5xbH79RteqhjPCHbJMBnlmUzh9fyzNPoy02nLeXOBza98Ju8z0MSD1H85MsN/j+vleLtBbR8s9zJlrYCc98xK310726xhZkWVoZ98FN8TSkP+28a5/jJMsF1S8r0bV3GbGtVBTtv1QHQtca4CJ6uz9qpfzhiWNODrcnWvCbmv7NWxUCGtYmaW3+LbhJmWvK0xyuTjil6mXJ+26xcTusX3XS8toVuD7pUmAHGS3Z50TIBEKuI3zx7VXwnYKkB4nSFMI6MY2XMBzPjaHViPBgvzT55TL8YVNKK01xByrZeWLYuXDF1eexmZDAyy1QwtuNNuwyKY2LKpRUtAnQ93juPoGZ9HJTLoHi+v1v/HnEVdwJBnro5r1LHQvclFRWtG+/ac3CY0HfrLuKYXQe6QEjnp5asDYvW1cZ0YD0qKmWe4unSHd6CioguYV4ez2ureBco6dfcd7luv5u0OLY6vH/voSXTmtYn0ocJF4zXqeR9gRzLNdOWx5eAD+7RJY5zzJbwaEk6LV1fGydl3DN3VXh55YbYFcn1paWHhYgZe3Tw0N5xQVOCslLnSx7/7XOL4sQBWlMZAlDJvulafXnFuniNeGhhAgEtN/27dg57DeoRThnTL94bBGTl0vn++avD1dNWhD0Hdo/BRVOLvpJmTy2ujm8gYJgA6c31pyX19ZvG3ZW6B1lglpdi00pNa+HOfbvFV6XxPe4/0pBxYuSt9+w9JK7FV4wuQYI5JulwjQlaKsF4rr+8vDS+SYHyg/UQmyvfWLiaGeGsLUfrGC3yBJu0ZrPwKulKK3m5+7W16ruy68KDC9eEO+asii1v2cxrykAWb2WWJa37jEPlmErtn/L2speWxPeivo4yvYIJNFNXrg+XTFocl7J5/95DYsvq9sBATB1CcTatpGDJf6eyz8f/rfg72fZp/qfwp/AuXgiy0mPIPkelRcVAJZnVNS0pRLNzqB8v8r+XjrckvbLz4TuxUq7g+PPfz2yrcVgNY3o2pV+hzLVo6fZam9fKfae16dNW6dpwfTdV/Nv6+mbfr2nFNWr5vfy/PFHpfZCNs8pmHWev+Cx1L8e2zxKb2tbXuNQ9W3zc2+S+I1NVha2enwqJypitzUBMkiQpkY4xalWSJGk7ZCAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiIGYpIkSYkYiEmSJCViICZJkpSIgZgkSVIiBmKSJEmJGIhJkiQlYiAmSZKUiIGYJElSIgZikiRJiRiISZIkJWIgJkmSlIiBmCRJUiJdUu1YkjKFQiEsrK4J01ZtCMN7dgkT+nYLVVVVqQ9LajfqNt0jLy1fF//bvXNV2Klf97BLv+7x/+8I98u6mrrw3LJ1oXNVCHsN7BG6dd4+2pIMxCS1C99+fH74zfOLw3Ej+4T/nD4xVi6lFAr1/90B6p1kTOP2lc5rNtaGnz69MPx+0pIwd+3GUFtXiN/p1aVTeNMuA8Ovjh0XulZt+2u3rfPJIwvXhNNvmBK6dKoKd5y5azhgSK+wPTAQkxJbX1sXHlywJqyvLYTDh/cO/bt1DjuiNTV1YWNdIf43K+CLW81eXrE+/HPKstC7S6fwtt0HhyE9LMLaEmn86KK14T8zVoSRvbuGt+46KPTu2rlDtKY+uaQ6RgYHDu0Vhvbo0q5biGjd+u/MleHBhWvCvoN6htftNCAGF6UQdH3niQXhu0/Mj/cFrcXj+3YL1bWFMGXF+nD3vNVhbU1dLDdWbagNf3l5aVhYvTG8ZvyAcOCQnlstHZaurwmXvbg0rNxYG87ZeUDYY0CPrZ7m6+sKYV1tXehSqAob6koUEh2UpZiU2OQV68OZN04J1bV14W+v2Cm8fueBqQ8pvRLlOcXud59YEP7w4pL45z5dO4V37zU0xdFttwiEP/3gnHDn3NWha6eqMLFf9/CKMf1Ce1ZbCOETD8wOf5u8LP77bbsOChefMD50ab9xWFi8ria8756ZYebqjWFIj87h0KG9woR+3Ut+9qUV68Nvn1sUz/P/dh8UvnP46DCoR5cYoNE6RjDGgwnunLsqfOjeWfGzDy9cG645beJWS4drp60IH7t/drwvX16+LvzxpAmlbltVwEBMSqymrhArwNq6+oowxf6nrVof2PVOfbu1j3EXZZJh9cbahj+vrdl+nojbC/LAmo118f/XFgqxlba9m7F6Q7h51qp47PjvrJVh9poNYULf0oHN1miRW7SuJrbKjejZNQzu0bnZliHu83Wb0nZDbf39X27bt81ZGZasr42tfF84aGQY1rO+tY9Aeed+3eNPhtbk+k0VYivZ1rx6seW6/ijj/1frGYhJO7gXlq8LJ1/3cqwQrn3VzuHYkX3bZYsYvzp/98Fh+fra0Ldbp/Cqce27paYj6ta5KrxnryGhz8tLw9g+3cIhQ9v3GBwClRtnrIgtTMN6dAmrNtbGgIhuP85jW3RPEvh89L7Z4appy+N4LVrjmuvMJah6715Dwl1zV4fDh/cKY/p0K/vZJxZVx//u2r97GNOna5PndPSIPuHciQPDonUbw7v3HLJVWwVfOaZveN2E/mF1TV24YI8htoZtAQMxaQdHqwdjS3gqX7upNaQ9ogI6fVy/cOrYfrHQLzOkRlugU1VVeOceg8Pbdx8c07cdtI02iValK6Yujy0z79pzcHhgwZpwx9zV4Yqpy8I79hgcepSZ8NGW2DcPBxwL/42/aGa3XTt1Cl85ZGTsQuQQy32cu5HuRwzv1TW2gjVlTO+u4S8nT4jfIwjbmoEogeE/T9k5/v94Du14TF57197vM0k7ojJ9KhT2DGru3GnHmK6fQtbt1bmqfacxrWHPLasOjy9aG8cLnrPzwPjDET+ycG14Ydm60F6RrJ02pXOnJtKZ1jbGjoKgsrmrwXa4N9ju1r522b3IT3vOJx2BgZik9sdyXRW4aury2DV24OCeYY+BPcJp4/rFmbSrNtbFrkKCtY4uOwUr6+2XXZNSB0CFwjiYqSs3hNG9u8YfnkLrf18bnly8Ni6GSvwytk/XsP/gXmF4ry7x36WeVlmXaM6ajbHhacaq9fG//MxeszG8uLxxSwKtDaN6lR+bwjHQxTJr9Ybw/LJ1Ye6ajaGmUAiDuncOuw/oEXYb0CP0bKMFJxmA/Pyy6tC9U6ew58AeZaf8Z8fF519Yvj62jizfUBvXJuNcmP5f/F3+xVidcseaVepL19fG85y6cn0c2M5aThP6dQt7D+wRBvfoEls4msIgeNKYY9t7YM/Qs0unuG3mHjAD7qkla+Pg7H5dO8UlAfaKn2lZ+rE9znfSsnVxVu7qjXXxOu7Sv3tMtwHdyg8oX76+Js7UYzkEup/KnQ/7IEWWrqsNk1eSHhti1xzpOqJXl3jsLLWwtVpnVmyoDddMXxGvG8s/0GI0rk+3uA7dldOWhaunrQgf3394RcvBcC7MYJy/dmNMI65jloYPzF8TJwSQflyvfQbV5zvyO92RzF5cU1M/iYQA8MUVLDj6v/MlgBrXt1vonpsEw7bnV9eEGavq72e6FLM0In/MWrUhLtUQhwtsGgjPMhEvLl/faM0ugk7us+y7LIvx0vL18bOkf79mzp3jYBmIaSu5d6vj+DquN8fEeY7u3a1styOTfBhfyiKr5KmmljlhPyy3wfmyIO2C6ppYRpAPJ/brHoNo8vuO2rJmICZ1EN97YkH4xbOLwut26h8uf8VOYeWG2nDx84vDRZMWh+kr14eNm56cGRtCAfrevYeED+4zNE5tLy7gLn1hSfjCw3NjRUrhnc3gYuo7XRt5rGB9y6t3LVmo890nFq8NP3xqYbht9qq4tlA20Y6tEKQcNKRn+MT+w8Pp4/tv8biV22avDG+6dVro17VzuPes3cPE/qVnxlGBXTd9eTwuApvqmvqgAVQsPTqTJo2/QzX5wyPHxLFG5WbG/fa5xXGdJiqU/DpGBBvj+nSNkwnev/fQRpVjscXVNeHVN0wJC6o3hqtPnRheMaZveHbpuvDtJ+aHm2aujJV/NsyIAOzQob3D1w8dGY4Z2afZII/jJEC5eNKSuMzHlJXrG818JBDduW+3eJzv2nNIyeP804tLw2cenBPT9t6zdgsDu3cpGXg/tmhtuPSFxeGW2aviOCYme+TTmPxywqg+4UsHjwwHDG7b9ayIiVl7j4CRyvy0cf3ru+VCIZwzcUC4evryGCSwAOjJo/s2u2+C4PffPTPcOmdV+OLBI8IXDxoR7l+wJg7C5yGHv7MF7qWLTxgXr8Urr5sc5lXXj9+q3hQs3TV3VTj83y822jZp8YcTJ8RgseH4QwhffGhO+MvLy2Ir3pWn7NwwsH7mqg3hhGtfigF/fts3zlwZ7pj7QqNts80/nPi/yQEExWf+d0qYuXpD+PnRY8OFew0pe84EkCx38aOnFsZzZZxoXe6YB3fvEvMm9+4BQ3pulvd44Dr1+slhGeuJnTyh5LI7WcD5t5eXxvX/eDBYnZvZSWdr985V8WHtw/sMDW/ZbVC8N3c0BmJSB8EUcSp/WjcoaD94z6w4VZ9g56gRfcJO/bqFJetq4vgYnuC/+PDcMH3VhvDTo8aEHkXTp/p27RwGde8SqDqpQKtramLl0Kdr51j55/HUXWrMMwX5ZS8vDZ95YE5YuK4mfm//wT3DTn27xyCHY6TgvWf+mvDY4mnhMweMCJ89cHicmddaBIzragqhS1X94q+l8KT+o6cWhG88Ni8uccF0/xNG9QojenUNy9bVL/xJIEWlQ5FP6w0tHFQ0zMYsVZlwHhfcOSM8tHBtHMQ+vk+3+BTft2unsGRdbZi0vL5F6CuPzIsz4agc860cjY6vUD/dn+CQ8T//mro8rsdExUaLzkmj+4beXTvFlgOO9a55q8MbbpkW/nzShHDKmPJBBcdJQHThXTNjviBYGdmra9htQPd4nFTstJbQQvj5h+aGm2etDJedvFMY1btro+3QAkNrDK19pVav4Fes8v7Nx+eFFRvqYksUrRoEeOQfHhBoFSLvXTVtRRzD9Y9X7hwOG9arzYIxFk6gYicPsAjyxH71sw7Z/gmj+oYxvbvFe4DPkJ7N7rUQwuqa2nh/MWGFwORNt0yLLcTMcCSNlq6riUEFrUZdqqrCoB6dw/q6+iUcyHO1tYUYkA8kuM1tms9m63zlrc7dz/lkZhsEQfGwCiFspNWtUIj3DYFz3kBaNnP/5nO0dhN8ZwFcKaTbL59dGL76yLywktbSLp3CgUN6hZG9usRrz7Wbvmp9uHzysnDbnFXh18eOjUFf/vpxzuSV7J4s5Zml68J5t06LLch8leU9DhraK96TDH3jGk1ati48vaQ6vP+eWbHMIHBvqqV7e2QgJnUwVLbn3To9PLRgTTh2ZJ/w7cNHhYOH9ooFOLEJa4J9/L7Z4fqZK8MfXlgSjh/ZJ06rzxeiPHmeOaF/rAAoBE+/YXIsnClwTxzdePkKnlgJ9oor/WunrwgfuXdW7I45anjv8M3DRoXDh/VuCPqoDBhMTWF/w8yVscWHLg9m5W2tLgiOiwDjm4/Nj4HOq8f3i61cBAqU7Zzvouqa8JOnF8YfWvQ+tO+w2DrEGdKKU3xspPfb75gRW4B4DyYtJiwRQCDLR0lzurQueWFJ+OFTC2LF9eF7Z8XZa82tSv/PycvC9TNXxIDncwcODx/YZ2icHVe1Kf1Y4f6D986KXTmfemB2OOg1u4ahPRsHThmCO4Jz0pqK/2P7DYstIgSgnDuB86w1G8NfXloSfv3s4ji78D8zlrd4UVwq3r9NXhqDhHfsPii8c48hMQCvb3mtDx6Wra8Nf35pSQxMZ6zeGB8Krn3VxM2C/Naat2ZjuHn2qphOZ+80oNFsQir5U8b2ja8DumnWyrBgbU18S0ClCAbee/fMeE05vy8cNCIGtARMTy2pjt217OPmV+9av/5foRDecuv02JrGvfPHE8c3aj3i0GjBrRT3yB1n7hYDdoKds2+aGgPD08f1D789blyjz3JfVrXiHvnH5KXhCw/NjdfypFF94r27/5Be8V7n+hFM01r2gycXxIcPWs3OGN+/7GvHymENNFomCcLfu/fQuOTFsJ5dGx7syOOPLFoTPnLv7PjQwT3JsjRHDO8TdiQGYlIH8+Ti6ljhvXnXgeGnR41ttIAkhT4vAf71cePCi9e9HF8J9LtJi8Prdq4fQ5Oh4mJ17pAFH5u6wmg5YXxMc+atrQmfe3hOfJom0OONALQs5YMYKt2Dh/SKLTlvvnVarDi/88T8WKG0pGJsCVoYfvbMwhiU7DGge6y4ise3EZh87ZCR8Yn/n1OWh98/vzi8Y/fB8ffFCF7oEiYIozXiTyeND68c02+zipaxZXRn9e/WKXzqgTnhPzNXhv/MWBneMLFxK0IeQSEtDrSgEAC/ceLARi0BpN/rdx4QlqyvCR+4Z1Z82TEtXbx2qHibVK5XTFkWrp+xInZxfeWQEeFj+w1vNL6n86aWK1ocThvbP3zygdnNjiEqpXunqtjlzfi/w4b13nwMUVUIQ3p2CR/ed1gch/jjpxfGZSVo4aOy31Kc662zV8VgbGjP+u6z/P75f8yepIuVFq3b56wK5+3a+EGkKf+etjy2El+w5+Dwk6PG1Ac7tGp17RxOyeWRLO0IlrJAsBv3Vfcum3XvtwT76r+p5YtAL8sTpHtTXd6V4sHia4/Oj2O2jh7RO/z1FTvFB4yG7VaFWDbQAnb8qL6xZZnr2JoOw+NH9g0XHz8+bqtft82HSJDHjx3RJ/z6uLHhtOsnx/Lk31OXxwe6HWm82I7XGSttB16/04Dwy2MaB2EZ/k232Jsm1o/ZoMWLbq+2QkX498lLYzcX43N+cOTozYKw/LEQaFD5U6ExKPim2Su32mw2KgzelYg37TKo7CQDnuz/b/fBMWihe4RAqxQC2ctfXhor9w/tM3SzICyPyveCPYeEQ4b2jhXon15aEscWNYUB4FxHWixLdcdw7Iy9obuXljfGY5XaJIHnb59fHPdHV9179xpadokPjp8WihvP2KXRuKVKcZgErkcO793k0gUEaG/eZWCc/EAX1rPL1rXJdSdt6XKk440WYRaezavadH60XJFm/5iyrNnrkEcr0ZEjeodvHz66IQjbXpD+/5qyPI4d7NWlKnz90FGNg7Acfkfg94Mjx4RLeWVUK4JL3nV5/u6DYmBZLh2rquof2GjVx+OLq1t0vbYHBmJSB8NYsB8fNSbOBmuqcKOSItCg65AZXm2FiopxTZSVJ47uEw4Y0vTYH/520JBeYc8B3WPlSQvF1ipnCTjpQqLOYJJAU+nDYHRmLNItOG3l+pKV1n9mrogzGAl437Ybi5w2XRkx1oYuXzyxuDos2jSYuxxWV6clrKntUhkyWBrMgCz1smPG2TyzpDoGjLSYEeA1daScP+O5WvM6K76b/TT3OYIk8ilHPG/TwqRbiuCYFjauMQ8kpXrL2Oerx9dfh/vmr44zXCvFg8P3jxgdBrdB61N7Q965Znr9vcuYMILp5u5dWvv6NlHWNKWSfAL2QQsrmB2+YdPaaTsKAzGpg2EWG92HzRVwdP8xZZ6uEwbxt2Wwky2WefLofhW9RoVxY1lB++Kydc2/U7OVkRrbZdwXh5RfLqCUrDsWpYp9DpGB92AJCZYFqQTT/gkOmEFKC11TeNFzc91Y/JVlIMA2S6UdrYB0NTFOi9fctJcAggq2x6bxhevb4H2E2dhEZpaO7tU1dp2Va82htY9WHyYpXDd9RcWtcSeO6hu7XNtLGrYlghwGzoMHtW3x5oFKVDFRpmun3D0cdiiOEZO2U0wDpzuBMq0tX97M2Cre6UexSTnO0gvNYe/ZIbC8AsdTNAGssVbWDwSoBGB01TEzksq35JpgIcRZjnSZcR505Rbjb1lLCmO/WMOpErSgsUcCYAattwVarxCXiCi6lJxjtvYbM/kYWL6tZeugra+ta1SRsq5YFgC1RQ7kujKGC8yGZK28cvYd3DOup0fr2ZVTl4X37T2k2ckT2bil7XXS3vy1NfH+4/T23PRgtC2RF8gb9S89bzwrd33uHztYHGYgJm2v/leZ/G99p7bAelrZGA6WXcgvXtkUKmnUbcWClpYjFuRkdtu/pi4Lb9l1UOjVdfPj21hbF/768tJ4HixPQPfq5sf7v0CKNZxun1PfOtYcZtGxXYJU/n9bXsts4d28bCZo1iXXVjMTm5OtWXbf/DVxpihdo/OrN8ZlE7I6ldbJthqfyP5YCuPZpdWxFZaJDE21eTI2jVYxAjHyAz8s87Ijy1pUyU9xdu42aPXLgnQWjGVGM7Mwp6/cEB/mOJbCps+xHtmOykBMUovkn1yZaVhqjaRyqABeO2FAi77TEnRvMO6KJR8Yi8aSGZ86YHhctTvD2mK/m7QoDvjGOTsPiOt3FYvLB2wKpBgjw8D/lmCb+w6qH9u1NXGI2YK83Tp1qjgw3hK09jFDkxl1TAahoiU4ojWSmYPZIXBsbdXNxGYYm8i50kLJmyRYXLcpa2tqA5eebtsrpy4PRwzv3ew4v+3Z+k1PUPVd99smCGNNsq88Oi9cM215nBXZadO+WRctn1fXt2GrfUdjICapRbKp+pTjLLvAApotUVwAtzWCgdg1WAjhu0/MD/+duTKcPKZvXKyS8UJ3zFkVn8p5Gj9mRO/whYNHlJwRxvllvz5zfP/wm6I1nJrDQp5bKd5srCo07IfAcWvXZ7Ry8WaGT9w/Oy5KunO/buG8XQbFVfRZxiM/7mjlhrpwxg2T4/plW4pxjjfMXBH/PwvJfuS+2S36PoHj5w8aUdHyLNurbNgkWYSFYrd2EDZ55frwhpunxdZIHr6YyX3WTv03vdKoc6Mu4O8+sSDO/N0R7bg5UlKrMKuMupaWDsZRMfOwzbWyjmAxTlppaPU4d+f+sVuKVzA9tnhtffMMa16FqjCge+fYEvaVg0eWbeliRiGVxfxQE2ee8hTfHltTSP3sfYp0FTL2hpX5t1blygKdX35kbgzCThzVJ1xywvjYJVyqm4vuprZYJZ39MnGC1hV6mpmQ0KvCc+QYHlywNo73u3fe6jirdXsciF8J8gl5mBZNhhiUG0PZFnjQ+fLD82IQRpnx++PHhTMnDCj7mrN+rVjTbnthICapxV1uPTt3ihUxa4ltlcK8FZvjOK6atjxW1izyeemJE+Jraah8WbWbCplB77sP6B7fFbhb//rZjeWOnTWkxvTpGt9nyAQFuk621firlqmK64xlrUa8w3JrtvrwMm1W+mepju8ePrpsENaWaLyhK5n/7jWoR7jqtJ1jd3El5qzeGI686sW4kClrirGsRTuZLLjN8UYAWqaYdUpAvTUxWYY1A3H+boPCWXGpkR004ZthICbt4KpKzGxsCt1PY/t2q3+P5LzV4RP7D9ui90e2lcKmtw4w/JcXlTNYm2M9d5eB8SevksCBmItlDBikzwxLArw9B277mWbN4VRYZ4zjZQ01XobNjLitFRwxWD5bHmX3gVtvP8UtnXduWkqEV+00tYZeqVcGnTS6T3zBNt3Ss9ZsCBM2Ba5tJTuUtpqcsbUwQJ9lWJYvrQ13z10d3yu5tZawmL56Q3xVUqdNS2UYhJXnOmLSDo6CmLWsCMKYVVXJgPjTxvZrWCyTlbDbfKX8wpaMX6uKFS4LfzKeqVhLAoczxvWPAR0tCMyyLLW99oDFOQk4OLrLXloau4ybwvWihZCuzJZeO7q1QFo09V3+Rospabcl2A5jw1gDi2vx2k0L5laKLHEOr4+qCrEl76aZbftmB7JT9i5WxiC252CM1jCW/cjWnntk4ZpmryFdjHPX1C8F0xK8HoyvZA945b5eKBTCqg21YdKy+gB/R2QgJu3geK9ctpgihXNzBS5hDK8HGtKjS5wF9ZkH58Run+YKdArmhdUbGyryZnfSQnyFd2pS2Ty9dF04+bqX48uYP/nAnDhr63tPLgi/eHZRfLfk315eGl9qzBsHOJ5CmYDtkKG94kB//Oa5RfEl0k0FY2yHn+Xra8LqjS0Pcraky4n3K2bBMS+8LndeHP8ji9aGM26YEi6e1PLB0SwPAq4543/K7YOWufNvn77Fa6kxS/KKKfWrwe8zqGecidqSYJrPMqZsp37d4zaumLq85NsJWiu/Dh2v8GLsVXtFqrGkC7OIWZPty4/MaxgrVozfEVhyf59z87Rmg/tio3t3i+P42PKts1eWDFCzfXz0vtnxZfU7KgMxaQfHK3T2Hli/zAIv3OXVPARNFJyMOWKwe74QpWLbe1CP8KkDhsUWqLvnrQ5n3zQ1FqQEIHyXirhu09M0wRfrB73rrhnh6KtealjZu0mtqCc5rlPG9As/PHJ07Lrihc9/n7IsvnT6G4/ND597cE6caXfh3TPDW26bHk65/uVw2JUvxGCBJRhKVUYM0P/aIaNiaxMVxvm3zwg/emphDOCyVfz54ZzphiEw+dbj88Ox17wUfvHMorAtK9gP7js07Na/e9hYF8KXHp4bvrnpZc0cJ9eP18YwYP3rj84Lr75hSpzIUFFQXOQ14/vHVyhV1xTCJx6YE/NLlhZZnvn1c4tinpi6akNDkN9azy2rjuuHxX1P6N/Q+tTSPP6qcfWtuA8vXBO71dsqSCbfsT4ZPXzz124Ml0xaEtdSIz1YO+/ZJdVh8aZ13lLjWGk9/b89Bsc8wwQIHlYeWrhm0/pv9XmZ1lLGWzLj9adPL6x/qGjhvniF2GGb3h/Jy+1/P2lxbPnK7pl1NXXh3vlrwjk3Tw1/fHFJfXdz2DE5RkzawRFMvWevIeHe+avjMgNn3Dg5HD6sd1x+4Zml1bHr5f7X7R4Gdf9fccHMqw/vMyys2lAXA52HF66NFS/vwZzYr3ucJcUDNBUTlf/86vqFJFk8lXWmmtXKEplN188gLITunarCa3fqH/dJ0FBdWxcrGwbdr9xYG2au2hBbdagkCCb/fNKEuARDvrWlvuLqGV96/N67Z8a1q2gh+MnTC+Jgf9ZRIy6g1YcxZAxQpqWhfk2tbVetcJzj+3QLFx03LrzjjulhxuqN4euPzY8tY0xOIE0IJHk1FS0gnOIrRvcNb951UIv3c8iw3uGDew8NP3xqQXxZ+iuufzm2HPJeSSpaJkZwzQmYvnrIiJg3rplev+xEqyZgTF0eJ4YQ/DHQvlXvPAz176X83fOL4wzYq6ctD/sPbrs13k4e3Te+T5WWRgLxm2evjJNaZq/eEJ5eWh1+fvTY8PbdB4f2gGz55YNHxiCdtxTcOmdVePC6NXG8H6+N4j7lpeDTVq2PQT3LvnzxoJEtXvuPbuSvHzYqvHDztHif8RBE+vMKMGbS0m3Ng0t1bV2cXMNg/g/dOyvsiAzEpMQolFj7qhDqYvDQVMFGBc9/K6mKGBzL+K/qTvWLbJZDxcaU/m8dNipWrgvW1jRUnARpp4/rF3qVeG8jgcaXDxkZXxz802cIxtaEl5ev3/S6nfr98b8cAzPrCHLesfvgsOuA0gOlmYnZ3PmRPkwMIL2KD4lKmxXeWcyVwOtrh4wMH2MiQe7cs5XpaQni9Tu81PtLD8+LrWeffnBOuOXVu4QBuYAzS59Xjukbbjpjl/CTpxeGa2esCAvWbgzz1jZeaZ+0ouWFgclv3mVgOHvnASUjyuy6xPcwVhis8boqGpZIm3LVIcd5/Kg+4bpX7dIQDPCibSrBDN8nAKFF5O27DSo56L3h2HjVT4n9cI2+dMjI+HqhXz67KAaft8xe1fB33u94/Mg+4bMHjYhrzL3rzhmbzrXlLVksxHr73NVxn+SzPVr5Wp4YUA/tFVuDGBdF8PHZA0fEc6z/QD7/tfw4efD43fHjYiBB4MnbBu4Lq+NSKXQb79yve5P5vSksDxM/V0EgRFavzyvcI+VfeM/xsuzIoUN7xWB9xur1Mah+bNNn2N+wnl3jvf+R/YbFyS/F+YRkqi9f6u/JUvs5anjv8K9TdopdoPcvWBODdH7i96tCGN+3W7hwzyHxQZD9c6+yzXLFFefVbdO9kK1nuD2oKmyrQQySSqLLiO4dujEOGtqr4b2Cedym89bWxAGtzASkC6q5lgGCDboVGdvB03pz0/3pLmB2GgUiFTirtE/s1y0cPLR3XMm83P44NsbcMLPwuaXVMaih5YkWEd57yJgiWsqyroeS737kVThr618mTsvKrmXOjy4Suql4kTSVar4w5m+nXD85drkRCF164vhmK//CpsVJ6a7sWlUVbj9z17KvwYnvyQshBmG8X5NWHwai03I4uEfnOAZpl37d48y0cmslga4fWgLoymS2Y3HgV2q/vL+S7lNa9+gWbmo9s+yVMtNWro+VHq0ytHJQsfJdghm6C8sdH12L7ItzYkxWuX2xH1rXuB5MjKAlcHB3XhfVM34vCzJnrt4YW1j2G9QzbrMlLVrkSV6dxEB9XhpPF3FrZ2lmq7xzLIxv3G/w/86Nv/F7gsrdBvSIY75auh+2waxV7jneS7q+ri6mOS2qtBLn05HPzlq9Mby8Yl2cwcmiuOXuCxZFpfW2kvMnb9GKTQst12FgBXmLtCU/skwLeZKWL+4/3tVJiy93UKl9Vlq+sA/G+TEkgXzFUAUepCjDDh7aKwaqWdBN2UOQSOBXKt9RrvAZshZlJdvZHhiISdouPLpwTTjumpdiEHLj6RPDyWPqxwQ156nFa+M6UwSTV582MXZ/SdK2sn2Ek5J2eIxDY/wX3RY8yVeC59D5a+vHr9FFTIuTJG1LBmKStgsDunWOwRTBGN0XlTT2053GbC5a0ehW3K3M+DVJ2loMxCRtF3j1DS8TZvHILzw8N/xt8rI4DT9beDT/w7g8xh69566Z4erpy+Mg4Y/tNywGc5K0LTlGTNJ2gaKMmYL/d8eMOLGBAfOsZXTA4F5hfN+uoW/XzjFIY7AwA4d5HRKD7Xln4qcPGB4+feDw7Wbwr6SOw0BM0naD4owZqD96akFcooAZgKXen0m4NaB753DUiN7hI/sOi8ss0K0pSduagZik7Up8nVIhhDlrNsRlJl5asS4s2jSQv8umtb5YUoPlFFjHiCUwtsWLqyWpFAMxSdu94mLOwEtSe+FcbUnbPQMvSe2VI1MlSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMkSUrEQEySJCkRAzFJkqREDMQkSZISMRCTJElKxEBMkiQpEQMxSZKkRAzEJEmSEjEQkyRJSsRATJIkKREDMUmSpEQMxCRJkhIxEJMk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",
|
|
"text/plain": [
|
|
"<Figure size 620.25x877 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"\n",
|
|
"def ocr_trocr(img):\n",
|
|
" \"\"\"\n",
|
|
" Fixed TrOCR function for better text recognition\n",
|
|
" \"\"\"\n",
|
|
" # Convert to RGB if necessary\n",
|
|
" if img.mode != 'RGB':\n",
|
|
" img = img.convert('RGB')\n",
|
|
" \n",
|
|
" # Process the image - TrOCR expects RGB input\n",
|
|
" pixel_values = trocr_processor(images=img, return_tensors=\"pt\").pixel_values.to(device)\n",
|
|
" \n",
|
|
" # Generate text with optimized parameters\n",
|
|
" with torch.no_grad():\n",
|
|
" generated_ids = trocr_model.generate(\n",
|
|
" pixel_values,\n",
|
|
" max_new_tokens=200, # Allow sufficient tokens\n",
|
|
" num_beams=4, # Beam search for better quality\n",
|
|
" early_stopping=True,\n",
|
|
" no_repeat_ngram_size=2, # Prevent repetitions\n",
|
|
" length_penalty=1.0,\n",
|
|
" do_sample=False # Deterministic output\n",
|
|
" )\n",
|
|
" \n",
|
|
" # Decode the generated text\n",
|
|
" generated_text = trocr_processor.batch_decode(generated_ids, skip_special_tokens=True)[0]\n",
|
|
" \n",
|
|
" # Show result\n",
|
|
" show_ocr_result(img, generated_text)\n",
|
|
" \n",
|
|
" return generated_text\n",
|
|
"\n",
|
|
"\n",
|
|
"def ocr_paddle(img):\n",
|
|
" \"\"\"\n",
|
|
" Fixed PaddleOCR function using the correct API\n",
|
|
" \"\"\"\n",
|
|
" # Convert PIL image to numpy array\n",
|
|
" img_array = np.array(img)\n",
|
|
" result = paddleocr_model.predict(img_array)\n",
|
|
" # Extract text from result\n",
|
|
" text_list = []\n",
|
|
" breakpoint()\n",
|
|
" items = []\n",
|
|
" for item in result:\n",
|
|
" boxes = item.json[\"res\"][\"rec_boxes\"]\n",
|
|
" texts = item.json[\"res\"][\"rec_texts\"] \n",
|
|
" for box, text in zip(boxes, texts):\n",
|
|
" x1, y1, _, _ = box\n",
|
|
" items.append((x1, y1, text))\n",
|
|
" \n",
|
|
" # line_tolerance=40\n",
|
|
" # Sort top-to-bottom (with tolerance), then left-to-right\n",
|
|
" # items.sort(key=lambda t: (round(t[1] / line_tolerance), t[0]))\n",
|
|
"\n",
|
|
" # Extract ordered text\n",
|
|
" ordered_texts = [t[2] for t in items]\n",
|
|
" res = \" \".join(ordered_texts)\n",
|
|
" \n",
|
|
" show_ocr_result(img, res)\n",
|
|
" \n",
|
|
" return res\n",
|
|
"\n",
|
|
"\n",
|
|
"results = []\n",
|
|
"\n",
|
|
"for pdf_file in os.listdir(PDF_FOLDER):\n",
|
|
" if not pdf_file.lower().endswith('.pdf'):\n",
|
|
" continue\n",
|
|
" pdf_path = os.path.join(PDF_FOLDER, pdf_file)\n",
|
|
" images = pdf_to_images(pdf_path)\n",
|
|
" \n",
|
|
" for i, img in enumerate(images):\n",
|
|
" if i != 0:\n",
|
|
" break\n",
|
|
" page_num = i+1\n",
|
|
" ref = pdf_extract_text(pdf_path, page_num=page_num)\n",
|
|
" \n",
|
|
" # EasyOCR\n",
|
|
" easy_text = ocr_easyocr(img)\n",
|
|
" results.append({'PDF': pdf_file, 'Page': page_num, 'Model': 'EasyOCR', 'Prediction': easy_text, **evaluate_text(ref, easy_text)})\n",
|
|
" \n",
|
|
" # TrOCR\n",
|
|
" trocr_text = ocr_trocr(img)\n",
|
|
" results.append({'PDF': pdf_file, 'Page': page_num, 'Model': 'TrOCR', 'Prediction': trocr_text, **evaluate_text(ref, trocr_text)})\n",
|
|
" \n",
|
|
" # PaddleOCR\n",
|
|
" paddle_text = ocr_paddle(img)\n",
|
|
" results.append({'PDF': pdf_file, 'Page': page_num, 'Model': 'PaddleOCR', 'Prediction': paddle_text, **evaluate_text(ref, paddle_text)})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0db6dc74",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 4 Save and Analyze Results"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"id": "da3155e3",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Benchmark results saved!\n",
|
|
" WER CER\n",
|
|
"Model \n",
|
|
"EasyOCR 0.000000 0.000000\n",
|
|
"PaddleOCR 0.153846 0.138614\n",
|
|
"TrOCR 1.000000 0.990099\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAIVCAYAAADConfoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAARVJJREFUeJzt3QuczGX///HPWtaiWOUUYR1DOUXkVJTaJB2VKOdEkdMvLMqhhG6Rum10K0p3hUpHtW5EB0RIN+XQyulWTskui1125//4XP1nmtmdXbtrd79zzb6ej8dkv9/5zuw1szPNe67v57quEJfL5RIAAADAQoWcbgAAAACQU4RZAAAAWIswCwAAAGsRZgEAAGAtwiwAAACsRZgFAACAtQizAAAAsBZhFgAAANYizAIAAMBahFkAyEVvvPGGhISEyMaNG8UGvXr1kksuueSi7uPxxx+XW265JdfahItz/fXXy8iRI51uBpBvCLOAxV555RUTnJo3b57hMXr9oEGDsnR/586dk5dfflmuu+46ufTSS03I0Z91n17nT0pKisyfP1/atm0rl112mRQtWlQiIyOld+/ePoHOHfLcl8KFC0ulSpVMmDp48GCW2jdhwgSf+yhUqJBcccUVcscdd8h3332XpftA7tqzZ4+89tprMmbMGLN95MgR87cZMmRIumN1n143fvz4dNf16NFDihQpIqdPnzbb+rrw/lt7X8LDwz23W716tc91oaGhUq5cOencubNs3749W49l6dKl5vVeokQJ87q677775Oeff872c3L48GF58sknpU6dOlK8eHFzf02aNJFJkybJiRMnPMfpeyajx6i3zel7Z9SoURITEyOHDh3KdtsBGxV2ugEAcu7tt982wXHDhg0SFxcnNWvWzPF9JSYmSseOHeWrr74y4VA/KDUsxsbGmhCyZMkS82GvH8xuZ86ckXvvvdccc8MNN5hAo4F27969snjxYnnzzTdl//79cuWVV3pu88wzz0i1atXk7NmzJoDqB/W3334r27Zt8wkpmZk9e7YJ2qmpqXLgwAGZO3eu+f36PDRq1CjHzwGy76WXXjJ/z3bt2pltDZK1atUyf9O01qxZY4KY/uvvusaNG5vw56ZfjDQop6WBNa3BgwebIKpfuv773//KnDlzTNDV11WFChUu+Di+//57ueuuu+Tqq6+Wf/zjH5KQkCCfffaZ2V+vXr0sPRfu+7n99tvl1KlT8vDDD5sQq/SL3dSpU+Xrr7+W//znP57j9b0xZcqUdPdTqlSpdPuy+t7Rx1GyZEnzZVdvAwQ9FwAr/frrry59Cy9ZssRVtmxZ14QJE/wep8cMHDjwgvf36KOPmmP/+c9/prtu1qxZ5roBAwb47Nf71f0vvvhiutucP3/eNW3aNNeBAwfM9vz5882x33//vc9xo0aNMvsXLVp0wTaOHz/eHHv06FGf/du2bTP7x4wZ43JaRo8z0Jw6dcr827NnT1eJEiVydB/JycmuMmXKuJ566imf/b1793aFhoa6Tp486fP7Chcu7OrWrZvrkksuMa8Pt99++808Z8OGDfPsy2q7Vq1aZW773nvv+eyfPXu22f/8889n6bGMHDnSFRIS4jp06JDP/rNnz7qy6s8//3RVqlTJVb58edf27dvTXa/3/eyzz3q2b7zxRtfVV199wfvNyXtn0KBBrqpVq7pSU1Oz3H7AVpQZABb3ypYuXdr0puopVd3Oqf/973/y+uuvy0033eS3JGHgwIGm5017yfRY921effVVUys5dOhQv71neqrVu1fWnzZt2ph/d+/eneP2u3vetNfPW1JSkjmlrT3W2stXuXJlU0uo+/2VYnz00UdyzTXXmGO1h057nNPS07p9+/aVihUrmuO0p+yxxx6T5OTkdL97+PDhUrZsWdObfc8998jRo0d9jtFede0F1x7Epk2bSrFixaR+/fpmW2lvuG5rr5v28P3www8+t9ceSO1Br169ujlGn4c+ffrIH3/84bc8Q0+Zd+vWzbxuWrduneHzuWXLFtNuPQ2uPYwZ0V7BY8eOSfv27X32631r+Yl36cf69evl/Pnz5jWh96m/w83dU5tZm7Iru68rPQvhj/6Ns0rfD/r6mDFjhk+ZgFv58uXlqaeekvx4jPq+3Ldvn8/zDAQrwixgKQ2veoo/LCxMunbtKr/88os5xZkTX3zxhQkfWreYEb1Ow4g74OltdLt79+5yMbQkQWnAyqrjx4+bEKX1mRrw+vXrZ8LcAw884DlGSxDuvPNOeeGFF6RTp07yz3/+U+6++2558cUXpUuXLn6DmQ5kevDBB81pZj2VqzWT3sHwt99+k2bNmsnChQvNfWgtsT5+Lc1w13q6PfHEE/Ljjz+aMK1h99NPP/X7RUHLQzRgahv1dPOff/5pfta/77Bhw8yp6okTJ5rAoo9PH5fb8uXL5ddffzX1yfr4tO3aNj3N/VenvK/777/ftHPy5MnmOfNHX0P6pUZP+evfOLPBYWvXrjUhWY/15g6l3qUGGlhr165tjtUvON6lBpmFWf07p71oCUBuv67076hfwPQ59/fcZcUnn3xivpDol8us0vedv8eoZT8X8xjd5Q3+SjqAoON01zCA7Nu4caM5vbh8+XKzracSr7zySteQIUNyVGYwdOhQc9wPP/yQ4TGbN282xwwfPtxs6ynhC93G36nSFStWmDIBLT94//33TYlE0aJFPeUIWSkzSHuJiIhwxcbG+hz71ltvuQoVKuT65ptvfPbPmTPH3GbNmjWefbodFhbmiouL8+z78ccf05Vd9OjRw9ynvxIC9+lc9+Ns3769zylefb701PuJEyc8+/Q0sB67du1az75ly5aZfcWKFXPt27fPs//VV181+/W0utvp06fTtePdd981x3399dfpnreuXbumO977dP63337rKlmypKtjx45ZOr3+8MMPuy6//HK/15UrV8518803e7ajoqJM+YF64IEHXPfff7/nuqZNm7pq1aqVrl3+/tZ60ftKW2Ywb94887rSkgV9LdSsWdOUDWzYsMGVFR999JGrePHi5m/kfo1nV+nSpV0NGzbM8vFaZpDRY+zfv/9Fv3f0Nf3YY4/l6LEANmEAGGAh7bXTU5buQTfaO6Y9hf/+979l+vTpfgfIZObkyZPmX53BICPu69y9Yu5/M7uNP2lPSeupdm33hcoRvH3wwQdmgIvmUD2tqwPCtBdVB9a0bNnSHPPee+9J3bp1zele7ely015HtWrVKs+x7nbVqFHDs92gQQPzO7TnU2mPqJYhaK+plgSkpX8Db48++qjPPj0lrL3CeupX79tNBxe1aNHCs+2emULbWaVKlXT7tT16+l9pL6Cb9iTr6Xudlklt3rzZcxrabcCAARk+p/p86GO79dZbTe+u9vhfiPZaZ9Tz2apVK9NzrD2P+jxoyYH2kruve/75583P2lOsp8L99fBrb7v2aKdVpkyZdPu0vMKblkm89dZbZlDYhejgLO311vIAfdz6t9PXtZZnuEVFRZm2fvPNNxnej74nsvt+0Ne/DmBMy9/7IbvvHf3beL/2gWBFmAUso+FAw4YGWZ0WyTvsaJBduXKlCSTZ4f4AdofarARe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9AmzWoder149ynaA/69QoULmy125cuWcbgryAGUGCBgbN26Uxx9/3ARWnXJI65p2794ty5cvl99++03uuusup5sIBBQty4mLi0u3X+tlGVQJ+AoJCXG6CcgjLJoAx2lwnT9/vuzcudPUMy1YsMD8q9+klU6hoqUH2vsE4G/9+vWTIUOGyLx588wHtX7pW7dunfki+PTTTzvdPCCgaOnahQJt2jnPYQfCLBynS9pqbWyvXr0yLCPQU0Ovv/56vrcNCGTR0dGSmppqphnS+ZpvuOEGs4qRhtknnnjC6eYBAWXixIlSqlQpp5uBPEDNLABYTmvLtdxAV//SWtlLLrnE6SYBAYWa2eBGzSwcpzMXeM+JGRMTI40aNZJu3brJn3/+6WjbABvoIEkNsc2aNSPIAn5QLxvc6JmF43SdbJ2pQOtkt27dKtddd52Zc3bVqlVSp04dU08L4C/33ntvlo9dsmRJnrYFsAU9s8GNmlk4bs+ePaZXyT0J/B133GEmfNdJ4DXgAvgbNX9A9mltOYIXYRYBcYpUB6+oFStWmAng1WWXXcbygkAanKkAAF+EWTiudevWpqygVatWZhnbRYsWmf27du0yyw0CAABkhDALx82aNcsslvD++++baboqVapk9n/xxRdy2223Od08IOCWsM3qYBYt1QGAYMcAMACwbK5MN12uVpd+1przFi1amH3fffed/PTTT+YL4pQpUxxsKQDkD8IsAop+OOucmd5KlizpWHuAQPbII4+YhUaeffZZn/3jx4+XAwcOmJXBACDYEWbhuMTERBk1apQsXrxY/vjjj3TXp6SkONIuwIaZDTZu3Ci1atXy2f/LL79I06ZNJT4+3rG2AUB+YdEEOG7kyJHy5ZdfmnpZXYrztddeM6dSK1asKAsWLHC6eUDAKlasmKxZsybdft0XHh7uSJsAIL8xAAyO+/TTT01obdu2rfTu3VvatGkjNWvWlKpVq8rbb78tDz30kNNNBALS0KFD5bHHHjMDvXT1L7V+/XpTXvD000873TwAyBeUGcBxuvzmzz//LFWqVDFTcemqRfrBrIsp6Opgut48AP+0POell16S7du3m+26devKkCFD5IEHHnC6aQCQL+iZheOqV69ugquGWV2+Vj+cNcxqj21ERITTzQMCmoZWgiuAgoyeWTjuxRdflNDQUBk8eLBZAaxTp06iL8tz587J9OnTzalUAAAAfwizCDj79u2TTZs2mbrZBg0aON0cIKCULl06y4smHD9+PM/bAwBOo8wAjrn99tvl3XffNdMLqalTp8qAAQPMwC+96DRdOhm81tMC+MvMmTM9P+t7ZNKkSRIVFeVZNGHdunWybNkyBoABKDDomYVjtLTg999/l3LlynkWR9iyZYupoVWHDx8203Mxzyzg33333Sft2rWTQYMGpVsiWkt2PvroI8faBgD5hXlm4Zi036P4XgVkj/bA3nbbben26z4NswBQEBBmAcBSl19+uXz88cfp9us+vQ4ACgJqZuEYHcSSdiBLVge2ABCzUt4jjzwiq1evlubNm3sWTYiNjZW5c+c63TwAyBeEWThGywp69epllrBVZ8+eNQPASpQoYbaTkpIcbiEQ2PT9o4skvPzyy2axEaXb3377rSfcAkCwYwAYHKNL12bF/Pnz87wtAADAToRZAAgCemYjOTnZZ5/OEAIAwY4BYABgqdOnT5tpuXR6Oy3P0QUVvC8AUBAQZgHAUiNGjJAvv/xSZs+ebWrPX3vtNTMoTOdnXrBggdPNA4B8QZkBAFiqSpUqJrS2bdvWlBRs3rzZLAP91ltvmdX1Pv/8c6ebCAB5jp5ZALDU8ePHPSvmaZjVbdW6dWv5+uuvHW4dAOQPwiwAWEqD7J49e8zPderUkcWLF5ufP/30U4mIiHC4dQCQPygzAABLvfjiixIaGiqDBw82y9d26tTJzN987tw5mTFjhgwZMsTpJgJAnmPRBACwTGpqqkybNk0++eQTMx3Xb7/9JuPHj5cdO3bIpk2bTN1sgwYNnG4mAOQLemYBwDLPPvusTJgwQdq3by/FihWTZcuWSdeuXWXevHlONw0A8h1hFgAsU6tWLXnyySelf//+ZltLDDp27ChnzpyRQoUYCgGgYCHMAoBldE7ZuLg4qVy5smdfeHi42XfllVc62jYAyG98hQcAy5w/f96EV29FihQxA78AoKBhABgAWEZPqPXq1cv00LqdPXtWBgwYYJa1dVuyZIlDLQSA/EOYBQDL9OzZM92+hx9+2JG2AIDTqJkFAACAtaiZBQAAgLUIswAAALAWYRYAAADWIswCQJBavXq1hISEyIkTJ7J8m8jISJk5c2aetgsAchNhFgAcotNradjUKbXSGjhwoLlOjwEAZIwwCwAO0lW8Fi5caJai9Z4z9p133pEqVao42jYAsAFhFgAcdO2115pA673Agf6sQbZx48aefUlJSTJ48GApV66cWf2rdevW8v333/vc1+effy61a9eWYsWKSbt27WTv3r3pft+3334rbdq0Mcfo79X7TExMzONHCQB5hzALAA7r06ePzJ8/37M9b9486d27t88xI0eOlA8++EDefPNN2bx5s9SsWVOioqLk+PHj5voDBw7IvffeK506dZItW7bII488ItHR0T73sXv3brntttvkvvvuk//+97+yaNEiE24HDRqUT48UAHIfYRYAHKard2mo3Ldvn7msWbPGZ0Uv7TmdPXu2TJs2TTp06CD16tWTuXPnmt7V119/3Ryj19eoUUOmT58uV111lTz00EPp6m2nTJli9g8dOlRq1aolLVu2lJdfflkWLFhgShsAwEYsZwsADitbtqx07NhR3njjDdFFGfXnMmXK+PSonjt3Tlq1auXZV6RIEWnWrJls377dbOu/zZs397nfFi1a+Gz/+OOPpkf27bff9uzT35eamip79uyRunXr5uGjBIC8QZgFgAApNXCf7o+JicmT33Hq1Cnp37+/qZNNi8FmAGxFmAWAAKC1rMnJyWY6Lq2F9ablA2FhYab8oGrVqmaf9tTqADAtGVDaq/rJJ5/43O67775LN9js559/NvW2ABAsqJkFgAAQGhpqSgU0bOrP3kqUKCGPPfaYjBgxQmJjY80x/fr1k9OnT0vfvn3NMTpX7S+//GKO2blzp5naS8sWvI0aNUrWrl1reoB1kJge//HHHzMADIDVCLMAECBKlixpLv5MnTrVzELQvXt308MaFxcny5Ytk9KlS3vKBHS2g48++kgaNmwoc+bMkcmTJ/vcR4MGDeSrr76SXbt2mem5dOqvcePGScWKFfPl8QFAXghxafU/AAAAYCF6ZgEAAGAtwiwAAACsRZgFAACAtQizAAAAsBZhFgAAANYizAIAAMBahFkAAABYizALAAAAaxFmAQAAYC3CLAAAAKxFmAUAAIC1CLMAAAAQW/0/tz21N7/0HYIAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 800x500 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"df_results = pd.DataFrame(results)\n",
|
|
"df_results.to_csv(os.path.join(OUTPUT_FOLDER, 'ai_ocr_benchmark_results.csv'), index=False)\n",
|
|
"print('Benchmark results saved!')\n",
|
|
"\n",
|
|
"# Summary by model\n",
|
|
"summary = df_results.groupby('Model')[['WER', 'CER']].mean()\n",
|
|
"print(summary)\n",
|
|
"\n",
|
|
"# Plot\n",
|
|
"summary.plot(kind='bar', figsize=(8,5), title='AI OCR Benchmark (WER & CER)')\n",
|
|
"plt.ylabel('Error Rate')\n",
|
|
"plt.show()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": ".venv (3.13.5)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.13.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|