{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.1nQa6Kwr/b1/python-django_5.1.4-1_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.1nQa6Kwr/b2/python-django_5.1.4-1_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- 5a1829ab1f631357ecfce6b675a0424c 2928984 doc optional python-django-doc_5.1.4-1_all.deb\n+ 1c06526499b322a8aec6c5a18ec456d7 2986020 doc optional python-django-doc_5.1.4-1_all.deb\n ecf1cf64917103ab7f0d7834f05a999f 2861756 python optional python3-django_5.1.4-1_all.deb\n"}, {"source1": "python-django-doc_5.1.4-1_all.deb", "source2": "python-django-doc_5.1.4-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-12-04 16:55:05.000000 debian-binary\n--rw-r--r-- 0 0 0 15740 2024-12-04 16:55:05.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2913052 2024-12-04 16:55:05.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 15828 2024-12-04 16:55:05.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 2970000 2024-12-04 16:55:05.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./\n -rw-r--r-- 0 root (0) root (0) 973 2024-12-04 16:55:05.000000 ./control\n--rw-r--r-- 0 root (0) root (0) 62430 2024-12-04 16:55:05.000000 ./md5sums\n+-rw-r--r-- 0 root (0) root (0) 62814 2024-12-04 16:55:05.000000 ./md5sums\n"}, {"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: python-django-doc\n Source: python-django\n Version: 3:5.1.4-1\n Architecture: all\n Maintainer: Debian Python Team \n-Installed-Size: 24806\n+Installed-Size: 25137\n Depends: libjs-sphinxdoc (>= 7.4)\n Section: doc\n Priority: optional\n Homepage: http://www.djangoproject.com/\n Description: High-level Python web development framework (documentation)\n Django is a high-level web application framework that loosely follows the\n model-view-controller design pattern.\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}, {"source1": "line order", "source2": "line order", "unified_diff": "@@ -21,14 +21,15 @@\n usr/share/doc/python-django-doc/html/_images/django_unittest_classes_hierarchy.svg\n usr/share/doc/python-django-doc/html/_images/fieldsets.png\n usr/share/doc/python-django-doc/html/_images/list_filter.png\n usr/share/doc/python-django-doc/html/_images/postmortem.png\n usr/share/doc/python-django-doc/html/_images/raw_id_fields.png\n usr/share/doc/python-django-doc/html/_images/template-lines.png\n usr/share/doc/python-django-doc/html/_images/triage_process.svg\n+usr/share/doc/python-django-doc/html/_static/base-stemmer.js\n usr/share/doc/python-django-doc/html/_static/basic.css\n usr/share/doc/python-django-doc/html/_static/console-tabs.css\n usr/share/doc/python-django-doc/html/_static/default.css\n usr/share/doc/python-django-doc/html/_static/djangodocs.css\n usr/share/doc/python-django-doc/html/_static/docicons-behindscenes.png\n usr/share/doc/python-django-doc/html/_static/docicons-note.png\n usr/share/doc/python-django-doc/html/_static/docicons-philosophy.png\n@@ -39,18 +40,21 @@\n usr/share/doc/python-django-doc/html/_static/fontawesome/css/fa-brands.min.css\n usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.eot.gz\n usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.svg\n usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.ttf.gz\n usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff\n usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff2\n usr/share/doc/python-django-doc/html/_static/homepage.css\n+usr/share/doc/python-django-doc/html/_static/italian-stemmer.js\n+usr/share/doc/python-django-doc/html/_static/language_data.js\n usr/share/doc/python-django-doc/html/_static/minus.png\n usr/share/doc/python-django-doc/html/_static/plus.png\n usr/share/doc/python-django-doc/html/_static/pygments.css\n usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css\n+usr/share/doc/python-django-doc/html/_static/translations.js\n usr/share/doc/python-django-doc/html/contents.html\n usr/share/doc/python-django-doc/html/faq/admin.html\n usr/share/doc/python-django-doc/html/faq/contributing.html\n usr/share/doc/python-django-doc/html/faq/general.html\n usr/share/doc/python-django-doc/html/faq/help.html\n usr/share/doc/python-django-doc/html/faq/index.html\n usr/share/doc/python-django-doc/html/faq/install.html\n"}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -28,14 +28,15 @@\n -rw-r--r-- 0 root (0) root (0) 18267 2024-12-03 13:11:30.000000 ./usr/share/doc/python-django-doc/html/_images/fieldsets.png\n -rw-r--r-- 0 root (0) root (0) 34975 2024-12-03 13:11:30.000000 ./usr/share/doc/python-django-doc/html/_images/list_filter.png\n -rw-r--r-- 0 root (0) root (0) 12685 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_images/postmortem.png\n -rw-r--r-- 0 root (0) root (0) 997 2024-12-03 13:11:30.000000 ./usr/share/doc/python-django-doc/html/_images/raw_id_fields.png\n -rw-r--r-- 0 root (0) root (0) 15461 2024-10-30 13:18:44.000000 ./usr/share/doc/python-django-doc/html/_images/template-lines.png\n -rw-r--r-- 0 root (0) root (0) 20700 2024-12-04 11:38:16.000000 ./usr/share/doc/python-django-doc/html/_images/triage_process.svg\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/\n+-rw-r--r-- 0 root (0) root (0) 8133 2024-10-25 18:53:47.000000 ./usr/share/doc/python-django-doc/html/_static/base-stemmer.js\n -rw-r--r-- 0 root (0) root (0) 15094 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/basic.css\n -rw-r--r-- 0 root (0) root (0) 875 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/console-tabs.css\n -rw-r--r-- 0 root (0) root (0) 92 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/default.css\n -rw-r--r-- 0 root (0) root (0) 7604 2024-10-30 13:18:44.000000 ./usr/share/doc/python-django-doc/html/_static/djangodocs.css\n -rw-r--r-- 0 root (0) root (0) 1065 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/docicons-behindscenes.png\n -rw-r--r-- 0 root (0) root (0) 559 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/docicons-note.png\n -rw-r--r-- 0 root (0) root (0) 791 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/docicons-philosophy.png\n@@ -49,658 +50,660 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/\n -rw-r--r-- 0 root (0) root (0) 64105 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.eot.gz\n -rw-r--r-- 0 root (0) root (0) 503035 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.svg\n -rw-r--r-- 0 root (0) root (0) 63995 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.ttf.gz\n -rw-r--r-- 0 root (0) root (0) 63024 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff\n -rw-r--r-- 0 root (0) root (0) 53928 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff2\n -rw-r--r-- 0 root (0) root (0) 892 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/homepage.css\n+-rw-r--r-- 0 root (0) root (0) 29065 2024-10-25 18:53:47.000000 ./usr/share/doc/python-django-doc/html/_static/italian-stemmer.js\n+-rw-r--r-- 0 root (0) root (0) 15646 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/language_data.js\n -rw-r--r-- 0 root (0) root (0) 90 2024-10-25 18:53:47.000000 ./usr/share/doc/python-django-doc/html/_static/minus.png\n -rw-r--r-- 0 root (0) root (0) 90 2024-10-25 18:53:47.000000 ./usr/share/doc/python-django-doc/html/_static/plus.png\n -rw-r--r-- 0 root (0) root (0) 4699 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/pygments.css\n -rw-r--r-- 0 root (0) root (0) 5522 2024-07-26 06:59:09.000000 ./usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css\n--rw-r--r-- 0 root (0) root (0) 101652 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/contents.html\n+-rw-r--r-- 0 root (0) root (0) 3558 2024-10-25 18:53:47.000000 ./usr/share/doc/python-django-doc/html/_static/translations.js\n+-rw-r--r-- 0 root (0) root (0) 101733 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/contents.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/\n--rw-r--r-- 0 root (0) root (0) 20579 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/admin.html\n--rw-r--r-- 0 root (0) root (0) 13402 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/contributing.html\n--rw-r--r-- 0 root (0) root (0) 20573 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/general.html\n--rw-r--r-- 0 root (0) root (0) 12722 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/help.html\n--rw-r--r-- 0 root (0) root (0) 16713 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/index.html\n--rw-r--r-- 0 root (0) root (0) 11971 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/install.html\n--rw-r--r-- 0 root (0) root (0) 14716 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/models.html\n--rw-r--r-- 0 root (0) root (0) 10337 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/troubleshooting.html\n--rw-r--r-- 0 root (0) root (0) 13235 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/usage.html\n--rw-r--r-- 0 root (0) root (0) 628007 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/genindex.html\n--rw-r--r-- 0 root (0) root (0) 9751 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/glossary.html\n+-rw-r--r-- 0 root (0) root (0) 20664 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/admin.html\n+-rw-r--r-- 0 root (0) root (0) 13493 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/contributing.html\n+-rw-r--r-- 0 root (0) root (0) 20626 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/general.html\n+-rw-r--r-- 0 root (0) root (0) 12819 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/help.html\n+-rw-r--r-- 0 root (0) root (0) 16804 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/index.html\n+-rw-r--r-- 0 root (0) root (0) 12070 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/install.html\n+-rw-r--r-- 0 root (0) root (0) 14815 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/models.html\n+-rw-r--r-- 0 root (0) root (0) 10430 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/troubleshooting.html\n+-rw-r--r-- 0 root (0) root (0) 13334 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/faq/usage.html\n+-rw-r--r-- 0 root (0) root (0) 629439 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/genindex.html\n+-rw-r--r-- 0 root (0) root (0) 9847 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/glossary.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/\n--rw-r--r-- 0 root (0) root (0) 19318 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html\n--rw-r--r-- 0 root (0) root (0) 42181 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/csrf.html\n--rw-r--r-- 0 root (0) root (0) 20122 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html\n--rw-r--r-- 0 root (0) root (0) 46203 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-lookups.html\n--rw-r--r-- 0 root (0) root (0) 53767 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html\n--rw-r--r-- 0 root (0) root (0) 94170 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html\n--rw-r--r-- 0 root (0) root (0) 24289 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html\n--rw-r--r-- 0 root (0) root (0) 127908 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html\n--rw-r--r-- 0 root (0) root (0) 6898 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/delete-app.html\n+-rw-r--r-- 0 root (0) root (0) 19420 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html\n+-rw-r--r-- 0 root (0) root (0) 42285 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/csrf.html\n+-rw-r--r-- 0 root (0) root (0) 20221 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html\n+-rw-r--r-- 0 root (0) root (0) 46302 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-lookups.html\n+-rw-r--r-- 0 root (0) root (0) 53878 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html\n+-rw-r--r-- 0 root (0) root (0) 94274 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html\n+-rw-r--r-- 0 root (0) root (0) 24388 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html\n+-rw-r--r-- 0 root (0) root (0) 127992 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html\n+-rw-r--r-- 0 root (0) root (0) 6997 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/delete-app.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/\n--rw-r--r-- 0 root (0) root (0) 9322 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/daphne.html\n--rw-r--r-- 0 root (0) root (0) 7772 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html\n--rw-r--r-- 0 root (0) root (0) 11353 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html\n--rw-r--r-- 0 root (0) root (0) 9369 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html\n--rw-r--r-- 0 root (0) root (0) 33122 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html\n--rw-r--r-- 0 root (0) root (0) 10667 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/index.html\n+-rw-r--r-- 0 root (0) root (0) 9427 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/daphne.html\n+-rw-r--r-- 0 root (0) root (0) 7877 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html\n+-rw-r--r-- 0 root (0) root (0) 11463 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html\n+-rw-r--r-- 0 root (0) root (0) 9474 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html\n+-rw-r--r-- 0 root (0) root (0) 33222 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html\n+-rw-r--r-- 0 root (0) root (0) 10769 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/\n--rw-r--r-- 0 root (0) root (0) 16639 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html\n--rw-r--r-- 0 root (0) root (0) 7985 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html\n--rw-r--r-- 0 root (0) root (0) 12824 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html\n--rw-r--r-- 0 root (0) root (0) 24452 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html\n--rw-r--r-- 0 root (0) root (0) 16147 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html\n--rw-r--r-- 0 root (0) root (0) 49150 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/error-reporting.html\n--rw-r--r-- 0 root (0) root (0) 10533 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/index.html\n--rw-r--r-- 0 root (0) root (0) 16158 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/initial-data.html\n--rw-r--r-- 0 root (0) root (0) 13833 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/legacy-databases.html\n--rw-r--r-- 0 root (0) root (0) 36350 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/logging.html\n--rw-r--r-- 0 root (0) root (0) 22333 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/outputting-csv.html\n--rw-r--r-- 0 root (0) root (0) 15292 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html\n--rw-r--r-- 0 root (0) root (0) 17208 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/overriding-templates.html\n+-rw-r--r-- 0 root (0) root (0) 16742 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html\n+-rw-r--r-- 0 root (0) root (0) 8090 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html\n+-rw-r--r-- 0 root (0) root (0) 12929 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html\n+-rw-r--r-- 0 root (0) root (0) 24558 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html\n+-rw-r--r-- 0 root (0) root (0) 16252 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html\n+-rw-r--r-- 0 root (0) root (0) 49282 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/error-reporting.html\n+-rw-r--r-- 0 root (0) root (0) 10638 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/index.html\n+-rw-r--r-- 0 root (0) root (0) 16259 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/initial-data.html\n+-rw-r--r-- 0 root (0) root (0) 13932 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/legacy-databases.html\n+-rw-r--r-- 0 root (0) root (0) 36452 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/logging.html\n+-rw-r--r-- 0 root (0) root (0) 22430 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/outputting-csv.html\n+-rw-r--r-- 0 root (0) root (0) 15389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html\n+-rw-r--r-- 0 root (0) root (0) 17309 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/overriding-templates.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/static-files/\n--rw-r--r-- 0 root (0) root (0) 17097 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html\n--rw-r--r-- 0 root (0) root (0) 26842 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/static-files/index.html\n--rw-r--r-- 0 root (0) root (0) 17038 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/upgrade-version.html\n--rw-r--r-- 0 root (0) root (0) 16199 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/windows.html\n--rw-r--r-- 0 root (0) root (0) 50531 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/writing-migrations.html\n--rw-r--r-- 0 root (0) root (0) 30389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/index.html\n+-rw-r--r-- 0 root (0) root (0) 17201 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html\n+-rw-r--r-- 0 root (0) root (0) 26942 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/static-files/index.html\n+-rw-r--r-- 0 root (0) root (0) 17137 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/upgrade-version.html\n+-rw-r--r-- 0 root (0) root (0) 16294 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/windows.html\n+-rw-r--r-- 0 root (0) root (0) 50628 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/howto/writing-migrations.html\n+-rw-r--r-- 0 root (0) root (0) 30460 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/\n--rw-r--r-- 0 root (0) root (0) 17062 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html\n--rw-r--r-- 0 root (0) root (0) 23217 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html\n--rw-r--r-- 0 root (0) root (0) 17165 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/index.html\n--rw-r--r-- 0 root (0) root (0) 11670 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html\n--rw-r--r-- 0 root (0) root (0) 17853 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html\n--rw-r--r-- 0 root (0) root (0) 34104 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html\n+-rw-r--r-- 0 root (0) root (0) 17145 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html\n+-rw-r--r-- 0 root (0) root (0) 23293 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html\n+-rw-r--r-- 0 root (0) root (0) 17267 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/index.html\n+-rw-r--r-- 0 root (0) root (0) 11762 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html\n+-rw-r--r-- 0 root (0) root (0) 17943 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html\n+-rw-r--r-- 0 root (0) root (0) 34128 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/\n--rw-r--r-- 0 root (0) root (0) 48015 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html\n--rw-r--r-- 0 root (0) root (0) 8231 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html\n--rw-r--r-- 0 root (0) root (0) 18400 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html\n--rw-r--r-- 0 root (0) root (0) 36407 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html\n--rw-r--r-- 0 root (0) root (0) 69868 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html\n--rw-r--r-- 0 root (0) root (0) 23971 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html\n--rw-r--r-- 0 root (0) root (0) 47240 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html\n--rw-r--r-- 0 root (0) root (0) 133864 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/deprecation.html\n--rw-r--r-- 0 root (0) root (0) 19972 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/git.html\n--rw-r--r-- 0 root (0) root (0) 54653 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/howto-release-django.html\n--rw-r--r-- 0 root (0) root (0) 13413 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/index.html\n--rw-r--r-- 0 root (0) root (0) 12924 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/mailing-lists.html\n--rw-r--r-- 0 root (0) root (0) 24621 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/organization.html\n--rw-r--r-- 0 root (0) root (0) 20589 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/release-process.html\n--rw-r--r-- 0 root (0) root (0) 21655 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/security.html\n+-rw-r--r-- 0 root (0) root (0) 48110 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html\n+-rw-r--r-- 0 root (0) root (0) 8334 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html\n+-rw-r--r-- 0 root (0) root (0) 18505 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html\n+-rw-r--r-- 0 root (0) root (0) 36458 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html\n+-rw-r--r-- 0 root (0) root (0) 69973 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html\n+-rw-r--r-- 0 root (0) root (0) 24048 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html\n+-rw-r--r-- 0 root (0) root (0) 47270 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html\n+-rw-r--r-- 0 root (0) root (0) 133959 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/deprecation.html\n+-rw-r--r-- 0 root (0) root (0) 20071 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/git.html\n+-rw-r--r-- 0 root (0) root (0) 54685 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/howto-release-django.html\n+-rw-r--r-- 0 root (0) root (0) 13516 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/index.html\n+-rw-r--r-- 0 root (0) root (0) 13024 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/mailing-lists.html\n+-rw-r--r-- 0 root (0) root (0) 24718 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/organization.html\n+-rw-r--r-- 0 root (0) root (0) 20680 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/release-process.html\n+-rw-r--r-- 0 root (0) root (0) 21752 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/internals/security.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/\n--rw-r--r-- 0 root (0) root (0) 56678 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/contributing.html\n--rw-r--r-- 0 root (0) root (0) 7803 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/index.html\n--rw-r--r-- 0 root (0) root (0) 10452 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/install.html\n--rw-r--r-- 0 root (0) root (0) 40662 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/overview.html\n--rw-r--r-- 0 root (0) root (0) 32851 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/reusable-apps.html\n--rw-r--r-- 0 root (0) root (0) 31470 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial01.html\n--rw-r--r-- 0 root (0) root (0) 75858 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial02.html\n--rw-r--r-- 0 root (0) root (0) 58462 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial03.html\n--rw-r--r-- 0 root (0) root (0) 46447 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial04.html\n--rw-r--r-- 0 root (0) root (0) 79329 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial05.html\n--rw-r--r-- 0 root (0) root (0) 18168 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial06.html\n--rw-r--r-- 0 root (0) root (0) 46357 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial07.html\n--rw-r--r-- 0 root (0) root (0) 13971 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial08.html\n--rw-r--r-- 0 root (0) root (0) 21490 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/whatsnext.html\n+-rw-r--r-- 0 root (0) root (0) 56753 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/contributing.html\n+-rw-r--r-- 0 root (0) root (0) 7908 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/index.html\n+-rw-r--r-- 0 root (0) root (0) 10549 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/install.html\n+-rw-r--r-- 0 root (0) root (0) 40741 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/overview.html\n+-rw-r--r-- 0 root (0) root (0) 32948 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/reusable-apps.html\n+-rw-r--r-- 0 root (0) root (0) 31551 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial01.html\n+-rw-r--r-- 0 root (0) root (0) 75923 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial02.html\n+-rw-r--r-- 0 root (0) root (0) 58533 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial03.html\n+-rw-r--r-- 0 root (0) root (0) 46536 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial04.html\n+-rw-r--r-- 0 root (0) root (0) 79420 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial05.html\n+-rw-r--r-- 0 root (0) root (0) 18268 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial06.html\n+-rw-r--r-- 0 root (0) root (0) 46406 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial07.html\n+-rw-r--r-- 0 root (0) root (0) 14062 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/tutorial08.html\n+-rw-r--r-- 0 root (0) root (0) 21572 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/intro/whatsnext.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/\n--rw-r--r-- 0 root (0) root (0) 10121 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/api-stability.html\n--rw-r--r-- 0 root (0) root (0) 26709 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/design-philosophies.html\n--rw-r--r-- 0 root (0) root (0) 7346 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/distributions.html\n--rw-r--r-- 0 root (0) root (0) 6951 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/index.html\n+-rw-r--r-- 0 root (0) root (0) 10206 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/api-stability.html\n+-rw-r--r-- 0 root (0) root (0) 26796 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/design-philosophies.html\n+-rw-r--r-- 0 root (0) root (0) 7445 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/distributions.html\n+-rw-r--r-- 0 root (0) root (0) 7052 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/misc/index.html\n -rw-r--r-- 0 root (0) root (0) 103326 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/objects.inv\n--rw-r--r-- 0 root (0) root (0) 42346 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/py-modindex.html\n+-rw-r--r-- 0 root (0) root (0) 42430 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/py-modindex.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/\n--rw-r--r-- 0 root (0) root (0) 64190 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/applications.html\n--rw-r--r-- 0 root (0) root (0) 145098 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/checks.html\n+-rw-r--r-- 0 root (0) root (0) 64299 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/applications.html\n+-rw-r--r-- 0 root (0) root (0) 145207 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/checks.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/\n--rw-r--r-- 0 root (0) root (0) 39242 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html\n--rw-r--r-- 0 root (0) root (0) 193887 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html\n--rw-r--r-- 0 root (0) root (0) 93053 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html\n--rw-r--r-- 0 root (0) root (0) 31104 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html\n--rw-r--r-- 0 root (0) root (0) 48528 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html\n--rw-r--r-- 0 root (0) root (0) 20939 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html\n--rw-r--r-- 0 root (0) root (0) 53807 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html\n--rw-r--r-- 0 root (0) root (0) 35843 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html\n--rw-r--r-- 0 root (0) root (0) 31631 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html\n--rw-r--r-- 0 root (0) root (0) 17802 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html\n--rw-r--r-- 0 root (0) root (0) 28152 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html\n--rw-r--r-- 0 root (0) root (0) 5929 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html\n--rw-r--r-- 0 root (0) root (0) 16662 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/clickjacking.html\n+-rw-r--r-- 0 root (0) root (0) 39344 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html\n+-rw-r--r-- 0 root (0) root (0) 193991 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html\n+-rw-r--r-- 0 root (0) root (0) 93181 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html\n+-rw-r--r-- 0 root (0) root (0) 31206 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html\n+-rw-r--r-- 0 root (0) root (0) 48632 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html\n+-rw-r--r-- 0 root (0) root (0) 21041 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html\n+-rw-r--r-- 0 root (0) root (0) 53960 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html\n+-rw-r--r-- 0 root (0) root (0) 35945 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html\n+-rw-r--r-- 0 root (0) root (0) 31734 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html\n+-rw-r--r-- 0 root (0) root (0) 17904 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html\n+-rw-r--r-- 0 root (0) root (0) 28259 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html\n+-rw-r--r-- 0 root (0) root (0) 6031 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html\n+-rw-r--r-- 0 root (0) root (0) 16749 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/clickjacking.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/\n--rw-r--r-- 0 root (0) root (0) 59934 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/actions.html\n--rw-r--r-- 0 root (0) root (0) 19601 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/admindocs.html\n--rw-r--r-- 0 root (0) root (0) 30820 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/filters.html\n--rw-r--r-- 0 root (0) root (0) 465854 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/index.html\n--rw-r--r-- 0 root (0) root (0) 14378 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/javascript.html\n--rw-r--r-- 0 root (0) root (0) 110512 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/auth.html\n--rw-r--r-- 0 root (0) root (0) 95544 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/contenttypes.html\n--rw-r--r-- 0 root (0) root (0) 41625 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/flatpages.html\n+-rw-r--r-- 0 root (0) root (0) 60030 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/actions.html\n+-rw-r--r-- 0 root (0) root (0) 19704 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/admindocs.html\n+-rw-r--r-- 0 root (0) root (0) 30925 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/filters.html\n+-rw-r--r-- 0 root (0) root (0) 466006 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/index.html\n+-rw-r--r-- 0 root (0) root (0) 14483 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/admin/javascript.html\n+-rw-r--r-- 0 root (0) root (0) 110656 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/auth.html\n+-rw-r--r-- 0 root (0) root (0) 95656 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/contenttypes.html\n+-rw-r--r-- 0 root (0) root (0) 41727 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/flatpages.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/\n--rw-r--r-- 0 root (0) root (0) 7993 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/admin.html\n--rw-r--r-- 0 root (0) root (0) 16021 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/commands.html\n--rw-r--r-- 0 root (0) root (0) 73294 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/db-api.html\n--rw-r--r-- 0 root (0) root (0) 6635 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/deployment.html\n--rw-r--r-- 0 root (0) root (0) 15367 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/feeds.html\n--rw-r--r-- 0 root (0) root (0) 28403 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/forms-api.html\n--rw-r--r-- 0 root (0) root (0) 98179 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/functions.html\n--rw-r--r-- 0 root (0) root (0) 271559 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/gdal.html\n--rw-r--r-- 0 root (0) root (0) 29631 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoip2.html\n--rw-r--r-- 0 root (0) root (0) 103218 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoquerysets.html\n--rw-r--r-- 0 root (0) root (0) 177673 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geos.html\n--rw-r--r-- 0 root (0) root (0) 21547 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/index.html\n+-rw-r--r-- 0 root (0) root (0) 8100 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/admin.html\n+-rw-r--r-- 0 root (0) root (0) 16126 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/commands.html\n+-rw-r--r-- 0 root (0) root (0) 73399 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/db-api.html\n+-rw-r--r-- 0 root (0) root (0) 6745 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/deployment.html\n+-rw-r--r-- 0 root (0) root (0) 15480 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/feeds.html\n+-rw-r--r-- 0 root (0) root (0) 28530 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/forms-api.html\n+-rw-r--r-- 0 root (0) root (0) 98358 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/functions.html\n+-rw-r--r-- 0 root (0) root (0) 271877 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/gdal.html\n+-rw-r--r-- 0 root (0) root (0) 29758 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoip2.html\n+-rw-r--r-- 0 root (0) root (0) 103327 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoquerysets.html\n+-rw-r--r-- 0 root (0) root (0) 177835 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/geos.html\n+-rw-r--r-- 0 root (0) root (0) 21652 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/\n--rw-r--r-- 0 root (0) root (0) 24519 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/geolibs.html\n--rw-r--r-- 0 root (0) root (0) 39818 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/index.html\n--rw-r--r-- 0 root (0) root (0) 12469 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/postgis.html\n--rw-r--r-- 0 root (0) root (0) 13605 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/spatialite.html\n--rw-r--r-- 0 root (0) root (0) 30850 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/layermapping.html\n--rw-r--r-- 0 root (0) root (0) 28942 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/measure.html\n--rw-r--r-- 0 root (0) root (0) 36246 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/model-api.html\n--rw-r--r-- 0 root (0) root (0) 8686 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/ogrinspect.html\n--rw-r--r-- 0 root (0) root (0) 11465 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/serializers.html\n--rw-r--r-- 0 root (0) root (0) 7389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/sitemaps.html\n--rw-r--r-- 0 root (0) root (0) 15598 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/testing.html\n--rw-r--r-- 0 root (0) root (0) 98043 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/tutorial.html\n--rw-r--r-- 0 root (0) root (0) 7280 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/utils.html\n--rw-r--r-- 0 root (0) root (0) 23841 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/humanize.html\n--rw-r--r-- 0 root (0) root (0) 17342 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/index.html\n--rw-r--r-- 0 root (0) root (0) 59734 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/messages.html\n+-rw-r--r-- 0 root (0) root (0) 24625 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/geolibs.html\n+-rw-r--r-- 0 root (0) root (0) 39914 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/index.html\n+-rw-r--r-- 0 root (0) root (0) 12577 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/postgis.html\n+-rw-r--r-- 0 root (0) root (0) 13713 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/spatialite.html\n+-rw-r--r-- 0 root (0) root (0) 30964 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/layermapping.html\n+-rw-r--r-- 0 root (0) root (0) 29051 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/measure.html\n+-rw-r--r-- 0 root (0) root (0) 36369 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/model-api.html\n+-rw-r--r-- 0 root (0) root (0) 8795 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/ogrinspect.html\n+-rw-r--r-- 0 root (0) root (0) 11570 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/serializers.html\n+-rw-r--r-- 0 root (0) root (0) 7494 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/sitemaps.html\n+-rw-r--r-- 0 root (0) root (0) 15703 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/testing.html\n+-rw-r--r-- 0 root (0) root (0) 98144 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/tutorial.html\n+-rw-r--r-- 0 root (0) root (0) 7385 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/gis/utils.html\n+-rw-r--r-- 0 root (0) root (0) 23935 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/humanize.html\n+-rw-r--r-- 0 root (0) root (0) 17434 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/index.html\n+-rw-r--r-- 0 root (0) root (0) 59840 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/messages.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/\n--rw-r--r-- 0 root (0) root (0) 66326 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/aggregates.html\n--rw-r--r-- 0 root (0) root (0) 33551 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/constraints.html\n--rw-r--r-- 0 root (0) root (0) 10760 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/expressions.html\n--rw-r--r-- 0 root (0) root (0) 125984 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/fields.html\n--rw-r--r-- 0 root (0) root (0) 36386 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/forms.html\n--rw-r--r-- 0 root (0) root (0) 10617 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/functions.html\n--rw-r--r-- 0 root (0) root (0) 15890 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/index.html\n--rw-r--r-- 0 root (0) root (0) 29112 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/indexes.html\n--rw-r--r-- 0 root (0) root (0) 17620 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/lookups.html\n--rw-r--r-- 0 root (0) root (0) 34489 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/operations.html\n--rw-r--r-- 0 root (0) root (0) 67005 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/search.html\n--rw-r--r-- 0 root (0) root (0) 11177 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/validators.html\n--rw-r--r-- 0 root (0) root (0) 20024 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/redirects.html\n--rw-r--r-- 0 root (0) root (0) 76507 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/sitemaps.html\n--rw-r--r-- 0 root (0) root (0) 65380 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/sites.html\n--rw-r--r-- 0 root (0) root (0) 75571 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/staticfiles.html\n--rw-r--r-- 0 root (0) root (0) 106514 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/syndication.html\n--rw-r--r-- 0 root (0) root (0) 28768 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/csrf.html\n--rw-r--r-- 0 root (0) root (0) 120721 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/databases.html\n--rw-r--r-- 0 root (0) root (0) 230424 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/django-admin.html\n--rw-r--r-- 0 root (0) root (0) 55459 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/exceptions.html\n+-rw-r--r-- 0 root (0) root (0) 66425 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/aggregates.html\n+-rw-r--r-- 0 root (0) root (0) 33663 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/constraints.html\n+-rw-r--r-- 0 root (0) root (0) 10867 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/expressions.html\n+-rw-r--r-- 0 root (0) root (0) 126094 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/fields.html\n+-rw-r--r-- 0 root (0) root (0) 36489 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/forms.html\n+-rw-r--r-- 0 root (0) root (0) 10726 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/functions.html\n+-rw-r--r-- 0 root (0) root (0) 15995 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/index.html\n+-rw-r--r-- 0 root (0) root (0) 29233 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/indexes.html\n+-rw-r--r-- 0 root (0) root (0) 17730 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/lookups.html\n+-rw-r--r-- 0 root (0) root (0) 34624 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/operations.html\n+-rw-r--r-- 0 root (0) root (0) 67134 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/search.html\n+-rw-r--r-- 0 root (0) root (0) 11288 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/postgres/validators.html\n+-rw-r--r-- 0 root (0) root (0) 20120 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/redirects.html\n+-rw-r--r-- 0 root (0) root (0) 76609 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/sitemaps.html\n+-rw-r--r-- 0 root (0) root (0) 65458 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/sites.html\n+-rw-r--r-- 0 root (0) root (0) 75677 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/staticfiles.html\n+-rw-r--r-- 0 root (0) root (0) 106613 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/contrib/syndication.html\n+-rw-r--r-- 0 root (0) root (0) 28867 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/csrf.html\n+-rw-r--r-- 0 root (0) root (0) 120817 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/databases.html\n+-rw-r--r-- 0 root (0) root (0) 230536 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/django-admin.html\n+-rw-r--r-- 0 root (0) root (0) 55618 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/exceptions.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/\n--rw-r--r-- 0 root (0) root (0) 29111 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/file.html\n--rw-r--r-- 0 root (0) root (0) 7781 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/index.html\n--rw-r--r-- 0 root (0) root (0) 47540 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/storage.html\n--rw-r--r-- 0 root (0) root (0) 34515 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/uploads.html\n+-rw-r--r-- 0 root (0) root (0) 29233 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/file.html\n+-rw-r--r-- 0 root (0) root (0) 7883 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/index.html\n+-rw-r--r-- 0 root (0) root (0) 47698 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/storage.html\n+-rw-r--r-- 0 root (0) root (0) 34633 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/files/uploads.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/\n--rw-r--r-- 0 root (0) root (0) 228116 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/api.html\n--rw-r--r-- 0 root (0) root (0) 223300 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/fields.html\n--rw-r--r-- 0 root (0) root (0) 9056 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/formsets.html\n--rw-r--r-- 0 root (0) root (0) 12223 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/index.html\n--rw-r--r-- 0 root (0) root (0) 27847 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/models.html\n--rw-r--r-- 0 root (0) root (0) 35054 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/renderers.html\n--rw-r--r-- 0 root (0) root (0) 48079 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/validation.html\n--rw-r--r-- 0 root (0) root (0) 149037 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/widgets.html\n--rw-r--r-- 0 root (0) root (0) 8973 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/index.html\n--rw-r--r-- 0 root (0) root (0) 53531 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/logging.html\n--rw-r--r-- 0 root (0) root (0) 76323 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/middleware.html\n--rw-r--r-- 0 root (0) root (0) 91634 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/migration-operations.html\n+-rw-r--r-- 0 root (0) root (0) 228255 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/api.html\n+-rw-r--r-- 0 root (0) root (0) 223464 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/fields.html\n+-rw-r--r-- 0 root (0) root (0) 9160 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/formsets.html\n+-rw-r--r-- 0 root (0) root (0) 12323 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/index.html\n+-rw-r--r-- 0 root (0) root (0) 27955 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/models.html\n+-rw-r--r-- 0 root (0) root (0) 35172 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/renderers.html\n+-rw-r--r-- 0 root (0) root (0) 48173 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/validation.html\n+-rw-r--r-- 0 root (0) root (0) 149207 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/forms/widgets.html\n+-rw-r--r-- 0 root (0) root (0) 9076 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/index.html\n+-rw-r--r-- 0 root (0) root (0) 53638 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/logging.html\n+-rw-r--r-- 0 root (0) root (0) 76463 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/middleware.html\n+-rw-r--r-- 0 root (0) root (0) 91806 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/migration-operations.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/\n--rw-r--r-- 0 root (0) root (0) 13158 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/class.html\n--rw-r--r-- 0 root (0) root (0) 53519 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/conditional-expressions.html\n--rw-r--r-- 0 root (0) root (0) 46642 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/constraints.html\n--rw-r--r-- 0 root (0) root (0) 324377 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/database-functions.html\n--rw-r--r-- 0 root (0) root (0) 184181 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/expressions.html\n--rw-r--r-- 0 root (0) root (0) 348070 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/fields.html\n--rw-r--r-- 0 root (0) root (0) 6989 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/index.html\n--rw-r--r-- 0 root (0) root (0) 30210 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/indexes.html\n--rw-r--r-- 0 root (0) root (0) 129611 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/instances.html\n--rw-r--r-- 0 root (0) root (0) 37277 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/lookups.html\n--rw-r--r-- 0 root (0) root (0) 17851 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/meta.html\n--rw-r--r-- 0 root (0) root (0) 65462 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/options.html\n--rw-r--r-- 0 root (0) root (0) 519398 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/querysets.html\n--rw-r--r-- 0 root (0) root (0) 38346 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/relations.html\n--rw-r--r-- 0 root (0) root (0) 41265 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/paginator.html\n--rw-r--r-- 0 root (0) root (0) 195641 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/request-response.html\n--rw-r--r-- 0 root (0) root (0) 37369 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/schema-editor.html\n--rw-r--r-- 0 root (0) root (0) 371040 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/settings.html\n--rw-r--r-- 0 root (0) root (0) 71583 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/signals.html\n--rw-r--r-- 0 root (0) root (0) 41602 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/template-response.html\n+-rw-r--r-- 0 root (0) root (0) 13260 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/class.html\n+-rw-r--r-- 0 root (0) root (0) 53625 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/conditional-expressions.html\n+-rw-r--r-- 0 root (0) root (0) 46757 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/constraints.html\n+-rw-r--r-- 0 root (0) root (0) 324619 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/database-functions.html\n+-rw-r--r-- 0 root (0) root (0) 184316 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/expressions.html\n+-rw-r--r-- 0 root (0) root (0) 348310 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/fields.html\n+-rw-r--r-- 0 root (0) root (0) 7091 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/index.html\n+-rw-r--r-- 0 root (0) root (0) 30316 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/indexes.html\n+-rw-r--r-- 0 root (0) root (0) 129742 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/instances.html\n+-rw-r--r-- 0 root (0) root (0) 37389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/lookups.html\n+-rw-r--r-- 0 root (0) root (0) 17959 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/meta.html\n+-rw-r--r-- 0 root (0) root (0) 65561 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/options.html\n+-rw-r--r-- 0 root (0) root (0) 519557 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/querysets.html\n+-rw-r--r-- 0 root (0) root (0) 38444 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/models/relations.html\n+-rw-r--r-- 0 root (0) root (0) 41398 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/paginator.html\n+-rw-r--r-- 0 root (0) root (0) 195850 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/request-response.html\n+-rw-r--r-- 0 root (0) root (0) 37498 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/schema-editor.html\n+-rw-r--r-- 0 root (0) root (0) 371162 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/settings.html\n+-rw-r--r-- 0 root (0) root (0) 71696 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/signals.html\n+-rw-r--r-- 0 root (0) root (0) 41721 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/template-response.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/\n--rw-r--r-- 0 root (0) root (0) 140101 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/api.html\n--rw-r--r-- 0 root (0) root (0) 304264 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/builtins.html\n--rw-r--r-- 0 root (0) root (0) 8978 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/index.html\n--rw-r--r-- 0 root (0) root (0) 73682 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/language.html\n--rw-r--r-- 0 root (0) root (0) 37213 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/unicode.html\n--rw-r--r-- 0 root (0) root (0) 33295 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/urlresolvers.html\n--rw-r--r-- 0 root (0) root (0) 35978 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/urls.html\n--rw-r--r-- 0 root (0) root (0) 167118 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/utils.html\n--rw-r--r-- 0 root (0) root (0) 72180 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/validators.html\n--rw-r--r-- 0 root (0) root (0) 23233 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/views.html\n+-rw-r--r-- 0 root (0) root (0) 140245 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/api.html\n+-rw-r--r-- 0 root (0) root (0) 304275 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/builtins.html\n+-rw-r--r-- 0 root (0) root (0) 9082 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/index.html\n+-rw-r--r-- 0 root (0) root (0) 73754 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/templates/language.html\n+-rw-r--r-- 0 root (0) root (0) 37307 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/unicode.html\n+-rw-r--r-- 0 root (0) root (0) 33407 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/urlresolvers.html\n+-rw-r--r-- 0 root (0) root (0) 36076 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/urls.html\n+-rw-r--r-- 0 root (0) root (0) 167403 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/utils.html\n+-rw-r--r-- 0 root (0) root (0) 72320 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/validators.html\n+-rw-r--r-- 0 root (0) root (0) 23326 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/ref/views.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/\n--rw-r--r-- 0 root (0) root (0) 12898 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/0.95.html\n--rw-r--r-- 0 root (0) root (0) 25625 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/0.96.html\n--rw-r--r-- 0 root (0) root (0) 95803 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0-porting-guide.html\n--rw-r--r-- 0 root (0) root (0) 9150 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.1.html\n--rw-r--r-- 0 root (0) root (0) 8411 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.2.html\n--rw-r--r-- 0 root (0) root (0) 26532 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.html\n--rw-r--r-- 0 root (0) root (0) 9711 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.2.html\n--rw-r--r-- 0 root (0) root (0) 8347 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.3.html\n--rw-r--r-- 0 root (0) root (0) 8896 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.4.html\n--rw-r--r-- 0 root (0) root (0) 46881 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.html\n--rw-r--r-- 0 root (0) root (0) 15011 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.1.html\n--rw-r--r-- 0 root (0) root (0) 8308 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.2.html\n--rw-r--r-- 0 root (0) root (0) 12341 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.3.html\n--rw-r--r-- 0 root (0) root (0) 7995 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.4.html\n--rw-r--r-- 0 root (0) root (0) 6834 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.5.html\n--rw-r--r-- 0 root (0) root (0) 7374 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.6.html\n--rw-r--r-- 0 root (0) root (0) 9227 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.7.html\n--rw-r--r-- 0 root (0) root (0) 6456 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.8.html\n--rw-r--r-- 0 root (0) root (0) 171475 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.html\n--rw-r--r-- 0 root (0) root (0) 17893 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.1.html\n--rw-r--r-- 0 root (0) root (0) 8873 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.10.html\n--rw-r--r-- 0 root (0) root (0) 9208 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.11.html\n--rw-r--r-- 0 root (0) root (0) 6628 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.12.html\n--rw-r--r-- 0 root (0) root (0) 6991 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.13.html\n--rw-r--r-- 0 root (0) root (0) 6290 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.14.html\n--rw-r--r-- 0 root (0) root (0) 7003 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.15.html\n--rw-r--r-- 0 root (0) root (0) 5908 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.16.html\n--rw-r--r-- 0 root (0) root (0) 6164 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.17.html\n--rw-r--r-- 0 root (0) root (0) 6445 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.18.html\n--rw-r--r-- 0 root (0) root (0) 7032 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.19.html\n--rw-r--r-- 0 root (0) root (0) 11128 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.2.html\n--rw-r--r-- 0 root (0) root (0) 5791 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.20.html\n--rw-r--r-- 0 root (0) root (0) 7138 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.21.html\n--rw-r--r-- 0 root (0) root (0) 8288 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.22.html\n--rw-r--r-- 0 root (0) root (0) 13777 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.23.html\n--rw-r--r-- 0 root (0) root (0) 6289 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.24.html\n--rw-r--r-- 0 root (0) root (0) 6297 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.25.html\n--rw-r--r-- 0 root (0) root (0) 6401 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.26.html\n--rw-r--r-- 0 root (0) root (0) 7661 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.27.html\n--rw-r--r-- 0 root (0) root (0) 6520 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.28.html\n--rw-r--r-- 0 root (0) root (0) 6473 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.29.html\n--rw-r--r-- 0 root (0) root (0) 11897 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.3.html\n--rw-r--r-- 0 root (0) root (0) 10074 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.4.html\n--rw-r--r-- 0 root (0) root (0) 10941 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.5.html\n--rw-r--r-- 0 root (0) root (0) 6940 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.6.html\n--rw-r--r-- 0 root (0) root (0) 7109 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.7.html\n--rw-r--r-- 0 root (0) root (0) 8975 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.8.html\n--rw-r--r-- 0 root (0) root (0) 6799 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.9.html\n--rw-r--r-- 0 root (0) root (0) 122264 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.html\n--rw-r--r-- 0 root (0) root (0) 5367 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.1.html\n--rw-r--r-- 0 root (0) root (0) 6850 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.2.html\n--rw-r--r-- 0 root (0) root (0) 5748 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.3.html\n--rw-r--r-- 0 root (0) root (0) 11461 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.4.html\n--rw-r--r-- 0 root (0) root (0) 13947 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.5.html\n--rw-r--r-- 0 root (0) root (0) 5548 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.6.html\n--rw-r--r-- 0 root (0) root (0) 5498 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.7.html\n--rw-r--r-- 0 root (0) root (0) 124207 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.html\n--rw-r--r-- 0 root (0) root (0) 5487 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.1.html\n--rw-r--r-- 0 root (0) root (0) 5467 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.2.html\n--rw-r--r-- 0 root (0) root (0) 5455 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.3.html\n--rw-r--r-- 0 root (0) root (0) 7626 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.4.html\n--rw-r--r-- 0 root (0) root (0) 8975 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.5.html\n--rw-r--r-- 0 root (0) root (0) 10657 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.6.html\n--rw-r--r-- 0 root (0) root (0) 5758 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.7.html\n--rw-r--r-- 0 root (0) root (0) 90741 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.html\n--rw-r--r-- 0 root (0) root (0) 5450 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.1.html\n--rw-r--r-- 0 root (0) root (0) 5829 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.10.html\n--rw-r--r-- 0 root (0) root (0) 13064 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.11.html\n--rw-r--r-- 0 root (0) root (0) 6120 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.12.html\n--rw-r--r-- 0 root (0) root (0) 9168 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.13.html\n--rw-r--r-- 0 root (0) root (0) 11393 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.14.html\n--rw-r--r-- 0 root (0) root (0) 5805 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.15.html\n--rw-r--r-- 0 root (0) root (0) 6228 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.16.html\n--rw-r--r-- 0 root (0) root (0) 6036 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.17.html\n--rw-r--r-- 0 root (0) root (0) 11531 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.18.html\n--rw-r--r-- 0 root (0) root (0) 6253 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.19.html\n--rw-r--r-- 0 root (0) root (0) 9719 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.2.html\n--rw-r--r-- 0 root (0) root (0) 7425 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.20.html\n--rw-r--r-- 0 root (0) root (0) 10724 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.21.html\n--rw-r--r-- 0 root (0) root (0) 8035 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.22.html\n--rw-r--r-- 0 root (0) root (0) 8975 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.3.html\n--rw-r--r-- 0 root (0) root (0) 11399 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.4.html\n--rw-r--r-- 0 root (0) root (0) 5774 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.5.html\n--rw-r--r-- 0 root (0) root (0) 8188 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.6.html\n--rw-r--r-- 0 root (0) root (0) 7109 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.7.html\n--rw-r--r-- 0 root (0) root (0) 8950 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.8.html\n--rw-r--r-- 0 root (0) root (0) 6585 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.9.html\n--rw-r--r-- 0 root (0) root (0) 152065 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.html\n--rw-r--r-- 0 root (0) root (0) 6304 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.1.html\n--rw-r--r-- 0 root (0) root (0) 5796 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.10.html\n--rw-r--r-- 0 root (0) root (0) 5994 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.11.html\n--rw-r--r-- 0 root (0) root (0) 5812 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.12.html\n--rw-r--r-- 0 root (0) root (0) 13474 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.2.html\n--rw-r--r-- 0 root (0) root (0) 11762 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.3.html\n--rw-r--r-- 0 root (0) root (0) 9754 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.4.html\n--rw-r--r-- 0 root (0) root (0) 8476 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.5.html\n--rw-r--r-- 0 root (0) root (0) 13995 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.6.html\n--rw-r--r-- 0 root (0) root (0) 6095 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.7.html\n--rw-r--r-- 0 root (0) root (0) 9143 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.8.html\n--rw-r--r-- 0 root (0) root (0) 11376 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.9.html\n--rw-r--r-- 0 root (0) root (0) 98668 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.html\n--rw-r--r-- 0 root (0) root (0) 11450 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.1.html\n--rw-r--r-- 0 root (0) root (0) 12176 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.10.html\n--rw-r--r-- 0 root (0) root (0) 9650 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.11.html\n--rw-r--r-- 0 root (0) root (0) 9107 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.2.html\n--rw-r--r-- 0 root (0) root (0) 21095 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.3.html\n--rw-r--r-- 0 root (0) root (0) 7007 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.4.html\n--rw-r--r-- 0 root (0) root (0) 10732 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.5.html\n--rw-r--r-- 0 root (0) root (0) 14344 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.6.html\n--rw-r--r-- 0 root (0) root (0) 6166 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.7.html\n--rw-r--r-- 0 root (0) root (0) 5970 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.8.html\n--rw-r--r-- 0 root (0) root (0) 6019 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.9.html\n--rw-r--r-- 0 root (0) root (0) 153086 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.html\n--rw-r--r-- 0 root (0) root (0) 20799 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.1.html\n--rw-r--r-- 0 root (0) root (0) 7880 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.10.html\n--rw-r--r-- 0 root (0) root (0) 7990 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.11.html\n--rw-r--r-- 0 root (0) root (0) 25836 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.2.html\n--rw-r--r-- 0 root (0) root (0) 13892 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.3.html\n--rw-r--r-- 0 root (0) root (0) 7340 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.4.html\n--rw-r--r-- 0 root (0) root (0) 7308 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.5.html\n--rw-r--r-- 0 root (0) root (0) 7961 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.6.html\n--rw-r--r-- 0 root (0) root (0) 10744 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.7.html\n--rw-r--r-- 0 root (0) root (0) 5889 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.8.html\n--rw-r--r-- 0 root (0) root (0) 11789 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.9.html\n--rw-r--r-- 0 root (0) root (0) 236845 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.html\n--rw-r--r-- 0 root (0) root (0) 15414 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.1.html\n--rw-r--r-- 0 root (0) root (0) 13307 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.10.html\n--rw-r--r-- 0 root (0) root (0) 5430 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.11.html\n--rw-r--r-- 0 root (0) root (0) 6739 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.12.html\n--rw-r--r-- 0 root (0) root (0) 6167 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.13.html\n--rw-r--r-- 0 root (0) root (0) 7218 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.14.html\n--rw-r--r-- 0 root (0) root (0) 6642 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.15.html\n--rw-r--r-- 0 root (0) root (0) 9228 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.16.html\n--rw-r--r-- 0 root (0) root (0) 5893 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.17.html\n--rw-r--r-- 0 root (0) root (0) 8260 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.18.html\n--rw-r--r-- 0 root (0) root (0) 9155 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.19.html\n--rw-r--r-- 0 root (0) root (0) 11724 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.2.html\n--rw-r--r-- 0 root (0) root (0) 21411 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.3.html\n--rw-r--r-- 0 root (0) root (0) 10863 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.4.html\n--rw-r--r-- 0 root (0) root (0) 10995 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.5.html\n--rw-r--r-- 0 root (0) root (0) 10155 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.6.html\n--rw-r--r-- 0 root (0) root (0) 12716 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.7.html\n--rw-r--r-- 0 root (0) root (0) 11222 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.8.html\n--rw-r--r-- 0 root (0) root (0) 8596 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.9.html\n--rw-r--r-- 0 root (0) root (0) 234565 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.html\n--rw-r--r-- 0 root (0) root (0) 14096 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.1.html\n--rw-r--r-- 0 root (0) root (0) 6633 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.10.html\n--rw-r--r-- 0 root (0) root (0) 9228 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.11.html\n--rw-r--r-- 0 root (0) root (0) 5893 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.12.html\n--rw-r--r-- 0 root (0) root (0) 8941 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.13.html\n--rw-r--r-- 0 root (0) root (0) 16491 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.2.html\n--rw-r--r-- 0 root (0) root (0) 16205 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.3.html\n--rw-r--r-- 0 root (0) root (0) 5406 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.4.html\n--rw-r--r-- 0 root (0) root (0) 9940 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.5.html\n--rw-r--r-- 0 root (0) root (0) 7970 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.6.html\n--rw-r--r-- 0 root (0) root (0) 7701 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.7.html\n--rw-r--r-- 0 root (0) root (0) 7464 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.8.html\n--rw-r--r-- 0 root (0) root (0) 5942 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.9.html\n--rw-r--r-- 0 root (0) root (0) 177155 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.html\n--rw-r--r-- 0 root (0) root (0) 9135 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.1.html\n--rw-r--r-- 0 root (0) root (0) 7761 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.10.html\n--rw-r--r-- 0 root (0) root (0) 7007 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.11.html\n--rw-r--r-- 0 root (0) root (0) 5765 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.12.html\n--rw-r--r-- 0 root (0) root (0) 5873 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.13.html\n--rw-r--r-- 0 root (0) root (0) 10047 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.2.html\n--rw-r--r-- 0 root (0) root (0) 11799 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.3.html\n--rw-r--r-- 0 root (0) root (0) 8225 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.4.html\n--rw-r--r-- 0 root (0) root (0) 7302 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.5.html\n--rw-r--r-- 0 root (0) root (0) 7046 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.6.html\n--rw-r--r-- 0 root (0) root (0) 6739 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.7.html\n--rw-r--r-- 0 root (0) root (0) 7921 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.8.html\n--rw-r--r-- 0 root (0) root (0) 5866 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.9.html\n--rw-r--r-- 0 root (0) root (0) 104924 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.html\n--rw-r--r-- 0 root (0) root (0) 9792 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.1.html\n--rw-r--r-- 0 root (0) root (0) 8254 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.10.html\n--rw-r--r-- 0 root (0) root (0) 13752 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.11.html\n--rw-r--r-- 0 root (0) root (0) 6264 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.12.html\n--rw-r--r-- 0 root (0) root (0) 6272 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.13.html\n--rw-r--r-- 0 root (0) root (0) 6376 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.14.html\n--rw-r--r-- 0 root (0) root (0) 9010 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.15.html\n--rw-r--r-- 0 root (0) root (0) 8400 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.2.html\n--rw-r--r-- 0 root (0) root (0) 7400 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.3.html\n--rw-r--r-- 0 root (0) root (0) 7257 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.4.html\n--rw-r--r-- 0 root (0) root (0) 8188 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.5.html\n--rw-r--r-- 0 root (0) root (0) 7685 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.6.html\n--rw-r--r-- 0 root (0) root (0) 5739 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.7.html\n--rw-r--r-- 0 root (0) root (0) 5893 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.8.html\n--rw-r--r-- 0 root (0) root (0) 8508 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.9.html\n--rw-r--r-- 0 root (0) root (0) 64292 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.html\n--rw-r--r-- 0 root (0) root (0) 14540 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.1.html\n--rw-r--r-- 0 root (0) root (0) 6486 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.10.html\n--rw-r--r-- 0 root (0) root (0) 7540 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.11.html\n--rw-r--r-- 0 root (0) root (0) 5884 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.12.html\n--rw-r--r-- 0 root (0) root (0) 7962 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.13.html\n--rw-r--r-- 0 root (0) root (0) 5965 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.14.html\n--rw-r--r-- 0 root (0) root (0) 6359 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.15.html\n--rw-r--r-- 0 root (0) root (0) 9036 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.16.html\n--rw-r--r-- 0 root (0) root (0) 5164 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.17.html\n--rw-r--r-- 0 root (0) root (0) 6799 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.18.html\n--rw-r--r-- 0 root (0) root (0) 6943 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.19.html\n--rw-r--r-- 0 root (0) root (0) 11763 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.2.html\n--rw-r--r-- 0 root (0) root (0) 6178 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.20.html\n--rw-r--r-- 0 root (0) root (0) 6351 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.21.html\n--rw-r--r-- 0 root (0) root (0) 7589 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.22.html\n--rw-r--r-- 0 root (0) root (0) 6259 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.23.html\n--rw-r--r-- 0 root (0) root (0) 9298 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.24.html\n--rw-r--r-- 0 root (0) root (0) 6144 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.25.html\n--rw-r--r-- 0 root (0) root (0) 10045 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.26.html\n--rw-r--r-- 0 root (0) root (0) 7632 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.27.html\n--rw-r--r-- 0 root (0) root (0) 8823 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.28.html\n--rw-r--r-- 0 root (0) root (0) 9913 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.3.html\n--rw-r--r-- 0 root (0) root (0) 16006 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.4.html\n--rw-r--r-- 0 root (0) root (0) 7179 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.5.html\n--rw-r--r-- 0 root (0) root (0) 6496 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.6.html\n--rw-r--r-- 0 root (0) root (0) 8100 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.7.html\n--rw-r--r-- 0 root (0) root (0) 9874 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.8.html\n--rw-r--r-- 0 root (0) root (0) 7619 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.9.html\n--rw-r--r-- 0 root (0) root (0) 71176 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.html\n--rw-r--r-- 0 root (0) root (0) 9637 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.1.html\n--rw-r--r-- 0 root (0) root (0) 9027 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.10.html\n--rw-r--r-- 0 root (0) root (0) 6029 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.11.html\n--rw-r--r-- 0 root (0) root (0) 6799 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.12.html\n--rw-r--r-- 0 root (0) root (0) 6943 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.13.html\n--rw-r--r-- 0 root (0) root (0) 6154 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.14.html\n--rw-r--r-- 0 root (0) root (0) 7122 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.2.html\n--rw-r--r-- 0 root (0) root (0) 10994 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.3.html\n--rw-r--r-- 0 root (0) root (0) 8934 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.4.html\n--rw-r--r-- 0 root (0) root (0) 6397 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.5.html\n--rw-r--r-- 0 root (0) root (0) 6001 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.6.html\n--rw-r--r-- 0 root (0) root (0) 9716 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.7.html\n--rw-r--r-- 0 root (0) root (0) 7112 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.8.html\n--rw-r--r-- 0 root (0) root (0) 6346 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.9.html\n--rw-r--r-- 0 root (0) root (0) 88634 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.html\n--rw-r--r-- 0 root (0) root (0) 14440 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.1.html\n--rw-r--r-- 0 root (0) root (0) 7580 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.10.html\n--rw-r--r-- 0 root (0) root (0) 6257 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.11.html\n--rw-r--r-- 0 root (0) root (0) 9298 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.12.html\n--rw-r--r-- 0 root (0) root (0) 6845 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.13.html\n--rw-r--r-- 0 root (0) root (0) 6120 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.14.html\n--rw-r--r-- 0 root (0) root (0) 8259 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.2.html\n--rw-r--r-- 0 root (0) root (0) 12287 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.3.html\n--rw-r--r-- 0 root (0) root (0) 8360 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.4.html\n--rw-r--r-- 0 root (0) root (0) 7193 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.5.html\n--rw-r--r-- 0 root (0) root (0) 7258 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.6.html\n--rw-r--r-- 0 root (0) root (0) 7582 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.7.html\n--rw-r--r-- 0 root (0) root (0) 7056 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.8.html\n--rw-r--r-- 0 root (0) root (0) 6334 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.9.html\n--rw-r--r-- 0 root (0) root (0) 113653 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.html\n--rw-r--r-- 0 root (0) root (0) 13381 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.1.html\n--rw-r--r-- 0 root (0) root (0) 6878 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.10.html\n--rw-r--r-- 0 root (0) root (0) 10045 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.11.html\n--rw-r--r-- 0 root (0) root (0) 7632 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.12.html\n--rw-r--r-- 0 root (0) root (0) 9565 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.13.html\n--rw-r--r-- 0 root (0) root (0) 7256 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.14.html\n--rw-r--r-- 0 root (0) root (0) 6797 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.15.html\n--rw-r--r-- 0 root (0) root (0) 6152 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.16.html\n--rw-r--r-- 0 root (0) root (0) 6598 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.17.html\n--rw-r--r-- 0 root (0) root (0) 6464 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.18.html\n--rw-r--r-- 0 root (0) root (0) 8171 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.19.html\n--rw-r--r-- 0 root (0) root (0) 8454 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.2.html\n--rw-r--r-- 0 root (0) root (0) 6813 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.20.html\n--rw-r--r-- 0 root (0) root (0) 6497 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.21.html\n--rw-r--r-- 0 root (0) root (0) 7973 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.22.html\n--rw-r--r-- 0 root (0) root (0) 7013 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.23.html\n--rw-r--r-- 0 root (0) root (0) 6323 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.24.html\n--rw-r--r-- 0 root (0) root (0) 7690 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.25.html\n--rw-r--r-- 0 root (0) root (0) 6790 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.3.html\n--rw-r--r-- 0 root (0) root (0) 11736 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.4.html\n--rw-r--r-- 0 root (0) root (0) 8876 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.5.html\n--rw-r--r-- 0 root (0) root (0) 6354 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.6.html\n--rw-r--r-- 0 root (0) root (0) 5795 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.7.html\n--rw-r--r-- 0 root (0) root (0) 6077 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.8.html\n--rw-r--r-- 0 root (0) root (0) 5849 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.9.html\n--rw-r--r-- 0 root (0) root (0) 108221 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.html\n--rw-r--r-- 0 root (0) root (0) 12491 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.1.html\n--rw-r--r-- 0 root (0) root (0) 6431 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.10.html\n--rw-r--r-- 0 root (0) root (0) 11361 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.2.html\n--rw-r--r-- 0 root (0) root (0) 6877 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.3.html\n--rw-r--r-- 0 root (0) root (0) 9842 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.4.html\n--rw-r--r-- 0 root (0) root (0) 6560 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.5.html\n--rw-r--r-- 0 root (0) root (0) 7231 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.6.html\n--rw-r--r-- 0 root (0) root (0) 6772 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.7.html\n--rw-r--r-- 0 root (0) root (0) 6127 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.8.html\n--rw-r--r-- 0 root (0) root (0) 6581 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.9.html\n--rw-r--r-- 0 root (0) root (0) 99193 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.html\n--rw-r--r-- 0 root (0) root (0) 11480 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.1.html\n--rw-r--r-- 0 root (0) root (0) 6804 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.10.html\n--rw-r--r-- 0 root (0) root (0) 6497 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.11.html\n--rw-r--r-- 0 root (0) root (0) 7973 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.12.html\n--rw-r--r-- 0 root (0) root (0) 6989 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.13.html\n--rw-r--r-- 0 root (0) root (0) 10920 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.2.html\n--rw-r--r-- 0 root (0) root (0) 6140 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.3.html\n--rw-r--r-- 0 root (0) root (0) 7960 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.4.html\n--rw-r--r-- 0 root (0) root (0) 6270 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.5.html\n--rw-r--r-- 0 root (0) root (0) 7146 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.6.html\n--rw-r--r-- 0 root (0) root (0) 7074 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.7.html\n--rw-r--r-- 0 root (0) root (0) 5876 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.8.html\n--rw-r--r-- 0 root (0) root (0) 8154 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.9.html\n--rw-r--r-- 0 root (0) root (0) 97640 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.html\n--rw-r--r-- 0 root (0) root (0) 14107 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.1.html\n--rw-r--r-- 0 root (0) root (0) 6314 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.10.html\n--rw-r--r-- 0 root (0) root (0) 7714 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.11.html\n--rw-r--r-- 0 root (0) root (0) 5958 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.12.html\n--rw-r--r-- 0 root (0) root (0) 5158 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.13.html\n--rw-r--r-- 0 root (0) root (0) 12229 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.14.html\n--rw-r--r-- 0 root (0) root (0) 12136 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.15.html\n--rw-r--r-- 0 root (0) root (0) 8210 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.16.html\n--rw-r--r-- 0 root (0) root (0) 9385 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.17.html\n--rw-r--r-- 0 root (0) root (0) 10085 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.2.html\n--rw-r--r-- 0 root (0) root (0) 7895 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.3.html\n--rw-r--r-- 0 root (0) root (0) 6398 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.4.html\n--rw-r--r-- 0 root (0) root (0) 8378 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.5.html\n--rw-r--r-- 0 root (0) root (0) 10665 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.6.html\n--rw-r--r-- 0 root (0) root (0) 8108 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.7.html\n--rw-r--r-- 0 root (0) root (0) 8478 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.8.html\n--rw-r--r-- 0 root (0) root (0) 5818 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.9.html\n--rw-r--r-- 0 root (0) root (0) 78467 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.html\n--rw-r--r-- 0 root (0) root (0) 8935 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.1.html\n--rw-r--r-- 0 root (0) root (0) 9376 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.10.html\n--rw-r--r-- 0 root (0) root (0) 10529 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.2.html\n--rw-r--r-- 0 root (0) root (0) 10215 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.3.html\n--rw-r--r-- 0 root (0) root (0) 8025 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.4.html\n--rw-r--r-- 0 root (0) root (0) 8252 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.5.html\n--rw-r--r-- 0 root (0) root (0) 5134 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.6.html\n--rw-r--r-- 0 root (0) root (0) 13136 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.7.html\n--rw-r--r-- 0 root (0) root (0) 14981 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.8.html\n--rw-r--r-- 0 root (0) root (0) 8193 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.9.html\n--rw-r--r-- 0 root (0) root (0) 100220 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.html\n--rw-r--r-- 0 root (0) root (0) 12391 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.1.html\n--rw-r--r-- 0 root (0) root (0) 6771 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.2.html\n--rw-r--r-- 0 root (0) root (0) 6850 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.3.html\n--rw-r--r-- 0 root (0) root (0) 10342 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.4.html\n--rw-r--r-- 0 root (0) root (0) 66717 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.html\n--rw-r--r-- 0 root (0) root (0) 49369 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/index.html\n--rw-r--r-- 0 root (0) root (0) 175834 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/security.html\n--rw-r--r-- 0 root (0) root (0) 3910 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 1899451 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 12991 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/0.95.html\n+-rw-r--r-- 0 root (0) root (0) 25712 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/0.96.html\n+-rw-r--r-- 0 root (0) root (0) 95913 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0-porting-guide.html\n+-rw-r--r-- 0 root (0) root (0) 9247 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.1.html\n+-rw-r--r-- 0 root (0) root (0) 8506 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.2.html\n+-rw-r--r-- 0 root (0) root (0) 26631 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.0.html\n+-rw-r--r-- 0 root (0) root (0) 9808 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.2.html\n+-rw-r--r-- 0 root (0) root (0) 8444 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.3.html\n+-rw-r--r-- 0 root (0) root (0) 8993 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.4.html\n+-rw-r--r-- 0 root (0) root (0) 46966 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.1.html\n+-rw-r--r-- 0 root (0) root (0) 15110 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.1.html\n+-rw-r--r-- 0 root (0) root (0) 8405 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.2.html\n+-rw-r--r-- 0 root (0) root (0) 12440 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.3.html\n+-rw-r--r-- 0 root (0) root (0) 8092 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.4.html\n+-rw-r--r-- 0 root (0) root (0) 6933 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.5.html\n+-rw-r--r-- 0 root (0) root (0) 7471 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.6.html\n+-rw-r--r-- 0 root (0) root (0) 9322 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.7.html\n+-rw-r--r-- 0 root (0) root (0) 6555 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.8.html\n+-rw-r--r-- 0 root (0) root (0) 171559 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.10.html\n+-rw-r--r-- 0 root (0) root (0) 17990 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.1.html\n+-rw-r--r-- 0 root (0) root (0) 8970 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.10.html\n+-rw-r--r-- 0 root (0) root (0) 9307 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.11.html\n+-rw-r--r-- 0 root (0) root (0) 6727 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.12.html\n+-rw-r--r-- 0 root (0) root (0) 7090 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.13.html\n+-rw-r--r-- 0 root (0) root (0) 6389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.14.html\n+-rw-r--r-- 0 root (0) root (0) 7102 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.15.html\n+-rw-r--r-- 0 root (0) root (0) 6007 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.16.html\n+-rw-r--r-- 0 root (0) root (0) 6263 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.17.html\n+-rw-r--r-- 0 root (0) root (0) 6544 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.18.html\n+-rw-r--r-- 0 root (0) root (0) 7131 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.19.html\n+-rw-r--r-- 0 root (0) root (0) 11227 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.2.html\n+-rw-r--r-- 0 root (0) root (0) 5890 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.20.html\n+-rw-r--r-- 0 root (0) root (0) 7235 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.21.html\n+-rw-r--r-- 0 root (0) root (0) 8387 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.22.html\n+-rw-r--r-- 0 root (0) root (0) 13876 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.23.html\n+-rw-r--r-- 0 root (0) root (0) 6388 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.24.html\n+-rw-r--r-- 0 root (0) root (0) 6396 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.25.html\n+-rw-r--r-- 0 root (0) root (0) 6500 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.26.html\n+-rw-r--r-- 0 root (0) root (0) 7760 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.27.html\n+-rw-r--r-- 0 root (0) root (0) 6619 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.28.html\n+-rw-r--r-- 0 root (0) root (0) 6572 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.29.html\n+-rw-r--r-- 0 root (0) root (0) 11996 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.3.html\n+-rw-r--r-- 0 root (0) root (0) 10173 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.4.html\n+-rw-r--r-- 0 root (0) root (0) 11040 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.5.html\n+-rw-r--r-- 0 root (0) root (0) 7039 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.6.html\n+-rw-r--r-- 0 root (0) root (0) 7208 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.7.html\n+-rw-r--r-- 0 root (0) root (0) 9072 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.8.html\n+-rw-r--r-- 0 root (0) root (0) 6898 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.9.html\n+-rw-r--r-- 0 root (0) root (0) 122361 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.11.html\n+-rw-r--r-- 0 root (0) root (0) 5466 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.1.html\n+-rw-r--r-- 0 root (0) root (0) 6947 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.2.html\n+-rw-r--r-- 0 root (0) root (0) 5847 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.3.html\n+-rw-r--r-- 0 root (0) root (0) 11558 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.4.html\n+-rw-r--r-- 0 root (0) root (0) 14044 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.5.html\n+-rw-r--r-- 0 root (0) root (0) 5647 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.6.html\n+-rw-r--r-- 0 root (0) root (0) 5597 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.7.html\n+-rw-r--r-- 0 root (0) root (0) 124302 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.2.html\n+-rw-r--r-- 0 root (0) root (0) 5586 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.1.html\n+-rw-r--r-- 0 root (0) root (0) 5566 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.2.html\n+-rw-r--r-- 0 root (0) root (0) 5554 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.3.html\n+-rw-r--r-- 0 root (0) root (0) 7725 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.4.html\n+-rw-r--r-- 0 root (0) root (0) 9074 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.5.html\n+-rw-r--r-- 0 root (0) root (0) 10756 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.6.html\n+-rw-r--r-- 0 root (0) root (0) 5855 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.7.html\n+-rw-r--r-- 0 root (0) root (0) 90820 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.3.html\n+-rw-r--r-- 0 root (0) root (0) 5549 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.1.html\n+-rw-r--r-- 0 root (0) root (0) 5928 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.10.html\n+-rw-r--r-- 0 root (0) root (0) 13159 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.11.html\n+-rw-r--r-- 0 root (0) root (0) 6219 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.12.html\n+-rw-r--r-- 0 root (0) root (0) 9265 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.13.html\n+-rw-r--r-- 0 root (0) root (0) 11488 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.14.html\n+-rw-r--r-- 0 root (0) root (0) 5904 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.15.html\n+-rw-r--r-- 0 root (0) root (0) 6327 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.16.html\n+-rw-r--r-- 0 root (0) root (0) 6135 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.17.html\n+-rw-r--r-- 0 root (0) root (0) 11628 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.18.html\n+-rw-r--r-- 0 root (0) root (0) 6352 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.19.html\n+-rw-r--r-- 0 root (0) root (0) 9818 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.2.html\n+-rw-r--r-- 0 root (0) root (0) 7522 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.20.html\n+-rw-r--r-- 0 root (0) root (0) 10823 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.21.html\n+-rw-r--r-- 0 root (0) root (0) 8134 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.22.html\n+-rw-r--r-- 0 root (0) root (0) 9074 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.3.html\n+-rw-r--r-- 0 root (0) root (0) 11498 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.4.html\n+-rw-r--r-- 0 root (0) root (0) 5871 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.5.html\n+-rw-r--r-- 0 root (0) root (0) 8285 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.6.html\n+-rw-r--r-- 0 root (0) root (0) 7208 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.7.html\n+-rw-r--r-- 0 root (0) root (0) 9049 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.8.html\n+-rw-r--r-- 0 root (0) root (0) 6684 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.9.html\n+-rw-r--r-- 0 root (0) root (0) 152150 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.4.html\n+-rw-r--r-- 0 root (0) root (0) 6403 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.1.html\n+-rw-r--r-- 0 root (0) root (0) 5895 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.10.html\n+-rw-r--r-- 0 root (0) root (0) 6093 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.11.html\n+-rw-r--r-- 0 root (0) root (0) 5911 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.12.html\n+-rw-r--r-- 0 root (0) root (0) 13571 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.2.html\n+-rw-r--r-- 0 root (0) root (0) 11861 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.3.html\n+-rw-r--r-- 0 root (0) root (0) 9853 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.4.html\n+-rw-r--r-- 0 root (0) root (0) 8575 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.5.html\n+-rw-r--r-- 0 root (0) root (0) 14090 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.6.html\n+-rw-r--r-- 0 root (0) root (0) 6194 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.7.html\n+-rw-r--r-- 0 root (0) root (0) 9240 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.8.html\n+-rw-r--r-- 0 root (0) root (0) 11471 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.9.html\n+-rw-r--r-- 0 root (0) root (0) 98760 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.5.html\n+-rw-r--r-- 0 root (0) root (0) 11549 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.1.html\n+-rw-r--r-- 0 root (0) root (0) 12273 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.10.html\n+-rw-r--r-- 0 root (0) root (0) 9747 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.11.html\n+-rw-r--r-- 0 root (0) root (0) 9206 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.2.html\n+-rw-r--r-- 0 root (0) root (0) 21190 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.3.html\n+-rw-r--r-- 0 root (0) root (0) 7106 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.4.html\n+-rw-r--r-- 0 root (0) root (0) 10829 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.5.html\n+-rw-r--r-- 0 root (0) root (0) 14437 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.6.html\n+-rw-r--r-- 0 root (0) root (0) 6265 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.7.html\n+-rw-r--r-- 0 root (0) root (0) 6069 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.8.html\n+-rw-r--r-- 0 root (0) root (0) 6118 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.9.html\n+-rw-r--r-- 0 root (0) root (0) 153182 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.6.html\n+-rw-r--r-- 0 root (0) root (0) 20898 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.1.html\n+-rw-r--r-- 0 root (0) root (0) 7979 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.10.html\n+-rw-r--r-- 0 root (0) root (0) 8089 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.11.html\n+-rw-r--r-- 0 root (0) root (0) 25933 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.2.html\n+-rw-r--r-- 0 root (0) root (0) 13989 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.3.html\n+-rw-r--r-- 0 root (0) root (0) 7439 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.4.html\n+-rw-r--r-- 0 root (0) root (0) 7407 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.5.html\n+-rw-r--r-- 0 root (0) root (0) 8060 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.6.html\n+-rw-r--r-- 0 root (0) root (0) 10841 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.7.html\n+-rw-r--r-- 0 root (0) root (0) 5988 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.8.html\n+-rw-r--r-- 0 root (0) root (0) 11888 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.9.html\n+-rw-r--r-- 0 root (0) root (0) 236925 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.7.html\n+-rw-r--r-- 0 root (0) root (0) 15513 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.1.html\n+-rw-r--r-- 0 root (0) root (0) 13402 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.10.html\n+-rw-r--r-- 0 root (0) root (0) 5529 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.11.html\n+-rw-r--r-- 0 root (0) root (0) 6838 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.12.html\n+-rw-r--r-- 0 root (0) root (0) 6266 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.13.html\n+-rw-r--r-- 0 root (0) root (0) 7317 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.14.html\n+-rw-r--r-- 0 root (0) root (0) 6741 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.15.html\n+-rw-r--r-- 0 root (0) root (0) 9327 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.16.html\n+-rw-r--r-- 0 root (0) root (0) 5990 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.17.html\n+-rw-r--r-- 0 root (0) root (0) 8355 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.18.html\n+-rw-r--r-- 0 root (0) root (0) 9254 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.19.html\n+-rw-r--r-- 0 root (0) root (0) 11821 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.2.html\n+-rw-r--r-- 0 root (0) root (0) 21510 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.3.html\n+-rw-r--r-- 0 root (0) root (0) 10962 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.4.html\n+-rw-r--r-- 0 root (0) root (0) 11094 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.5.html\n+-rw-r--r-- 0 root (0) root (0) 10252 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.6.html\n+-rw-r--r-- 0 root (0) root (0) 12815 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.7.html\n+-rw-r--r-- 0 root (0) root (0) 11321 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.8.html\n+-rw-r--r-- 0 root (0) root (0) 8693 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.9.html\n+-rw-r--r-- 0 root (0) root (0) 234649 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.8.html\n+-rw-r--r-- 0 root (0) root (0) 14195 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.1.html\n+-rw-r--r-- 0 root (0) root (0) 6732 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.10.html\n+-rw-r--r-- 0 root (0) root (0) 9327 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.11.html\n+-rw-r--r-- 0 root (0) root (0) 5990 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.12.html\n+-rw-r--r-- 0 root (0) root (0) 9036 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.13.html\n+-rw-r--r-- 0 root (0) root (0) 16574 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.2.html\n+-rw-r--r-- 0 root (0) root (0) 16298 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.3.html\n+-rw-r--r-- 0 root (0) root (0) 5505 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.4.html\n+-rw-r--r-- 0 root (0) root (0) 10039 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.5.html\n+-rw-r--r-- 0 root (0) root (0) 8069 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.6.html\n+-rw-r--r-- 0 root (0) root (0) 7800 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.7.html\n+-rw-r--r-- 0 root (0) root (0) 7563 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.8.html\n+-rw-r--r-- 0 root (0) root (0) 6041 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.9.html\n+-rw-r--r-- 0 root (0) root (0) 177251 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/1.9.html\n+-rw-r--r-- 0 root (0) root (0) 9234 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.1.html\n+-rw-r--r-- 0 root (0) root (0) 7860 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.10.html\n+-rw-r--r-- 0 root (0) root (0) 7106 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.11.html\n+-rw-r--r-- 0 root (0) root (0) 5864 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.12.html\n+-rw-r--r-- 0 root (0) root (0) 5972 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.13.html\n+-rw-r--r-- 0 root (0) root (0) 10142 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.2.html\n+-rw-r--r-- 0 root (0) root (0) 11896 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.3.html\n+-rw-r--r-- 0 root (0) root (0) 8324 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.4.html\n+-rw-r--r-- 0 root (0) root (0) 7401 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.5.html\n+-rw-r--r-- 0 root (0) root (0) 7145 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.6.html\n+-rw-r--r-- 0 root (0) root (0) 6838 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.7.html\n+-rw-r--r-- 0 root (0) root (0) 8020 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.8.html\n+-rw-r--r-- 0 root (0) root (0) 5965 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.9.html\n+-rw-r--r-- 0 root (0) root (0) 105023 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.0.html\n+-rw-r--r-- 0 root (0) root (0) 9889 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.1.html\n+-rw-r--r-- 0 root (0) root (0) 8353 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.10.html\n+-rw-r--r-- 0 root (0) root (0) 13851 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.11.html\n+-rw-r--r-- 0 root (0) root (0) 6363 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.12.html\n+-rw-r--r-- 0 root (0) root (0) 6371 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.13.html\n+-rw-r--r-- 0 root (0) root (0) 6475 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.14.html\n+-rw-r--r-- 0 root (0) root (0) 9107 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.15.html\n+-rw-r--r-- 0 root (0) root (0) 8495 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.2.html\n+-rw-r--r-- 0 root (0) root (0) 7499 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.3.html\n+-rw-r--r-- 0 root (0) root (0) 7352 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.4.html\n+-rw-r--r-- 0 root (0) root (0) 8287 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.5.html\n+-rw-r--r-- 0 root (0) root (0) 7784 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.6.html\n+-rw-r--r-- 0 root (0) root (0) 5838 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.7.html\n+-rw-r--r-- 0 root (0) root (0) 5992 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.8.html\n+-rw-r--r-- 0 root (0) root (0) 8605 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.9.html\n+-rw-r--r-- 0 root (0) root (0) 64367 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.1.html\n+-rw-r--r-- 0 root (0) root (0) 14639 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.1.html\n+-rw-r--r-- 0 root (0) root (0) 6585 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.10.html\n+-rw-r--r-- 0 root (0) root (0) 7639 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.11.html\n+-rw-r--r-- 0 root (0) root (0) 5983 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.12.html\n+-rw-r--r-- 0 root (0) root (0) 8061 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.13.html\n+-rw-r--r-- 0 root (0) root (0) 6064 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.14.html\n+-rw-r--r-- 0 root (0) root (0) 6458 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.15.html\n+-rw-r--r-- 0 root (0) root (0) 9135 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.16.html\n+-rw-r--r-- 0 root (0) root (0) 5263 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.17.html\n+-rw-r--r-- 0 root (0) root (0) 6896 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.18.html\n+-rw-r--r-- 0 root (0) root (0) 7042 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.19.html\n+-rw-r--r-- 0 root (0) root (0) 11860 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.2.html\n+-rw-r--r-- 0 root (0) root (0) 6275 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.20.html\n+-rw-r--r-- 0 root (0) root (0) 6450 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.21.html\n+-rw-r--r-- 0 root (0) root (0) 7688 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.22.html\n+-rw-r--r-- 0 root (0) root (0) 6358 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.23.html\n+-rw-r--r-- 0 root (0) root (0) 9397 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.24.html\n+-rw-r--r-- 0 root (0) root (0) 6241 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.25.html\n+-rw-r--r-- 0 root (0) root (0) 10134 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.26.html\n+-rw-r--r-- 0 root (0) root (0) 7729 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.27.html\n+-rw-r--r-- 0 root (0) root (0) 8920 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.28.html\n+-rw-r--r-- 0 root (0) root (0) 10012 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.3.html\n+-rw-r--r-- 0 root (0) root (0) 16105 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.4.html\n+-rw-r--r-- 0 root (0) root (0) 7278 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.5.html\n+-rw-r--r-- 0 root (0) root (0) 6595 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.6.html\n+-rw-r--r-- 0 root (0) root (0) 8199 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.7.html\n+-rw-r--r-- 0 root (0) root (0) 9971 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.8.html\n+-rw-r--r-- 0 root (0) root (0) 7718 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.9.html\n+-rw-r--r-- 0 root (0) root (0) 71275 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/2.2.html\n+-rw-r--r-- 0 root (0) root (0) 9736 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.1.html\n+-rw-r--r-- 0 root (0) root (0) 9126 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.10.html\n+-rw-r--r-- 0 root (0) root (0) 6128 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.11.html\n+-rw-r--r-- 0 root (0) root (0) 6896 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.12.html\n+-rw-r--r-- 0 root (0) root (0) 7042 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.13.html\n+-rw-r--r-- 0 root (0) root (0) 6251 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.14.html\n+-rw-r--r-- 0 root (0) root (0) 7221 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.2.html\n+-rw-r--r-- 0 root (0) root (0) 11093 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.3.html\n+-rw-r--r-- 0 root (0) root (0) 9033 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.4.html\n+-rw-r--r-- 0 root (0) root (0) 6496 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.5.html\n+-rw-r--r-- 0 root (0) root (0) 6100 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.6.html\n+-rw-r--r-- 0 root (0) root (0) 9815 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.7.html\n+-rw-r--r-- 0 root (0) root (0) 7211 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.8.html\n+-rw-r--r-- 0 root (0) root (0) 6445 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.9.html\n+-rw-r--r-- 0 root (0) root (0) 88729 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.0.html\n+-rw-r--r-- 0 root (0) root (0) 14539 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.1.html\n+-rw-r--r-- 0 root (0) root (0) 7679 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.10.html\n+-rw-r--r-- 0 root (0) root (0) 6356 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.11.html\n+-rw-r--r-- 0 root (0) root (0) 9397 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.12.html\n+-rw-r--r-- 0 root (0) root (0) 6942 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.13.html\n+-rw-r--r-- 0 root (0) root (0) 6217 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.14.html\n+-rw-r--r-- 0 root (0) root (0) 8358 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.2.html\n+-rw-r--r-- 0 root (0) root (0) 12386 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.3.html\n+-rw-r--r-- 0 root (0) root (0) 8459 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.4.html\n+-rw-r--r-- 0 root (0) root (0) 7292 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.5.html\n+-rw-r--r-- 0 root (0) root (0) 7355 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.6.html\n+-rw-r--r-- 0 root (0) root (0) 7681 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.7.html\n+-rw-r--r-- 0 root (0) root (0) 7153 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.8.html\n+-rw-r--r-- 0 root (0) root (0) 6433 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.9.html\n+-rw-r--r-- 0 root (0) root (0) 113752 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.1.html\n+-rw-r--r-- 0 root (0) root (0) 13480 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.1.html\n+-rw-r--r-- 0 root (0) root (0) 6975 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.10.html\n+-rw-r--r-- 0 root (0) root (0) 10134 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.11.html\n+-rw-r--r-- 0 root (0) root (0) 7729 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.12.html\n+-rw-r--r-- 0 root (0) root (0) 9662 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.13.html\n+-rw-r--r-- 0 root (0) root (0) 7353 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.14.html\n+-rw-r--r-- 0 root (0) root (0) 6894 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.15.html\n+-rw-r--r-- 0 root (0) root (0) 6249 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.16.html\n+-rw-r--r-- 0 root (0) root (0) 6695 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.17.html\n+-rw-r--r-- 0 root (0) root (0) 6561 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.18.html\n+-rw-r--r-- 0 root (0) root (0) 8268 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.19.html\n+-rw-r--r-- 0 root (0) root (0) 8553 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.2.html\n+-rw-r--r-- 0 root (0) root (0) 6910 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.20.html\n+-rw-r--r-- 0 root (0) root (0) 6594 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.21.html\n+-rw-r--r-- 0 root (0) root (0) 8070 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.22.html\n+-rw-r--r-- 0 root (0) root (0) 7110 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.23.html\n+-rw-r--r-- 0 root (0) root (0) 6420 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.24.html\n+-rw-r--r-- 0 root (0) root (0) 7787 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.25.html\n+-rw-r--r-- 0 root (0) root (0) 6889 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.3.html\n+-rw-r--r-- 0 root (0) root (0) 11835 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.4.html\n+-rw-r--r-- 0 root (0) root (0) 8973 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.5.html\n+-rw-r--r-- 0 root (0) root (0) 6453 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.6.html\n+-rw-r--r-- 0 root (0) root (0) 5894 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.7.html\n+-rw-r--r-- 0 root (0) root (0) 6176 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.8.html\n+-rw-r--r-- 0 root (0) root (0) 5948 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.9.html\n+-rw-r--r-- 0 root (0) root (0) 108320 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/3.2.html\n+-rw-r--r-- 0 root (0) root (0) 12580 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.1.html\n+-rw-r--r-- 0 root (0) root (0) 6528 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.10.html\n+-rw-r--r-- 0 root (0) root (0) 11458 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.2.html\n+-rw-r--r-- 0 root (0) root (0) 6976 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.3.html\n+-rw-r--r-- 0 root (0) root (0) 9939 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.4.html\n+-rw-r--r-- 0 root (0) root (0) 6659 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.5.html\n+-rw-r--r-- 0 root (0) root (0) 7328 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.6.html\n+-rw-r--r-- 0 root (0) root (0) 6869 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.7.html\n+-rw-r--r-- 0 root (0) root (0) 6224 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.8.html\n+-rw-r--r-- 0 root (0) root (0) 6678 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.9.html\n+-rw-r--r-- 0 root (0) root (0) 99292 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.0.html\n+-rw-r--r-- 0 root (0) root (0) 11575 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.1.html\n+-rw-r--r-- 0 root (0) root (0) 6901 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.10.html\n+-rw-r--r-- 0 root (0) root (0) 6594 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.11.html\n+-rw-r--r-- 0 root (0) root (0) 8070 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.12.html\n+-rw-r--r-- 0 root (0) root (0) 7086 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.13.html\n+-rw-r--r-- 0 root (0) root (0) 11017 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.2.html\n+-rw-r--r-- 0 root (0) root (0) 6239 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.3.html\n+-rw-r--r-- 0 root (0) root (0) 8059 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.4.html\n+-rw-r--r-- 0 root (0) root (0) 6369 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.5.html\n+-rw-r--r-- 0 root (0) root (0) 7243 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.6.html\n+-rw-r--r-- 0 root (0) root (0) 7171 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.7.html\n+-rw-r--r-- 0 root (0) root (0) 5975 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.8.html\n+-rw-r--r-- 0 root (0) root (0) 8251 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.9.html\n+-rw-r--r-- 0 root (0) root (0) 97737 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.1.html\n+-rw-r--r-- 0 root (0) root (0) 14204 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.1.html\n+-rw-r--r-- 0 root (0) root (0) 6411 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.10.html\n+-rw-r--r-- 0 root (0) root (0) 7811 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.11.html\n+-rw-r--r-- 0 root (0) root (0) 6057 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.12.html\n+-rw-r--r-- 0 root (0) root (0) 5257 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.13.html\n+-rw-r--r-- 0 root (0) root (0) 12324 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.14.html\n+-rw-r--r-- 0 root (0) root (0) 12231 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.15.html\n+-rw-r--r-- 0 root (0) root (0) 8305 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.16.html\n+-rw-r--r-- 0 root (0) root (0) 9480 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.17.html\n+-rw-r--r-- 0 root (0) root (0) 10184 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.2.html\n+-rw-r--r-- 0 root (0) root (0) 7992 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.3.html\n+-rw-r--r-- 0 root (0) root (0) 6497 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.4.html\n+-rw-r--r-- 0 root (0) root (0) 8475 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.5.html\n+-rw-r--r-- 0 root (0) root (0) 10762 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.6.html\n+-rw-r--r-- 0 root (0) root (0) 8205 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.7.html\n+-rw-r--r-- 0 root (0) root (0) 8577 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.8.html\n+-rw-r--r-- 0 root (0) root (0) 5917 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.9.html\n+-rw-r--r-- 0 root (0) root (0) 78566 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/4.2.html\n+-rw-r--r-- 0 root (0) root (0) 9034 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.1.html\n+-rw-r--r-- 0 root (0) root (0) 9471 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.10.html\n+-rw-r--r-- 0 root (0) root (0) 10626 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.2.html\n+-rw-r--r-- 0 root (0) root (0) 10312 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.3.html\n+-rw-r--r-- 0 root (0) root (0) 8122 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.4.html\n+-rw-r--r-- 0 root (0) root (0) 8351 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.5.html\n+-rw-r--r-- 0 root (0) root (0) 5233 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.6.html\n+-rw-r--r-- 0 root (0) root (0) 13231 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.7.html\n+-rw-r--r-- 0 root (0) root (0) 15076 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.8.html\n+-rw-r--r-- 0 root (0) root (0) 8288 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.9.html\n+-rw-r--r-- 0 root (0) root (0) 100319 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.0.html\n+-rw-r--r-- 0 root (0) root (0) 12486 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.1.html\n+-rw-r--r-- 0 root (0) root (0) 6870 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.2.html\n+-rw-r--r-- 0 root (0) root (0) 6949 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.3.html\n+-rw-r--r-- 0 root (0) root (0) 10437 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.4.html\n+-rw-r--r-- 0 root (0) root (0) 66816 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/5.1.html\n+-rw-r--r-- 0 root (0) root (0) 49472 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/index.html\n+-rw-r--r-- 0 root (0) root (0) 175923 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/releases/security.html\n+-rw-r--r-- 0 root (0) root (0) 3970 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/search.html\n+-rw-r--r-- 0 root (0) root (0) 2117390 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 1095 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/templatebuiltins.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/\n--rw-r--r-- 0 root (0) root (0) 43033 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/async.html\n+-rw-r--r-- 0 root (0) root (0) 43141 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/async.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/\n--rw-r--r-- 0 root (0) root (0) 145641 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/customizing.html\n--rw-r--r-- 0 root (0) root (0) 226060 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/default.html\n--rw-r--r-- 0 root (0) root (0) 11656 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/index.html\n--rw-r--r-- 0 root (0) root (0) 82911 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/passwords.html\n--rw-r--r-- 0 root (0) root (0) 152389 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/cache.html\n--rw-r--r-- 0 root (0) root (0) 35536 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/checks.html\n+-rw-r--r-- 0 root (0) root (0) 145741 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/customizing.html\n+-rw-r--r-- 0 root (0) root (0) 226212 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/default.html\n+-rw-r--r-- 0 root (0) root (0) 11758 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/index.html\n+-rw-r--r-- 0 root (0) root (0) 83033 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/auth/passwords.html\n+-rw-r--r-- 0 root (0) root (0) 152472 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/cache.html\n+-rw-r--r-- 0 root (0) root (0) 35633 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/checks.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/\n--rw-r--r-- 0 root (0) root (0) 45827 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-display.html\n--rw-r--r-- 0 root (0) root (0) 38797 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-editing.html\n--rw-r--r-- 0 root (0) root (0) 21776 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/index.html\n--rw-r--r-- 0 root (0) root (0) 40236 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/intro.html\n--rw-r--r-- 0 root (0) root (0) 97175 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/mixins.html\n--rw-r--r-- 0 root (0) root (0) 28093 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/conditional-view-processing.html\n+-rw-r--r-- 0 root (0) root (0) 45911 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-display.html\n+-rw-r--r-- 0 root (0) root (0) 38899 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-editing.html\n+-rw-r--r-- 0 root (0) root (0) 21878 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/index.html\n+-rw-r--r-- 0 root (0) root (0) 40338 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/intro.html\n+-rw-r--r-- 0 root (0) root (0) 97291 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/class-based-views/mixins.html\n+-rw-r--r-- 0 root (0) root (0) 28186 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/conditional-view-processing.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/\n--rw-r--r-- 0 root (0) root (0) 81903 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/aggregation.html\n+-rw-r--r-- 0 root (0) root (0) 81997 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/aggregation.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/\n--rw-r--r-- 0 root (0) root (0) 5611 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/index.html\n--rw-r--r-- 0 root (0) root (0) 45043 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_many.html\n--rw-r--r-- 0 root (0) root (0) 34873 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_one.html\n--rw-r--r-- 0 root (0) root (0) 25124 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/one_to_one.html\n--rw-r--r-- 0 root (0) root (0) 22634 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/fixtures.html\n--rw-r--r-- 0 root (0) root (0) 6666 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/index.html\n--rw-r--r-- 0 root (0) root (0) 17490 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/instrumentation.html\n--rw-r--r-- 0 root (0) root (0) 55727 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/managers.html\n--rw-r--r-- 0 root (0) root (0) 178964 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/models.html\n--rw-r--r-- 0 root (0) root (0) 89234 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/multi-db.html\n--rw-r--r-- 0 root (0) root (0) 61539 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/optimization.html\n--rw-r--r-- 0 root (0) root (0) 248359 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/queries.html\n--rw-r--r-- 0 root (0) root (0) 16723 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/search.html\n--rw-r--r-- 0 root (0) root (0) 49186 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/sql.html\n--rw-r--r-- 0 root (0) root (0) 14311 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/tablespaces.html\n--rw-r--r-- 0 root (0) root (0) 76078 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/transactions.html\n--rw-r--r-- 0 root (0) root (0) 95608 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/email.html\n--rw-r--r-- 0 root (0) root (0) 7935 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/external-packages.html\n--rw-r--r-- 0 root (0) root (0) 35295 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/files.html\n+-rw-r--r-- 0 root (0) root (0) 5716 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/index.html\n+-rw-r--r-- 0 root (0) root (0) 45148 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_many.html\n+-rw-r--r-- 0 root (0) root (0) 34978 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_one.html\n+-rw-r--r-- 0 root (0) root (0) 25227 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/examples/one_to_one.html\n+-rw-r--r-- 0 root (0) root (0) 22738 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/fixtures.html\n+-rw-r--r-- 0 root (0) root (0) 6768 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/index.html\n+-rw-r--r-- 0 root (0) root (0) 17592 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/instrumentation.html\n+-rw-r--r-- 0 root (0) root (0) 55823 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/managers.html\n+-rw-r--r-- 0 root (0) root (0) 179057 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/models.html\n+-rw-r--r-- 0 root (0) root (0) 89341 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/multi-db.html\n+-rw-r--r-- 0 root (0) root (0) 61641 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/optimization.html\n+-rw-r--r-- 0 root (0) root (0) 248404 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/queries.html\n+-rw-r--r-- 0 root (0) root (0) 16809 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/search.html\n+-rw-r--r-- 0 root (0) root (0) 49306 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/sql.html\n+-rw-r--r-- 0 root (0) root (0) 14418 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/tablespaces.html\n+-rw-r--r-- 0 root (0) root (0) 76206 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/db/transactions.html\n+-rw-r--r-- 0 root (0) root (0) 95701 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/email.html\n+-rw-r--r-- 0 root (0) root (0) 8034 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/external-packages.html\n+-rw-r--r-- 0 root (0) root (0) 35392 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/files.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/\n--rw-r--r-- 0 root (0) root (0) 142650 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/formsets.html\n--rw-r--r-- 0 root (0) root (0) 96276 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/index.html\n--rw-r--r-- 0 root (0) root (0) 51027 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/media.html\n--rw-r--r-- 0 root (0) root (0) 169649 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/modelforms.html\n+-rw-r--r-- 0 root (0) root (0) 142766 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/formsets.html\n+-rw-r--r-- 0 root (0) root (0) 96377 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/index.html\n+-rw-r--r-- 0 root (0) root (0) 51129 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/media.html\n+-rw-r--r-- 0 root (0) root (0) 169761 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/forms/modelforms.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/\n--rw-r--r-- 0 root (0) root (0) 22798 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/decorators.html\n--rw-r--r-- 0 root (0) root (0) 46247 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/file-uploads.html\n--rw-r--r-- 0 root (0) root (0) 5166 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/generic-views.html\n--rw-r--r-- 0 root (0) root (0) 6020 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/index.html\n--rw-r--r-- 0 root (0) root (0) 53956 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/middleware.html\n--rw-r--r-- 0 root (0) root (0) 115321 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/sessions.html\n--rw-r--r-- 0 root (0) root (0) 39532 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/shortcuts.html\n--rw-r--r-- 0 root (0) root (0) 93130 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/urls.html\n--rw-r--r-- 0 root (0) root (0) 29209 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/views.html\n+-rw-r--r-- 0 root (0) root (0) 22914 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/decorators.html\n+-rw-r--r-- 0 root (0) root (0) 46357 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/file-uploads.html\n+-rw-r--r-- 0 root (0) root (0) 5268 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/generic-views.html\n+-rw-r--r-- 0 root (0) root (0) 6122 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/index.html\n+-rw-r--r-- 0 root (0) root (0) 54054 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/middleware.html\n+-rw-r--r-- 0 root (0) root (0) 115429 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/sessions.html\n+-rw-r--r-- 0 root (0) root (0) 39640 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/shortcuts.html\n+-rw-r--r-- 0 root (0) root (0) 93228 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/urls.html\n+-rw-r--r-- 0 root (0) root (0) 29307 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/http/views.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/\n--rw-r--r-- 0 root (0) root (0) 20751 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/formatting.html\n--rw-r--r-- 0 root (0) root (0) 11442 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/index.html\n--rw-r--r-- 0 root (0) root (0) 71947 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/timezones.html\n--rw-r--r-- 0 root (0) root (0) 242380 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/translation.html\n--rw-r--r-- 0 root (0) root (0) 27079 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/index.html\n--rw-r--r-- 0 root (0) root (0) 26497 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/install.html\n--rw-r--r-- 0 root (0) root (0) 45830 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/logging.html\n--rw-r--r-- 0 root (0) root (0) 91915 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/migrations.html\n--rw-r--r-- 0 root (0) root (0) 22421 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/pagination.html\n--rw-r--r-- 0 root (0) root (0) 38051 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/performance.html\n--rw-r--r-- 0 root (0) root (0) 31311 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/security.html\n--rw-r--r-- 0 root (0) root (0) 72974 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/serialization.html\n--rw-r--r-- 0 root (0) root (0) 34428 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/settings.html\n--rw-r--r-- 0 root (0) root (0) 42796 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/signals.html\n--rw-r--r-- 0 root (0) root (0) 40135 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/signing.html\n--rw-r--r-- 0 root (0) root (0) 73177 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/templates.html\n+-rw-r--r-- 0 root (0) root (0) 20853 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/formatting.html\n+-rw-r--r-- 0 root (0) root (0) 11545 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/index.html\n+-rw-r--r-- 0 root (0) root (0) 72051 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/timezones.html\n+-rw-r--r-- 0 root (0) root (0) 242513 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/i18n/translation.html\n+-rw-r--r-- 0 root (0) root (0) 27182 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/index.html\n+-rw-r--r-- 0 root (0) root (0) 26594 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/install.html\n+-rw-r--r-- 0 root (0) root (0) 45931 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/logging.html\n+-rw-r--r-- 0 root (0) root (0) 92008 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/migrations.html\n+-rw-r--r-- 0 root (0) root (0) 22518 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/pagination.html\n+-rw-r--r-- 0 root (0) root (0) 38142 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/performance.html\n+-rw-r--r-- 0 root (0) root (0) 31413 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/security.html\n+-rw-r--r-- 0 root (0) root (0) 73048 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/serialization.html\n+-rw-r--r-- 0 root (0) root (0) 34523 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/settings.html\n+-rw-r--r-- 0 root (0) root (0) 42908 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/signals.html\n+-rw-r--r-- 0 root (0) root (0) 40244 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/signing.html\n+-rw-r--r-- 0 root (0) root (0) 73296 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/templates.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/\n--rw-r--r-- 0 root (0) root (0) 109823 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/advanced.html\n--rw-r--r-- 0 root (0) root (0) 7250 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/index.html\n--rw-r--r-- 0 root (0) root (0) 42457 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/overview.html\n--rw-r--r-- 0 root (0) root (0) 284729 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/tools.html\n+-rw-r--r-- 0 root (0) root (0) 109968 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/advanced.html\n+-rw-r--r-- 0 root (0) root (0) 7352 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/index.html\n+-rw-r--r-- 0 root (0) root (0) 42562 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/overview.html\n+-rw-r--r-- 0 root (0) root (0) 284935 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/topics/testing/tools.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 407 2024-12-04 16:55:05.000000 ./usr/share/doc-base/python-django-doc.python-django-doc\n lrwxrwxrwx 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/doctools.js -> ../../../../javascript/sphinxdoc/1.0/doctools.js\n-lrwxrwxrwx 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/language_data.js -> ../../../../javascript/sphinxdoc/1.0/language_data.js\n lrwxrwxrwx 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/searchtools.js -> ../../../../javascript/sphinxdoc/1.0/searchtools.js\n lrwxrwxrwx 0 root (0) root (0) 0 2024-12-04 16:55:05.000000 ./usr/share/doc/python-django-doc/html/_static/sphinx_highlight.js -> ../../../../javascript/sphinxdoc/1.0/sphinx_highlight.js\n"}, {"source1": "./usr/share/doc/python-django-doc/html/_static/documentation_options.js", "source2": "./usr/share/doc/python-django-doc/html/_static/documentation_options.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,10 +1,10 @@\n const DOCUMENTATION_OPTIONS = {\n VERSION: '5.1.4',\n- LANGUAGE: 'en',\n+ LANGUAGE: 'it',\n COLLAPSE_INDEX: false,\n BUILDER: 'djangohtml',\n FILE_SUFFIX: '.html',\n LINK_SUFFIX: '.html',\n HAS_SOURCE: false,\n SOURCELINK_SUFFIX: '.txt',\n NAVIGATION_WITH_KEYS: false,\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/contents.html", "source2": "./usr/share/doc/python-django-doc/html/contents.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django documentation contents — Django 5.1.4 documentation\n+ Django documentation contents — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n
\n@@ -457,22 +458,22 @@\n \n \n \n \n
  • Django FAQ\n
  • \n
  • FAQ: The admin\n
  • \n
  • FAQ: Contributing code\n
  • \n
  • Troubleshooting\n
  • \n@@ -579,15 +580,15 @@\n
  • The flatpages app
  • \n
  • GeoDjango
  • \n
  • django.contrib.humanize
  • \n
  • The messages framework
  • \n
  • django.contrib.postgres
  • \n
  • The redirects app
  • \n
  • The sitemap framework
  • \n-
  • The \u201csites\u201d framework
  • \n+
  • The \u00absites\u00bb framework
  • \n
  • The staticfiles app
  • \n
  • The syndication feed framework
  • \n
  • admin
  • \n
  • auth
  • \n
  • contenttypes
  • \n
  • flatpages
  • \n
  • gis
  • \n@@ -805,15 +806,15 @@\n
  • Error views
  • \n \n \n \n \n
  • Meta-documentation and miscellany\n
  • \n
    \n

    Indices, glossary and tables\u00b6

    \n \n
    \n \n \n \n
    \n@@ -972,40 +973,40 @@\n
  • Indices, glossary and tables
  • \n \n \n \n \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django documentation

    \n+ title=\"capitolo successivo\">Django documentation

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n- up\n+ up\n |\n next »
    \n
    \n \n \n
    \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn c\bco\bon\bnt\bte\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n * _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bs_\bt_\ba_\br_\bt_\be_\bd\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bt_\b _\ba_\b _\bg_\bl_\ba_\bn_\bc_\be\n # _\bD_\be_\bs_\bi_\bg_\bn_\b _\by_\bo_\bu_\br_\b _\bm_\bo_\bd_\be_\bl\n # _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bi_\bt\n@@ -288,23 +288,23 @@\n # _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n # _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n # _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n # _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bA_\bQ\n o _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bn_\be_\br_\ba_\bl\n # _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bt_\bh_\bi_\bs_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\be_\bx_\bi_\bs_\bt_\b?\n- # _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u201c_\bD_\bj_\ba_\bn_\bg_\bo_\b\u201d_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n+ # _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u00ab_\bD_\bj_\ba_\bn_\bg_\bo_\b\u00bb_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n # _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bt_\ba_\bb_\bl_\be_\b?\n # _\bD_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bc_\ba_\bl_\be_\b?\n # _\bW_\bh_\bo_\b\u2019_\bs_\b _\bb_\be_\bh_\bi_\bn_\bd_\b _\bt_\bh_\bi_\bs_\b?\n # _\bH_\bo_\bw_\b _\bi_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\bd_\b?\n # _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b\u2019_\bs_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\b _\bf_\bi_\bl_\be_\b?\n # _\bW_\bh_\bi_\bc_\bh_\b _\bs_\bi_\bt_\be_\bs_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n # _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\be_\ba_\br_\bs_\b _\bt_\bo_\b _\bb_\be_\b _\ba_\b _\bM_\bV_\bC_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b,_\b _\bb_\bu_\bt_\b _\by_\bo_\bu_\b _\bc_\ba_\bl_\bl_\b _\bt_\bh_\be\n- _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br_\b _\bt_\bh_\be_\b _\b\u201c_\bv_\bi_\be_\bw_\b\u201d_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u201c_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u201d_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be\n+ _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br_\b _\bt_\bh_\be_\b _\b\u00ab_\bv_\bi_\be_\bw_\b\u00bb_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u00ab_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u00bb_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be\n _\by_\bo_\bu_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bu_\bs_\be_\b _\bt_\bh_\be_\b _\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b _\bn_\ba_\bm_\be_\bs_\b?\n # _\b<_\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b _\bX_\b>_\b _\bd_\bo_\be_\bs_\b _\b<_\bf_\be_\ba_\bt_\bu_\br_\be_\b _\bY_\b>_\b _\b\u2013_\b _\bw_\bh_\by_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n # _\bW_\bh_\by_\b _\bd_\bi_\bd_\b _\by_\bo_\bu_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\bl_\bl_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bf_\br_\bo_\bm_\b _\bs_\bc_\br_\ba_\bt_\bc_\bh_\b,_\b _\bi_\bn_\bs_\bt_\be_\ba_\bd_\b _\bo_\bf\n _\bu_\bs_\bi_\bn_\bg_\b _\bo_\bt_\bh_\be_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs_\b?\n # _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b-_\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b-_\bs_\by_\bs_\bt_\be_\bm_\b _\b(_\bC_\bM_\bS_\b)_\b?\n # _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bd_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bi_\bt\n _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b?\n@@ -337,24 +337,24 @@\n # _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bd_\bd_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bo_\b _\bm_\by_\b _\bC_\bR_\bE_\bA_\bT_\bE_\b _\bT_\bA_\bB_\bL_\bE\n _\bs_\bt_\ba_\bt_\be_\bm_\be_\bn_\bt_\bs_\b,_\b _\bs_\bu_\bc_\bh_\b _\ba_\bs_\b _\bs_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bM_\by_\bI_\bS_\bA_\bM_\b _\ba_\bs_\b _\bt_\bh_\be_\b _\bt_\ba_\bb_\bl_\be_\b _\bt_\by_\bp_\be_\b?\n o _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n # _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,\n _\bi_\bt_\b _\bj_\bu_\bs_\bt_\b _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\bn_\bo_\b _\be_\br_\br_\bo_\br\n _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b.\n # _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,\n- _\bi_\bt_\b _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u201c_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba\n- _\bc_\bo_\br_\br_\be_\bc_\bt_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u201d_\b _\be_\br_\br_\bo_\br_\b.\n+ _\bi_\bt_\b _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u00ab_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba\n+ _\bc_\bo_\br_\br_\be_\bc_\bt_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u00bb_\b _\be_\br_\br_\bo_\br_\b.\n # _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\ba_\bl_\bl_\by_\b _\bs_\be_\bt_\b _\ba_\b _\bf_\bi_\be_\bl_\bd_\b\u2019_\bs_\b _\bv_\ba_\bl_\bu_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\b _\bw_\bh_\bo\n _\bl_\ba_\bs_\bt_\b _\be_\bd_\bi_\bt_\be_\bd_\b _\bt_\bh_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n # _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bl_\bi_\bm_\bi_\bt_\b _\ba_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bc_\be_\bs_\bs_\b _\bs_\bo_\b _\bt_\bh_\ba_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bc_\ba_\bn_\b _\bo_\bn_\bl_\by_\b _\bb_\be\n _\be_\bd_\bi_\bt_\be_\bd_\b _\bb_\by_\b _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\bs_\b _\bw_\bh_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\bd_\b _\bt_\bh_\be_\bm_\b?\n # _\bM_\by_\b _\ba_\bd_\bm_\bi_\bn_\b-_\bs_\bi_\bt_\be_\b _\bC_\bS_\bS_\b _\ba_\bn_\bd_\b _\bi_\bm_\ba_\bg_\be_\bs_\b _\bs_\bh_\bo_\bw_\be_\bd_\b _\bu_\bp_\b _\bf_\bi_\bn_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be\n _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bs_\be_\br_\bv_\be_\br_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\by_\b\u2019_\br_\be_\b _\bn_\bo_\bt_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bh_\be_\bn_\b _\bu_\bs_\bi_\bn_\bg\n _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b.\n- # _\bM_\by_\b _\b\u201c_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u201d_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ # _\bM_\by_\b _\b\u00ab_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u00bb_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b.\n # _\bS_\bo_\bm_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\ba_\br_\be_\bn_\b\u2019_\bt_\b _\ba_\bp_\bp_\be_\ba_\br_\bi_\bn_\bg_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b.\n # _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\be_\b _\bt_\bh_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bt_\by_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\b?\n # _\bT_\bh_\be_\b _\bd_\by_\bn_\ba_\bm_\bi_\bc_\ba_\bl_\bl_\by_\b-_\bg_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be_\b _\bi_\bs_\b _\bu_\bg_\bl_\by_\b!_\b _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI\n _\bc_\bh_\ba_\bn_\bg_\be_\b _\bi_\bt_\b?\n # _\bW_\bh_\ba_\bt_\b _\bb_\br_\bo_\bw_\bs_\be_\br_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n # _\bW_\bh_\ba_\bt_\b _\ba_\bs_\bs_\bi_\bs_\bt_\bi_\bv_\be_\b _\bt_\be_\bc_\bh_\bn_\bo_\bl_\bo_\bg_\bi_\be_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be\n@@ -364,15 +364,15 @@\n # _\bI_\b _\bs_\bu_\bb_\bm_\bi_\bt_\bt_\be_\bd_\b _\ba_\b _\bb_\bu_\bg_\b _\bf_\bi_\bx_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bw_\be_\be_\bk_\bs_\b _\ba_\bg_\bo_\b._\b _\bW_\bh_\by_\b _\ba_\br_\be_\b _\by_\bo_\bu_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg\n _\bm_\by_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b?\n # _\bW_\bh_\be_\bn_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bm_\bi_\bg_\bh_\bt_\b _\bI_\b _\br_\be_\bm_\bi_\bn_\bd_\b _\bt_\bh_\be_\b _\bt_\be_\ba_\bm_\b _\bo_\bf_\b _\ba_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bI_\b _\bc_\ba_\br_\be\n _\ba_\bb_\bo_\bu_\bt_\b?\n # _\bB_\bu_\bt_\b _\bI_\b\u2019_\bv_\be_\b _\br_\be_\bm_\bi_\bn_\bd_\be_\bd_\b _\by_\bo_\bu_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bt_\bi_\bm_\be_\bs_\b _\ba_\bn_\bd_\b _\by_\bo_\bu_\b _\bk_\be_\be_\bp_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg_\b _\bm_\by\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b!\n # _\bI_\b\u2019_\bm_\b _\bs_\bu_\br_\be_\b _\bm_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\b _\bi_\bs_\b _\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\bl_\by_\b _\b1_\b0_\b0_\b%_\b _\bp_\be_\br_\bf_\be_\bc_\bt_\b,_\b _\bc_\ba_\bn_\b _\bI_\b _\bm_\ba_\br_\bk_\b _\bi_\bt\n- _\ba_\bs_\b _\b\u201c_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u201d_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n+ _\ba_\bs_\b _\b\u00ab_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u00bb_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n o _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n # _\bP_\br_\bo_\bb_\bl_\be_\bm_\bs_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn\n # _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n * _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bP_\br_\bo_\bj_\be_\bc_\bt_\bs_\b _\ba_\bn_\bd_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n@@ -405,15 +405,15 @@\n # _\bT_\bh_\be_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\ba_\bp_\bp\n # _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n # _\bT_\bh_\be_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n # _\bT_\bh_\be_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b _\ba_\bp_\bp\n # _\bT_\bh_\be_\b _\bs_\bi_\bt_\be_\bm_\ba_\bp_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n- # _\bT_\bh_\be_\b _\b\u201c_\bs_\bi_\bt_\be_\bs_\b\u201d_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n+ # _\bT_\bh_\be_\b _\b\u00ab_\bs_\bi_\bt_\be_\bs_\b\u00bb_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bT_\bh_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b _\ba_\bp_\bp\n # _\bT_\bh_\be_\b _\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bf_\be_\be_\bd_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\ba_\bd_\bm_\bi_\bn\n # _\ba_\bu_\bt_\bh\n # _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs\n # _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs\n # _\bg_\bi_\bs\n@@ -577,15 +577,15 @@\n # _\bH_\bo_\bw_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\ba_\br_\be_\b _\br_\bu_\bn\n # _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n o _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs\n # _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs_\b _\bi_\bn_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n # _\bE_\br_\br_\bo_\br_\b _\bv_\bi_\be_\bw_\bs\n * _\bM_\be_\bt_\ba_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bn_\bd_\b _\bm_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\by\n o _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n- # _\bW_\bh_\ba_\bt_\b _\b\u201c_\bs_\bt_\ba_\bb_\bl_\be_\b\u201d_\b _\bm_\be_\ba_\bn_\bs\n+ # _\bW_\bh_\ba_\bt_\b _\b\u00ab_\bs_\bt_\ba_\bb_\bl_\be_\b\u00bb_\b _\bm_\be_\ba_\bn_\bs\n # _\bS_\bt_\ba_\bb_\bl_\be_\b _\bA_\bP_\bI_\bs\n # _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n o _\bD_\be_\bs_\bi_\bg_\bn_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\bi_\be_\bs\n # _\bO_\bv_\be_\br_\ba_\bl_\bl\n # _\bM_\bo_\bd_\be_\bl_\bs\n # _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI\n # _\bU_\bR_\bL_\b _\bd_\be_\bs_\bi_\bg_\bn\n@@ -682,20 +682,20 @@\n # _\bP_\br_\be_\b-_\br_\be_\bl_\be_\ba_\bs_\be_\b _\bt_\ba_\bs_\bk_\bs\n # _\bA_\bc_\bt_\bu_\ba_\bl_\bl_\by_\b _\br_\bo_\bl_\bl_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be\n # _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b(_\bs_\b)_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bp_\bu_\bb_\bl_\bi_\bc\n # _\bP_\bo_\bs_\bt_\b-_\br_\be_\bl_\be_\ba_\bs_\be\n # _\bN_\be_\bw_\b _\bs_\bt_\ba_\bb_\bl_\be_\b _\bb_\br_\ba_\bn_\bc_\bh_\b _\bt_\ba_\bs_\bk_\bs\n # _\bN_\bo_\bt_\be_\bs_\b _\bo_\bn_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bV_\bE_\bR_\bS_\bI_\bO_\bN_\b _\bt_\bu_\bp_\bl_\be\n *\b**\b**\b**\b**\b* I\bIn\bnd\bdi\bic\bce\bes\bs,\b, g\bgl\blo\bos\bss\bsa\bar\bry\by a\ban\bnd\bd t\bta\bab\bbl\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- * _\bI_\bn_\bd_\be_\bx\n- * _\bM_\bo_\bd_\bu_\bl_\be_\b _\bI_\bn_\bd_\be_\bx\n+ * _\bI_\bn_\bd_\bi_\bc_\be\n+ * _\bI_\bn_\bd_\bi_\bc_\be_\b _\bd_\be_\bi_\b _\bm_\bo_\bd_\bu_\bl_\bi\n * _\bG_\bl_\bo_\bs_\bs_\ba_\br_\by\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs\n o _\bI_\bn_\bd_\bi_\bc_\be_\bs_\b,_\b _\bg_\bl_\bo_\bs_\bs_\ba_\br_\by_\b _\ba_\bn_\bd_\b _\bt_\ba_\bb_\bl_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/admin.html", "source2": "./usr/share/doc/python-django-doc/html/faq/admin.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: The admin — Django 5.1.4 documentation\n+ FAQ: The admin — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -80,19 +81,19 @@\n
    \n

    FAQ: The admin\u00b6

    \n
    \n

    I can\u2019t log in. When I enter a valid username and password, it just brings up the login page again, with no error messages.\u00b6

    \n

    The login cookie isn\u2019t being set correctly, because the domain of the cookie\n sent out by Django doesn\u2019t match the domain in your browser. Try setting the\n SESSION_COOKIE_DOMAIN setting to match your domain. For example, if\n-you\u2019re going to \u201chttps://www.example.com/admin/\u201d in your browser, set\n+you\u2019re going to \u00abhttps://www.example.com/admin/\u00bb in your browser, set\n SESSION_COOKIE_DOMAIN = 'www.example.com'.

    \n
    \n
    \n-

    I can\u2019t log in. When I enter a valid username and password, it brings up the login page again, with a \u201cPlease enter a correct username and password\u201d error.\u00b6

    \n+

    I can\u2019t log in. When I enter a valid username and password, it brings up the login page again, with a \u00abPlease enter a correct username and password\u00bb error.\u00b6

    \n

    If you\u2019re sure your username and password are correct, make sure your user\n account has is_active and\n is_staff set to True. The admin site\n only allows access to users with those two fields both set to True.

    \n
    \n
    \n

    How do I automatically set a field\u2019s value to the user who last edited the object in the admin?\u00b6

    \n@@ -111,23 +112,23 @@\n get_queryset() and\n has_change_permission() can be used to\n control the visibility and editability of objects in the admin.

    \n
    \n
    \n

    My admin-site CSS and images showed up fine using the development server, but they\u2019re not displaying when using mod_wsgi.\u00b6

    \n

    See serving the admin files\n-in the \u201cHow to use Django with mod_wsgi\u201d documentation.

    \n+in the \u00abHow to use Django with mod_wsgi\u00bb documentation.

    \n
    \n
    \n-

    My \u201clist_filter\u201d contains a ManyToManyField, but the filter doesn\u2019t display.\u00b6

    \n+

    My \u00ablist_filter\u00bb contains a ManyToManyField, but the filter doesn\u2019t display.\u00b6

    \n

    Django won\u2019t bother displaying the filter for a ManyToManyField if there\n are no related objects.

    \n

    For example, if your list_filter\n includes sites, and there are no sites in your\n-database, it won\u2019t display a \u201cSite\u201d filter. In that case, filtering by site\n+database, it won\u2019t display a \u00abSite\u00bb filter. In that case, filtering by site\n would be meaningless.

    \n
    \n
    \n

    Some objects aren\u2019t appearing in the admin.\u00b6

    \n

    Inconsistent row counts may be caused by missing foreign key values or a\n foreign key field incorrectly set to null=False. If you have a record with a\n ForeignKey pointing to a nonexistent object and\n@@ -189,53 +190,53 @@\n

    \n
    \n
    \n

    Table of Contents

    \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: Databases and models

    \n+ title=\"capitolo precedente\">FAQ: Databases and models

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: Contributing code

    \n+ title=\"capitolo successivo\">FAQ: Contributing code

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: T\bTh\bhe\be a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* I\bI c\bca\ban\bn?\b\u2019t\bt l\blo\bog\bg i\bin\bn.\b. W\bWh\bhe\ben\bn I\bI e\ben\bnt\bte\ber\br a\ba v\bva\bal\bli\bid\bd u\bus\bse\ber\brn\bna\bam\bme\be a\ban\bnd\bd p\bpa\bas\bss\bsw\bwo\bor\brd\bd,\b, i\bit\bt j\bju\bus\bst\bt\n b\bbr\bri\bin\bng\bgs\bs u\bup\bp t\bth\bhe\be l\blo\bog\bgi\bin\bn p\bpa\bag\bge\be a\bag\bga\bai\bin\bn,\b, w\bwi\bit\bth\bh n\bno\bo e\ber\brr\bro\bor\br m\bme\bes\bss\bsa\bag\bge\bes\bs.\b._\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The login cookie isn\u2019t being set correctly, because the domain of the cookie\n sent out by Django doesn\u2019t match the domain in your browser. Try setting the\n _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bD_\bO_\bM_\bA_\bI_\bN setting to match your domain. For example, if you\u2019re\n-going to \u201c_\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bw_\bw_\b._\be_\bx_\ba_\bm_\bp_\bl_\be_\b._\bc_\bo_\bm_\b/_\ba_\bd_\bm_\bi_\bn_\b/\u201d in your browser, set\n+going to \u00ab_\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bw_\bw_\b._\be_\bx_\ba_\bm_\bp_\bl_\be_\b._\bc_\bo_\bm_\b/_\ba_\bd_\bm_\bi_\bn_\b/\u00bb in your browser, set\n SESSION_COOKIE_DOMAIN = 'www.example.com'.\n *\b**\b**\b**\b**\b* I\bI c\bca\ban\bn?\b\u2019t\bt l\blo\bog\bg i\bin\bn.\b. W\bWh\bhe\ben\bn I\bI e\ben\bnt\bte\ber\br a\ba v\bva\bal\bli\bid\bd u\bus\bse\ber\brn\bna\bam\bme\be a\ban\bnd\bd p\bpa\bas\bss\bsw\bwo\bor\brd\bd,\b, i\bit\bt b\bbr\bri\bin\bng\bgs\bs u\bup\bp\n-t\bth\bhe\be l\blo\bog\bgi\bin\bn p\bpa\bag\bge\be a\bag\bga\bai\bin\bn,\b, w\bwi\bit\bth\bh a\ba ?\b\u201cP\bPl\ble\bea\bas\bse\be e\ben\bnt\bte\ber\br a\ba c\bco\bor\brr\bre\bec\bct\bt u\bus\bse\ber\brn\bna\bam\bme\be a\ban\bnd\bd p\bpa\bas\bss\bsw\bwo\bor\brd\bd?\b\u201d\n+t\bth\bhe\be l\blo\bog\bgi\bin\bn p\bpa\bag\bge\be a\bag\bga\bai\bin\bn,\b, w\bwi\bit\bth\bh a\ba ?\b\u00abP\bPl\ble\bea\bas\bse\be e\ben\bnt\bte\ber\br a\ba c\bco\bor\brr\bre\bec\bct\bt u\bus\bse\ber\brn\bna\bam\bme\be a\ban\bnd\bd p\bpa\bas\bss\bsw\bwo\bor\brd\bd?\b\u00bb\n e\ber\brr\bro\bor\br.\b._\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you\u2019re sure your username and password are correct, make sure your user\n account has _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be and _\bi_\bs_\b__\bs_\bt_\ba_\bf_\bf set to True. The admin site only allows\n access to users with those two fields both set to True.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw d\bdo\bo I\bI a\bau\but\bto\bom\bma\bat\bti\bic\bca\bal\bll\bly\by s\bse\bet\bt a\ba f\bfi\bie\bel\bld\bd?\b\u2019s\bs v\bva\bal\blu\bue\be t\bto\bo t\bth\bhe\be u\bus\bse\ber\br w\bwh\bho\bo l\bla\bas\bst\bt e\bed\bdi\bit\bte\bed\bd\n t\bth\bhe\be o\bob\bbj\bje\bec\bct\bt i\bin\bn t\bth\bhe\be a\bad\bdm\bmi\bin\bn?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn class provides customization hooks that allow you to transform\n@@ -27,22 +27,22 @@\n The _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn class also provides customization hooks that allow you to\n control the visibility and editability of objects in the admin. Using the same\n trick of extracting the user from the request, the _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b) and\n _\bh_\ba_\bs_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b) can be used to control the visibility and editability\n of objects in the admin.\n *\b**\b**\b**\b**\b* M\bMy\by a\bad\bdm\bmi\bin\bn-\b-s\bsi\bit\bte\be C\bCS\bSS\bS a\ban\bnd\bd i\bim\bma\bag\bge\bes\bs s\bsh\bho\bow\bwe\bed\bd u\bup\bp f\bfi\bin\bne\be u\bus\bsi\bin\bng\bg t\bth\bhe\be d\bde\bev\bve\bel\blo\bop\bpm\bme\ben\bnt\bt s\bse\ber\brv\bve\ber\br,\b,\n b\bbu\but\bt t\bth\bhe\bey\by?\b\u2019r\bre\be n\bno\bot\bt d\bdi\bis\bsp\bpl\bla\bay\byi\bin\bng\bg w\bwh\bhe\ben\bn u\bus\bsi\bin\bng\bg m\bmo\bod\bd_\b_w\bws\bsg\bgi\bi.\b._\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-See _\bs_\be_\br_\bv_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bf_\bi_\bl_\be_\bs in the \u201cHow to use Django with mod_wsgi\u201d\n+See _\bs_\be_\br_\bv_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bf_\bi_\bl_\be_\bs in the \u00abHow to use Django with mod_wsgi\u00bb\n documentation.\n-*\b**\b**\b**\b**\b* M\bMy\by ?\b\u201cl\bli\bis\bst\bt_\b_f\bfi\bil\blt\bte\ber\br?\b\u201d c\bco\bon\bnt\bta\bai\bin\bns\bs a\ba M\bMa\ban\bny\byT\bTo\boM\bMa\ban\bny\byF\bFi\bie\bel\bld\bd,\b, b\bbu\but\bt t\bth\bhe\be f\bfi\bil\blt\bte\ber\br d\bdo\boe\bes\bsn\bn?\b\u2019t\bt\n+*\b**\b**\b**\b**\b* M\bMy\by ?\b\u00abl\bli\bis\bst\bt_\b_f\bfi\bil\blt\bte\ber\br?\b\u00bb c\bco\bon\bnt\bta\bai\bin\bns\bs a\ba M\bMa\ban\bny\byT\bTo\boM\bMa\ban\bny\byF\bFi\bie\bel\bld\bd,\b, b\bbu\but\bt t\bth\bhe\be f\bfi\bil\blt\bte\ber\br d\bdo\boe\bes\bsn\bn?\b\u2019t\bt\n d\bdi\bis\bsp\bpl\bla\bay\by.\b._\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django won\u2019t bother displaying the filter for a ManyToManyField if there are no\n related objects.\n For example, if your _\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br includes _\bs_\bi_\bt_\be_\bs, and there are no sites in your\n-database, it won\u2019t display a \u201cSite\u201d filter. In that case, filtering by site\n+database, it won\u2019t display a \u00abSite\u00bb filter. In that case, filtering by site\n would be meaningless.\n *\b**\b**\b**\b**\b* S\bSo\bom\bme\be o\bob\bbj\bje\bec\bct\bts\bs a\bar\bre\ben\bn?\b\u2019t\bt a\bap\bpp\bpe\bea\bar\bri\bin\bng\bg i\bin\bn t\bth\bhe\be a\bad\bdm\bmi\bin\bn.\b._\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Inconsistent row counts may be caused by missing foreign key values or a\n foreign key field incorrectly set to _\bn_\bu_\bl_\bl_\b=_\bF_\ba_\bl_\bs_\be. If you have a record with a\n _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by pointing to a nonexistent object and that foreign key is included is\n _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by, the record will not be shown in the admin changelist because the\n Django model is declaring an integrity constraint that is not implemented at\n@@ -80,31 +80,31 @@\n Orca, TalkBack, Voice Control, VoiceOver iOS, VoiceOver macOS, Windows Contrast\n Themes, ZoomText, and screen magnifiers.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n o _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,_\b _\bi_\bt_\b _\bj_\bu_\bs_\bt\n _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\bn_\bo_\b _\be_\br_\br_\bo_\br_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b.\n o _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,_\b _\bi_\bt\n- _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u201c_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bc_\bo_\br_\br_\be_\bc_\bt\n- _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u201d_\b _\be_\br_\br_\bo_\br_\b.\n+ _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u00ab_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bc_\bo_\br_\br_\be_\bc_\bt\n+ _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u00bb_\b _\be_\br_\br_\bo_\br_\b.\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\ba_\bl_\bl_\by_\b _\bs_\be_\bt_\b _\ba_\b _\bf_\bi_\be_\bl_\bd_\b\u2019_\bs_\b _\bv_\ba_\bl_\bu_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\b _\bw_\bh_\bo_\b _\bl_\ba_\bs_\bt\n _\be_\bd_\bi_\bt_\be_\bd_\b _\bt_\bh_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bl_\bi_\bm_\bi_\bt_\b _\ba_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bc_\be_\bs_\bs_\b _\bs_\bo_\b _\bt_\bh_\ba_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bc_\ba_\bn_\b _\bo_\bn_\bl_\by_\b _\bb_\be_\b _\be_\bd_\bi_\bt_\be_\bd_\b _\bb_\by\n _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\bs_\b _\bw_\bh_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\bd_\b _\bt_\bh_\be_\bm_\b?\n o _\bM_\by_\b _\ba_\bd_\bm_\bi_\bn_\b-_\bs_\bi_\bt_\be_\b _\bC_\bS_\bS_\b _\ba_\bn_\bd_\b _\bi_\bm_\ba_\bg_\be_\bs_\b _\bs_\bh_\bo_\bw_\be_\bd_\b _\bu_\bp_\b _\bf_\bi_\bn_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n _\bs_\be_\br_\bv_\be_\br_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\by_\b\u2019_\br_\be_\b _\bn_\bo_\bt_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bh_\be_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b.\n- o _\bM_\by_\b _\b\u201c_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u201d_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt\n+ o _\bM_\by_\b _\b\u00ab_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u00bb_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt\n _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b.\n o _\bS_\bo_\bm_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\ba_\br_\be_\bn_\b\u2019_\bt_\b _\ba_\bp_\bp_\be_\ba_\br_\bi_\bn_\bg_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b.\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\be_\b _\bt_\bh_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bt_\by_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\b?\n o _\bT_\bh_\be_\b _\bd_\by_\bn_\ba_\bm_\bi_\bc_\ba_\bl_\bl_\by_\b-_\bg_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be_\b _\bi_\bs_\b _\bu_\bg_\bl_\by_\b!_\b _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bi_\bt_\b?\n o _\bW_\bh_\ba_\bt_\b _\bb_\br_\bo_\bw_\bs_\be_\br_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n o _\bW_\bh_\ba_\bt_\b _\ba_\bs_\bs_\bi_\bs_\bt_\bi_\bv_\be_\b _\bt_\be_\bc_\bh_\bn_\bo_\bl_\bo_\bg_\bi_\be_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/contributing.html", "source2": "./usr/share/doc/python-django-doc/html/faq/contributing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: Contributing code — Django 5.1.4 documentation\n+ FAQ: Contributing code — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -83,16 +84,16 @@\n

    How can I get started contributing code to Django?\u00b6

    \n

    Thanks for asking! We\u2019ve written an entire document devoted to this question.\n It\u2019s titled Contributing to Django.

    \n \n
    \n

    I submitted a bug fix several weeks ago. Why are you ignoring my contribution?\u00b6

    \n

    Don\u2019t worry: We\u2019re not ignoring you!

    \n-

    It\u2019s important to understand there is a difference between \u201ca ticket is being\n-ignored\u201d and \u201ca ticket has not been attended to yet.\u201d Django\u2019s ticket system\n+

    It\u2019s important to understand there is a difference between \u00aba ticket is being\n+ignored\u00bb and \u00aba ticket has not been attended to yet.\u00bb Django\u2019s ticket system\n contains hundreds of open tickets, of various degrees of impact on end-user\n functionality, and Django\u2019s developers have to review and prioritize.

    \n

    On top of that: the people who work on Django are all volunteers. As a result,\n the amount of time that we have to work on the framework is limited and will\n vary from week to week depending on our spare time. If we\u2019re busy, we may not\n be able to spend as much time on Django as we might want.

    \n

    The best way to make sure tickets do not get hung up on the way to checkin is\n@@ -157,15 +158,15 @@\n relative priorities, we are generally trying to consider the needs of the\n entire community, instead of prioritizing the impact on one particular user.\n This doesn\u2019t mean that we think your problem is unimportant \u2013 just that in the\n limited time we have available, we will always err on the side of making 10\n people happy rather than making a single person happy.

    \n
    \n
    \n-

    I\u2019m sure my ticket is absolutely 100% perfect, can I mark it as \u201cReady For Checkin\u201d myself?\u00b6

    \n+

    I\u2019m sure my ticket is absolutely 100% perfect, can I mark it as \u00abReady For Checkin\u00bb myself?\u00b6

    \n

    Sorry, no. It\u2019s always better to get another set of eyes on a ticket. If\n you\u2019re having trouble getting that second set of eyes, see questions above.

    \n
    \n \n \n \n
    \n@@ -181,44 +182,44 @@\n

    Table of Contents

    \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: The admin

    \n+ title=\"capitolo precedente\">FAQ: The admin

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Troubleshooting

    \n+ title=\"capitolo successivo\">Troubleshooting

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: C\bCo\bon\bnt\btr\bri\bib\bbu\but\bti\bin\bng\bg c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* H\bHo\bow\bw c\bca\ban\bn I\bI g\bge\bet\bt s\bst\bta\bar\brt\bte\bed\bd c\bco\bon\bnt\btr\bri\bib\bbu\but\bti\bin\bng\bg c\bco\bod\bde\be t\bto\bo D\bDj\bja\ban\bng\bgo\bo?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Thanks for asking! We\u2019ve written an entire document devoted to this question.\n It\u2019s titled _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo.\n *\b**\b**\b**\b**\b* I\bI s\bsu\bub\bbm\bmi\bit\btt\bte\bed\bd a\ba b\bbu\bug\bg f\bfi\bix\bx s\bse\bev\bve\ber\bra\bal\bl w\bwe\bee\bek\bks\bs a\bag\bgo\bo.\b. W\bWh\bhy\by a\bar\bre\be y\byo\bou\bu i\big\bgn\bno\bor\bri\bin\bng\bg m\bmy\by\n c\bco\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bn?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Don\u2019t worry: We\u2019re not ignoring you!\n-It\u2019s important to understand there is a difference between \u201ca ticket is being\n-ignored\u201d and \u201ca ticket has not been attended to yet.\u201d Django\u2019s ticket system\n+It\u2019s important to understand there is a difference between \u00aba ticket is being\n+ignored\u00bb and \u00aba ticket has not been attended to yet.\u00bb Django\u2019s ticket system\n contains hundreds of open tickets, of various degrees of impact on end-user\n functionality, and Django\u2019s developers have to review and prioritize.\n On top of that: the people who work on Django are all volunteers. As a result,\n the amount of time that we have to work on the framework is limited and will\n vary from week to week depending on our spare time. If we\u2019re busy, we may not\n be able to spend as much time on Django as we might want.\n The best way to make sure tickets do not get hung up on the way to checkin is\n@@ -71,30 +71,30 @@\n hit the same bug. Different users use Django in different ways, stressing\n different parts of the code under different conditions. When we evaluate the\n relative priorities, we are generally trying to consider the needs of the\n entire community, instead of prioritizing the impact on one particular user.\n This doesn\u2019t mean that we think your problem is unimportant \u2013 just that in the\n limited time we have available, we will always err on the side of making 10\n people happy rather than making a single person happy.\n-*\b**\b**\b**\b**\b* I\bI?\b\u2019m\bm s\bsu\bur\bre\be m\bmy\by t\bti\bic\bck\bke\bet\bt i\bis\bs a\bab\bbs\bso\bol\blu\but\bte\bel\bly\by 1\b10\b00\b0%\b% p\bpe\ber\brf\bfe\bec\bct\bt,\b, c\bca\ban\bn I\bI m\bma\bar\brk\bk i\bit\bt a\bas\bs ?\b\u201cR\bRe\bea\bad\bdy\by\n-F\bFo\bor\br C\bCh\bhe\bec\bck\bki\bin\bn?\b\u201d m\bmy\bys\bse\bel\blf\bf?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b* I\bI?\b\u2019m\bm s\bsu\bur\bre\be m\bmy\by t\bti\bic\bck\bke\bet\bt i\bis\bs a\bab\bbs\bso\bol\blu\but\bte\bel\bly\by 1\b10\b00\b0%\b% p\bpe\ber\brf\bfe\bec\bct\bt,\b, c\bca\ban\bn I\bI m\bma\bar\brk\bk i\bit\bt a\bas\bs ?\b\u00abR\bRe\bea\bad\bdy\by\n+F\bFo\bor\br C\bCh\bhe\bec\bck\bki\bin\bn?\b\u00bb m\bmy\bys\bse\bel\blf\bf?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Sorry, no. It\u2019s always better to get another set of eyes on a ticket. If you\u2019re\n having trouble getting that second set of eyes, see questions above.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bg_\be_\bt_\b _\bs_\bt_\ba_\br_\bt_\be_\bd_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bI_\b _\bs_\bu_\bb_\bm_\bi_\bt_\bt_\be_\bd_\b _\ba_\b _\bb_\bu_\bg_\b _\bf_\bi_\bx_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bw_\be_\be_\bk_\bs_\b _\ba_\bg_\bo_\b._\b _\bW_\bh_\by_\b _\ba_\br_\be_\b _\by_\bo_\bu_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg_\b _\bm_\by\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b?\n o _\bW_\bh_\be_\bn_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bm_\bi_\bg_\bh_\bt_\b _\bI_\b _\br_\be_\bm_\bi_\bn_\bd_\b _\bt_\bh_\be_\b _\bt_\be_\ba_\bm_\b _\bo_\bf_\b _\ba_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bI_\b _\bc_\ba_\br_\be_\b _\ba_\bb_\bo_\bu_\bt_\b?\n o _\bB_\bu_\bt_\b _\bI_\b\u2019_\bv_\be_\b _\br_\be_\bm_\bi_\bn_\bd_\be_\bd_\b _\by_\bo_\bu_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bt_\bi_\bm_\be_\bs_\b _\ba_\bn_\bd_\b _\by_\bo_\bu_\b _\bk_\be_\be_\bp_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg_\b _\bm_\by\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b!\n o _\bI_\b\u2019_\bm_\b _\bs_\bu_\br_\be_\b _\bm_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\b _\bi_\bs_\b _\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\bl_\by_\b _\b1_\b0_\b0_\b%_\b _\bp_\be_\br_\bf_\be_\bc_\bt_\b,_\b _\bc_\ba_\bn_\b _\bI_\b _\bm_\ba_\br_\bk_\b _\bi_\bt_\b _\ba_\bs\n- _\b\u201c_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u201d_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+ _\b\u00ab_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u00bb_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/general.html", "source2": "./usr/share/doc/python-django-doc/html/faq/general.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: General — Django 5.1.4 documentation\n+ FAQ: General — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,32 +96,32 @@\n over two years.

    \n

    In summer 2005, World Online decided to open-source the resulting software,\n Django. Django would not be possible without a whole host of open-source\n projects \u2013 Apache, Python, and PostgreSQL to name a few \u2013 and we\u2019re\n thrilled to be able to give something back to the open-source community.

    \n \n
    \n-

    What does \u201cDjango\u201d mean, and how do you pronounce it?\u00b6

    \n+

    What does \u00abDjango\u00bb mean, and how do you pronounce it?\u00b6

    \n

    Django is named after Django Reinhardt, a jazz manouche guitarist from the 1930s\n to early 1950s. To this day, he\u2019s considered one of the best guitarists of all time.

    \n

    Listen to his music. You\u2019ll like it.

    \n-

    Django is pronounced JANG-oh. Rhymes with FANG-oh. The \u201cD\u201d is silent.

    \n+

    Django is pronounced JANG-oh. Rhymes with FANG-oh. The \u00abD\u00bb is silent.

    \n

    We\u2019ve also recorded an audio clip of the pronunciation.

    \n
    \n
    \n

    Is Django stable?\u00b6

    \n

    Yes, it\u2019s quite stable. Companies like Disqus, Instagram, Pinterest, and\n Mozilla have been using Django for many years. Sites built on Django have\n weathered traffic spikes of over 50 thousand hits per second.

    \n
    \n
    \n

    Does Django scale?\u00b6

    \n

    Yes. Compared to development time, hardware is cheap, and so Django is\n designed to take advantage of as much hardware as you can throw at it.

    \n-

    Django uses a \u201cshared-nothing\u201d architecture, which means you can add hardware\n+

    Django uses a \u00abshared-nothing\u00bb architecture, which means you can add hardware\n at any level \u2013 database servers, caching servers or web/application servers.

    \n

    The framework cleanly separates components such as its database layer and\n application layer. And it ships with a simple-yet-powerful\n cache framework.

    \n
    \n
    \n

    Who\u2019s behind this?\u00b6

    \n@@ -141,42 +142,42 @@\n
    \n
    \n

    Which sites use Django?\u00b6

    \n

    BuiltWithDjango.com features a constantly growing list of Django-powered\n sites.

    \n
    \n
    \n-

    Django appears to be a MVC framework, but you call the Controller the \u201cview\u201d, and the View the \u201ctemplate\u201d. How come you don\u2019t use the standard names?\u00b6

    \n+

    Django appears to be a MVC framework, but you call the Controller the \u00abview\u00bb, and the View the \u00abtemplate\u00bb. How come you don\u2019t use the standard names?\u00b6

    \n

    Well, the standard names are debatable.

    \n-

    In our interpretation of MVC, the \u201cview\u201d describes the data that gets presented\n+

    In our interpretation of MVC, the \u00abview\u00bb describes the data that gets presented\n to the user. It\u2019s not necessarily how the data looks, but which data is\n presented. The view describes which data you see, not how you see it. It\u2019s\n a subtle distinction.

    \n-

    So, in our case, a \u201cview\u201d is the Python callback function for a particular URL,\n+

    So, in our case, a \u00abview\u00bb is the Python callback function for a particular URL,\n because that callback function describes which data is presented.

    \n

    Furthermore, it\u2019s sensible to separate content from presentation \u2013 which is\n-where templates come in. In Django, a \u201cview\u201d describes which data is presented,\n+where templates come in. In Django, a \u00abview\u00bb describes which data is presented,\n but a view normally delegates to a template, which describes how the data is\n presented.

    \n-

    Where does the \u201ccontroller\u201d fit in, then? In Django\u2019s case, it\u2019s probably the\n+

    Where does the \u00abcontroller\u00bb fit in, then? In Django\u2019s case, it\u2019s probably the\n framework itself: the machinery that sends a request to the appropriate view,\n according to the Django URL configuration.

    \n-

    If you\u2019re hungry for acronyms, you might say that Django is a \u201cMTV\u201d framework\n-\u2013 that is, \u201cmodel\u201d, \u201ctemplate\u201d, and \u201cview.\u201d That breakdown makes much more\n+

    If you\u2019re hungry for acronyms, you might say that Django is a \u00abMTV\u00bb framework\n+\u2013 that is, \u00abmodel\u00bb, \u00abtemplate\u00bb, and \u00abview.\u00bb That breakdown makes much more\n sense.

    \n

    At the end of the day, it comes down to getting stuff done. And, regardless of\n how things are named, Django gets stuff done in a way that\u2019s most logical to\n us.

    \n
    \n
    \n

    <Framework X> does <feature Y> \u2013 why doesn\u2019t Django?\u00b6

    \n

    We\u2019re well aware that there are other awesome web frameworks out there, and\n we\u2019re not averse to borrowing ideas where appropriate. However, Django was\n developed precisely because we were unhappy with the status quo, so please be\n-aware that \u201cbecause <Framework X> does it\u201d is not going to be sufficient reason\n+aware that \u00abbecause <Framework X> does it\u00bb is not going to be sufficient reason\n to add a given feature to Django.

    \n
    \n
    \n

    Why did you write all of Django from scratch, instead of using other Python libraries?\u00b6

    \n

    When Django was originally written, Adrian and Simon spent quite a bit of time\n exploring the various Python web frameworks available.

    \n

    In our opinion, none of them were completely up to snuff.

    \n@@ -191,22 +192,22 @@\n philosophies 100%.

    \n

    Like we said: We\u2019re picky.

    \n

    We\u2019ve documented our philosophies on the\n design philosophies page.

    \n
    \n
    \n

    Is Django a content-management-system (CMS)?\u00b6

    \n-

    No, Django is not a CMS, or any sort of \u201cturnkey product\u201d in and of itself.\n+

    No, Django is not a CMS, or any sort of \u00abturnkey product\u00bb in and of itself.\n It\u2019s a web framework; it\u2019s a programming tool that lets you build websites.

    \n

    For example, it doesn\u2019t make much sense to compare Django to something like\n Drupal, because Django is something you use to create things like Drupal.

    \n

    Yes, Django\u2019s automatic admin site is fantastic and timesaving \u2013 but the admin\n site is one module of Django the framework. Furthermore, although Django has\n-special conveniences for building \u201cCMS-y\u201d apps, that doesn\u2019t mean it\u2019s not just\n-as appropriate for building \u201cnon-CMS-y\u201d apps (whatever that means!).

    \n+special conveniences for building \u00abCMS-y\u00bb apps, that doesn\u2019t mean it\u2019s not just\n+as appropriate for building \u00abnon-CMS-y\u00bb apps (whatever that means!).

    \n
    \n
    \n

    How can I download the Django documentation to read it offline?\u00b6

    \n

    The Django docs are available in the docs directory of each Django tarball\n release. These docs are in reST (reStructuredText) format, and each text file\n corresponds to a web page on the official Django site.

    \n

    Because the documentation is stored in revision control, you\n@@ -222,19 +223,19 @@\n software are still a matter of some debate.

    \n

    For example, APA style, would dictate something like:

    \n
    Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.\n 
    \n
    \n

    However, the only true guide is what your publisher will accept, so get a copy\n of those guidelines and fill in the gaps as best you can.

    \n-

    If your referencing style guide requires a publisher name, use \u201cDjango Software\n-Foundation\u201d.

    \n-

    If you need a publishing location, use \u201cLawrence, Kansas\u201d.

    \n+

    If your referencing style guide requires a publisher name, use \u00abDjango Software\n+Foundation\u00bb.

    \n+

    If you need a publishing location, use \u00abLawrence, Kansas\u00bb.

    \n

    If you need a web address, use https://www.djangoproject.com/.

    \n-

    If you need a name, just use \u201cDjango\u201d, without any tagline.

    \n+

    If you need a name, just use \u00abDjango\u00bb, without any tagline.

    \n

    If you need a publication date, use the year of release of the version you\u2019re\n referencing (e.g., 2013 for v1.5)

    \n
    \n \n \n \n
    \n@@ -247,56 +248,56 @@\n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: G\bGe\ben\bne\ber\bra\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* W\bWh\bhy\by d\bdo\boe\bes\bs t\bth\bhi\bis\bs p\bpr\bro\boj\bje\bec\bct\bt e\bex\bxi\bis\bst\bt?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django grew from a very practical need: World Online, a newspaper web\n operation, is responsible for building intensive web applications on journalism\n deadlines. In the fast-paced newsroom, World Online often has only a matter of\n@@ -15,29 +15,29 @@\n a generic web development framework that let them build web applications more\n and more quickly. They tweaked this framework constantly, adding improvements\n over two years.\n In summer 2005, World Online decided to open-source the resulting software,\n Django. Django would not be possible without a whole host of open-source\n projects \u2013 _\bA_\bp_\ba_\bc_\bh_\be, _\bP_\by_\bt_\bh_\bo_\bn, and _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL to name a few \u2013 and we\u2019re thrilled to\n be able to give something back to the open-source community.\n-*\b**\b**\b**\b**\b* W\bWh\bha\bat\bt d\bdo\boe\bes\bs ?\b\u201cD\bDj\bja\ban\bng\bgo\bo?\b\u201d m\bme\bea\ban\bn,\b, a\ban\bnd\bd h\bho\bow\bw d\bdo\bo y\byo\bou\bu p\bpr\bro\bon\bno\bou\bun\bnc\bce\be i\bit\bt?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b* W\bWh\bha\bat\bt d\bdo\boe\bes\bs ?\b\u00abD\bDj\bja\ban\bng\bgo\bo?\b\u00bb m\bme\bea\ban\bn,\b, a\ban\bnd\bd h\bho\bow\bw d\bdo\bo y\byo\bou\bu p\bpr\bro\bon\bno\bou\bun\bnc\bce\be i\bit\bt?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django is named after _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bR_\be_\bi_\bn_\bh_\ba_\br_\bd_\bt, a jazz manouche guitarist from the\n 1930s to early 1950s. To this day, he\u2019s considered one of the best guitarists\n of all time.\n Listen to his music. You\u2019ll like it.\n-Django is pronounced J\bJA\bAN\bNG\bG-oh. Rhymes with FANG-oh. The \u201cD\u201d is silent.\n+Django is pronounced J\bJA\bAN\bNG\bG-oh. Rhymes with FANG-oh. The \u00abD\u00bb is silent.\n We\u2019ve also recorded an _\ba_\bu_\bd_\bi_\bo_\b _\bc_\bl_\bi_\bp_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\bp_\br_\bo_\bn_\bu_\bn_\bc_\bi_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* I\bIs\bs D\bDj\bja\ban\bng\bgo\bo s\bst\bta\bab\bbl\ble\be?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Yes, it\u2019s quite stable. Companies like Disqus, Instagram, Pinterest, and\n Mozilla have been using Django for many years. Sites built on Django have\n weathered traffic spikes of over 50 thousand hits per second.\n *\b**\b**\b**\b**\b* D\bDo\boe\bes\bs D\bDj\bja\ban\bng\bgo\bo s\bsc\bca\bal\ble\be?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Yes. Compared to development time, hardware is cheap, and so Django is designed\n to take advantage of as much hardware as you can throw at it.\n-Django uses a \u201cshared-nothing\u201d architecture, which means you can add hardware\n+Django uses a \u00abshared-nothing\u00bb architecture, which means you can add hardware\n at any level \u2013 database servers, caching servers or web/application servers.\n The framework cleanly separates components such as its database layer and\n application layer. And it ships with a simple-yet-powerful _\bc_\ba_\bc_\bh_\be_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk.\n *\b**\b**\b**\b**\b* W\bWh\bho\bo?\b\u2019s\bs b\bbe\beh\bhi\bin\bnd\bd t\bth\bhi\bis\bs?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django was originally developed at World Online, the web department of a\n newspaper in Lawrence, Kansas, USA. Django\u2019s now run by an international _\bt_\be_\ba_\bm\n _\bo_\bf_\b _\bv_\bo_\bl_\bu_\bn_\bt_\be_\be_\br_\bs.\n@@ -47,40 +47,40 @@\n *\b**\b**\b**\b**\b* W\bWh\bhy\by d\bdo\boe\bes\bs D\bDj\bja\ban\bng\bgo\bo i\bin\bnc\bcl\blu\bud\bde\be P\bPy\byt\bth\bho\bon\bn?\b\u2019s\bs l\bli\bic\bce\ben\bns\bse\be f\bfi\bil\ble\be?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django includes code from the Python standard library. Python is distributed\n under a permissive open source license. _\bA_\b _\bc_\bo_\bp_\by_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bl_\bi_\bc_\be_\bn_\bs_\be is\n included with Django for compliance with Python\u2019s terms.\n *\b**\b**\b**\b**\b* W\bWh\bhi\bic\bch\bh s\bsi\bit\bte\bes\bs u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\bW_\bi_\bt_\bh_\bD_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bm features a constantly growing list of Django-powered sites.\n *\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bpe\bea\bar\brs\bs t\bto\bo b\bbe\be a\ba M\bMV\bVC\bC f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk,\b, b\bbu\but\bt y\byo\bou\bu c\bca\bal\bll\bl t\bth\bhe\be C\bCo\bon\bnt\btr\bro\bol\bll\ble\ber\br t\bth\bhe\be\n-?\b\u201cv\bvi\bie\bew\bw?\b\u201d,\b, a\ban\bnd\bd t\bth\bhe\be V\bVi\bie\bew\bw t\bth\bhe\be ?\b\u201ct\bte\bem\bmp\bpl\bla\bat\bte\be?\b\u201d.\b. H\bHo\bow\bw c\bco\bom\bme\be y\byo\bou\bu d\bdo\bon\bn?\b\u2019t\bt u\bus\bse\be t\bth\bhe\be s\bst\bta\ban\bnd\bda\bar\brd\bd\n+?\b\u00abv\bvi\bie\bew\bw?\b\u00bb,\b, a\ban\bnd\bd t\bth\bhe\be V\bVi\bie\bew\bw t\bth\bhe\be ?\b\u00abt\bte\bem\bmp\bpl\bla\bat\bte\be?\b\u00bb.\b. H\bHo\bow\bw c\bco\bom\bme\be y\byo\bou\bu d\bdo\bon\bn?\b\u2019t\bt u\bus\bse\be t\bth\bhe\be s\bst\bta\ban\bnd\bda\bar\brd\bd\n n\bna\bam\bme\bes\bs?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Well, the standard names are debatable.\n-In our interpretation of MVC, the \u201cview\u201d describes the data that gets presented\n+In our interpretation of MVC, the \u00abview\u00bb describes the data that gets presented\n to the user. It\u2019s not necessarily h\bho\bow\bw the data l\blo\boo\bok\bks\bs, but w\bwh\bhi\bic\bch\bh data is\n presented. The view describes w\bwh\bhi\bic\bch\bh d\bda\bat\bta\ba y\byo\bou\bu s\bse\bee\be, not h\bho\bow\bw y\byo\bou\bu s\bse\bee\be i\bit\bt.\b. It\u2019s a\n subtle distinction.\n-So, in our case, a \u201cview\u201d is the Python callback function for a particular URL,\n+So, in our case, a \u00abview\u00bb is the Python callback function for a particular URL,\n because that callback function describes which data is presented.\n Furthermore, it\u2019s sensible to separate content from presentation \u2013 which is\n-where templates come in. In Django, a \u201cview\u201d describes which data is presented,\n+where templates come in. In Django, a \u00abview\u00bb describes which data is presented,\n but a view normally delegates to a template, which describes h\bho\bow\bw the data is\n presented.\n-Where does the \u201ccontroller\u201d fit in, then? In Django\u2019s case, it\u2019s probably the\n+Where does the \u00abcontroller\u00bb fit in, then? In Django\u2019s case, it\u2019s probably the\n framework itself: the machinery that sends a request to the appropriate view,\n according to the Django URL configuration.\n-If you\u2019re hungry for acronyms, you might say that Django is a \u201cMTV\u201d framework \u2013\n-that is, \u201cmodel\u201d, \u201ctemplate\u201d, and \u201cview.\u201d That breakdown makes much more sense.\n+If you\u2019re hungry for acronyms, you might say that Django is a \u00abMTV\u00bb framework \u2013\n+that is, \u00abmodel\u00bb, \u00abtemplate\u00bb, and \u00abview.\u00bb That breakdown makes much more sense.\n At the end of the day, it comes down to getting stuff done. And, regardless of\n how things are named, Django gets stuff done in a way that\u2019s most logical to\n us.\n *\b**\b**\b**\b**\b* <\b\b> d\bdo\boe\bes\bs <\b\b> ?\b\u2013 w\bwh\bhy\by d\bdo\boe\bes\bsn\bn?\b\u2019t\bt D\bDj\bja\ban\bng\bgo\bo?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n We\u2019re well aware that there are other awesome web frameworks out there, and\n we\u2019re not averse to borrowing ideas where appropriate. However, Django was\n developed precisely because we were unhappy with the status quo, so please be\n-aware that \u201cbecause does it\u201d is not going to be sufficient reason\n+aware that \u00abbecause does it\u00bb is not going to be sufficient reason\n to add a given feature to Django.\n *\b**\b**\b**\b**\b* W\bWh\bhy\by d\bdi\bid\bd y\byo\bou\bu w\bwr\bri\bit\bte\be a\bal\bll\bl o\bof\bf D\bDj\bja\ban\bng\bgo\bo f\bfr\bro\bom\bm s\bsc\bcr\bra\bat\btc\bch\bh,\b, i\bin\bns\bst\bte\bea\bad\bd o\bof\bf u\bus\bsi\bin\bng\bg o\bot\bth\bhe\ber\br\n P\bPy\byt\bth\bho\bon\bn l\bli\bib\bbr\bra\bar\bri\bie\bes\bs?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When Django was originally written, Adrian and Simon spent quite a bit of time\n exploring the various Python web frameworks available.\n In our opinion, none of them were completely up to snuff.\n We\u2019re picky. You might even call us perfectionists. (With deadlines.)\n@@ -91,22 +91,22 @@\n production settings \u2013 and our own code met our needs delightfully.\n In most cases, however, we found that existing frameworks/tools inevitably had\n some sort of fundamental, fatal flaw that made us squeamish. No tool fit our\n philosophies 100%.\n Like we said: We\u2019re picky.\n We\u2019ve documented our philosophies on the _\bd_\be_\bs_\bi_\bg_\bn_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\bi_\be_\bs_\b _\bp_\ba_\bg_\be.\n *\b**\b**\b**\b**\b* I\bIs\bs D\bDj\bja\ban\bng\bgo\bo a\ba c\bco\bon\bnt\bte\ben\bnt\bt-\b-m\bma\ban\bna\bag\bge\bem\bme\ben\bnt\bt-\b-s\bsy\bys\bst\bte\bem\bm (\b(C\bCM\bMS\bS)\b)?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-No, Django is not a CMS, or any sort of \u201cturnkey product\u201d in and of itself.\n+No, Django is not a CMS, or any sort of \u00abturnkey product\u00bb in and of itself.\n It\u2019s a web framework; it\u2019s a programming tool that lets you build websites.\n For example, it doesn\u2019t make much sense to compare Django to something like\n _\bD_\br_\bu_\bp_\ba_\bl, because Django is something you use to c\bcr\bre\bea\bat\bte\be things like Drupal.\n Yes, Django\u2019s automatic admin site is fantastic and timesaving \u2013 but the admin\n site is one module of Django the framework. Furthermore, although Django has\n-special conveniences for building \u201cCMS-y\u201d apps, that doesn\u2019t mean it\u2019s not just\n-as appropriate for building \u201cnon-CMS-y\u201d apps (whatever that means!).\n+special conveniences for building \u00abCMS-y\u00bb apps, that doesn\u2019t mean it\u2019s not just\n+as appropriate for building \u00abnon-CMS-y\u00bb apps (whatever that means!).\n *\b**\b**\b**\b**\b* H\bHo\bow\bw c\bca\ban\bn I\bI d\bdo\bow\bwn\bnl\blo\boa\bad\bd t\bth\bhe\be D\bDj\bja\ban\bng\bgo\bo d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn t\bto\bo r\bre\bea\bad\bd i\bit\bt o\bof\bff\bfl\bli\bin\bne\be?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The Django docs are available in the docs directory of each Django tarball\n release. These docs are in reST (reStructuredText) format, and each text file\n corresponds to a web page on the official Django site.\n Because the documentation is _\bs_\bt_\bo_\br_\be_\bd_\b _\bi_\bn_\b _\br_\be_\bv_\bi_\bs_\bi_\bo_\bn_\b _\bc_\bo_\bn_\bt_\br_\bo_\bl, you can browse\n documentation changes just like you can browse code changes.\n Technically, the docs on Django\u2019s site are generated from the latest\n@@ -118,42 +118,42 @@\n formats can vary wildly between publications, and citation standards for\n software are still a matter of some debate.\n For example, _\bA_\bP_\bA_\b _\bs_\bt_\by_\bl_\be, would dictate something like:\n Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://\n www.djangoproject.com/.\n However, the only true guide is what your publisher will accept, so get a copy\n of those guidelines and fill in the gaps as best you can.\n-If your referencing style guide requires a publisher name, use \u201cDjango Software\n-Foundation\u201d.\n-If you need a publishing location, use \u201cLawrence, Kansas\u201d.\n+If your referencing style guide requires a publisher name, use \u00abDjango Software\n+Foundation\u00bb.\n+If you need a publishing location, use \u00abLawrence, Kansas\u00bb.\n If you need a web address, use _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bw_\bw_\b._\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm_\b/.\n-If you need a name, just use \u201cDjango\u201d, without any tagline.\n+If you need a name, just use \u00abDjango\u00bb, without any tagline.\n If you need a publication date, use the year of release of the version you\u2019re\n referencing (e.g., 2013 for v1.5)\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bn_\be_\br_\ba_\bl\n o _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bt_\bh_\bi_\bs_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\be_\bx_\bi_\bs_\bt_\b?\n- o _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u201c_\bD_\bj_\ba_\bn_\bg_\bo_\b\u201d_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n+ o _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u00ab_\bD_\bj_\ba_\bn_\bg_\bo_\b\u00bb_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n o _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bt_\ba_\bb_\bl_\be_\b?\n o _\bD_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bc_\ba_\bl_\be_\b?\n o _\bW_\bh_\bo_\b\u2019_\bs_\b _\bb_\be_\bh_\bi_\bn_\bd_\b _\bt_\bh_\bi_\bs_\b?\n o _\bH_\bo_\bw_\b _\bi_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\bd_\b?\n o _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b\u2019_\bs_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\b _\bf_\bi_\bl_\be_\b?\n o _\bW_\bh_\bi_\bc_\bh_\b _\bs_\bi_\bt_\be_\bs_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\be_\ba_\br_\bs_\b _\bt_\bo_\b _\bb_\be_\b _\ba_\b _\bM_\bV_\bC_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b,_\b _\bb_\bu_\bt_\b _\by_\bo_\bu_\b _\bc_\ba_\bl_\bl_\b _\bt_\bh_\be_\b _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br\n- _\bt_\bh_\be_\b _\b\u201c_\bv_\bi_\be_\bw_\b\u201d_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u201c_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u201d_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be_\b _\by_\bo_\bu_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bu_\bs_\be_\b _\bt_\bh_\be\n+ _\bt_\bh_\be_\b _\b\u00ab_\bv_\bi_\be_\bw_\b\u00bb_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u00ab_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u00bb_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be_\b _\by_\bo_\bu_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bu_\bs_\be_\b _\bt_\bh_\be\n _\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b _\bn_\ba_\bm_\be_\bs_\b?\n o _\b<_\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b _\bX_\b>_\b _\bd_\bo_\be_\bs_\b _\b<_\bf_\be_\ba_\bt_\bu_\br_\be_\b _\bY_\b>_\b _\b\u2013_\b _\bw_\bh_\by_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bW_\bh_\by_\b _\bd_\bi_\bd_\b _\by_\bo_\bu_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\bl_\bl_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bf_\br_\bo_\bm_\b _\bs_\bc_\br_\ba_\bt_\bc_\bh_\b,_\b _\bi_\bn_\bs_\bt_\be_\ba_\bd_\b _\bo_\bf_\b _\bu_\bs_\bi_\bn_\bg\n _\bo_\bt_\bh_\be_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs_\b?\n o _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b-_\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b-_\bs_\by_\bs_\bt_\be_\bm_\b _\b(_\bC_\bM_\bS_\b)_\b?\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bd_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bi_\bt_\b _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bc_\bi_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bA_\bQ\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/help.html", "source2": "./usr/share/doc/python-django-doc/html/faq/help.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: Getting Help — Django 5.1.4 documentation\n+ FAQ: Getting Help — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,15 +85,15 @@\n

    First, please check if your question is answered on the FAQ. Also, search for answers using your favorite search engine, and\n in the forum.

    \n

    If you can\u2019t find an answer, please take a few minutes to formulate your\n question well. Explaining the problems you are facing clearly will help others\n help you. See the StackOverflow guide on asking good questions.

    \n

    Then, please post it in one of the following channels:

    \n \n@@ -168,37 +169,37 @@\n
  • I think I\u2019ve found a security problem! What should I do?
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: Using Django

    \n+ title=\"capitolo precedente\">FAQ: Using Django

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: Databases and models

    \n+ title=\"capitolo successivo\">FAQ: Databases and models

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: G\bGe\bet\btt\bti\bin\bng\bg H\bHe\bel\blp\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* H\bHo\bow\bw d\bdo\bo I\bI d\bdo\bo X\bX?\b? W\bWh\bhy\by d\bdo\boe\bes\bsn\bn?\b\u2019t\bt Y\bY w\bwo\bor\brk\bk?\b? W\bWh\bhe\ber\bre\be c\bca\ban\bn I\bI g\bgo\bo t\bto\bo g\bge\bet\bt h\bhe\bel\blp\bp?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n First, please check if your question is answered on the _\bF_\bA_\bQ. Also, search for\n answers using your favorite search engine, and in _\bt_\bh_\be_\b _\bf_\bo_\br_\bu_\bm.\n If you can\u2019t find an answer, please take a few minutes to formulate your\n question well. Explaining the problems you are facing clearly will help others\n help you. See the StackOverflow guide on _\ba_\bs_\bk_\bi_\bn_\bg_\b _\bg_\bo_\bo_\bd_\b _\bq_\bu_\be_\bs_\bt_\bi_\bo_\bn_\bs.\n Then, please post it in one of the following channels:\n- * The Django Forum section _\b\u201c_\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u201d. This is for web-based\n+ * The Django Forum section _\b\u00ab_\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u00bb. This is for web-based\n discussions.\n * The _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs mailing list. This is for email-based discussions.\n * The _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\bi_\bs_\bc_\bo_\br_\bd_\b _\bs_\be_\br_\bv_\be_\br for chat-based discussions.\n * The _\b#_\bd_\bj_\ba_\bn_\bg_\bo_\b _\bI_\bR_\bC_\b _\bc_\bh_\ba_\bn_\bn_\be_\bl on the Libera.Chat IRC network. This is for chat-\n based discussions. If you\u2019re new to IRC, see the _\bL_\bi_\bb_\be_\br_\ba_\b._\bC_\bh_\ba_\bt\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for different ways to connect.\n In all these channels please abide by the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bC_\bo_\bd_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bd_\bu_\bc_\bt. In summary,\n@@ -58,16 +58,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bd_\bo_\b _\bX_\b?_\b _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bY_\b _\bw_\bo_\br_\bk_\b?_\b _\bW_\bh_\be_\br_\be_\b _\bc_\ba_\bn_\b _\bI_\b _\bg_\bo_\b _\bt_\bo_\b _\bg_\be_\bt_\b _\bh_\be_\bl_\bp_\b?\n o _\bW_\bh_\by_\b _\bh_\ba_\bs_\bn_\b\u2019_\bt_\b _\bm_\by_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\ba_\bp_\bp_\be_\ba_\br_\be_\bd_\b _\bo_\bn_\b _\bd\bd_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b-\b-_\bu\bu_\bs\bs_\be\be_\br\br_\bs\bs_\b?\n o _\bN_\bo_\bb_\bo_\bd_\by_\b _\ba_\bn_\bs_\bw_\be_\br_\be_\bd_\b _\bm_\by_\b _\bq_\bu_\be_\bs_\bt_\bi_\bo_\bn_\b!_\b _\bW_\bh_\ba_\bt_\b _\bs_\bh_\bo_\bu_\bl_\bd_\b _\bI_\b _\bd_\bo_\b?\n o _\bI_\b _\bt_\bh_\bi_\bn_\bk_\b _\bI_\b\u2019_\bv_\be_\b _\bf_\bo_\bu_\bn_\bd_\b _\ba_\b _\bb_\bu_\bg_\b!_\b _\bW_\bh_\ba_\bt_\b _\bs_\bh_\bo_\bu_\bl_\bd_\b _\bI_\b _\bd_\bo_\b?\n o _\bI_\b _\bt_\bh_\bi_\bn_\bk_\b _\bI_\b\u2019_\bv_\be_\b _\bf_\bo_\bu_\bn_\bd_\b _\ba_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\br_\bo_\bb_\bl_\be_\bm_\b!_\b _\bW_\bh_\ba_\bt_\b _\bs_\bh_\bo_\bu_\bl_\bd_\b _\bI_\b _\bd_\bo_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/index.html", "source2": "./usr/share/doc/python-django-doc/html/faq/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django FAQ — Django 5.1.4 documentation\n+ Django FAQ — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -79,22 +80,22 @@\n \n
    \n

    Django FAQ\u00b6

    \n
    \n \n \n
  • FAQ: The admin\n
  • \n
  • FAQ: Contributing code\n
  • \n
  • Troubleshooting\n
  • \n@@ -169,47 +170,47 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to write a custom storage class

    \n+ title=\"capitolo precedente\">How to write a custom storage class

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: General

    \n+ title=\"capitolo successivo\">FAQ: General

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo F\bFA\bAQ\bQ_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bn_\be_\br_\ba_\bl\n o _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bt_\bh_\bi_\bs_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\be_\bx_\bi_\bs_\bt_\b?\n- o _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u201c_\bD_\bj_\ba_\bn_\bg_\bo_\b\u201d_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n+ o _\bW_\bh_\ba_\bt_\b _\bd_\bo_\be_\bs_\b _\b\u00ab_\bD_\bj_\ba_\bn_\bg_\bo_\b\u00bb_\b _\bm_\be_\ba_\bn_\b,_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\by_\bo_\bu_\b _\bp_\br_\bo_\bn_\bo_\bu_\bn_\bc_\be_\b _\bi_\bt_\b?\n o _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bt_\ba_\bb_\bl_\be_\b?\n o _\bD_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bc_\ba_\bl_\be_\b?\n o _\bW_\bh_\bo_\b\u2019_\bs_\b _\bb_\be_\bh_\bi_\bn_\bd_\b _\bt_\bh_\bi_\bs_\b?\n o _\bH_\bo_\bw_\b _\bi_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\bd_\b?\n o _\bW_\bh_\by_\b _\bd_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b\u2019_\bs_\b _\bl_\bi_\bc_\be_\bn_\bs_\be_\b _\bf_\bi_\bl_\be_\b?\n o _\bW_\bh_\bi_\bc_\bh_\b _\bs_\bi_\bt_\be_\bs_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\be_\ba_\br_\bs_\b _\bt_\bo_\b _\bb_\be_\b _\ba_\b _\bM_\bV_\bC_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b,_\b _\bb_\bu_\bt_\b _\by_\bo_\bu_\b _\bc_\ba_\bl_\bl_\b _\bt_\bh_\be_\b _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br\n- _\bt_\bh_\be_\b _\b\u201c_\bv_\bi_\be_\bw_\b\u201d_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u201c_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u201d_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be_\b _\by_\bo_\bu_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bu_\bs_\be_\b _\bt_\bh_\be\n+ _\bt_\bh_\be_\b _\b\u00ab_\bv_\bi_\be_\bw_\b\u00bb_\b,_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\bV_\bi_\be_\bw_\b _\bt_\bh_\be_\b _\b\u00ab_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b\u00bb_\b._\b _\bH_\bo_\bw_\b _\bc_\bo_\bm_\be_\b _\by_\bo_\bu_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bu_\bs_\be_\b _\bt_\bh_\be\n _\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b _\bn_\ba_\bm_\be_\bs_\b?\n o _\b<_\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b _\bX_\b>_\b _\bd_\bo_\be_\bs_\b _\b<_\bf_\be_\ba_\bt_\bu_\br_\be_\b _\bY_\b>_\b _\b\u2013_\b _\bw_\bh_\by_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bW_\bh_\by_\b _\bd_\bi_\bd_\b _\by_\bo_\bu_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\bl_\bl_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bf_\br_\bo_\bm_\b _\bs_\bc_\br_\ba_\bt_\bc_\bh_\b,_\b _\bi_\bn_\bs_\bt_\be_\ba_\bd_\b _\bo_\bf_\b _\bu_\bs_\bi_\bn_\bg\n _\bo_\bt_\bh_\be_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs_\b?\n o _\bI_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b-_\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b-_\bs_\by_\bs_\bt_\be_\bm_\b _\b(_\bC_\bM_\bS_\b)_\b?\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bd_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bi_\bt_\b _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bc_\bi_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n@@ -46,43 +46,43 @@\n o _\bD_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bN_\bo_\bS_\bQ_\bL_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bd_\bd_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bo_\b _\bm_\by_\b _\bC_\bR_\bE_\bA_\bT_\bE_\b _\bT_\bA_\bB_\bL_\bE\n _\bs_\bt_\ba_\bt_\be_\bm_\be_\bn_\bt_\bs_\b,_\b _\bs_\bu_\bc_\bh_\b _\ba_\bs_\b _\bs_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bM_\by_\bI_\bS_\bA_\bM_\b _\ba_\bs_\b _\bt_\bh_\be_\b _\bt_\ba_\bb_\bl_\be_\b _\bt_\by_\bp_\be_\b?\n * _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n o _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,_\b _\bi_\bt_\b _\bj_\bu_\bs_\bt\n _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\bn_\bo_\b _\be_\br_\br_\bo_\br_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b.\n o _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bl_\bo_\bg_\b _\bi_\bn_\b._\b _\bW_\bh_\be_\bn_\b _\bI_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b,_\b _\bi_\bt\n- _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u201c_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bc_\bo_\br_\br_\be_\bc_\bt\n- _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u201d_\b _\be_\br_\br_\bo_\br_\b.\n+ _\bb_\br_\bi_\bn_\bg_\bs_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\b _\ba_\bg_\ba_\bi_\bn_\b,_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\b\u00ab_\bP_\bl_\be_\ba_\bs_\be_\b _\be_\bn_\bt_\be_\br_\b _\ba_\b _\bc_\bo_\br_\br_\be_\bc_\bt\n+ _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b\u00bb_\b _\be_\br_\br_\bo_\br_\b.\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\ba_\bl_\bl_\by_\b _\bs_\be_\bt_\b _\ba_\b _\bf_\bi_\be_\bl_\bd_\b\u2019_\bs_\b _\bv_\ba_\bl_\bu_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\b _\bw_\bh_\bo_\b _\bl_\ba_\bs_\bt\n _\be_\bd_\bi_\bt_\be_\bd_\b _\bt_\bh_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bl_\bi_\bm_\bi_\bt_\b _\ba_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bc_\be_\bs_\bs_\b _\bs_\bo_\b _\bt_\bh_\ba_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bc_\ba_\bn_\b _\bo_\bn_\bl_\by_\b _\bb_\be_\b _\be_\bd_\bi_\bt_\be_\bd_\b _\bb_\by\n _\bt_\bh_\be_\b _\bu_\bs_\be_\br_\bs_\b _\bw_\bh_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\bd_\b _\bt_\bh_\be_\bm_\b?\n o _\bM_\by_\b _\ba_\bd_\bm_\bi_\bn_\b-_\bs_\bi_\bt_\be_\b _\bC_\bS_\bS_\b _\ba_\bn_\bd_\b _\bi_\bm_\ba_\bg_\be_\bs_\b _\bs_\bh_\bo_\bw_\be_\bd_\b _\bu_\bp_\b _\bf_\bi_\bn_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n _\bs_\be_\br_\bv_\be_\br_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\by_\b\u2019_\br_\be_\b _\bn_\bo_\bt_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bh_\be_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b.\n- o _\bM_\by_\b _\b\u201c_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u201d_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt\n+ o _\bM_\by_\b _\b\u00ab_\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b\u00bb_\b _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b,_\b _\bb_\bu_\bt_\b _\bt_\bh_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt\n _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b.\n o _\bS_\bo_\bm_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\ba_\br_\be_\bn_\b\u2019_\bt_\b _\ba_\bp_\bp_\be_\ba_\br_\bi_\bn_\bg_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b.\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\be_\b _\bt_\bh_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bt_\by_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\b?\n o _\bT_\bh_\be_\b _\bd_\by_\bn_\ba_\bm_\bi_\bc_\ba_\bl_\bl_\by_\b-_\bg_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be_\b _\bi_\bs_\b _\bu_\bg_\bl_\by_\b!_\b _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bi_\bt_\b?\n o _\bW_\bh_\ba_\bt_\b _\bb_\br_\bo_\bw_\bs_\be_\br_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n o _\bW_\bh_\ba_\bt_\b _\ba_\bs_\bs_\bi_\bs_\bt_\bi_\bv_\be_\b _\bt_\be_\bc_\bh_\bn_\bo_\bl_\bo_\bg_\bi_\be_\bs_\b _\ba_\br_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bf_\bo_\br_\b _\bu_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b?\n * _\bF_\bA_\bQ_\b:_\b _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bg_\be_\bt_\b _\bs_\bt_\ba_\br_\bt_\be_\bd_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bI_\b _\bs_\bu_\bb_\bm_\bi_\bt_\bt_\be_\bd_\b _\ba_\b _\bb_\bu_\bg_\b _\bf_\bi_\bx_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bw_\be_\be_\bk_\bs_\b _\ba_\bg_\bo_\b._\b _\bW_\bh_\by_\b _\ba_\br_\be_\b _\by_\bo_\bu_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg_\b _\bm_\by\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b?\n o _\bW_\bh_\be_\bn_\b _\ba_\bn_\bd_\b _\bh_\bo_\bw_\b _\bm_\bi_\bg_\bh_\bt_\b _\bI_\b _\br_\be_\bm_\bi_\bn_\bd_\b _\bt_\bh_\be_\b _\bt_\be_\ba_\bm_\b _\bo_\bf_\b _\ba_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bI_\b _\bc_\ba_\br_\be_\b _\ba_\bb_\bo_\bu_\bt_\b?\n o _\bB_\bu_\bt_\b _\bI_\b\u2019_\bv_\be_\b _\br_\be_\bm_\bi_\bn_\bd_\be_\bd_\b _\by_\bo_\bu_\b _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bt_\bi_\bm_\be_\bs_\b _\ba_\bn_\bd_\b _\by_\bo_\bu_\b _\bk_\be_\be_\bp_\b _\bi_\bg_\bn_\bo_\br_\bi_\bn_\bg_\b _\bm_\by\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b!\n o _\bI_\b\u2019_\bm_\b _\bs_\bu_\br_\be_\b _\bm_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\b _\bi_\bs_\b _\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\bl_\by_\b _\b1_\b0_\b0_\b%_\b _\bp_\be_\br_\bf_\be_\bc_\bt_\b,_\b _\bc_\ba_\bn_\b _\bI_\b _\bm_\ba_\br_\bk_\b _\bi_\bt_\b _\ba_\bs\n- _\b\u201c_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u201d_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n+ _\b\u00ab_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\bi_\bn_\b\u00bb_\b _\bm_\by_\bs_\be_\bl_\bf_\b?\n * _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n o _\bP_\br_\bo_\bb_\bl_\be_\bm_\bs_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn\n o _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bn_\be_\br_\ba_\bl\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/install.html", "source2": "./usr/share/doc/python-django-doc/html/faq/install.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: Installation — Django 5.1.4 documentation\n+ FAQ: Installation — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -184,37 +185,37 @@\n
  • Should I use the stable version or development version?
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: General

    \n+ title=\"capitolo precedente\">FAQ: General

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: Using Django

    \n+ title=\"capitolo successivo\">FAQ: Using Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: I\bIn\bns\bst\bta\bal\bll\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* H\bHo\bow\bw d\bdo\bo I\bI g\bge\bet\bt s\bst\bta\bar\brt\bte\bed\bd?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n 1. _\bD_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\b _\bt_\bh_\be_\b _\bc_\bo_\bd_\be.\n 2. Install Django (read the _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bg_\bu_\bi_\bd_\be).\n 3. Walk through the _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl.\n@@ -55,16 +55,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bg_\be_\bt_\b _\bs_\bt_\ba_\br_\bt_\be_\bd_\b?\n o _\bW_\bh_\ba_\bt_\b _\ba_\br_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bp_\br_\be_\br_\be_\bq_\bu_\bi_\bs_\bi_\bt_\be_\bs_\b?\n o _\bW_\bh_\ba_\bt_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\bc_\ba_\bn_\b _\bI_\b _\bu_\bs_\be_\b _\bw_\bi_\bt_\bh_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bW_\bh_\ba_\bt_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\bs_\bh_\bo_\bu_\bl_\bd_\b _\bI_\b _\bu_\bs_\be_\b _\bw_\bi_\bt_\bh_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b?\n o _\bS_\bh_\bo_\bu_\bl_\bd_\b _\bI_\b _\bu_\bs_\be_\b _\bt_\bh_\be_\b _\bs_\bt_\ba_\bb_\bl_\be_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\bo_\br_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bn_\be_\br_\ba_\bl\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/models.html", "source2": "./usr/share/doc/python-django-doc/html/faq/models.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: Databases and models — Django 5.1.4 documentation\n+ FAQ: Databases and models — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: Getting Help

    \n+ title=\"capitolo precedente\">FAQ: Getting Help

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: The admin

    \n+ title=\"capitolo successivo\">FAQ: The admin

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: D\bDa\bat\bta\bab\bba\bas\bse\bes\bs a\ban\bnd\bd m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* H\bHo\bow\bw c\bca\ban\bn I\bI s\bse\bee\be t\bth\bhe\be r\bra\baw\bw S\bSQ\bQL\bL q\bqu\bue\ber\bri\bie\bes\bs D\bDj\bja\ban\bng\bgo\bo i\bis\bs r\bru\bun\bnn\bni\bin\bng\bg?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Make sure your Django _\bD_\bE_\bB_\bU_\bG setting is set to True. Then do this:\n >>> from django.db import connection\n >>> connection.queries\n@@ -58,16 +58,16 @@\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bs_\be_\be_\b _\bt_\bh_\be_\b _\br_\ba_\bw_\b _\bS_\bQ_\bL_\b _\bq_\bu_\be_\br_\bi_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bs_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b?\n o _\bC_\ba_\bn_\b _\bI_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bp_\br_\be_\be_\bx_\bi_\bs_\bt_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b?\n o _\bI_\bf_\b _\bI_\b _\bm_\ba_\bk_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs_\b _\bt_\bo_\b _\ba_\b _\bm_\bo_\bd_\be_\bl_\b,_\b _\bh_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bu_\bp_\bd_\ba_\bt_\be_\b _\bt_\bh_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b?\n o _\bD_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bm_\bo_\bd_\be_\bl_\bs_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bm_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b-_\bc_\bo_\bl_\bu_\bm_\bn_\b _\bp_\br_\bi_\bm_\ba_\br_\by_\b _\bk_\be_\by_\bs_\b?\n o _\bD_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bN_\bo_\bS_\bQ_\bL_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\ba_\bd_\bd_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bo_\b _\bm_\by_\b _\bC_\bR_\bE_\bA_\bT_\bE_\b _\bT_\bA_\bB_\bL_\bE\n _\bs_\bt_\ba_\bt_\be_\bm_\be_\bn_\bt_\bs_\b,_\b _\bs_\bu_\bc_\bh_\b _\ba_\bs_\b _\bs_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bM_\by_\bI_\bS_\bA_\bM_\b _\ba_\bs_\b _\bt_\bh_\be_\b _\bt_\ba_\bb_\bl_\be_\b _\bt_\by_\bp_\be_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/troubleshooting.html", "source2": "./usr/share/doc/python-django-doc/html/faq/troubleshooting.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Troubleshooting — Django 5.1.4 documentation\n+ Troubleshooting — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,17 +89,17 @@\n

    django-admin should be on your system path if you\n installed Django via pip. If it\u2019s not in your path, ensure you have your\n virtual environment activated and you can try running the equivalent command\n python -m django.

    \n \n
    \n

    macOS permissions\u00b6

    \n-

    If you\u2019re using macOS, you may see the message \u201cpermission denied\u201d when\n+

    If you\u2019re using macOS, you may see the message \u00abpermission denied\u00bb when\n you try to run django-admin. This is because, on Unix-based systems like\n-macOS, a file must be marked as \u201cexecutable\u201d before it can be run as a program.\n+macOS, a file must be marked as \u00abexecutable\u00bb before it can be run as a program.\n To do this, open Terminal.app and navigate (using the cd command) to the\n directory where django-admin is installed, then\n run the command sudo chmod +x django-admin.

    \n
    \n \n
    \n

    Miscellaneous\u00b6

    \n@@ -110,15 +111,15 @@\n
    UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:\n ordinal not in range(128)\n 
    \n
    \n

    The resolution mostly depends on the context, however here are two common\n pitfalls producing this error:

    \n
      \n-
    • Your system locale may be a default ASCII locale, like the \u201cC\u201d locale on\n+

    • Your system locale may be a default ASCII locale, like the \u00abC\u00bb locale on\n UNIX-like systems (can be checked by the locale command). If it\u2019s the\n case, please refer to your system documentation to learn how you can change\n this to a UTF-8 locale.

    • \n
    \n

    Related resources:

    \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: Contributing code

    \n+ title=\"capitolo precedente\">FAQ: Contributing code

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    API Reference

    \n+ title=\"capitolo successivo\">API Reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,49 +1,49 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTr\bro\bou\bub\bbl\ble\bes\bsh\bho\boo\bot\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This page contains some advice about errors and problems commonly encountered\n during the development of Django applications.\n *\b**\b**\b**\b**\b* P\bPr\bro\bob\bbl\ble\bem\bms\bs r\bru\bun\bnn\bni\bin\bng\bg d\bdj\bja\ban\bng\bgo\bo-\b-a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* c\bco\bom\bmm\bma\ban\bnd\bd n\bno\bot\bt f\bfo\bou\bun\bnd\bd:\b: d\bdj\bja\ban\bng\bgo\bo-\b-a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn should be on your system path if you installed Django via pip. If\n it\u2019s not in your path, ensure you have your virtual environment activated and\n you can try running the equivalent command python -m django.\n *\b**\b**\b**\b* m\bma\bac\bcO\bOS\bS p\bpe\ber\brm\bmi\bis\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-If you\u2019re using macOS, you may see the message \u201cpermission denied\u201d when you try\n+If you\u2019re using macOS, you may see the message \u00abpermission denied\u00bb when you try\n to run django-admin. This is because, on Unix-based systems like macOS, a file\n-must be marked as \u201cexecutable\u201d before it can be run as a program. To do this,\n+must be marked as \u00abexecutable\u00bb before it can be run as a program. To do this,\n open Terminal.app and navigate (using the cd command) to the directory where\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn is installed, then run the command sudo chmod +x django-admin.\n *\b**\b**\b**\b**\b* M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* I\bI?\b\u2019m\bm g\bge\bet\btt\bti\bin\bng\bg a\ba U\bUn\bni\bic\bco\bod\bde\beD\bDe\bec\bco\bod\bde\beE\bEr\brr\bro\bor\br.\b. W\bWh\bha\bat\bt a\bam\bm I\bI d\bdo\boi\bin\bng\bg w\bwr\bro\bon\bng\bg?\b?_\b?\b\u00b6 *\b**\b**\b**\b*\n This class of errors happen when a bytestring containing non-ASCII sequences is\n transformed into a Unicode string and the specified encoding is incorrect. The\n output generally looks like this:\n UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:\n ordinal not in range(128)\n The resolution mostly depends on the context, however here are two common\n pitfalls producing this error:\n- * Your system locale may be a default ASCII locale, like the \u201cC\u201d locale on\n+ * Your system locale may be a default ASCII locale, like the \u00abC\u00bb locale on\n UNIX-like systems (can be checked by the locale command). If it\u2019s the\n case, please refer to your system documentation to learn how you can\n change this to a UTF-8 locale.\n Related resources:\n * _\bU_\bn_\bi_\bc_\bo_\bd_\be_\b _\bi_\bn_\b _\bD_\bj_\ba_\bn_\bg_\bo\n * _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bi_\bk_\bi_\b._\bp_\by_\bt_\bh_\bo_\bn_\b._\bo_\br_\bg_\b/_\bm_\bo_\bi_\bn_\b/_\bU_\bn_\bi_\bc_\bo_\bd_\be_\bD_\be_\bc_\bo_\bd_\be_\bE_\br_\br_\bo_\br\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n o _\bP_\br_\bo_\bb_\bl_\be_\bm_\bs_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn\n # _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bn_\bo_\bt_\b _\bf_\bo_\bu_\bn_\bd_\b:_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn\n # _\bm_\ba_\bc_\bO_\bS_\b _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs\n o _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n # _\bI_\b\u2019_\bm_\b _\bg_\be_\bt_\bt_\bi_\bn_\bg_\b _\ba_\b _\bU_\bn_\bi_\bc_\bo_\bd_\be_\bD_\be_\bc_\bo_\bd_\be_\bE_\br_\br_\bo_\br_\b._\b _\bW_\bh_\ba_\bt_\b _\ba_\bm_\b _\bI_\b _\bd_\bo_\bi_\bn_\bg_\b _\bw_\br_\bo_\bn_\bg_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/faq/usage.html", "source2": "./usr/share/doc/python-django-doc/html/faq/usage.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- FAQ: Using Django — Django 5.1.4 documentation\n+ FAQ: Using Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -159,37 +160,37 @@\n
  • How do I make a variable available to all my templates?
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    FAQ: Installation

    \n+ title=\"capitolo precedente\">FAQ: Installation

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    FAQ: Getting Help

    \n+ title=\"capitolo successivo\">FAQ: Getting Help

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* F\bFA\bAQ\bQ:\b: U\bUs\bsi\bin\bng\bg D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* W\bWh\bhy\by d\bdo\bo I\bI g\bge\bet\bt a\ban\bn e\ber\brr\bro\bor\br a\bab\bbo\bou\but\bt i\bim\bmp\bpo\bor\brt\bti\bin\bng\bg _\bD\bD_\bJ\bJ_\bA\bA_\bN\bN_\bG\bG_\bO\bO_\b_\b__\bS\bS_\bE\bE_\bT\bT_\bT\bT_\bI\bI_\bN\bN_\bG\bG_\bS\bS_\b_\b__\bM\bM_\bO\bO_\bD\bD_\bU\bU_\bL\bL_\bE\bE?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Make sure that:\n * The environment variable _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE is set to a fully-\n qualified Python module (i.e. mysite.settings).\n@@ -42,16 +42,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bF_\bA_\bQ_\b:_\b _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bW_\bh_\by_\b _\bd_\bo_\b _\bI_\b _\bg_\be_\bt_\b _\ba_\bn_\b _\be_\br_\br_\bo_\br_\b _\ba_\bb_\bo_\bu_\bt_\b _\bi_\bm_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE_\b?\n o _\bI_\b _\bc_\ba_\bn_\b\u2019_\bt_\b _\bs_\bt_\ba_\bn_\bd_\b _\by_\bo_\bu_\br_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b._\b _\bD_\bo_\b _\bI_\b _\bh_\ba_\bv_\be_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bi_\bt_\b?\n o _\bD_\bo_\b _\bI_\b _\bh_\ba_\bv_\be_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\by_\bo_\bu_\br_\b _\bm_\bo_\bd_\be_\bl_\b/_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bl_\ba_\by_\be_\br_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bu_\bs_\be_\b _\bi_\bm_\ba_\bg_\be_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\be_\b _\bf_\bi_\be_\bl_\bd_\bs_\b?\n o _\bH_\bo_\bw_\b _\bd_\bo_\b _\bI_\b _\bm_\ba_\bk_\be_\b _\ba_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bt_\bo_\b _\ba_\bl_\bl_\b _\bm_\by_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/genindex.html", "source2": "./usr/share/doc/python-django-doc/html/genindex.html", "unified_diff": "@@ -1,21 +1,22 @@\n \n \n-\n+\n \n \n \n- Index — Django 5.1.4 documentation\n+ Indice — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n-

    Index

    \n+

    Indice

    \n \n
    \n- Symbols\n+ Simboli\n | _\n | A\n | B\n | C\n | D\n | E\n | F\n@@ -100,15 +101,15 @@\n | V\n | W\n | X\n | Y\n | Z\n \n
    \n-

    Symbols

    \n+

    Simboli

    \n \n \n
    \n \n

    _

    \n \n \n \n
    \n \n

    A

    \n \n \n \n
    \n \n

    B

    \n \n \n \n
    \n \n

    C

    \n \n \n \n
    \n \n

    D

    \n \n \n
    \n \n

    E

    \n \n \n- \n+ \n
    \n \n

    F

    \n \n \n
    \n \n

    G

    \n \n@@ -6055,57 +6031,57 @@\n
  • \n GDAL_LIBRARY_PATH\n \n
  • \n-
  • GDALBand (class in django.contrib.gis.gdal)\n+
  • GDALBand (classe in django.contrib.gis.gdal)\n
  • \n
  • GDALException\n
  • \n-
  • GDALRaster (class in django.contrib.gis.gdal)\n+
  • GDALRaster (classe in django.contrib.gis.gdal)\n
  • \n-
  • generate_filename() (Storage method)\n+
  • generate_filename() (Storage metodo)\n
  • \n-
  • GeneratedField (class in django.db.models)\n+
  • GeneratedField (classe in django.db.models)\n
  • \n
  • generic view\n
  • \n-
  • generic_inlineformset_factory() (in module django.contrib.contenttypes.forms)\n+
  • generic_inlineformset_factory() (nel modulo django.contrib.contenttypes.forms)\n
  • \n-
  • GenericForeignKey (class in django.contrib.contenttypes.fields)\n+
  • GenericForeignKey (classe in django.contrib.contenttypes.fields)\n
  • \n-
  • GenericInlineModelAdmin (class in django.contrib.contenttypes.admin)\n+
  • GenericInlineModelAdmin (classe in django.contrib.contenttypes.admin)\n
  • \n-
  • GenericIPAddressField (class in django.db.models)\n+
  • GenericIPAddressField (classe in django.db.models)\n \n
  • \n-
  • GenericPrefetch (class in django.contrib.contenttypes.prefetch)\n+
  • GenericPrefetch (classe in django.contrib.contenttypes.prefetch)\n
  • \n-
  • GenericRelation (class in django.contrib.contenttypes.fields)\n+
  • GenericRelation (classe in django.contrib.contenttypes.fields)\n
  • \n-
  • GenericSitemap (class in django.contrib.sitemaps)\n+
  • GenericSitemap (classe in django.contrib.sitemaps)\n
  • \n-
  • GenericStackedInline (class in django.contrib.contenttypes.admin)\n+
  • GenericStackedInline (classe in django.contrib.contenttypes.admin)\n
  • \n-
  • GenericTabularInline (class in django.contrib.contenttypes.admin)\n+
  • GenericTabularInline (classe in django.contrib.contenttypes.admin)\n
  • \n-
  • GeoAtom1Feed (class in django.contrib.gis.feeds)\n+
  • GeoAtom1Feed (classe in django.contrib.gis.feeds)\n
  • \n-
  • geographic (SpatialReference attribute)\n+
  • geographic (SpatialReference attributo)\n
  • \n-
  • geography (GeometryField attribute)\n+
  • geography (GeometryField attributo)\n
  • \n-
  • GeoHash (class in django.contrib.gis.db.models.functions)\n+
  • GeoHash (classe in django.contrib.gis.db.models.functions)\n
  • \n-
  • GeoIP2 (class in django.contrib.gis.geoip2)\n+
  • GeoIP2 (classe in django.contrib.gis.geoip2)\n
  • \n
  • GeoIP2Exception\n
  • \n
  • \n GEOIP_CITY\n \n
  • \n
    \n \n

    H

    \n \n \n \n
    \n \n

    I

    \n \n \n \n
    \n
  • InternalError\n
  • \n
  • internationalization\n
  • \n-
  • interpolate() (GEOSGeometry method)\n+
  • interpolate() (GEOSGeometry metodo)\n
  • \n-
  • interpolate_normalized() (GEOSGeometry method)\n+
  • interpolate_normalized() (GEOSGeometry metodo)\n
  • \n-
  • Intersection (class in django.contrib.gis.db.models.functions)\n+
  • Intersection (classe in django.contrib.gis.db.models.functions)\n
  • \n-
  • intersection() (GEOSGeometry method)\n+
  • intersection() (GEOSGeometry metodo)\n \n
  • \n
  • \n intersects\n \n
  • \n-
  • intersects() (GEOSGeometry method)\n+
  • intersects() (GEOSGeometry metodo)\n \n
  • \n
  • \n intword\n \n
  • \n
  • InvalidPage\n
  • \n-
  • inverse_flattening (SpatialReference attribute)\n+
  • inverse_flattening (SpatialReference attributo)\n
  • \n-
  • inverse_match (RegexValidator attribute)\n+
  • inverse_match (RegexValidator attributo)\n
  • \n
  • \n iregex\n \n
  • \n-
  • iri_to_uri() (in module django.utils.encoding)\n+
  • iri_to_uri() (nel modulo django.utils.encoding)\n
  • \n
  • \n iriencode\n \n
  • \n-
  • is_3d (OGRGeometry attribute)\n+
  • is_3d (OGRGeometry attributo)\n
  • \n-
  • is_active (in module django.contrib.auth)\n+
  • is_active (models.CustomUser attributo)\n \n
  • \n-
  • is_active() (SafeExceptionReporterFilter method)\n+
  • is_active() (SafeExceptionReporterFilter metodo)\n
  • \n-
  • is_anonymous (models.AbstractBaseUser attribute)\n+
  • is_anonymous (models.AbstractBaseUser attributo)\n \n
  • \n-
  • is_async (StreamingHttpResponse attribute)\n+
  • is_async (StreamingHttpResponse attributo)\n
  • \n-
  • is_authenticated (models.AbstractBaseUser attribute)\n+
  • is_authenticated (models.AbstractBaseUser attributo)\n \n
  • \n-
  • is_aware() (in module django.utils.timezone)\n+
  • is_aware() (nel modulo django.utils.timezone)\n
  • \n-
  • is_bound (Form attribute)\n+
  • is_bound (Form attributo)\n
  • \n-
  • is_counterclockwise (LinearRing attribute)\n+
  • is_counterclockwise (LinearRing attributo)\n
  • \n-
  • is_hidden (BoundField attribute)\n+
  • is_hidden (BoundField attributo)\n
  • \n-
  • is_installed() (apps method)\n+
  • is_installed() (apps metodo)\n
  • \n-
  • is_measured (OGRGeometry attribute)\n+
  • is_measured (OGRGeometry attributo)\n
  • \n-
  • is_multipart() (Form method)\n+
  • is_multipart() (Form metodo)\n
  • \n-
  • is_naive() (in module django.utils.timezone)\n+
  • is_naive() (nel modulo django.utils.timezone)\n
  • \n-
  • is_password_usable() (in module django.contrib.auth.hashers)\n+
  • is_password_usable() (nel modulo django.contrib.auth.hashers)\n
  • \n-
  • is_protected_type() (in module django.utils.encoding)\n+
  • is_protected_type() (nel modulo django.utils.encoding)\n
  • \n-
  • is_relation (Field attribute)\n+
  • is_relation (Field attributo)\n
  • \n-
  • is_rendered (SimpleTemplateResponse attribute)\n+
  • is_rendered (SimpleTemplateResponse attributo)\n
  • \n-
  • is_secure() (HttpRequest method)\n+
  • is_secure() (HttpRequest metodo)\n
  • \n-
  • is_staff (in module django.contrib.auth)\n+
  • is_staff (models.User attributo)\n \n
  • \n-
  • is_superuser (models.PermissionsMixin attribute)\n+
  • is_superuser (models.PermissionsMixin attributo)\n \n
  • \n-
  • is_valid() (Form method)\n+
  • is_valid() (Form metodo)\n
  • \n-
  • is_vsi_based (GDALRaster attribute)\n+
  • is_vsi_based (GDALRaster attributo)\n
  • \n
  • \n isempty\n \n
  • \n-
  • IsEmpty (class in django.contrib.gis.db.models.functions)\n+
  • IsEmpty (classe in django.contrib.gis.db.models.functions)\n
  • \n
  • \n isnull\n \n
  • \n \n

    J

    \n \n \n \n
    \n \n

    K

    \n \n \n \n
    \n \n

    L

    \n \n \n \n
    \n \n

    M

    \n \n \n \n
    \n \n

    N

    \n@@ -8997,59 +8973,59 @@\n
  • \n NAME\n \n
  • \n-
  • name (AppConfig attribute)\n+
  • name (AppConfig attributo)\n \n
  • \n-
  • namespace (ResolverMatch attribute)\n+
  • namespace (ResolverMatch attributo)\n
  • \n-
  • namespaces (ResolverMatch attribute)\n+
  • namespaces (ResolverMatch attributo)\n
  • \n
  • \n naturalday\n \n \n \n \n \n

    O

    \n \n \n
    \n \n

    P

    \n \n \n \n
    \n \n

    Q

    \n \n \n \n
    \n \n

    R

    \n \n \n \n
    \n \n

    S

    \n \n \n \n
    \n \n

    T

    \n \n \n \n
    \n \n

    U

    \n \n \n \n
    \n \n

    V

    \n \n \n \n
    \n \n

    W

    \n \n \n \n
    \n \n

    X

    \n \n \n \n
    \n \n

    Y

    \n \n \n \n
    \n \n

    Z

    \n \n \n
    \n \n \n \n@@ -13699,15 +13695,15 @@\n
  • \n
    \n \n
    \n \n
    \n
    \n- up
    \n+ up
    \n
    \n
    \n \n
    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,14 +1,14 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n _\bu_\bp\n-*\b**\b**\b**\b**\b**\b* I\bIn\bnd\bde\bex\bx *\b**\b**\b**\b**\b**\b*\n-_\bS\bS_\by\by_\bm\bm_\bb\bb_\bo\bo_\bl\bl_\bs\bs | _\b_\b_ | _\bA\bA | _\bB\bB | _\bC\bC | _\bD\bD | _\bE\bE | _\bF\bF | _\bG\bG | _\bH\bH | _\bI\bI | _\bJ\bJ | _\bK\bK | _\bL\bL | _\bM\bM | _\bN\bN | _\bO\bO | _\bP\bP | _\bQ\bQ\n+*\b**\b**\b**\b**\b**\b* I\bIn\bnd\bdi\bic\bce\be *\b**\b**\b**\b**\b**\b*\n+_\bS\bS_\bi\bi_\bm\bm_\bb\bb_\bo\bo_\bl\bl_\bi\bi | _\b_\b_ | _\bA\bA | _\bB\bB | _\bC\bC | _\bD\bD | _\bE\bE | _\bF\bF | _\bG\bG | _\bH\bH | _\bI\bI | _\bJ\bJ | _\bK\bK | _\bL\bL | _\bM\bM | _\bN\bN | _\bO\bO | _\bP\bP | _\bQ\bQ\n | _\bR\bR | _\bS\bS | _\bT\bT | _\bU\bU | _\bV\bV | _\bW\bW | _\bX\bX | _\bY\bY | _\bZ\bZ\n-*\b**\b**\b**\b**\b* S\bSy\bym\bmb\bbo\bol\bls\bs *\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b* S\bSi\bim\bmb\bbo\bol\bli\bi *\b**\b**\b**\b**\b*\n * -- * --no-header\n o _\bd_\bb_\bs_\bh_\be_\bl_\bl_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be_\b _\bo_\bp_\bt_\bi_\bo_\bn o _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be\n * --add-location _\bo_\bp_\bt_\bi_\bo_\bn\n o _\bm_\ba_\bk_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be o _\bs_\bq_\bu_\ba_\bs_\bh_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n _\bo_\bp_\bt_\bi_\bo_\bn _\bl_\bi_\bn_\be_\b _\bo_\bp_\bt_\bi_\bo_\bn\n * --addrport * --no-imports\n o _\bt_\be_\bs_\bt_\bs_\be_\br_\bv_\be_\br_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be\n@@ -227,533 +227,534 @@\n o _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be\n _\bo_\bp_\bt_\bi_\bo_\bn\n o _\bm_\ba_\bk_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be\n _\bo_\bp_\bt_\bi_\bo_\bn\n * --no-faulthandler\n o _\bt_\be_\bs_\bt_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be_\b _\bo_\bp_\bt_\bi_\bo_\bn\n *\b**\b**\b**\b**\b* _\b_ *\b**\b**\b**\b**\b*\n- * _\b__\b__\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\b__\b(_\b)_\b * _\b__\b__\bi_\bt_\be_\br_\b__\b__\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\b__\b__\bd_\be_\bl_\bi_\bt_\be_\bm_\b__\b__\b(_\b)_\b * _\b__\b__\bl_\be_\bn_\b__\b__\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\b__\b__\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\b__\b(_\b)_\b * _\b__\b__\bi_\bt_\be_\br_\b__\b__\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\b__\b__\bd_\be_\bl_\bi_\bt_\be_\bm_\b__\b__\b(_\b)_\b * _\b__\b__\bl_\be_\bn_\b__\b__\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\b__\b__\bs_\be_\bt_\bi_\bt_\be_\bm_\b__\b__\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\b__\b__\be_\bq_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\b__\b__\bg_\be_\bt_\ba_\bt_\bt_\br_\b__\b__\b(_\b)_\b _\b(_\bA_\br_\be_\ba_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\b__\b__\bs_\bt_\br_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be\n- * _\b__\b__\bg_\be_\bt_\bi_\bt_\be_\bm_\b__\b__\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\b__\bb_\ba_\bs_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\b__\bo_\bp_\be_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- * _\b__\b__\bh_\ba_\bs_\bh_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\b__\bs_\bt_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\b__\b__\bi_\bn_\bi_\bt_\b__\b__\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\b__\b__\be_\bq_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\b__\b__\bg_\be_\bt_\ba_\bt_\bt_\br_\b__\b__\b(_\b)_\b _\b(_\bA_\br_\be_\ba_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\b__\b__\bs_\bt_\br_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be\n+ * _\b__\b__\bg_\be_\bt_\bi_\bt_\be_\bm_\b__\b__\b(_\b)_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\b__\bb_\ba_\bs_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\b__\bo_\bp_\be_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n+ * _\b__\b__\bh_\ba_\bs_\bh_\b__\b__\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\b__\bs_\bt_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\b__\b__\bi_\bn_\bi_\bt_\b__\b__\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\br_\be_\bq_\bu_\be_\bs_\bt_\bs_\b._\bR_\be_\bq_\bu_\be_\bs_\bt_\bS_\bi_\bt_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n *\b**\b**\b**\b**\b* A\bA *\b**\b**\b**\b**\b*\n- * _\bA_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * _\bA_\bp_\bp_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\ba_\bd_\bd_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b)\n- * _\ba_\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs_\b)\n+ * _\bA_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * _\bA_\bp_\bp_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\ba_\bd_\bd_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b)\n+ * _\ba_\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * APPEND_SLASH\n- * _\ba_\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bA_\bb_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bp_\bp_\be_\bn_\bd_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\ba_\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bA_\bb_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bp_\bp_\be_\bn_\bd_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * ABSOLUTE_URL_OVERRIDES * _\ba\ba_\bp\bp_\bp\bp_\bl\bl_\bi\bi_\bc\bc_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b _\bn\bn_\ba\ba_\bm\bm_\be\be_\bs\bs_\bp\bp_\ba\ba_\bc\bc_\be\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bA_\bp_\bp_\bR_\be_\bg_\bi_\bs_\bt_\br_\by_\bN_\bo_\bt_\bR_\be_\ba_\bd_\by\n- * _\ba_\bb_\bs_\bt_\br_\ba_\bc_\bt_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bp_\bp_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs_\b)\n- * _\ba_\bb_\bu_\bl_\bk_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bp_\bp_\bs_\b._\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\ba_\bb_\bs_\bt_\br_\ba_\bc_\bt_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bp_\bp_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs_\b)\n+ * _\ba_\bb_\bu_\bl_\bk_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bp_\bp_\bs_\b._\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n- * _\ba_\bb_\bu_\bl_\bk_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bp_\bp_\bs_\b._\bS_\bi_\bm_\bp_\bl_\be_\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\ba_\bb_\bu_\bl_\bk_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bp_\bp_\bs_\b._\bS_\bi_\bm_\bp_\bl_\be_\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n- * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bi_\bd_\bn_\ba_\b _\b(_\bD_\bo_\bm_\ba_\bi_\bn_\bN_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\ba_\bc_\bc_\be_\bp_\bt_\bs_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b) * _\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\ba_\bc_\bh_\be_\bc_\bk_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA_\br_\be_\ba_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\ba_\bc_\bl_\be_\ba_\br_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bc_\bl_\be_\ba_\br_\b__\be_\bx_\bp_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b)\n- * _\ba_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\br_\be_\ba_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bA_\bC_\bo_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\br_\be_\bf_\br_\be_\bs_\bh_\b__\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\br_\bg_\b__\bj_\bo_\bi_\bn_\be_\br_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\br_\bi_\bt_\by_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\b__\bf_\bl_\ba_\bg_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\b__\bt_\bi_\bm_\be_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bo_\bn_\b__\bb_\bo_\bt_\bt_\bo_\bm_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * arrayfield.contained_by\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bo_\bn_\b__\bt_\bo_\bp_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bs_\be_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b__\bc_\bo_\bu_\bn_\bt_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * arrayfield.contains\n- * _\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * arrayfield.index\n- * _\ba_\bc_\by_\bc_\bl_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bi_\bd_\bn_\ba_\b _\b(_\bD_\bo_\bm_\ba_\bi_\bn_\bN_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\ba_\bc_\bc_\be_\bp_\bt_\bs_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b) * _\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\ba_\bc_\bh_\be_\bc_\bk_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) * _\bA_\br_\be_\ba_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bc_\bl_\be_\ba_\br_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\ba_\bc_\bl_\be_\ba_\br_\b__\be_\bx_\bp_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\br_\be_\ba_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bA_\bC_\bo_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\br_\be_\bf_\br_\be_\bs_\bh_\b__\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\br_\bg_\b__\bj_\bo_\bi_\bn_\be_\br_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\br_\bi_\bt_\by_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\b__\bf_\bl_\ba_\bg_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\b__\bt_\bi_\bm_\be_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bo_\bn_\b__\bb_\bo_\bt_\bt_\bo_\bm_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * arrayfield.contained_by\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bo_\bn_\b__\bt_\bo_\bp_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b__\bs_\be_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b__\bc_\bo_\bu_\bn_\bt_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * arrayfield.contains\n+ * _\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * arrayfield.index\n+ * _\ba_\bc_\by_\bc_\bl_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * add * arrayfield.len\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\ba_\bd_\bd_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * arrayfield.overlap\n- o _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * arrayfield.slice\n- * _\ba_\bd_\bd_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\ba_\bd_\bd_\b__\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA_\br_\br_\ba_\by_\bS_\bu_\bb_\bq_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b)\n- * _\ba_\bd_\bd_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bd_\bi_\bv_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bd_\bo_\bu_\bb_\bl_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bf_\bi_\be_\bl_\bd_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bi_\bt_\be_\bm_\b__\be_\bl_\be_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bh_\bi_\bd_\bd_\be_\bn_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b) * _\ba_\bs_\b__\bi_\bn_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bn_\be_\bv_\be_\br_\b__\bc_\ba_\bc_\bh_\be_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\b__\bj_\bs_\bo_\bn_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\ba_\bs_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\ba_\bd_\bd_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * arrayfield.overlap\n+ o _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * arrayfield.slice\n+ * _\ba_\bd_\bd_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\ba_\bd_\bd_\b__\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bA_\br_\br_\ba_\by_\bS_\bu_\bb_\bq_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b)\n+ * _\ba_\bd_\bd_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bd_\bi_\bv_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bd_\bo_\bu_\bb_\bl_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bf_\bi_\be_\bl_\bd_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bi_\bt_\be_\bm_\b__\be_\bl_\be_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bh_\bi_\bd_\bd_\be_\bn_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b) * _\ba_\bs_\b__\bi_\bn_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bn_\be_\bv_\be_\br_\b__\bc_\ba_\bc_\bh_\be_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bs_\b__\bj_\bs_\bo_\bn_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\ba_\bs_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n * _\ba_\bd_\bd_\b__\bp_\bo_\bs_\bt_\b__\br_\be_\bn_\bd_\be_\br_\b__\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bp_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\br_\bo_\bo_\bt_\b__\be_\bl_\be_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\bd_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bs_\bq_\bl_\b(_\b)_\b _\b(_\bF_\bu_\bn_\bc_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bd_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bd_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bN_\bo_\bt_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bs_\b__\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bd_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bu_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bd_\bI_\bn_\bd_\be_\bx_\bC_\bo_\bn_\bc_\bu_\br_\br_\be_\bn_\bt_\bl_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bD_\bD_\bI_\bT_\bI_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bs_\b__\bv_\be_\bn_\bd_\bo_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bp_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\br_\bo_\bo_\bt_\b__\be_\bl_\be_\bm_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bd_\bd_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\b__\bs_\bq_\bl_\b(_\b)_\b _\b(_\bF_\bu_\bn_\bc_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bd_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bd_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bN_\bo_\bt_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bs_\b__\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bd_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bs_\b__\bu_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bd_\bI_\bn_\bd_\be_\bx_\bC_\bo_\bn_\bc_\bu_\br_\br_\be_\bn_\bt_\bl_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bD_\bD_\bI_\bT_\bI_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bs_\b__\bv_\be_\bn_\bd_\bo_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n * addslashes _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\ba_\bs_\b__\bv_\bi_\be_\bw_\b(_\b)_\b \n- * _\ba_\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bc_\bl_\ba_\bs_\bs\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bd_\be_\bl_\be_\bt_\be_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\ba_\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\bc_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b) * _\ba_\bs_\be_\bn_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bm_\bi_\bn_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bs_\be_\bn_\bd_\b__\br_\bo_\bb_\bu_\bs_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\ba_\bs_\be_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * ADMINS * _\ba_\bs_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bd_\bm_\bi_\bn_\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bs_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b(_\b)_\b \n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\be_\ba_\br_\bl_\bi_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b \n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\be_\bx_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\be_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b \n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\be_\bx_\bp_\bl_\ba_\bi_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bA_\bs_\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\ba_\bf_\bi_\br_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bA_\bs_\bG_\bM_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bf_\bl_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\ba_\bf_\bo_\br_\bc_\be_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA_\bS_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bg_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bA_\bs_\bK_\bM_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\ba_\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\ba_\bd_\be_\bl_\be_\bt_\be_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\ba_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b) * _\ba_\bs_\bc_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bm_\bi_\bn_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bs_\be_\bn_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\ba_\bs_\be_\bn_\bd_\b__\br_\bo_\bb_\bu_\bs_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * ADMINS * _\ba_\bs_\be_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\ba_\bs_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be\n+ * _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bd_\bm_\bi_\bn_\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\ba_\bs_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b(_\b)_\b \n+ * _\ba_\be_\ba_\br_\bl_\bi_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b \n+ * _\ba_\be_\bx_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\be_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b \n+ * _\ba_\be_\bx_\bp_\bl_\ba_\bi_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bA_\bs_\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bf_\bi_\br_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bA_\bs_\bG_\bM_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bf_\bl_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\ba_\bf_\bo_\br_\bc_\be_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bA_\bS_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bg_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bA_\bs_\bK_\bM_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * _\ba_\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\be_\b__\ba_\bt_\b__\bb_\br_\bo_\bw_\bs_\be_\br_\b__\bc_\bl_\bo_\bs_\be_\b(_\b)_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\ba_\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\ba_\bs_\bs_\be_\br_\bt_\bF_\bi_\be_\bl_\bd_\bO_\bu_\bt_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bF_\bo_\br_\bm_\bE_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bg_\be_\bt_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\bs_\be_\br_\bt_\bF_\bo_\br_\bm_\bS_\be_\bt_\bE_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bH_\bT_\bM_\bL_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\bs_\be_\br_\bt_\bH_\bT_\bM_\bL_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bh_\ba_\bs_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bI_\bn_\bH_\bT_\bM_\bL_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bi_\bn_\b__\bb_\bu_\bl_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bs_\bs_\be_\br_\bt_\bJ_\bS_\bO_\bN_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bJ_\bS_\bO_\bN_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bF_\bo_\br_\bm_\bE_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bg_\be_\bt_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bs_\bs_\be_\br_\bt_\bF_\bo_\br_\bm_\bS_\be_\bt_\bE_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bH_\bT_\bM_\bL_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bs_\bs_\be_\br_\bt_\bH_\bT_\bM_\bL_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bh_\ba_\bs_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bI_\bn_\bH_\bT_\bM_\bL_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bi_\bn_\b__\bb_\bu_\bl_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bs_\bs_\be_\br_\bt_\bJ_\bS_\bO_\bN_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bJ_\bS_\bO_\bN_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bM_\be_\bs_\bs_\ba_\bg_\be_\bs_\b(_\b)_\b _\b(_\bM_\be_\bs_\bs_\ba_\bg_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\ba_\bk_\be_\by_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\ba_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bN_\bo_\bt_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\ba_\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\ba_\bk_\be_\by_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\ba_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bN_\bo_\bt_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bl_\ba_\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bN_\bo_\bt_\bI_\bn_\bH_\bT_\bM_\bL_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\bi_\ba_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bN_\bu_\bm_\bQ_\bu_\be_\br_\bi_\be_\bs_\b(_\b)_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\bA_\bL_\bL_\bO_\bW_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b \n- * _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\ba_\bl_\bi_\ba_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bN_\bu_\bm_\bQ_\bu_\be_\br_\bi_\be_\bs_\b(_\b)_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\bA_\bL_\bL_\bO_\bW_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b \n+ * _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\ba_\bs_\bs_\be_\br_\bt_\bR_\ba_\bi_\bs_\be_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b__\bf_\bi_\br_\bs_\bt_\b__\bp_\ba_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bi_\bl_\be_\bs_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bo_\bl_\bd_\be_\br_\bs_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] * _\ba_\bs_\bs_\be_\br_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bN_\bo_\bt_\bU_\bs_\be_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b__\bf_\bi_\br_\bs_\bt_\b__\bp_\ba_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bi_\bl_\be_\bs_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bo_\bl_\bd_\be_\br_\bs_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] * _\ba_\bs_\bs_\be_\br_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bN_\bo_\bt_\bU_\bs_\be_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\ba_\bl_\bl_\bo_\bw_\b__\bm_\bi_\bg_\br_\ba_\bt_\be_\b(_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bU_\bs_\be_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bo_\bv_\be_\br_\bw_\br_\bi_\bt_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bo_\bv_\be_\br_\bw_\br_\bi_\bt_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\ba_\bl_\bl_\bo_\bw_\b__\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b(_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bU_\bR_\bL_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * _\ba_\bl_\bl_\bo_\bw_\b__\bu_\bn_\bi_\bc_\bo_\bd_\be_\b _\b(_\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bl_\bl_\bo_\bw_\bA_\bl_\bl_\bU_\bs_\be_\br_\bs_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bs_\bs_\be_\br_\bt_\bW_\ba_\br_\bn_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bl_\bl_\bo_\bw_\bA_\bl_\bl_\bU_\bs_\be_\br_\bs_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bs_\bs_\be_\br_\bt_\bX_\bM_\bL_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bX_\bM_\bL_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- * ALLOWED_HOSTS _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\ba_\bs_\bs_\bu_\bm_\be_\b__\bs_\bc_\bh_\be_\bm_\be_\b _\b(_\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bl_\bl_\bo_\bw_\bl_\bi_\bs_\bt_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bA_\bs_\bS_\bV_\bG_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bA_\bs_\bW_\bK_\bB_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bA_\bs_\bW_\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\ba_\bs_\by_\bn_\bc_\b__\bo_\bn_\bl_\by_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\ba_\bs_\by_\bn_\bc_\b__\bt_\bo_\b__\bs_\by_\bn_\bc_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bs_\bg_\bi_\br_\be_\bf_\b._\bs_\by_\bn_\bc_\b)\n- * _\ba_\bl_\bt_\be_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA_\bs_\by_\bn_\bc_\bC_\bl_\bi_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * _\ba_\bl_\bt_\be_\br_\b__\bi_\bn_\bd_\be_\bx_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bA_\bs_\by_\bn_\bc_\bR_\be_\bq_\bu_\be_\bs_\bt_\bF_\ba_\bc_\bt_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * _\ba_\bl_\bt_\be_\br_\b__\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bA_\bT_\ba_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bA_\bL_\bT_\bE_\bR_\bA_\bT_\bI_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bA_\bT_\ba_\bn_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bA_\bl_\bt_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\b__\bu_\bn_\bi_\bc_\bo_\bd_\be_\b _\b(_\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bl_\bl_\bo_\bw_\bA_\bl_\bl_\bU_\bs_\be_\br_\bs_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bs_\bs_\be_\br_\bt_\bW_\ba_\br_\bn_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bl_\bl_\bo_\bw_\bA_\bl_\bl_\bU_\bs_\be_\br_\bs_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bs_\bs_\be_\br_\bt_\bX_\bM_\bL_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bs_\bs_\be_\br_\bt_\bX_\bM_\bL_\bN_\bo_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n+ * ALLOWED_HOSTS _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\ba_\bs_\bs_\bu_\bm_\be_\b__\bs_\bc_\bh_\be_\bm_\be_\b _\b(_\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bl_\bl_\bo_\bw_\bl_\bi_\bs_\bt_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bA_\bs_\bS_\bV_\bG_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bA_\bs_\bW_\bK_\bB_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bA_\bs_\bW_\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\ba_\bs_\by_\bn_\bc_\b__\bo_\bn_\bl_\by_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ * _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\ba_\bs_\by_\bn_\bc_\b__\bt_\bo_\b__\bs_\by_\bn_\bc_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bs_\bg_\bi_\br_\be_\bf_\b._\bs_\by_\bn_\bc_\b)\n+ * _\ba_\bl_\bt_\be_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bA_\bs_\by_\bn_\bc_\bC_\bl_\bi_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * _\ba_\bl_\bt_\be_\br_\b__\bi_\bn_\bd_\be_\bx_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bA_\bs_\by_\bn_\bc_\bR_\be_\bq_\bu_\be_\bs_\bt_\bF_\ba_\bc_\bt_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * _\ba_\bl_\bt_\be_\br_\b__\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bA_\bT_\ba_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bA_\bL_\bT_\bE_\bR_\bA_\bT_\bI_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bA_\bT_\ba_\bn_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bA_\bl_\bt_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b__\bw_\bo_\br_\bk_\be_\bd_\b(_\b)_\b \n- * _\bA_\bl_\bt_\be_\br_\bI_\bn_\bd_\be_\bx_\bT_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bA_\bt_\bo_\bm_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bM_\ba_\bn_\ba_\bg_\be_\br_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\bo_\bm_\bi_\bc_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n+ * _\bA_\bl_\bt_\be_\br_\bI_\bn_\bd_\be_\bx_\bT_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bA_\bt_\bo_\bm_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bM_\ba_\bn_\ba_\bg_\be_\br_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\bo_\bm_\bi_\bc_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\bt_\ba_\bc_\bh_\b__\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\b(_\b)_\b \n- * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bT_\ba_\bb_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\b(_\bE_\bm_\ba_\bi_\bl_\bM_\bu_\bl_\bt_\bi_\bA_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\bt_\br_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bT_\ba_\bb_\bl_\be_\bC_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bt_\bt_\br_\bs_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bT_\ba_\bb_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\b(_\bE_\bm_\ba_\bi_\bl_\bM_\bu_\bl_\bt_\bi_\bA_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bt_\bt_\br_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bl_\bt_\be_\br_\bM_\bo_\bd_\be_\bl_\bT_\ba_\bb_\bl_\be_\bC_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bt_\bt_\br_\bs_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\ba_\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be\n- * _\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\be_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bl_\bt_\be_\br_\bO_\br_\bd_\be_\br_\bW_\bi_\bt_\bh_\bR_\be_\bs_\bp_\be_\bc_\bt_\bT_\bo_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\be_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bl_\bt_\be_\br_\bO_\br_\bd_\be_\br_\bW_\bi_\bt_\bh_\bR_\be_\bs_\bp_\be_\bc_\bt_\bT_\bo_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bA_\bl_\bt_\be_\br_\bU_\bn_\bi_\bq_\bu_\be_\bT_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\ba_\bu_\bp_\bd_\ba_\bt_\be_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bA_\bl_\bt_\be_\br_\bU_\bn_\bi_\bq_\bu_\be_\bT_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\ba_\bu_\bp_\bd_\ba_\bt_\be_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bA_\bL_\bW_\bA_\bY_\bS_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bu_\bp_\bd_\ba_\bt_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\ba_\bn_\bg_\bu_\bl_\ba_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\ba_\bn_\bg_\bu_\bl_\ba_\br_\b__\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bu_\bt_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bA_\bL_\bW_\bA_\bY_\bS_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bu_\bp_\bd_\ba_\bt_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\ba_\bn_\bg_\bu_\bl_\ba_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\ba_\bn_\bg_\bu_\bl_\ba_\br_\b__\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\ba_\bu_\bt_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b)\n- * apnumber * _\ba_\bu_\bt_\bh_\b__\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\ba_\bu_\bt_\bh_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bp_\bo_\bp_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * AUTH_PASSWORD_VALIDATORS\n- * _\ba_\bp_\bp_\b__\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\bi_\be_\bs_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * apnumber * _\ba_\bu_\bt_\bh_\b__\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\ba_\bu_\bt_\bh_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bp_\bo_\bp_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * AUTH_PASSWORD_VALIDATORS\n+ * _\ba_\bp_\bp_\b__\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\bi_\be_\bs_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\bs_\b) * AUTH_USER_MODEL\n- * _\ba_\bp_\bp_\b__\bi_\bn_\bd_\be_\bx_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\ba_\bp_\bp_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bp_\bp_\b__\bn_\ba_\bm_\be_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * AUTHENTICATION_BACKENDS\n+ * _\ba_\bp_\bp_\b__\bi_\bn_\bd_\be_\bx_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\ba_\bp_\bp_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\ba_\bp_\bp_\b__\bn_\ba_\bm_\be_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * AUTHENTICATION_BACKENDS\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n * _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b__\bf_\bo_\br_\bm_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n- * _\ba_\bu_\bt_\bo_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bu_\bt_\bo_\b__\bi_\bd_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw_\b__\ba_\bd_\bd_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\ba_\bu_\bt_\bo_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bu_\bt_\bo_\b__\bi_\bd_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw_\b__\ba_\bd_\bd_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * _\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bu_\bt_\bo_\bd_\bi_\bs_\bc_\bo_\bv_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\ba_\bu_\bt_\bo_\bd_\bi_\bs_\bc_\bo_\bv_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n * autoescape\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n * _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\ba_\bp_\bp_\bs_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * _\ba_\bv_\ba_\bl_\bu_\be_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bv_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bA_\bz_\bi_\bm_\bu_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bA_\bv_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bA_\bz_\bi_\bm_\bu_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n *\b**\b**\b**\b**\b* B\bB *\b**\b**\b**\b**\b*\n- * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bb_\bi_\bl_\ba_\bt_\be_\br_\ba_\bl_\b _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bB_\bi_\bn_\ba_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bc_\ba_\bc_\bh_\be_\bd_\b__\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bB_\bi_\bt_\bA_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bB_\bi_\bt_\bO_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bB_\bi_\bt_\bX_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bb_\bl_\ba_\bn_\bk_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bs_\bm_\bt_\bp_\b._\bE_\bm_\ba_\bi_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bb_\bi_\bl_\ba_\bt_\be_\br_\ba_\bl_\b _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bB_\bi_\bn_\ba_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bc_\ba_\bc_\bh_\be_\bd_\b__\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bi_\bt_\bA_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bB_\bi_\bt_\bO_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bi_\bt_\bX_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bb_\bl_\ba_\bn_\bk_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bs_\bm_\bt_\bp_\b._\bE_\bm_\ba_\bi_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * block\n * _\bB_\ba_\bd_\bR_\be_\bq_\bu_\be_\bs_\bt o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bb_\ba_\bn_\bd_\bs_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * blocktrans\n- * _\bb_\ba_\bs_\be_\b3_\b6_\b__\bt_\bo_\b__\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bb_\ba_\bs_\be_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * blocktranslate\n+ * _\bb_\ba_\bn_\bd_\bs_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * blocktrans\n+ * _\bb_\ba_\bs_\be_\b3_\b6_\b__\bt_\bo_\b__\bi_\bn_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bb_\ba_\bs_\be_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * blocktranslate\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bB_\ba_\bs_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bB_\bl_\bo_\bo_\bm_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bB_\bl_\bo_\bo_\bm_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- o _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bb_\bo_\bd_\by_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bb_\ba_\bs_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bB_\bo_\bo_\bl_\bA_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- * _\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bB_\bo_\bo_\bl_\be_\ba_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bB_\bo_\bo_\bl_\bO_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bb_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bb_\ba_\bs_\be_\b__\bu_\br_\bl_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bb_\bo_\bu_\bn_\bd_\ba_\br_\by_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bb_\ba_\bs_\be_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bB_\bo_\bu_\bn_\bd_\bi_\bn_\bg_\bC_\bi_\br_\bc_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bB_\ba_\bs_\be_\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bB_\br_\bi_\bn_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- * _\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) * _\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b)\n- * _\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bB_\bt_\br_\be_\be_\bG_\bi_\bn_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bs_\bc_\bh_\be_\bm_\ba_\b) * _\bB_\bt_\br_\be_\be_\bG_\bi_\bs_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bB_\bT_\br_\be_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bb_\bu_\bf_\bf_\be_\br_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bf_\bf_\be_\br_\b__\bw_\bi_\bt_\bh_\b__\bs_\bt_\by_\bl_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bB_\ba_\bs_\be_\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bb_\bu_\bi_\bl_\bd_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bi_\bl_\bd_\b__\bs_\bu_\bi_\bt_\be_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b) * built-in function\n- * _\bB_\ba_\bs_\be_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b._\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b(_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bu_\bt_\bi_\bl_\bs_\b._\bm_\ba_\bk_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bf_\br_\ba_\bg_\bm_\be_\bn_\bt_\b__\bk_\be_\by\n- * _\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\b(_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b._\bc_\ba_\bl_\bl_\b__\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b(_\b)\n- * _\bB_\ba_\bs_\be_\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bg_\be_\bt_\b__\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\b(_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\b__\bp_\ba_\bg_\be_\b(_\b)\n- * _\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) * _\bb_\bu_\bl_\bk_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bB_\ba_\bs_\be_\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bl_\bk_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bb_\by_\bt_\be_\bo_\br_\bd_\be_\br_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bB_\ba_\bs_\be_\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bB_\bl_\bo_\bo_\bm_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bB_\bl_\bo_\bo_\bm_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ o _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bb_\bo_\bd_\by_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bb_\ba_\bs_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bB_\bo_\bo_\bl_\bA_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ * _\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bo_\bo_\bl_\be_\ba_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bo_\bo_\bl_\bO_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bb_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bb_\ba_\bs_\be_\b__\bu_\br_\bl_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bb_\bo_\bu_\bn_\bd_\ba_\br_\by_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bb_\ba_\bs_\be_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bB_\bo_\bu_\bn_\bd_\bi_\bn_\bg_\bC_\bi_\br_\bc_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bB_\ba_\bs_\be_\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bB_\br_\bi_\bn_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ * _\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b)\n+ * _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b) * _\bB_\bt_\br_\be_\be_\bG_\bi_\bn_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bt_\br_\be_\be_\bG_\bi_\bs_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bs_\bc_\bh_\be_\bm_\ba_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bB_\bT_\br_\be_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bf_\bf_\be_\br_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bb_\bu_\bf_\bf_\be_\br_\b__\bw_\bi_\bt_\bh_\b__\bs_\bt_\by_\bl_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bi_\bl_\bd_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bB_\ba_\bs_\be_\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bb_\bu_\bi_\bl_\bd_\b__\bs_\bu_\bi_\bt_\be_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * built-in function\n+ * _\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b._\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b(_\b)\n+ * _\bB_\ba_\bs_\be_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bu_\bt_\bi_\bl_\bs_\b._\bm_\ba_\bk_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bf_\br_\ba_\bg_\bm_\be_\bn_\bt_\b__\bk_\be_\by\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) _\b(_\b)\n+ * _\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b._\bc_\ba_\bl_\bl_\b__\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b(_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bg_\be_\bt_\b__\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\b(_\b)\n+ * _\bB_\ba_\bs_\be_\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\b__\bp_\ba_\bg_\be_\b(_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * _\bb_\bu_\bl_\bk_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bB_\ba_\bs_\be_\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bb_\bu_\bl_\bk_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bb_\by_\bt_\be_\bo_\br_\bd_\be_\br_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bB_\ba_\bs_\be_\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- * _\bB_\ba_\bs_\be_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bB_\ba_\bs_\be_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n * bbcontains\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * bboverlaps\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bB_\bi_\bg_\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bB_\bi_\bg_\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n *\b**\b**\b**\b**\b* C\bC *\b**\b**\b**\b**\b*\n * cache * compilemessages\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * _\bc_\ba_\bc_\bh_\be_\b__\bc_\bo_\bn_\bt_\br_\bo_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * compilemessages command line option\n+ * _\bc_\ba_\bc_\bh_\be_\b__\bc_\bo_\bn_\bt_\br_\bo_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * compilemessages command line option\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n * _\bc_\ba_\bc_\bh_\be_\b__\bk_\be_\by_\b__\bp_\br_\be_\bf_\bi_\bx_\b o _\b-_\b-_\bi_\bg_\bn_\bo_\br_\be\n _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bc_\ba_\bc_\bh_\be_\bd_\b__\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be o _\b-_\b-_\bl_\bo_\bc_\ba_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bu_\bs_\be_\b-_\bf_\bu_\bz_\bz_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\b-_\bu_\bs_\be_\b-_\bf_\bu_\bz_\bz_\by\n * CACHE_MIDDLEWARE_ALIAS o _\b-_\bf\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\bi\n * CACHE_MIDDLEWARE_KEY_PREFIX o _\b-_\bl\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\bx\n- * CACHE_MIDDLEWARE_SECONDS * _\bc_\bo_\bm_\bp_\br_\be_\bs_\bs_\b(_\b)_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bC_\bo_\bn_\bc_\ba_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bc_\ba_\bc_\bh_\be_\bd_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bn_\bc_\br_\be_\bt_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * CACHE_MIDDLEWARE_SECONDS * _\bc_\bo_\bm_\bp_\br_\be_\bs_\bs_\b(_\b)_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bC_\bo_\bn_\bc_\ba_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bc_\ba_\bc_\bh_\be_\bd_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bn_\bc_\br_\be_\bt_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\bs_\b) * _\bc\bc_\bo\bo_\bn\bn_\bc\bc_\br\br_\be\be_\bt\bt_\be\be_\b _\bm\bm_\bo\bo_\bd\bd_\be\be_\bl\bl\n- * _\bc_\ba_\bc_\bh_\be_\bd_\b__\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\b _\b(_\bC_\bh_\be_\bc_\bk_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * CACHES o _\b(_\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * CACHES-BACKEND o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * CACHES-KEY_FUNCTION * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\bG_\be_\bt_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * CACHES-KEY_PREFIX _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bh_\bt_\bt_\bp_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * CACHES-LOCATION * _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\bd_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bl_\bo_\bg_\bi_\bn_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b _\b(_\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * CACHES-OPTIONS * CONN_HEALTH_CHECKS\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * CACHES-TIMEOUT * CONN_MAX_AGE\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * CACHES-VERSION * _\bc_\bo_\bn_\bn_\be_\bc_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bF_\bi_\bl_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b__\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\ba_\bl_\bl_\bp_\br_\bo_\bc_\b(_\b)_\b _\b(_\bC_\bu_\br_\bs_\bo_\br_\bW_\br_\ba_\bp_\bp_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\ba_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * contained\n- o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bc_\ba_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b__\be_\bx_\bt_\br_\ba_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * contains\n- * _\bc_\ba_\bn_\b__\bo_\br_\bd_\be_\br_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * capfirst * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bc_\ba_\bp_\bt_\bu_\br_\be_\bd_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\ba_\bp_\bt_\bu_\br_\be_\bO_\bn_\bC_\bo_\bm_\bm_\bi_\bt_\bC_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bs_\b(_\b)_\b _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\bo_\bv_\be_\br_\b__\bc_\bl_\ba_\bu_\bs_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC_\bA_\bS_\bC_\bA_\bD_\bE_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * contains_properly\n- * _\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\bp_\br_\bo_\bp_\be_\br_\bl_\by_\b(_\b)_\b _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\ba_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC_\be_\bi_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bd_\bi_\bs_\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\b__\bh_\be_\ba_\bd_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * center * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bp_\ba_\br_\ba_\bm_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b \n- * _\bC_\be_\bn_\bt_\br_\bo_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\be_\bn_\bt_\br_\bo_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bl_\bi_\bs_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b__\be_\bx_\bt_\br_\ba_\b _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bb_\ba_\bs_\be_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\bd_\b__\bd_\ba_\bt_\ba_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bc_\bh_\ba_\bn_\bg_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\bf_\br_\be_\bq_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bd_\ba_\bt_\ba_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * changepassword * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bn_\ba_\bm_\be_\b \n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * changepassword command line option _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bC_\bo_\bn_\bt_\be_\bx_\bt_\bP_\bo_\bp_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn\n- * _\bc_\bh_\ba_\br_\bs_\be_\bt_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bn_\bv_\be_\br_\bt_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bn_\bv_\be_\bx_\b__\bh_\bu_\bl_\bl_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * check o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bc_\bo_\bo_\bk_\bi_\be_\bs_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * check command line option * _\bC_\bO_\bO_\bK_\bI_\bE_\bS_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be * _\bc_\bo_\bo_\bk_\bi_\be_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bd_\be_\bp_\bl_\bo_\by * _\bc_\bo_\bo_\br_\bd_\b__\bd_\bi_\bm_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bf_\ba_\bi_\bl_\b-_\bl_\be_\bv_\be_\bl * _\bc_\bo_\bo_\br_\bd_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bl_\bi_\bs_\bt_\b-_\bt_\ba_\bg_\bs o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bt_\ba_\bg * _\bc_\bo_\bo_\br_\bd_\bs_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b-_\bt * _\bC_\bo_\bo_\br_\bd_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n- * _\bc_\bh_\be_\bc_\bk_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bp_\by_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bh_\be_\bc_\bk_\b__\bf_\bo_\br_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bC_\bo_\br_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * _\bC_\bo_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bc_\bh_\be_\bc_\bk_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bC_\bo_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) * _\bC_\bo_\bu_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bu_\bn_\bt_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bc_\bh_\be_\bc_\bk_\b__\bt_\be_\bs_\bt_\b _\b(_\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b__\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bc_\ba_\bc_\bh_\be_\bd_\b__\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\b _\b(_\bC_\bh_\be_\bc_\bk_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * CACHES o _\b(_\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * CACHES-BACKEND o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * CACHES-KEY_FUNCTION _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ * CACHES-KEY_PREFIX * _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\bG_\be_\bt_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bh_\bt_\bt_\bp_\b)\n+ * CACHES-LOCATION * _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\bd_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * CACHES-OPTIONS * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bl_\bo_\bg_\bi_\bn_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b _\b(_\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * CONN_HEALTH_CHECKS\n+ * CACHES-TIMEOUT o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * CONN_MAX_AGE\n+ * CACHES-VERSION o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bc_\bo_\bn_\bn_\be_\bc_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bC_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bF_\bi_\bl_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b) * _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b__\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bc_\ba_\bl_\bl_\bp_\br_\bo_\bc_\b(_\b)_\b _\b(_\bC_\bu_\br_\bs_\bo_\br_\bW_\br_\ba_\bp_\bp_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bc_\ba_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * contained\n+ * _\bc_\ba_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b__\be_\bx_\bt_\br_\ba_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bc_\ba_\bn_\b__\bo_\br_\bd_\be_\br_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * contains\n+ * capfirst o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\ba_\bp_\bt_\bu_\br_\be_\bd_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\ba_\bp_\bt_\bu_\br_\be_\bO_\bn_\bC_\bo_\bm_\bm_\bi_\bt_\bC_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bs_\b(_\b)_\b _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bC_\bA_\bS_\bC_\bA_\bD_\bE_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\bo_\bv_\be_\br_\b__\bc_\bl_\ba_\bu_\bs_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * contains_properly\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bC_\ba_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\bp_\br_\bo_\bp_\be_\br_\bl_\by_\b(_\b)_\b _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bC_\be_\bi_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bd_\bi_\bs_\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\b__\bh_\be_\ba_\bd_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * center _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bp_\ba_\br_\ba_\bm_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bC_\be_\bn_\bt_\br_\bo_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b \n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ * _\bc_\be_\bn_\bt_\br_\bo_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn o _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bl_\bi_\bs_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\bo_\bn_\bt_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b__\be_\bx_\bt_\br_\ba_\b _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bb_\ba_\bs_\be_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\bd_\b__\bd_\ba_\bt_\ba_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt * _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\bf_\br_\be_\bq_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b)\n+ * _\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * changepassword * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bd_\ba_\bt_\ba_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bn_\ba_\bm_\be_\b \n+ * changepassword command line option _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bc_\bh_\ba_\br_\bs_\be_\bt_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bC_\bo_\bn_\bt_\be_\bx_\bt_\bP_\bo_\bp_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn\n+ o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\bo_\bn_\bv_\be_\br_\bt_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * check * _\bc_\bo_\bn_\bv_\be_\bx_\b__\bh_\bu_\bl_\bl_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * check command line option * _\bc_\bo_\bo_\bk_\bi_\be_\bs_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be * _\bC_\bO_\bO_\bK_\bI_\bE_\bS_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bd_\be_\bp_\bl_\bo_\by * _\bc_\bo_\bo_\bk_\bi_\be_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bf_\ba_\bi_\bl_\b-_\bl_\be_\bv_\be_\bl * _\bc_\bo_\bo_\br_\bd_\b__\bd_\bi_\bm_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bl_\bi_\bs_\bt_\b-_\bt_\ba_\bg_\bs * _\bc_\bo_\bo_\br_\bd_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bt_\ba_\bg o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\bt * _\bc_\bo_\bo_\br_\bd_\bs_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bh_\be_\bc_\bk_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\bo_\bo_\br_\bd_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n+ * _\bc_\bh_\be_\bc_\bk_\b__\bf_\bo_\br_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bc_\bo_\bp_\by_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * _\bC_\bo_\br_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ * _\bc_\bh_\be_\bc_\bk_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b * _\bC_\bo_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\bo_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\bo_\bu_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bc_\bo_\bu_\bn_\bt_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) * _\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bc_\bh_\be_\bc_\bk_\b__\bt_\be_\bs_\bt_\b _\b(_\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b__\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\bo_\bu_\bn_\bt_\br_\by_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * coupling\n- * _\bC_\bh_\be_\bc_\bk_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bl_\bo_\bo_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bC_\bo_\bv_\ba_\br_\bP_\bo_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bC_\bh_\be_\bc_\bk_\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ * _\bC_\bh_\be_\bc_\bk_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bl_\bo_\bo_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bC_\bo_\bv_\ba_\br_\bP_\bo_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bC_\bh_\be_\bc_\bk_\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) * coveredby\n- * _\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bc_\bh_\bo_\bi_\bc_\be_\bs_\b _\b(_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * covers\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bS_\be_\bl_\be_\bc_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bv_\be_\br_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bh_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bc_\bh_\bu_\bn_\bk_\b__\bs_\bi_\bz_\be_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bh_\bu_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b__\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be\n- * _\bC_\bI_\bT_\be_\bx_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bp_\ba_\br_\bs_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bi_\bt_\by_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bl_\ba_\bs_\bs_\be_\bs_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bl_\ba_\bs_\bs_\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\br_\be_\ba_\bt_\be_\b__\bt_\be_\bs_\bt_\b__\bd_\bb_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b._\bc_\br_\be_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bc_\bl_\be_\ba_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bn_\bk_\bn_\bo_\bw_\bn_\b__\bu_\bs_\be_\br_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * createcachetable\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * _\bc_\bl_\be_\ba_\bn_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * createcachetable command line option\n- * _\bc_\bl_\be_\ba_\bn_\b__\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) o _\b-_\b-_\bd_\br_\by_\b-_\br_\bu_\bn\n- * _\bc_\bl_\be_\ba_\bn_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd * _\bC_\br_\be_\ba_\bt_\be_\bC_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bc_\bl_\be_\ba_\bn_\be_\bd_\b__\bd_\ba_\bt_\ba_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\br_\be_\ba_\bt_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bc_\bl_\be_\ba_\bn_\bs_\be_\bd_\b__\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\br_\be_\ba_\bt_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bc_\bl_\be_\ba_\br_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * createsuperuser\n- o _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * createsuperuser command line option\n- * _\bc_\bl_\be_\ba_\br_\b__\bc_\ba_\bc_\bh_\be_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\be_\bm_\ba_\bi_\bl\n- * _\bc_\bl_\be_\ba_\br_\b__\be_\bx_\bp_\bi_\br_\be_\bd_\b(_\b)_\b o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n- * _\bC_\bl_\be_\ba_\br_\ba_\bb_\bl_\be_\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b-_\b-_\bu_\bs_\be_\br_\bn_\ba_\bm_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * clearsessions * _\bC_\br_\bi_\bt_\bi_\bc_\ba_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * crosses\n- * _\bC_\bl_\bi_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bc_\bl_\bi_\be_\bn_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\br_\bo_\bs_\bs_\be_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bl_\bi_\be_\bn_\bt_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bC_\by_\bc_\bl_\be_\bE_\br_\br_\bo_\br o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\br_\by_\bp_\bt_\bo_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bc_\bl_\bo_\bn_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * CSRF_COOKIE_AGE\n- o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bc_\bl_\bo_\bs_\be_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * CSRF_COOKIE_DOMAIN\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * CSRF_COOKIE_HTTPONLY\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bc_\bl_\bo_\bs_\be_\b__\br_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * CSRF_COOKIE_NAME\n- * _\bc_\bl_\bo_\bs_\be_\bd_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * CSRF_COOKIE_PATH\n- o _\b(_\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bC_\bl_\bo_\bs_\be_\bs_\bt_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * CSRF_COOKIE_SAMESITE\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bC_\bo_\ba_\bl_\be_\bs_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * CSRF_COOKIE_SECURE\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bc_\bo_\bd_\be_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bs_\br_\bf_\b__\be_\bx_\be_\bm_\bp_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * CSRF_FAILURE_VIEW\n- o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bc_\bo_\bd_\be_\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * CSRF_HEADER_NAME\n- * _\bc_\bo_\be_\br_\bc_\be_\b _\b(_\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bC_\bo_\bl_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bc_\bs_\br_\bf_\b__\bp_\br_\bo_\bt_\be_\bc_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n- * _\bC_\bo_\bl_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * csrf_token\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * collectstatic * CSRF_TRUSTED_ORIGINS\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * collectstatic command line option * CSRF_USE_SESSIONS\n- o _\b-_\b-_\bc_\bl_\be_\ba_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b-_\b-_\bd_\br_\by_\b-_\br_\bu_\bn * _\bC_\bs_\br_\bf_\bV_\bi_\be_\bw_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bs_\br_\bf_\b)\n- o _\b-_\b-_\bi_\bg_\bn_\bo_\br_\be * _\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\be_\bs_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b-_\b-_\bl_\bi_\bn_\bk * _\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bn_\bo_\b-_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b-_\bi_\bg_\bn_\bo_\br_\be * _\bc_\bt_\b__\bf_\bk_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt * _\bC_\bu_\bm_\be_\bD_\bi_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b-_\b-_\bn_\bo_\b-_\bp_\bo_\bs_\bt_\b-_\bp_\br_\bo_\bc_\be_\bs_\bs * _\bc_\bu_\br_\br_\be_\bn_\bt_\b__\ba_\bp_\bp_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt * _\bC_\bU_\bR_\bR_\bE_\bN_\bT_\b__\bR_\bO_\bW_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\bc * _\bC_\bu_\br_\br_\be_\bn_\bt_\bS_\bi_\bt_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b-_\bi _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n- o _\b-_\bl * cut\n- o _\b-_\bn o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bc_\bo_\bl_\bo_\br_\b__\bi_\bn_\bt_\be_\br_\bp_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * cycle\n- * _\bC_\bo_\bm_\bb_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * command line option * _\bc_\by_\bc_\bl_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b-_\b-_\bf_\bo_\br_\bc_\be_\b-_\bc_\bo_\bl_\bo_\br\n- o _\b-_\b-_\bn_\bo_\b-_\bc_\bo_\bl_\bo_\br\n+ * _\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bc_\bh_\bo_\bi_\bc_\be_\bs_\b _\b(_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * covers\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bS_\be_\bl_\be_\bc_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\bo_\bv_\be_\br_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bC_\bh_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bc_\bh_\bu_\bn_\bk_\b__\bs_\bi_\bz_\be_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bc_\bh_\bu_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bC_\bI_\bT_\be_\bx_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bc_\br_\be_\ba_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b__\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bi_\bt_\by_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bp_\ba_\br_\bs_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bl_\ba_\bs_\bs_\be_\bs_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bl_\ba_\bs_\bs_\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bt_\be_\bs_\bt_\b__\bd_\bb_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bc_\bl_\be_\ba_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b._\bc_\br_\be_\ba_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bn_\bk_\bn_\bo_\bw_\bn_\b__\bu_\bs_\be_\br_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * createcachetable\n+ * _\bc_\bl_\be_\ba_\bn_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bc_\bl_\be_\ba_\bn_\b__\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * createcachetable command line option\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ * _\bc_\bl_\be_\ba_\bn_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd o _\b-_\b-_\bd_\br_\by_\b-_\br_\bu_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\br_\be_\ba_\bt_\be_\bC_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bc_\bl_\be_\ba_\bn_\be_\bd_\b__\bd_\ba_\bt_\ba_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bc_\bl_\be_\ba_\bn_\bs_\be_\bd_\b__\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\be_\b * _\bC_\br_\be_\ba_\bt_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bc_\bl_\be_\ba_\br_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\bC_\br_\be_\ba_\bt_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * createsuperuser\n+ o _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bc_\bl_\be_\ba_\br_\b__\bc_\ba_\bc_\bh_\be_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br * createsuperuser command line option\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ * _\bc_\bl_\be_\ba_\br_\b__\be_\bx_\bp_\bi_\br_\be_\bd_\b(_\b)_\b o _\b-_\b-_\be_\bm_\ba_\bi_\bl\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n+ * _\bC_\bl_\be_\ba_\br_\ba_\bb_\bl_\be_\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b-_\b-_\bu_\bs_\be_\br_\bn_\ba_\bm_\be\n+ * clearsessions * _\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bC_\br_\bi_\bt_\bi_\bc_\ba_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b)\n+ * _\bC_\bl_\bi_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b) * crosses\n+ * _\bc_\bl_\bi_\be_\bn_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bc_\br_\bo_\bs_\bs_\be_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bl_\bi_\be_\bn_\bt_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bC_\by_\bc_\bl_\be_\bE_\br_\br_\bo_\br o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bc_\bl_\bo_\bn_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bC_\br_\by_\bp_\bt_\bo_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * CSRF_COOKIE_AGE\n+ * _\bc_\bl_\bo_\bs_\be_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * CSRF_COOKIE_DOMAIN\n+ o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * CSRF_COOKIE_HTTPONLY\n+ * _\bc_\bl_\bo_\bs_\be_\b__\br_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bc_\bl_\bo_\bs_\be_\bd_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * CSRF_COOKIE_NAME\n+ o _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * CSRF_COOKIE_PATH\n+ * _\bC_\bl_\bo_\bs_\be_\bs_\bt_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * CSRF_COOKIE_SAMESITE\n+ * _\bC_\bo_\ba_\bl_\be_\bs_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * CSRF_COOKIE_SECURE\n+ * _\bc_\bo_\bd_\be_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br * _\bc_\bs_\br_\bf_\b__\be_\bx_\be_\bm_\bp_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n+ o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * CSRF_FAILURE_VIEW\n+ * _\bc_\bo_\bd_\be_\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bc_\bo_\be_\br_\bc_\be_\b _\b(_\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * CSRF_HEADER_NAME\n+ * _\bC_\bo_\bl_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bc_\bs_\br_\bf_\b__\bp_\br_\bo_\bt_\be_\bc_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bC_\bo_\bl_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * csrf_token\n+ * collectstatic o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * CSRF_TRUSTED_ORIGINS\n+ * collectstatic command line option o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b-_\b-_\bc_\bl_\be_\ba_\br * CSRF_USE_SESSIONS\n+ o _\b-_\b-_\bd_\br_\by_\b-_\br_\bu_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b-_\b-_\bi_\bg_\bn_\bo_\br_\be * _\bC_\bs_\br_\bf_\bV_\bi_\be_\bw_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b-_\b-_\bl_\bi_\bn_\bk _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bs_\br_\bf_\b)\n+ o _\b-_\b-_\bn_\bo_\b-_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b-_\bi_\bg_\bn_\bo_\br_\be * _\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\be_\bs_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt * _\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bn_\bo_\b-_\bp_\bo_\bs_\bt_\b-_\bp_\br_\bo_\bc_\be_\bs_\bs * _\bc_\bt_\b__\bf_\bk_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt * _\bC_\bu_\bm_\be_\bD_\bi_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b-_\bc * _\bc_\bu_\br_\br_\be_\bn_\bt_\b__\ba_\bp_\bp_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\bi * _\bC_\bU_\bR_\bR_\bE_\bN_\bT_\b__\bR_\bO_\bW_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\bl * _\bC_\bu_\br_\br_\be_\bn_\bt_\bS_\bi_\bt_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b-_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n+ * _\bc_\bo_\bl_\bo_\br_\b__\bi_\bn_\bt_\be_\br_\bp_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * cut\n+ * _\bC_\bo_\bm_\bb_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * command line option * cycle\n+ o _\b-_\b-_\bf_\bo_\br_\bc_\be_\b-_\bc_\bo_\bl_\bo_\br o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\b-_\b-_\bn_\bo_\b-_\bc_\bo_\bl_\bo_\br * _\bc_\by_\bc_\bl_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b-_\b-_\bp_\by_\bt_\bh_\bo_\bn_\bp_\ba_\bt_\bh\n o _\b-_\b-_\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs\n o _\b-_\b-_\bs_\bk_\bi_\bp_\b-_\bc_\bh_\be_\bc_\bk_\bs\n o _\b-_\b-_\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk\n o _\b-_\b-_\bv_\be_\br_\bb_\bo_\bs_\bi_\bt_\by\n o _\b-_\bv\n * _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bE_\br_\br_\bo_\br\n * comment\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n- * _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b)\n- * _\bC_\bo_\bm_\bm_\bo_\bn_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bC_\bo_\bm_\bm_\bo_\bn_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n *\b**\b**\b**\b**\b* D\bD *\b**\b**\b**\b**\b*\n- * _\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * django.contrib.contenttypes.fields\n- * _\bd_\ba_\bt_\ba_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.contrib.contenttypes.forms\n+ * _\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * django.contrib.contenttypes.fields\n+ * _\bd_\ba_\bt_\ba_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.contrib.contenttypes.forms\n * DATA_UPLOAD_MAX_MEMORY_SIZE o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.contenttypes.prefetch\n * DATA_UPLOAD_MAX_NUMBER_FIELDS o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.flatpages\n * DATA_UPLOAD_MAX_NUMBER_FILES o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.gis\n * DATABASE-ATOMIC_REQUESTS o _\bm_\bo_\bd_\bu_\bl_\be\n@@ -769,17 +770,17 @@\n * DATABASE-TIME_ZONE o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.gis.forms\n * DATABASE_ROUTERS o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.gis.forms.widgets\n * _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bE_\br_\br_\bo_\br o _\bm_\bo_\bd_\bu_\bl_\be\n * DATABASES * django.contrib.gis.gdal\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.contrib.gis.geoip2\n- o _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.contrib.gis.geos\n+ * _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.contrib.gis.geoip2\n+ o _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.contrib.gis.geos\n * _\bD_\ba_\bt_\ba_\bE_\br_\br_\bo_\br o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE * django.contrib.gis.measure\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE_EXTSIZE * django.contrib.gis.serializers.geojson\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE_MAXSIZE * django.contrib.gis.utils\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n@@ -789,313 +790,318 @@\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE_TMP_EXTSIZE * django.contrib.humanize\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE_TMP_MAXSIZE * django.contrib.messages\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n * DATAFILE_TMP_SIZE * django.contrib.messages.middleware\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * django.contrib.messages.test\n- * _\bd_\ba_\bt_\ba_\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * django.contrib.messages.test\n+ * _\bd_\ba_\bt_\ba_\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n * date * django.contrib.postgres\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * django.contrib.postgres.aggregates\n- * _\bd_\ba_\bt_\be_\b__\ba_\bt_\bt_\br_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.contrib.postgres.constraints\n+ * _\bd_\ba_\bt_\be_\b__\ba_\bt_\bt_\br_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.contrib.postgres.constraints\n * DATE_FORMAT o _\bm_\bo_\bd_\bu_\bl_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.postgres.expressions\n- * _\bd_\ba_\bt_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\bt_\be_\b__\bh_\bi_\be_\br_\ba_\br_\bc_\bh_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bB_\ba_\bs_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bd_\ba_\bt_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\bt_\be_\b__\bh_\bi_\be_\br_\ba_\br_\bc_\bh_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bB_\ba_\bs_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * DATE_INPUT_FORMATS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.postgres.indexes\n- * _\bd_\ba_\bt_\be_\b__\bj_\bo_\bi_\bn_\be_\bd_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.contrib.postgres.validators\n- * _\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * django.contrib.redirects\n- * _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * django.contrib.sessions\n- * _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.contrib.sessions.middleware\n+ * _\bd_\ba_\bt_\be_\b__\bj_\bo_\bi_\bn_\be_\bd_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.contrib.postgres.validators\n+ * _\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * django.contrib.redirects\n+ * _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * django.contrib.sessions\n+ * _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * django.contrib.sessions.middleware\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\ba_\bt_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.contrib.sitemaps\n+ * _\bD_\ba_\bt_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * django.contrib.sitemaps\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * django.contrib.sites\n- * _\bd_\ba_\bt_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * django.contrib.sites.middleware\n- * DATETIME_FORMAT o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.staticfiles\n- * DATETIME_INPUT_FORMATS o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.contrib.syndication\n- * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\bs_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.core.cache.utils.make_template_fragment_key()\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * django.core.checks\n- * _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * django.core.exceptions\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * django.contrib.sites\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\bt_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.contrib.sites.middleware\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * DATETIME_FORMAT * django.contrib.staticfiles\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n+ * DATETIME_INPUT_FORMATS * django.contrib.syndication\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\bs_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * django.core.cache.utils.make_template_fragment_key()\n+ * _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * django.core.checks\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * django.core.exceptions\n+ * _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * django.core.files\n * day o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * django.core.files\n- * _\bd_\ba_\by_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\ba_\by_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.files.storage\n- * _\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * django.core.files.uploadedfile\n- * _\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bb_\b _\b(_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.files.uploadhandler\n- * _\bd_\bb_\b__\bc_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.mail\n- * _\bd_\bb_\b__\bc_\bo_\bl_\bu_\bm_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bb_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b._\bo_\bu_\bt_\bb_\bo_\bx_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b)\n- * _\bd_\bb_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.management\n- o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bb_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.management.call_command()\n- * _\bd_\bb_\b__\bf_\bo_\br_\b__\br_\be_\ba_\bd_\b(_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n- * _\bd_\bb_\b__\bf_\bo_\br_\b__\bw_\br_\bi_\bt_\be_\b(_\b) * django.core.paginator\n- * _\bd_\bb_\b__\bi_\bn_\bd_\be_\bx_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bb_\b__\bp_\be_\br_\bs_\bi_\bs_\bt_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.serializers.get_serializer()\n- * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bj_\bs_\bo_\bn_\b._\bD_\bj_\ba_\bn_\bg_\bo_\bJ_\bS_\bO_\bN_\bE_\bn_\bc_\bo_\bd_\be_\br_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn\n- * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.core.signals\n- o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bg_\bo_\bt_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bd_\bb_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bf_\bi_\bn_\bi_\bs_\bh_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * dbshell * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bs_\bt_\ba_\br_\bt_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * django.core.signing\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * django.core.files.storage\n+ * _\bd_\ba_\by_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\ba_\by_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.core.files.uploadedfile\n+ * _\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * django.core.files.uploadhandler\n+ * _\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) * django.core.mail\n+ * _\bd_\bb_\b _\b(_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bb_\b__\bc_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b._\bo_\bu_\bt_\bb_\bo_\bx_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b)\n+ o _\b(_\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.core.management\n+ * _\bd_\bb_\b__\bc_\bo_\bl_\bu_\bm_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bb_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.core.management.call_command()\n+ * _\bd_\bb_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n+ o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.core.paginator\n+ * _\bd_\bb_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bb_\b__\bf_\bo_\br_\b__\br_\be_\ba_\bd_\b(_\b) * django.core.serializers.get_serializer()\n+ * _\bd_\bb_\b__\bf_\bo_\br_\b__\bw_\br_\bi_\bt_\be_\b(_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n+ * _\bd_\bb_\b__\bi_\bn_\bd_\be_\bx_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bj_\bs_\bo_\bn_\b._\bD_\bj_\ba_\bn_\bg_\bo_\bJ_\bS_\bO_\bN_\bE_\bn_\bc_\bo_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-\n+ * _\bd_\bb_\b__\bp_\be_\br_\bs_\bi_\bs_\bt_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bi_\bn_\b)\n+ * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.core.signals\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bg_\bo_\bt_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-\n+ * _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bi_\bn_\b)\n+ o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bf_\bi_\bn_\bi_\bs_\bh_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bs_\bt_\ba_\br_\bt_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bb_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.core.signing\n+ * dbshell o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * django.core.validators\n * dbshell command line option o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b-_\b- * django.core.validators\n+ o _\b-_\b- * django.db\n o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * django.db\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b__\ba_\bl_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.db.backends\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * DEBUG * django.db.backends.base.schema\n+ * _\bd_\be_\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.db.backends\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * django.db.backends.base.schema\n+ * _\bd_\be_\ba_\bc_\bt_\bi_\bv_\ba_\bt_\be_\b__\ba_\bl_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be\n+ * DEBUG _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.db.migrations\n+ * debug o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * django.db.migrations.operations\n+ * _\bD_\be_\bb_\bu_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bb_\bu_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bs_\bw_\ba_\bp_\bp_\ba_\bb_\bl_\be_\b__\bd_\be_\bp_\be_\bn_\bd_\be_\bn_\bc_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * DEBUG_PROPAGATE_EXCEPTIONS * django.db.models\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * debug * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bD_\be_\bb_\bu_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) * django.db.migrations\n- * _\bd_\be_\bb_\bu_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b) * django.db.migrations.operations\n- * DEBUG_PROPAGATE_EXCEPTIONS o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bs_\bw_\ba_\bp_\bp_\ba_\bb_\bl_\be_\b__\bd_\be_\bp_\be_\bn_\bd_\be_\bn_\bc_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bc_\bi_\bm_\ba_\bl_\b__\bp_\bl_\ba_\bc_\be_\bs_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * DECIMAL_SEPARATOR * django.db.models\n+ * _\bd_\be_\bc_\bi_\bm_\ba_\bl_\b__\bp_\bl_\ba_\bc_\be_\bs_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] * django.db.models.constraints\n+ * DECIMAL_SEPARATOR o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.db.models.fields\n+ * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * django.db.models.fields.json\n+ * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * django.db.models.fields.related\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * django.db.models.functions\n+ * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * django.db.models.indexes\n+ * _\bd_\be_\bc_\bo_\bd_\be_\br_\b _\b(_\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bc_\bo_\bm_\bp_\br_\be_\bs_\bs_\b(_\b)_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.db.models.lookups\n+ o _\b(_\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bc_\bo_\bn_\bs_\bt_\br_\bu_\bc_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.db.models.options\n+ * _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b__\bf_\br_\bo_\bm_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) * django.db.models.signals\n+ * _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b__\bf_\br_\bo_\bm_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b__\bw_\bi_\bt_\bh_\b__\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bc_\bl_\ba_\bs_\bs_\b__\bp_\br_\be_\bp_\ba_\br_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bc_\br_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bm_\b2_\bm_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * default * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bi_\bn_\bi_\bt_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bm_\bi_\bg_\br_\ba_\bt_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bs_\ba_\bv_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * DEFAULT_AUTO_FIELD * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bm_\bi_\bg_\br_\ba_\bt_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\ba_\bu_\bt_\bo_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bb_\bo_\bu_\bn_\bd_\bs_\b _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.db.transaction\n+ o _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * DEFAULT_CHARSET * django.dispatch\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * django.db.models.constraints\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.db.models.fields\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * django.db.models.fields.json\n- * _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * django.db.models.fields.related\n- * _\bd_\be_\bc_\bo_\bd_\be_\br_\b _\b(_\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bc_\bo_\bm_\bp_\br_\be_\bs_\bs_\b(_\b)_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.db.models.functions\n- o _\b(_\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bc_\bo_\bn_\bs_\bt_\br_\bu_\bc_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.db.models.indexes\n- * _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b__\bf_\br_\bo_\bm_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) * django.db.models.lookups\n- * _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b__\bf_\br_\bo_\bm_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b__\bw_\bi_\bt_\bh_\b__\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) * django.db.models.options\n- * _\bd_\be_\bc_\br_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * default * django.db.models.signals\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bc_\bl_\ba_\bs_\bs_\b__\bp_\br_\be_\bp_\ba_\br_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bm_\b2_\bm_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * DEFAULT_AUTO_FIELD * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bi_\bn_\bi_\bt_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\ba_\bu_\bt_\bo_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bm_\bi_\bg_\br_\ba_\bt_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bb_\bo_\bu_\bn_\bd_\bs_\b _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\bo_\bs_\bt_\b__\bs_\ba_\bv_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- o _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * DEFAULT_CHARSET * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bm_\bi_\bg_\br_\ba_\bt_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * DEFAULT_EXCEPTION_REPORTER * django.db.transaction\n+ * DEFAULT_EXCEPTION_REPORTER * django.forms\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * DEFAULT_EXCEPTION_REPORTER_FILTER * django.dispatch\n+ * DEFAULT_EXCEPTION_REPORTER_FILTER * django.forms.fields\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * DEFAULT_FROM_EMAIL * django.forms\n+ * DEFAULT_FROM_EMAIL * django.forms.formsets\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * default_if_none * django.forms.fields\n+ * default_if_none * django.forms.models\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bm_\bo_\bd_\bu_\bl_\be\n- * DEFAULT_INDEX_TABLESPACE * django.forms.formsets\n+ * DEFAULT_INDEX_TABLESPACE * django.forms.renderers\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bl_\ba_\bt_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.forms.models\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bl_\bo_\bn_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.forms.renderers\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.forms.widgets\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bs_\bi_\bt_\be_\b _\b(_\ba_\bp_\bp_\bs_\b._\bS_\bi_\bm_\bp_\bl_\be_\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg * django.http\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b._\bH_\bt_\bt_\bp_\b4_\b0_\b4_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * django.middleware\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bl_\ba_\bt_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.forms.widgets\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bl_\bo_\bn_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.http\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b._\bH_\bt_\bt_\bp_\b4_\b0_\b4_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.middleware\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bs_\bi_\bt_\be_\b _\b(_\ba_\bp_\bp_\bs_\b._\bS_\bi_\bm_\bp_\bl_\be_\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.middleware.cache\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * django.middleware.clickjacking\n * DEFAULT_TABLESPACE o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.middleware.cache\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bz_\bo_\bo_\bm_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bb_\ba_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.middleware.clickjacking\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.middleware.common\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bz_\bo_\bo_\bm_\b _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bb_\ba_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.middleware.csrf\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\ba_\bg_\be_\b__\bn_\bo_\bt_\b__\bf_\bo_\bu_\bn_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.middleware.common\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\ba_\bg_\be_\b__\bn_\bo_\bt_\b__\bf_\bo_\bu_\bn_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.middleware.gzip\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.middleware.csrf\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.middleware.http\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bs_\be_\br_\bv_\be_\br_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.middleware.gzip\n+ * _\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bs_\be_\br_\bv_\be_\br_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.middleware.locale\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.middleware.http\n+ * _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * django.middleware.security\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.middleware.locale\n+ * _\bd_\be_\bf_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.shortcuts\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bf_\be_\br_\br_\ba_\bb_\bl_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.middleware.security\n- o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bg_\br_\be_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * django.shortcuts\n- * _\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.template\n+ * _\bd_\be_\bf_\be_\br_\br_\ba_\bb_\bl_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.template\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\be_\bg_\br_\be_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * django.template.backends\n+ * _\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.template.backends.django\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.template.backends\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.template.backends.django\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * django.template.backends.jinja2\n- o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.template.loader\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.template.backends.jinja2\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.template.loader\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.template.response\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.test\n * _\bd_\be_\bl_\be_\bt_\be_\b__\bc_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.template.response\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.test\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.test.signals\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bs_\be_\bl_\be_\bc_\bt_\be_\bd_\b__\bc_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\br_\be_\bn_\bd_\be_\br_\be_\bd_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b)\n- _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.test.utils\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.test.signals\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\br_\be_\bn_\bd_\be_\br_\be_\bd_\b _\b(_\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.test.utils\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.urls\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bs_\be_\bl_\be_\bc_\bt_\be_\bd_\b__\bc_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.urls.conf\n * _\bd_\be_\bl_\be_\bt_\be_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b o _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.urls\n- * _\bd_\be_\bl_\be_\bt_\be_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bl_\be_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt * django.urls.conf\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bl_\be_\bt_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.utils\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.utils\n+ * _\bd_\be_\bl_\be_\bt_\be_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bl_\be_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt * django.utils.cache\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\be_\bl_\be_\bt_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * django.utils.dateparse\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) * django.utils.cache\n- * _\bd_\be_\bl_\be_\bt_\bi_\bo_\bn_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.utils.dateparse\n- o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\be_\bn_\bs_\be_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.utils.decorators\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bs_\bc_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b._\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.utils.encoding\n- o _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.utils.feedgenerator\n- * _\bd_\be_\bs_\bt_\br_\bo_\by_\b__\bt_\be_\bs_\bt_\b__\bd_\bb_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b._\bc_\br_\be_\ba_\bt_\bi_\bo_\bn_\b) * django.utils.functional\n- * _\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bi_\bc_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.utils.html\n+ * _\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) * django.utils.decorators\n+ * _\bd_\be_\bl_\be_\bt_\bi_\bo_\bn_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b._\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.utils.encoding\n+ * _\bD_\be_\bn_\bs_\be_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * django.utils.feedgenerator\n+ * _\bd_\be_\bs_\bc_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.utils.functional\n+ o _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.utils.html\n+ * _\bd_\be_\bs_\bt_\br_\bo_\by_\b__\bt_\be_\bs_\bt_\b__\bd_\bb_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b._\bc_\br_\be_\ba_\bt_\bi_\bo_\bn_\b) * django.utils.http\n+ * _\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bi_\bc_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.utils.log\n * dictsort o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * django.utils.http\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * django.utils.module_loading\n * dictsortreversed o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * django.utils.log\n- * _\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * django.utils.module_loading\n- * _\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * django.utils.safestring\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * django.utils.safestring\n+ * _\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * django.utils.text\n+ * _\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * django.utils.timezone\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * django.utils.text\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * django.utils.translation\n * diffsettings o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * django.utils.timezone\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * django.views\n * diffsettings command line option o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b-_\b-_\ba_\bl_\bl * django.utils.translation\n+ o _\b-_\b-_\ba_\bl_\bl * django.views.decorators.cache\n o _\b-_\b-_\bd_\be_\bf_\ba_\bu_\bl_\bt o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b-_\b-_\bo_\bu_\bt_\bp_\bu_\bt * django.views\n- * _\bd_\bi_\bm_\b _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bi_\bm_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.views.decorators.cache\n- * _\bd_\bi_\bm_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\by_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b__\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be * django.views.decorators.cache.cache_page()\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n- o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.views.decorators.common\n- * _\bd_\bi_\bs_\ba_\bb_\bl_\be_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bd_\bi_\bs_\ba_\bb_\bl_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * django.views.decorators.csrf\n+ o _\b-_\b-_\bo_\bu_\bt_\bp_\bu_\bt * django.views.decorators.cache.cache_page()\n+ * _\bd_\bi_\bm_\b _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn\n+ * _\bd_\bi_\bm_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.views.decorators.common\n+ * _\bd_\bi_\bm_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\by_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b__\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be * django.views.decorators.csrf\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.views.decorators.gzip\n+ * _\bd_\bi_\bs_\ba_\bb_\bl_\be_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bi_\bs_\ba_\bb_\bl_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.views.decorators.http\n * DISALLOWED_USER_AGENTS o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.views.decorators.gzip\n- * _\bd_\bi_\bs_\bc_\bo_\bn_\bn_\be_\bc_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\br_\bu_\bn_\bn_\be_\br_\b) * django.views.decorators.http\n- * disjoint o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * django.views.decorators.vary\n- * _\bd_\bi_\bs_\bj_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\br_\ba_\bw_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * django.views.generic.dates\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bB_\ba_\bs_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * distance_gt * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bc_\bl_\ba_\bs_\bs_\b)\n- * distance_gte * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * distance_lt * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * distance_lte * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bA_\bv_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bC_\bo_\bu_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bS_\bu_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * divisibleby * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bB_\ba_\bs_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bd_\bj_\ba_\bn_\bg_\bo_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn\n- * django-admin command _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\bc_\bh_\ba_\bn_\bg_\be_\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- o _\bc_\bh_\be_\bc_\bk _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\bc_\bl_\be_\ba_\br_\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs * django.views.i18n\n- o _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bc_\bo_\bm_\bp_\bi_\bl_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bA_\bL_\bL_\bO_\bW_\b__\bA_\bS_\bY_\bN_\bC_\b__\bU_\bN_\bS_\bA_\bF_\bE, _\b[_\b1_\b], _\b[_\b2_\b]\n- o _\bc_\br_\be_\ba_\bt_\be_\bc_\ba_\bc_\bh_\be_\bt_\ba_\bb_\bl_\be * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bC_\bO_\bL_\bO_\bR_\bS, _\b[_\b1_\b], _\b[_\b2_\b]\n- o _\bc_\br_\be_\ba_\bt_\be_\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b],\n- o _\bd_\bb_\bs_\bh_\be_\bl_\bl _\b[_\b8_\b], _\b[_\b9_\b], _\b[_\b1_\b0_\b], _\b[_\b1_\b1_\b], _\b[_\b1_\b2_\b], _\b[_\b1_\b3_\b], _\b[_\b1_\b4_\b], _\b[_\b1_\b5_\b], _\b[_\b1_\b6_\b], _\b[_\b1_\b7_\b],\n- o _\bd_\bi_\bf_\bf_\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs _\b[_\b1_\b8_\b], _\b[_\b1_\b9_\b], _\b[_\b2_\b0_\b], _\b[_\b2_\b1_\b], _\b[_\b2_\b2_\b], _\b[_\b2_\b3_\b], _\b[_\b2_\b4_\b], _\b[_\b2_\b5_\b]\n- o _\bd_\bu_\bm_\bp_\bd_\ba_\bt_\ba * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bU_\bP_\bE_\bR_\bU_\bS_\bE_\bR_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD\n- o _\bf_\bi_\bn_\bd_\bs_\bt_\ba_\bt_\bi_\bc * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bT_\bE_\bS_\bT_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\bE_\bS, _\b[_\b1_\b]\n- o _\bf_\bl_\bu_\bs_\bh * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bW_\bA_\bT_\bC_\bH_\bM_\bA_\bN_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT, _\b[_\b1_\b]\n- o _\bh_\be_\bl_\bp * _\bD_\bj_\ba_\bn_\bg_\bo_\bD_\bi_\bv_\bF_\bo_\br_\bm_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b)\n- o _\bi_\bn_\bs_\bp_\be_\bc_\bt_\bd_\bb * _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b)\n- o _\bl_\bo_\ba_\bd_\bd_\ba_\bt_\ba o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo_\b)\n- o _\bm_\ba_\bk_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs * _\bD_\bO_\b__\bN_\bO_\bT_\bH_\bI_\bN_\bG_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs * _\bd_\bo_\bm_\ba_\bi_\bn_\b _\b(_\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bm_\bi_\bg_\br_\ba_\bt_\be o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt * _\bD_\bo_\bm_\ba_\bi_\bn_\bN_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n- o _\bo_\bp_\bt_\bi_\bm_\bi_\bz_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn * _\bD_\bo_\bn_\b'_\bt_\b _\br_\be_\bp_\be_\ba_\bt_\b _\by_\bo_\bu_\br_\bs_\be_\bl_\bf\n- o _\br_\be_\bm_\bo_\bv_\be_\b__\bs_\bt_\ba_\bl_\be_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs * _\bD_\br_\bi_\bv_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n- o _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br * _\bd_\br_\bi_\bv_\be_\br_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bn_\bd_\bt_\be_\bs_\bt_\be_\bm_\ba_\bi_\bl * _\bd_\br_\bi_\bv_\be_\br_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bD_\br_\bi_\bv_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\bh_\be_\bl_\bl * _\bD_\bR_\bY\n- o _\bs_\bh_\bo_\bw_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs * dumpdata\n- o _\bs_\bq_\bl_\bf_\bl_\bu_\bs_\bh o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bs_\bq_\bl_\bm_\bi_\bg_\br_\ba_\bt_\be * dumpdata command line option\n- o _\bs_\bq_\bl_\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\br_\be_\bs_\be_\bt o _\b-_\b-_\ba_\bl_\bl\n- o _\bs_\bq_\bu_\ba_\bs_\bh_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- o _\bs_\bt_\ba_\br_\bt_\ba_\bp_\bp o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n- o _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt o _\b-_\b-_\bf_\bo_\br_\bm_\ba_\bt\n- o _\bt_\be_\bs_\bt o _\b-_\b-_\bi_\bn_\bd_\be_\bn_\bt\n- o _\bt_\be_\bs_\bt_\bs_\be_\br_\bv_\be_\br o _\b-_\b-_\bn_\ba_\bt_\bu_\br_\ba_\bl_\b-_\bf_\bo_\br_\be_\bi_\bg_\bn\n- o _\bv_\be_\br_\bs_\bi_\bo_\bn o _\b-_\b-_\bn_\ba_\bt_\bu_\br_\ba_\bl_\b-_\bp_\br_\bi_\bm_\ba_\br_\by\n- * django.apps o _\b-_\b-_\bo_\bu_\bt_\bp_\bu_\bt\n- o _\bm_\bo_\bd_\bu_\bl_\be o _\b-_\b-_\bp_\bk_\bs\n- * django.conf.settings.configure() o _\b-_\ba\n- o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn o _\b-_\be\n- * django.conf.urls o _\b-_\bo\n- o _\bm_\bo_\bd_\bu_\bl_\be * _\bd_\bu_\bm_\bp_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n- * django.conf.urls.i18n * _\bD_\bu_\br_\ba_\bt_\bi_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * django.contrib.admin * dwithin\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * django.views.decorators.vary\n+ * _\bd_\bi_\bs_\bc_\bo_\bn_\bn_\be_\bc_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\br_\bu_\bn_\bn_\be_\br_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * disjoint * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be\n+ * _\bd_\bi_\bs_\bj_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw * django.views.generic.dates\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bB_\ba_\bs_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\br_\ba_\bw_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bi_\bn_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * distance_gt * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * distance_gte * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * distance_lt * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * distance_lte * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bA_\bv_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bC_\bo_\bu_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bB_\ba_\bs_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bS_\bu_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\bi_\bn_\b)\n+ * divisibleby * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bd_\bj_\ba_\bn_\bg_\bo_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * django.views.i18n\n+ * django-admin command o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bc_\bh_\ba_\bn_\bg_\be_\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bA_\bL_\bL_\bO_\bW_\b__\bA_\bS_\bY_\bN_\bC_\b__\bU_\bN_\bS_\bA_\bF_\bE, _\b[_\b1_\b], _\b[_\b2_\b]\n+ o _\bc_\bh_\be_\bc_\bk * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bC_\bO_\bL_\bO_\bR_\bS, _\b[_\b1_\b], _\b[_\b2_\b]\n+ o _\bc_\bl_\be_\ba_\br_\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b],\n+ o _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc _\b[_\b8_\b], _\b[_\b9_\b], _\b[_\b1_\b0_\b], _\b[_\b1_\b1_\b], _\b[_\b1_\b2_\b], _\b[_\b1_\b3_\b], _\b[_\b1_\b4_\b], _\b[_\b1_\b5_\b], _\b[_\b1_\b6_\b], _\b[_\b1_\b7_\b],\n+ o _\bc_\bo_\bm_\bp_\bi_\bl_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs _\b[_\b1_\b8_\b], _\b[_\b1_\b9_\b], _\b[_\b2_\b0_\b], _\b[_\b2_\b1_\b], _\b[_\b2_\b2_\b], _\b[_\b2_\b3_\b], _\b[_\b2_\b4_\b], _\b[_\b2_\b5_\b]\n+ o _\bc_\br_\be_\ba_\bt_\be_\bc_\ba_\bc_\bh_\be_\bt_\ba_\bb_\bl_\be * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bU_\bP_\bE_\bR_\bU_\bS_\bE_\bR_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD\n+ o _\bc_\br_\be_\ba_\bt_\be_\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bT_\bE_\bS_\bT_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\bE_\bS, _\b[_\b1_\b]\n+ o _\bd_\bb_\bs_\bh_\be_\bl_\bl * _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bW_\bA_\bT_\bC_\bH_\bM_\bA_\bN_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT, _\b[_\b1_\b]\n+ o _\bd_\bi_\bf_\bf_\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs * _\bD_\bj_\ba_\bn_\bg_\bo_\bD_\bi_\bv_\bF_\bo_\br_\bm_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b)\n+ o _\bd_\bu_\bm_\bp_\bd_\ba_\bt_\ba * _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b)\n+ o _\bf_\bi_\bn_\bd_\bs_\bt_\ba_\bt_\bi_\bc o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo_\b)\n+ o _\bf_\bl_\bu_\bs_\bh * _\bD_\bO_\b__\bN_\bO_\bT_\bH_\bI_\bN_\bG_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bh_\be_\bl_\bp * _\bd_\bo_\bm_\ba_\bi_\bn_\b _\b(_\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bi_\bn_\bs_\bp_\be_\bc_\bt_\bd_\bb o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bl_\bo_\ba_\bd_\bd_\ba_\bt_\ba * _\bD_\bo_\bm_\ba_\bi_\bn_\bN_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\bm_\ba_\bk_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs * _\bD_\bo_\bn_\b'_\bt_\b _\br_\be_\bp_\be_\ba_\bt_\b _\by_\bo_\bu_\br_\bs_\be_\bl_\bf\n+ o _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs * _\bD_\br_\bi_\bv_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n+ o _\bm_\bi_\bg_\br_\ba_\bt_\be * _\bd_\br_\bi_\bv_\be_\br_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt * _\bd_\br_\bi_\bv_\be_\br_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bD_\br_\bi_\bv_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bo_\bp_\bt_\bi_\bm_\bi_\bz_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn * _\bD_\bR_\bY\n+ o _\br_\be_\bm_\bo_\bv_\be_\b__\bs_\bt_\ba_\bl_\be_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs * dumpdata\n+ o _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\bs_\be_\bn_\bd_\bt_\be_\bs_\bt_\be_\bm_\ba_\bi_\bl * dumpdata command line option\n+ o _\bs_\bh_\be_\bl_\bl o _\b-_\b-_\ba_\bl_\bl\n+ o _\bs_\bh_\bo_\bw_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ o _\bs_\bq_\bl_\bf_\bl_\bu_\bs_\bh o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n+ o _\bs_\bq_\bl_\bm_\bi_\bg_\br_\ba_\bt_\be o _\b-_\b-_\bf_\bo_\br_\bm_\ba_\bt\n+ o _\bs_\bq_\bl_\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\br_\be_\bs_\be_\bt o _\b-_\b-_\bi_\bn_\bd_\be_\bn_\bt\n+ o _\bs_\bq_\bu_\ba_\bs_\bh_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs o _\b-_\b-_\bn_\ba_\bt_\bu_\br_\ba_\bl_\b-_\bf_\bo_\br_\be_\bi_\bg_\bn\n+ o _\bs_\bt_\ba_\br_\bt_\ba_\bp_\bp o _\b-_\b-_\bn_\ba_\bt_\bu_\br_\ba_\bl_\b-_\bp_\br_\bi_\bm_\ba_\br_\by\n+ o _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt o _\b-_\b-_\bo_\bu_\bt_\bp_\bu_\bt\n+ o _\bt_\be_\bs_\bt o _\b-_\b-_\bp_\bk_\bs\n+ o _\bt_\be_\bs_\bt_\bs_\be_\br_\bv_\be_\br o _\b-_\ba\n+ o _\bv_\be_\br_\bs_\bi_\bo_\bn o _\b-_\be\n+ * django.apps o _\b-_\bo\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\bd_\bu_\bm_\bp_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n+ * django.conf.settings.configure() * _\bD_\bu_\br_\ba_\bt_\bi_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * django.conf.urls * dwithin\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bs_\bi_\bt_\be_\bs_\b._\ba_\bl_\bl_\b__\bs_\bi_\bt_\be_\bs_\b _\b(_\bi_\bn\n- _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n+ * django.conf.urls.i18n\n+ o _\bm_\bo_\bd_\bu_\bl_\be\n+ * django.contrib.admin\n+ o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bs_\bi_\bt_\be_\bs_\b._\ba_\bl_\bl_\b__\bs_\bi_\bt_\be_\bs_\b _\b(_\bn_\be_\bl\n+ _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n * django.contrib.admindocs\n o _\bm_\bo_\bd_\bu_\bl_\be\n * django.contrib.auth\n o _\bm_\bo_\bd_\bu_\bl_\be\n * django.contrib.auth.backends\n o _\bm_\bo_\bd_\bu_\bl_\be\n * django.contrib.auth.forms\n@@ -1111,877 +1117,871 @@\n * django.contrib.auth.views\n o _\bm_\bo_\bd_\bu_\bl_\be\n * django.contrib.contenttypes\n o _\bm_\bo_\bd_\bu_\bl_\be\n * django.contrib.contenttypes.admin\n o _\bm_\bo_\bd_\bu_\bl_\be\n *\b**\b**\b**\b**\b* E\bE *\b**\b**\b**\b**\b*\n- * _\be_\ba_\bc_\bh_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\be_\bq_\bu_\ba_\bl_\bs_\b__\be_\bx_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\be_\ba_\br_\bl_\bi_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\be_\bq_\bu_\ba_\bl_\bs_\b__\bi_\bd_\be_\bn_\bt_\bi_\bc_\ba_\bl_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bE_\br_\br_\bo_\br\n- * _\be_\bd_\bi_\bt_\ba_\bb_\bl_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b)\n- * _\bE_\bL_\bL_\bI_\bP_\bS_\bI_\bS_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\br_\br_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bl_\bl_\bi_\bp_\bs_\bo_\bi_\bd_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\br_\br_\bo_\br_\b__\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bm_\ba_\bi_\bl_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b]\n- * EMAIL_BACKEND o _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bE_\bM_\bA_\bI_\bL_\b__\bF_\bI_\bE_\bL_\bD_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br * _\be_\br_\br_\bo_\br_\bs_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * EMAIL_FILE_PATH * escape\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * EMAIL_HOST * _\be_\bs_\bc_\ba_\bp_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bs_\bc_\ba_\bp_\be_\b__\bu_\br_\bi_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * EMAIL_HOST_PASSWORD _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * escapejs\n- * EMAIL_HOST_USER o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\be_\ba_\bc_\bh_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b]\n+ * _\be_\ba_\br_\bl_\bi_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\be_\bd_\bi_\bt_\ba_\bb_\bl_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\br_\br_\bo_\br_\bs_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bE_\bL_\bL_\bI_\bP_\bS_\bI_\bS_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bl_\bl_\bi_\bp_\bs_\bo_\bi_\bd_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * escape\n+ * _\be_\bm_\ba_\bi_\bl_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * EMAIL_BACKEND * _\be_\bs_\bc_\ba_\bp_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bs_\bc_\ba_\bp_\be_\b__\bu_\br_\bi_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bE_\bM_\bA_\bI_\bL_\b__\bF_\bI_\bE_\bL_\bD_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * escapejs\n+ * EMAIL_FILE_PATH o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * escapeseq\n- * EMAIL_PORT o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bt_\ba_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * EMAIL_SSL_CERTFILE _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * EMAIL_SSL_KEYFILE * _\be_\bw_\bk_\bt_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * EMAIL_SUBJECT_PREFIX * exact\n+ * EMAIL_HOST o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bt_\ba_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * EMAIL_HOST_PASSWORD _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * EMAIL_HOST_USER * _\be_\bw_\bk_\bt_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * EMAIL_PORT * exact\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * EMAIL_SSL_CERTFILE * exact :noindex:\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\be_\bm_\ba_\bi_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw * exact :noindex:\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * EMAIL_TIMEOUT * _\be_\bx_\bc_\b__\bi_\bn_\bf_\bo_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * EMAIL_SSL_KEYFILE * _\be_\bx_\bc_\b__\bi_\bn_\bf_\bo_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b__\br_\be_\bp_\bo_\br_\bt_\be_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt\n- * EMAIL_USE_LOCALTIME _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * EMAIL_SUBJECT_PREFIX _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b__\br_\be_\bp_\bo_\br_\bt_\be_\br_\b__\bf_\bi_\bl_\bt_\be_\br_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt\n- * EMAIL_USE_SSL _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * EMAIL_USE_TLS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bx_\bc_\bl_\bu_\bd_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bm_\ba_\bi_\bl_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\be_\bx_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bE_\bm_\ba_\bi_\bl_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bE_\bm_\ba_\bi_\bl_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b)\n- * _\bE_\bm_\ba_\bi_\bl_\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\be_\bx_\be_\bc_\bu_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) o _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bE_\bm_\ba_\bi_\bl_\bM_\bu_\bl_\bt_\bi_\bA_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\be_\bx_\be_\bc_\bu_\bt_\be_\b__\bw_\br_\ba_\bp_\bp_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bW_\br_\ba_\bp_\bp_\be_\br_\b)\n- * _\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bE_\bx_\bi_\bs_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\be_\bx_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\be_\bm_\bp_\bt_\by_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\be_\bm_\bp_\bt_\by_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bE_\bx_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\be_\bm_\bp_\bt_\by_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\be_\bt_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be * _\be_\bx_\bp_\ba_\bn_\bd_\b__\bt_\bo_\b__\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\bx_\bp_\bi_\br_\be_\b__\bd_\ba_\bt_\be_\b \n- o _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- * _\be_\bm_\bp_\bt_\by_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\bx_\bp_\bl_\ba_\bi_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\be_\bm_\bp_\bt_\by_\b__\bv_\ba_\bl_\bu_\be_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be * _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n- * _\bE_\bm_\bp_\bt_\by_\bP_\ba_\bg_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bE_\bm_\bp_\bt_\by_\bR_\be_\bs_\bu_\bl_\bt_\bS_\be_\bt o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bn_\ba_\bb_\bl_\be_\b__\bn_\ba_\bv_\b__\bs_\bi_\bd_\be_\bb_\ba_\br_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bW_\br_\ba_\bp_\bp_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bE_\bn_\bc_\bl_\bo_\bs_\bu_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b) * extends\n- * _\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br * _\bE_\bx_\bt_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\be_\bn_\bc_\bo_\bd_\be_\br_\b _\b(_\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] * _\be_\bx_\bt_\be_\bn_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bn_\bd_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * endswith o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bE_\bx_\bt_\be_\bn_\bt_\b3_\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bE_\bn_\bg_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\be_\bn_\bg_\bi_\bn_\be_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\be_\bx_\bt_\be_\br_\bi_\bo_\br_\b__\br_\bi_\bn_\bg_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b) * _\be_\bx_\bt_\br_\ba_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bn_\bs_\bu_\br_\be_\b__\bc_\bs_\br_\bf_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\be_\bx_\bt_\br_\ba_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\be_\bx_\bt_\br_\ba_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b \n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\be_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * environment variable o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bA_\bL_\bL_\bO_\bW_\b__\bA_\bS_\bY_\bN_\bC_\b__\bU_\bN_\bS_\bA_\bF_\bE, _\b[_\b1_\b], o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n- _\b[_\b2_\b], _\b[_\b3_\b] _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bC_\bO_\bL_\bO_\bR_\bS, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b] o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE, _\b[_\b1_\b], _\b[_\b2_\b], _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b], _\b[_\b8_\b], o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b[_\b9_\b], _\b[_\b1_\b0_\b], _\b[_\b1_\b1_\b], _\b[_\b1_\b2_\b], _\b[_\b1_\b3_\b], o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b[_\b1_\b4_\b], _\b[_\b1_\b5_\b], _\b[_\b1_\b6_\b], _\b[_\b1_\b7_\b], _\b[_\b1_\b8_\b], * _\be_\bx_\bt_\br_\ba_\b__\be_\bm_\ba_\bi_\bl_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw\n- _\b[_\b1_\b9_\b], _\b[_\b2_\b0_\b], _\b[_\b2_\b1_\b], _\b[_\b2_\b2_\b], _\b[_\b2_\b3_\b], _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b[_\b2_\b4_\b], _\b[_\b2_\b5_\b], _\b[_\b2_\b6_\b] * _\be_\bx_\bt_\br_\ba_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bU_\bP_\bE_\bR_\bU_\bS_\bE_\bR_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD, _\b[_\b1_\b] * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bT_\bE_\bS_\bT_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\bE_\bS, _\b[_\b1_\b], _\b[_\b2_\b] _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bW_\bA_\bT_\bC_\bH_\bM_\bA_\bN_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT, _\b[_\b1_\b], _\b[_\b2_\b] * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bP_\bY_\bT_\bH_\bO_\bN_\bP_\bA_\bT_\bH, _\b[_\b1_\b], _\b[_\b2_\b] _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bP_\bY_\bT_\bH_\bO_\bN_\bS_\bT_\bA_\bR_\bT_\bU_\bP * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bH_\bo_\bu_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bP_\bY_\bT_\bH_\bO_\bN_\bU_\bT_\bF_\b8 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bP_\bY_\bT_\bH_\bO_\bN_\bW_\bA_\bR_\bN_\bI_\bN_\bG_\bS * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bI_\bs_\bo_\bW_\be_\be_\bk_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * equals _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bI_\bs_\bo_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\be_\bq_\bu_\ba_\bl_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bM_\bi_\bn_\bu_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\be_\bm_\ba_\bi_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * EMAIL_TIMEOUT _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\be_\bx_\bc_\bl_\bu_\bd_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * EMAIL_USE_LOCALTIME * _\be_\bx_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * EMAIL_USE_SSL * _\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b)\n+ * EMAIL_USE_TLS * _\be_\bx_\be_\bc_\bu_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\be_\bm_\ba_\bi_\bl_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\be_\bx_\be_\bc_\bu_\bt_\be_\b__\bw_\br_\ba_\bp_\bp_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bE_\bm_\ba_\bi_\bl_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bW_\br_\ba_\bp_\bp_\be_\br_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bE_\bx_\bi_\bs_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bE_\bm_\ba_\bi_\bl_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\be_\bx_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bE_\bm_\ba_\bi_\bl_\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bE_\bm_\ba_\bi_\bl_\bM_\bu_\bl_\bt_\bi_\bA_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bE_\bx_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\be_\bx_\bp_\ba_\bn_\bd_\b__\bt_\bo_\b__\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\be_\bx_\bp_\bi_\br_\be_\b__\bd_\ba_\bt_\be_\b \n+ * _\be_\bm_\bp_\bt_\by_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\be_\bm_\bp_\bt_\by_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\bx_\bp_\bl_\ba_\bi_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\be_\bm_\bp_\bt_\by_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\be_\bt_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be * _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n+ * _\be_\bm_\bp_\bt_\by_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bm_\bp_\bt_\by_\b__\bv_\ba_\bl_\bu_\be_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be * _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bW_\br_\ba_\bp_\bp_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * extends\n+ * _\bE_\bm_\bp_\bt_\by_\bP_\ba_\bg_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bE_\bm_\bp_\bt_\by_\bR_\be_\bs_\bu_\bl_\bt_\bS_\be_\bt * _\bE_\bx_\bt_\be_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\be_\bn_\ba_\bb_\bl_\be_\b__\bn_\ba_\bv_\b__\bs_\bi_\bd_\be_\bb_\ba_\br_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\bx_\bt_\be_\bn_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bE_\bn_\bc_\bl_\bo_\bs_\bu_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b) o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br * _\bE_\bx_\bt_\be_\bn_\bt_\b3_\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\be_\bn_\bc_\bo_\bd_\be_\br_\b _\b(_\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] * _\be_\bx_\bt_\be_\br_\bi_\bo_\br_\b__\br_\bi_\bn_\bg_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\be_\bx_\bt_\br_\ba_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bn_\bd_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\be_\bx_\bt_\br_\ba_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * endswith _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\be_\bx_\bt_\br_\ba_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b \n+ * _\bE_\bn_\bg_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn\n+ * _\be_\bn_\bg_\bi_\bn_\be_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b) o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bn_\bs_\bu_\br_\be_\b__\bc_\bs_\br_\bf_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n+ * _\be_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * equals o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\be_\bx_\bt_\br_\ba_\b__\be_\bm_\ba_\bi_\bl_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw\n+ * _\be_\bq_\bu_\ba_\bl_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\be_\bx_\bt_\br_\ba_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\be_\bq_\bu_\ba_\bl_\bs_\b__\be_\bx_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\be_\bq_\bu_\ba_\bl_\bs_\b__\bi_\bd_\be_\bn_\bt_\bi_\bc_\ba_\bl_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bE_\br_\br_\bo_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bH_\bo_\bu_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\be_\br_\br_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\be_\br_\br_\bo_\br_\b__\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bI_\bs_\bo_\bW_\be_\be_\bk_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bI_\bs_\bo_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bM_\bi_\bn_\bu_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bM_\bo_\bn_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bM_\bo_\bn_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bQ_\bu_\ba_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bQ_\bu_\ba_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bS_\be_\bc_\bo_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bS_\be_\bc_\bo_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bW_\be_\be_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bW_\be_\be_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bW_\be_\be_\bk_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bW_\be_\be_\bk_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bE_\bx_\bt_\br_\ba_\bc_\bt_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n *\b**\b**\b**\b**\b* F\bF *\b**\b**\b**\b**\b*\n- * _\bF_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * FILE_UPLOAD_HANDLERS\n- * _\bF_\be_\ba_\bt_\bu_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bF_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * FILE_UPLOAD_HANDLERS\n+ * _\bF_\be_\ba_\bt_\bu_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n * _\bF\bF_\be\be_\ba\ba_\bt\bt_\bu\bu_\br\br_\be\be_\b _\br\br_\be\be_\bl\bl_\be\be_\ba\ba_\bs\bs_\be\be * FILE_UPLOAD_MAX_MEMORY_SIZE\n- * _\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bF_\be_\bt_\bc_\bh_\bF_\br_\bo_\bm_\bC_\ba_\bc_\bh_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * FILE_UPLOAD_PERMISSIONS\n+ * _\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bF_\be_\bt_\bc_\bh_\bF_\br_\bo_\bm_\bC_\ba_\bc_\bh_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * FILE_UPLOAD_PERMISSIONS\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bf_\bi_\bd_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * FILE_UPLOAD_TEMP_DIR\n+ * _\bf_\bi_\bd_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * FILE_UPLOAD_TEMP_DIR\n * _\bf\bf_\bi\bi_\be\be_\bl\bl_\bd\bd o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bF_\bi_\bl_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bf_\bi_\be_\bl_\bd_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * field lookup type * _\bf_\bi_\bl_\be_\bp_\ba_\bt_\bh_\b__\bt_\bo_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bF_\bi_\bl_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * field lookup type * _\bf_\bi_\bl_\be_\bp_\ba_\bt_\bh_\b__\bt_\bo_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bi_\bn_\bd_\be_\bx o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bl_\be_\bn * _\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bo_\bv_\be_\br_\bl_\ba_\bp * _\bF_\bI_\bL_\bE_\bS_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bi_\bn_\bd_\be_\bx o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bl_\be_\bn * _\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bo_\bv_\be_\br_\bl_\ba_\bp * _\bF_\bI_\bL_\bE_\bS_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\ba_\br_\br_\ba_\by_\bf_\bi_\be_\bl_\bd_\b._\bs_\bl_\bi_\bc_\be * filesizeformat\n o _\bb_\bb_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bb_\bb_\bo_\bv_\be_\br_\bl_\ba_\bp_\bs * _\bf_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bb_\bb_\bo_\bv_\be_\br_\bl_\ba_\bp_\bs * _\bf_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\bs_\b)\n- o _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b__\bp_\br_\bo_\bp_\be_\br_\bl_\by _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- o _\bc_\bo_\bv_\be_\br_\be_\bd_\bb_\by * _\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bc_\bo_\bv_\be_\br_\be_\bd_\bb_\by * _\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bc_\bo_\bv_\be_\br_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br_\b)\n o _\bc_\br_\bo_\bs_\bs_\be_\bs * filter\n o _\bd_\ba_\bt_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\bd_\ba_\by * _\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bd_\bi_\bs_\bj_\bo_\bi_\bn_\bt o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bd_\ba_\by * _\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bd_\bi_\bs_\bj_\bo_\bi_\bn_\bt o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bg_\bt _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bg_\bt_\be * _\bf_\bi_\bl_\bt_\be_\br_\b__\bh_\bo_\br_\bi_\bz_\bo_\bn_\bt_\ba_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt * _\bf_\bi_\bl_\bt_\be_\br_\b__\bv_\be_\br_\bt_\bi_\bc_\ba_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt_\be * _\bf_\bi_\bl_\bt_\be_\br_\ba_\bb_\bl_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bd_\bw_\bi_\bt_\bh_\bi_\bn * _\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh * _\bf_\bi_\bn_\ba_\bl_\b__\bc_\ba_\bt_\bc_\bh_\b__\ba_\bl_\bl_\b__\bv_\bi_\be_\bw_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bg_\bt_\be * _\bf_\bi_\bl_\bt_\be_\br_\b__\bh_\bo_\br_\bi_\bz_\bo_\bn_\bt_\ba_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt * _\bf_\bi_\bl_\bt_\be_\br_\b__\bv_\be_\br_\bt_\bi_\bc_\ba_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt_\be * _\bf_\bi_\bl_\bt_\be_\br_\ba_\bb_\bl_\be_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bd_\bw_\bi_\bt_\bh_\bi_\bn * _\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh * _\bf_\bi_\bn_\ba_\bl_\b__\bc_\ba_\bt_\bc_\bh_\b__\ba_\bl_\bl_\b__\bv_\bi_\be_\bw_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\be_\bq_\bu_\ba_\bl_\bs * findstatic\n o _\be_\bx_\ba_\bc_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n o _\be_\bx_\ba_\bc_\bt_\b _\b:_\bn_\bo_\bi_\bn_\bd_\be_\bx_\b: o _\bf_\bi_\bn_\bd_\bs_\bt_\ba_\bt_\bi_\bc_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be_\b _\bo_\bp_\bt_\bi_\bo_\bn\n o _\bg_\bi_\bs_\b-_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * findstatic command line option\n o _\bg_\bt o _\bf_\bi_\bn_\bd_\bs_\bt_\ba_\bt_\bi_\bc\n o _\bg_\bt_\be * first\n o _\bh_\bo_\bu_\br o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by * _\bf_\bi_\br_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by * _\bf_\bi_\br_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\ba_\bn_\by_\b__\bk_\be_\by_\bs * FIRST_DAY_OF_WEEK\n o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\bk_\be_\by o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\bk_\be_\by_\bs * _\bf_\bi_\br_\bs_\bt_\b__\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\bk_\be_\by_\bs * _\bf_\bi_\br_\bs_\bt_\b__\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bk_\be_\by * firstof\n o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bk_\be_\by_\bs o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bv_\ba_\bl_\bu_\be_\bs * _\bF_\bi_\br_\bs_\bt_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bv_\ba_\bl_\bu_\be_\bs * _\bF_\bi_\br_\bs_\bt_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bi_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n o _\bi_\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh * FIXTURE_DIRS\n o _\bi_\be_\bx_\ba_\bc_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bi_\bn * _\bf_\bi_\bx_\bt_\bu_\br_\be_\bs_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bs * _\bf_\bk_\b__\bn_\ba_\bm_\be_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bi_\br_\be_\bg_\be_\bx * _\bf_\bl_\ba_\bg_\bs_\b _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bi_\bs_\be_\bm_\bp_\bt_\by * _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bi_\bn * _\bf_\bi_\bx_\bt_\bu_\br_\be_\bs_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bs * _\bf_\bk_\b__\bn_\ba_\bm_\be_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bi_\br_\be_\bg_\be_\bx * _\bf_\bl_\ba_\bg_\bs_\b _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bi_\bs_\be_\bm_\bp_\bt_\by * _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bi_\bs_\bn_\bu_\bl_\bl _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bi_\bs_\bo_\b__\bw_\be_\be_\bk_\b__\bd_\ba_\by * _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bi_\bs_\bo_\b__\bw_\be_\be_\bk_\b__\bd_\ba_\by * _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bi_\bs_\bo_\b__\by_\be_\ba_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n- o _\bi_\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh * _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bi_\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh * _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bi_\bs_\bv_\ba_\bl_\bi_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n- o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by * _\bf_\bl_\ba_\bt_\bt_\be_\bn_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\ba_\bn_\by_\b__\bk_\be_\by_\bs o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by * _\bf_\bl_\ba_\bt_\bt_\be_\bn_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * _\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\ba_\bn_\by_\b__\bk_\be_\by_\bs o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\bk_\be_\by * floatformat\n o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bh_\ba_\bs_\b__\bk_\be_\by_\bs o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bk_\be_\by * _\bF_\bl_\bo_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bj_\bs_\bo_\bn_\bf_\bi_\be_\bl_\bd_\b._\bk_\be_\by * _\bF_\bl_\bo_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n o _\bl_\be_\bf_\bt * flush\n o _\bl_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n o _\bl_\bt_\be * flush command line option\n o _\bm_\bi_\bn_\bu_\bt_\be o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n o _\bm_\bo_\bn_\bt_\bh o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n- o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\ba_\bb_\bo_\bv_\be * _\bf_\bl_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\bb_\be_\bl_\bo_\bw o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\ba_\bb_\bo_\bv_\be * _\bf_\bl_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\bb_\be_\bl_\bo_\bw o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\bl_\be_\bf_\bt * for\n o _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b__\br_\bi_\bg_\bh_\bt o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n o _\bq_\bu_\ba_\br_\bt_\be_\br * _\bf_\bo_\br_\b__\bc_\bo_\bn_\bc_\br_\be_\bt_\be_\b__\bm_\bo_\bd_\be_\bl_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by\n- o _\br_\ba_\bn_\bg_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\ba_\bd_\bj_\ba_\bc_\be_\bn_\bt_\b__\bt_\bo * _\bf_\bo_\br_\bc_\be_\b__\bb_\by_\bt_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by * force_escape\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh * _\bf_\bo_\br_\bc_\be_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bf_\bu_\bl_\bl_\by_\b__\bg_\bt * FORCE_SCRIPT_NAME\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bf_\bu_\bl_\bl_\by_\b__\bl_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bi_\bs_\be_\bm_\bp_\bt_\by * _\bf_\bo_\br_\bc_\be_\b__\bs_\bt_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bc * _\bF_\bo_\br_\bc_\be_\bP_\bo_\bl_\by_\bg_\bo_\bn_\bC_\bW_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bf _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bn_\bo_\bt_\b__\bg_\bt * _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bn_\bo_\bt_\b__\bl_\bt * _\bf_\bo_\br_\bm_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bo_\bv_\be_\br_\bl_\ba_\bp * _\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh * _\bf_\bo_\br_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bc o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bf * _\bf_\bo_\br_\bm_\b__\bc_\bl_\ba_\bs_\bs_\b \n- o _\br_\be_\bg_\be_\bx _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n- o _\br_\be_\bl_\ba_\bt_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\br_\bi_\bg_\bh_\bt o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- o _\bs_\ba_\bm_\be_\b__\ba_\bs _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\ba_\br_\bc_\bh o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bc_\bo_\bn_\bd o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\bt_\br_\bi_\bc_\bt_\bl_\by_\b__\ba_\bb_\bo_\bv_\be * _\bf_\bo_\br_\bm_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\bt_\br_\bi_\bc_\bt_\bl_\by_\b__\bb_\be_\bl_\bo_\bw * _\bf_\bo_\br_\bm_\b__\bi_\bn_\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b \n- o _\bt_\bi_\bm_\be _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\bo_\bu_\bc_\bh_\be_\bs o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bs_\bt_\br_\bi_\bc_\bt_\b__\bw_\bo_\br_\bd_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br * FORM_RENDERER\n- o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bw_\bo_\br_\bd_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bu_\bn_\ba_\bc_\bc_\be_\bn_\bt * _\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bw_\be_\be_\bk * _\bf_\bo_\br_\bm_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b \n- o _\bw_\be_\be_\bk_\b__\bd_\ba_\by _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bw_\bi_\bt_\bh_\bi_\bn o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- o _\by_\be_\ba_\br _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\bi_\be_\bl_\bd_\b__\bo_\br_\bd_\be_\br_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\bi_\be_\bl_\bd_\b__\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\bi_\be_\bl_\bd_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\bi_\be_\bl_\bd_\b__\bw_\bi_\bd_\bt_\bh_\bs_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf\bf_\bo\bo_\br\br_\bm\bm_\ba\ba_\bt\bt_\b _\bf\bf_\bi\bi_\bl\bl_\be\be\n- * _\bF_\bi_\be_\bl_\bd_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- * _\bF_\bi_\be_\bl_\bd_\bE_\br_\br_\bo_\br * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b__\bj_\bo_\bi_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\bf_\bi_\bl_\be_\bs_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt_\b)\n- * _\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bC_\bo_\bm_\bb_\bo_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * FORMAT_MODULE_PATH\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bc_\bh_\bo_\bi_\bc_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bf_\bo_\br_\be_\bi_\bg_\bn_\bk_\be_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bm_\ba_\bn_\by_\bt_\bo_\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bo_\bv_\be_\br_\br_\bi_\bd_\be_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * FORMS_URLFIELD_ASSUME_HTTPS\n- * _\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b) * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\bi_\bl_\be_\b _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bf_\bi_\bl_\be_\b__\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b)\n- * _\bf_\bi_\bl_\be_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bf_\bi_\bl_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b__\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be * _\bf_\br_\ba_\bm_\be_\b__\bt_\by_\bp_\be_\b _\b(_\bR_\bo_\bw_\bR_\ba_\bn_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bV_\ba_\bl_\bu_\be_\bR_\ba_\bn_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bf_\br_\bo_\bm_\b__\bb_\bb_\bo_\bx_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * FILE_UPLOAD_DIRECTORY_PERMISSIONS o _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\b__\bd_\bb_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\b__\be_\bm_\ba_\bi_\bl_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\br_\bo_\bm_\b__\be_\bs_\br_\bi_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\b__\bg_\bm_\bl_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bf_\br_\bo_\bm_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bf_\br_\bo_\bm_\bk_\be_\by_\bs_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bf_\br_\bo_\bm_\bs_\bt_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bF_\br_\bo_\bm_\bW_\bK_\bB_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\br_\ba_\bn_\bg_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\ba_\bd_\bj_\ba_\bc_\be_\bn_\bt_\b__\bt_\bo * _\bf_\bo_\br_\bc_\be_\b__\bb_\by_\bt_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\be_\bd_\b__\bb_\by _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs * force_escape\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bf_\bu_\bl_\bl_\by_\b__\bg_\bt * _\bf_\bo_\br_\bc_\be_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bf_\bu_\bl_\bl_\by_\b__\bl_\bt * FORCE_SCRIPT_NAME\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bi_\bs_\be_\bm_\bp_\bt_\by o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bc * _\bf_\bo_\br_\bc_\be_\b__\bs_\bt_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bf * _\bF_\bo_\br_\bc_\be_\bP_\bo_\bl_\by_\bg_\bo_\bn_\bC_\bW_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bn_\bo_\bt_\b__\bg_\bt _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bn_\bo_\bt_\b__\bl_\bt * _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bo_\bv_\be_\br_\bl_\ba_\bp * _\bf_\bo_\br_\bm_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh * _\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bc * _\bf_\bo_\br_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\br_\ba_\bn_\bg_\be_\bf_\bi_\be_\bl_\bd_\b._\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bf o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\br_\be_\bg_\be_\bx * _\bf_\bo_\br_\bm_\b__\bc_\bl_\ba_\bs_\bs_\b \n+ o _\br_\be_\bl_\ba_\bt_\be _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n+ o _\br_\bi_\bg_\bh_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\ba_\bm_\be_\b__\ba_\bs o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ o _\bs_\be_\ba_\br_\bc_\bh _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bc_\bo_\bn_\bd o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\bt_\br_\bi_\bc_\bt_\bl_\by_\b__\ba_\bb_\bo_\bv_\be o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\bt_\br_\bi_\bc_\bt_\bl_\by_\b__\bb_\be_\bl_\bo_\bw * _\bf_\bo_\br_\bm_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\bi_\bm_\be * _\bf_\bo_\br_\bm_\b__\bi_\bn_\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b \n+ o _\bt_\bo_\bu_\bc_\bh_\be_\bs _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bs_\bt_\br_\bi_\bc_\bt_\b__\bw_\bo_\br_\bd_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\br_\bi_\bg_\br_\ba_\bm_\b__\bw_\bo_\br_\bd_\b__\bs_\bi_\bm_\bi_\bl_\ba_\br * FORM_RENDERER\n+ o _\bu_\bn_\ba_\bc_\bc_\be_\bn_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\bw_\be_\be_\bk * _\bf_\bo_\br_\bm_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bw_\be_\be_\bk_\b__\bd_\ba_\by * _\bf_\bo_\br_\bm_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b \n+ o _\bw_\bi_\bt_\bh_\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\by_\be_\ba_\br o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ * _\bf_\bi_\be_\bl_\bd_\b__\bo_\br_\bd_\be_\br_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\b__\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\b__\bw_\bi_\bd_\bt_\bh_\bs_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bF_\bi_\be_\bl_\bd_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bf\bf_\bo\bo_\br\br_\bm\bm_\ba\ba_\bt\bt_\b _\bf\bf_\bi\bi_\bl\bl_\be\be\n+ * _\bF_\bi_\be_\bl_\bd_\bE_\br_\br_\bo_\br * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ * _\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b__\bj_\bo_\bi_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\bf_\bi_\bl_\be_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bC_\bo_\bm_\bb_\bo_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn * FORMAT_MODULE_PATH\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\ba_\bt_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bc_\bh_\bo_\bi_\bc_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bf_\bo_\br_\be_\bi_\bg_\bn_\bk_\be_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bf_\bo_\br_\b__\bm_\ba_\bn_\by_\bt_\bo_\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bo_\bv_\be_\br_\br_\bi_\bd_\be_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * FORMS_URLFIELD_ASSUME_HTTPS\n+ * _\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bf_\bi_\bl_\be_\b _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bi_\bl_\be_\b__\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bf_\bi_\bl_\be_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bi_\bl_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b__\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be * _\bF_\bo_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bf_\br_\ba_\bm_\be_\b__\bt_\by_\bp_\be_\b _\b(_\bR_\bo_\bw_\bR_\ba_\bn_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bV_\ba_\bl_\bu_\be_\bR_\ba_\bn_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * FILE_UPLOAD_DIRECTORY_PERMISSIONS * _\bf_\br_\bo_\bm_\b__\bb_\bb_\bo_\bx_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\bf_\br_\bo_\bm_\b__\bd_\bb_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bf_\br_\bo_\bm_\b__\be_\bm_\ba_\bi_\bl_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\br_\bo_\bm_\b__\be_\bs_\br_\bi_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bf_\br_\bo_\bm_\b__\bg_\bm_\bl_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bf_\br_\bo_\bm_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bf_\br_\bo_\bm_\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bf_\br_\bo_\bm_\bk_\be_\by_\bs_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\bf_\br_\bo_\bm_\bs_\bt_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bF_\br_\bo_\bm_\bW_\bK_\bB_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bF_\br_\bo_\bm_\bW_\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bF_\br_\bo_\bm_\bW_\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bf_\bu_\bl_\bl_\b__\bc_\bl_\be_\ba_\bn_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bf_\bu_\bl_\bl_\b__\bc_\bl_\be_\ba_\bn_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\bF_\bu_\bl_\bl_\bR_\be_\bs_\bu_\bl_\bt_\bS_\be_\bt\n- * _\bF_\bu_\bn_\bc_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bf_\bu_\bn_\bc_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bF_\bu_\bn_\bc_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bf_\bu_\bn_\bc_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n *\b**\b**\b**\b**\b* G\bG *\b**\b**\b**\b**\b*\n- * GDAL_LIBRARY_PATH * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bk_\bw_\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b__\bw_\bi_\bt_\bh_\b__\bi_\bn_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\bD_\bA_\bL_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b__\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bg_\be_\bo_\bm_\bs_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg\bg_\be\be_\bn\bn_\be\be_\br\br_\bi\bi_\bc\bc_\b _\bv\bv_\bi\bi_\be\be_\bw\bw * _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bb_\by_\b__\bc_\bo_\bl_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bn_\be_\br_\bi_\bc_\b__\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bh_\bo_\bs_\bt_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bf_\bo_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bl_\bi_\bn_\be_\b__\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bi_\bn_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bj_\bs_\bo_\bn_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bb_\bi_\bd_\bi_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bt_\ba_\bc_\bk_\be_\bd_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bf_\br_\bo_\bm_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * GDAL_LIBRARY_PATH * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bk_\bw_\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\bs_\b__\bw_\bi_\bt_\bh_\b__\bi_\bn_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\bD_\bA_\bL_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b__\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bg_\be_\bo_\bm_\bs_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg\bg_\be\be_\bn\bn_\be\be_\br\br_\bi\bi_\bc\bc_\b _\bv\bv_\bi\bi_\be\be_\bw\bw * _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bb_\by_\b__\bc_\bo_\bl_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bn_\be_\br_\bi_\bc_\b__\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bh_\bo_\bs_\bt_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bf_\bo_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bl_\bi_\bn_\be_\b__\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bi_\bn_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b) * _\bg_\be_\bt_\b__\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bj_\bs_\bo_\bn_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b._\be_\br_\br_\bo_\br_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bb_\bi_\bd_\bi_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bt_\ba_\bc_\bk_\be_\bd_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bf_\br_\bo_\bm_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b) * get_language_info\n- * _\bG_\be_\bn_\be_\br_\bi_\bc_\bT_\ba_\bb_\bu_\bl_\ba_\br_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bG_\be_\bo_\bA_\bt_\bo_\bm_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) * get_language_info_list\n- * _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by_\b _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\bs_\b__\bf_\bo_\br_\b__\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bH_\ba_\bs_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bl_\ba_\bt_\be_\bs_\bt_\b__\bb_\by_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bt_\be_\bs_\bt_\b__\bl_\ba_\bs_\bt_\bm_\bo_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bI_\bP_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bi_\bp_\b2_\b) * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bI_\bP_\b2_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\bl_\bi_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * GEOIP_CITY * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n- * GEOIP_COUNTRY * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bl_\bo_\bg_\b__\be_\bn_\bt_\br_\bi_\be_\bs_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * GEOIP_PATH * _\bg_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bj_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bl_\bo_\bo_\bk_\bu_\bp_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bg_\be_\bo_\bm_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bm_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b(_\b)_\b _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bm_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bk_\be_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bm_\b__\bt_\by_\bp_\be_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bx_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bx_\b__\bn_\bu_\bm_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * get_media_prefix\n- o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- * _\bg_\be_\bo_\bm_\b__\bt_\by_\bp_\be_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bm_\bi_\bn_\b__\bn_\bu_\bm_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bm_\be_\bt_\br_\by_\b(_\b)_\b _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b__\ba_\bd_\bm_\bi_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\bs_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bb_\by_\b__\bF_\bO_\bO_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\be_\bo_\bR_\bS_\bS_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bs_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bo_\bs_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bf_\bo_\br_\b__\bt_\bh_\bi_\bs_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * GEOS_LIBRARY_PATH * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bG_\bE_\bO_\bS_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn * _\bg_\be_\bt_\b__\bo_\br_\b__\bs_\be_\bt_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bg_\be_\bt_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bg_\be_\bo_\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bG_\bE_\bT_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bg_\be_\bt_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bo_\br_\bp_\bh_\ba_\bn_\bs_\b(_\b)_\b \n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bB_\ba_\bs_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bB_\ba_\bs_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\bo_\br_\bt_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bf_\bi_\bx_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\bo_\bp_\bu_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bc_\bc_\be_\bs_\bs_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bb_\by_\b__\bF_\bO_\bO_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bl_\bl_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b(_\b)_\b o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * _\bg_\be_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n- * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bc_\br_\bi_\bp_\bt_\b__\bp_\br_\be_\bf_\bi_\bx_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n- * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\bs_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\be_\ba_\br_\bc_\bh_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\be_\ba_\br_\bc_\bh_\b__\br_\be_\bs_\bu_\bl_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bf_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * get_available_languages * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bc_\bo_\bo_\bk_\bi_\be_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bs_\bt_\bo_\br_\be_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bc_\bl_\ba_\bs_\bs\n- * _\bg_\be_\bt_\b__\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * _\bg_\be_\bt_\b__\bs_\bh_\bo_\br_\bt_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bb_\bo_\bu_\bn_\bd_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bi_\bg_\bn_\be_\bd_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bb_\by_\b__\bn_\ba_\bt_\bu_\br_\ba_\bl_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bl_\bu_\bg_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\ba_\bc_\bh_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bg_\be_\bt_\b__\bs_\bo_\br_\bt_\ba_\bb_\bl_\be_\b__\bb_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bo_\bu_\br_\bc_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bf_\bo_\br_\bm_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * get_static_prefix\n- * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bv_\bi_\be_\bw_\bs_\b._\bS_\bu_\bc_\bc_\be_\bs_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bv_\ba_\br_\bi_\ba_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\ba_\bg_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b)\n- * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b o _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\bs_\b(_\b)_\b \n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bG_\be_\bn_\be_\br_\bi_\bc_\bT_\ba_\bb_\bu_\bl_\ba_\br_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bG_\be_\bo_\bA_\bt_\bo_\bm_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) * get_language_info_list\n+ * _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by_\b _\b(_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\bs_\b__\bf_\bo_\br_\b__\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bH_\ba_\bs_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bl_\ba_\bt_\be_\bs_\bt_\b__\bb_\by_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bg_\be_\bt_\b__\bl_\ba_\bt_\be_\bs_\bt_\b__\bl_\ba_\bs_\bt_\bm_\bo_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bI_\bP_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bi_\bp_\b2_\b) * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bI_\bP_\b2_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\bl_\bi_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * GEOIP_CITY * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n+ * GEOIP_COUNTRY * _\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bl_\bo_\bg_\b__\be_\bn_\bt_\br_\bi_\be_\bs_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * GEOIP_PATH * _\bg_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bj_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bl_\bo_\bo_\bk_\bu_\bp_\b(_\b)_\b _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bm_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bg_\be_\bo_\bm_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b(_\b)_\b _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bm_\b__\bn_\ba_\bm_\be_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bk_\be_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bm_\b__\bt_\by_\bp_\be_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bx_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\ba_\bx_\b__\bn_\bu_\bm_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * get_media_prefix\n+ o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ * _\bg_\be_\bo_\bm_\b__\bt_\by_\bp_\be_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bm_\bi_\bn_\b__\bn_\bu_\bm_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bm_\be_\bt_\br_\by_\b(_\b)_\b _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b__\ba_\bd_\bm_\bi_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\bs_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bb_\by_\b__\bF_\bO_\bO_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\be_\bo_\bR_\bS_\bS_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) * _\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bs_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bo_\bs_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bf_\bo_\br_\b__\bt_\bh_\bi_\bs_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * GEOS_LIBRARY_PATH * _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bg_\be_\bt_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bG_\bE_\bO_\bS_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn * _\bg_\be_\bt_\b__\bo_\br_\b__\bs_\be_\bt_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bg_\be_\bt_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ * _\bg_\be_\bo_\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bG_\bE_\bT_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bg_\be_\bt_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bo_\br_\bp_\bh_\ba_\bn_\bs_\b(_\b)_\b \n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bB_\ba_\bs_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bB_\ba_\bs_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw * _\bg_\be_\bt_\b__\bp_\bo_\br_\bt_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bf_\bi_\bx_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\bo_\bp_\bu_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bc_\bc_\be_\bs_\bs_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bb_\by_\b__\bF_\bO_\bO_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bl_\bl_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bm_\bo_\bn_\bt_\bh_\b(_\b)_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by_\b(_\b)_\b o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * _\bg_\be_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bc_\br_\bi_\bp_\bt_\b__\bp_\br_\be_\bf_\bi_\bx_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\bs_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\be_\ba_\br_\bc_\bh_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bp_\bp_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\be_\ba_\br_\bc_\bh_\b__\br_\be_\bs_\bu_\bl_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bf_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * get_available_languages * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bc_\bo_\bo_\bk_\bi_\be_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bs_\bt_\bo_\br_\be_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo\n+ * _\bg_\be_\bt_\b__\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * _\bg_\be_\bt_\b__\bs_\bh_\bo_\br_\bt_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bb_\bo_\bu_\bn_\bd_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bi_\bg_\bn_\be_\bd_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bb_\by_\b__\bn_\ba_\bt_\bu_\br_\ba_\bl_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bl_\bu_\bg_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\ba_\bc_\bh_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bg_\be_\bt_\b__\bs_\bo_\br_\bt_\ba_\bb_\bl_\be_\b__\bb_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bo_\bu_\br_\bc_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bf_\bo_\br_\bm_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * get_static_prefix\n+ * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b _\b(_\bv_\bi_\be_\bw_\bs_\b._\bS_\bu_\bc_\bc_\be_\bs_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bl_\bi_\bs_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bv_\ba_\br_\bi_\ba_\bn_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\ba_\bg_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\bs_\b(_\b)_\b \n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bs_\bo_\bu_\br_\bc_\be_\bs_\b(_\b)_\b _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bn_\ba_\bm_\be_\b(_\b)_\b * _\bg_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bf_\bu_\bn_\bc_\b(_\b)_\b _\b(_\bU_\bs_\be_\br_\bP_\ba_\bs_\bs_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bg_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\br_\bu_\bn_\bn_\be_\br_\b__\bk_\bw_\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bf_\br_\ba_\bm_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b)_\b _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * get_current_language o _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bu_\br_\bl_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * get_current_language_bidi * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * get_current_timezone * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bv_\ba_\bl_\bi_\bd_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bv_\be_\br_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\bd_\b__\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\bd_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\bw_\be_\be_\bk_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\ba_\by_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\b__\by_\be_\ba_\br_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bc_\bo_\bd_\be_\bd_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bn_\bo_\bo_\bp_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\be_\bt_\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bi_\bn_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * gis-contains\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bs_\bo_\bu_\br_\bc_\be_\bs_\b(_\b)_\b _\b(_\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bn_\ba_\bm_\be_\b(_\b)_\b * _\bg_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bf_\bu_\bn_\bc_\b(_\b)_\b _\b(_\bU_\bs_\be_\br_\bP_\ba_\bs_\bs_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bg_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\br_\bu_\bn_\bn_\be_\br_\b__\bk_\bw_\ba_\br_\bg_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bf_\br_\ba_\bm_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b)_\b _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\br_\be_\ba_\bt_\be_\bd_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * get_current_language o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bu_\br_\bl_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * get_current_language_bidi * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * get_current_timezone * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bv_\ba_\bl_\bi_\bd_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bv_\be_\br_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\bd_\b__\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bw_\be_\be_\bk_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\bd_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\bw_\be_\be_\bk_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\by_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\by_\be_\ba_\br_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\ba_\by_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\b__\by_\be_\ba_\br_\b__\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bc_\bo_\bd_\be_\bd_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bn_\bo_\bo_\bp_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bs_\bt_\ba_\bt_\bi_\bc_\bo_\b) * _\bg_\be_\bt_\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bu_\br_\bl_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bG_\bi_\bn_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * gis-contains\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bg_\bi_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bg_\bi_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bf_\be_\br_\br_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bl_\be_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bi_\bs_\bt_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- * _\bg_\be_\bt_\b__\bd_\be_\bl_\be_\bt_\bi_\bo_\bn_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\bm_\bl_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * get_digit * _\bG_\br_\be_\ba_\bt_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bg_\be_\bt_\b__\be_\bd_\bi_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\br_\bo_\bu_\bp_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bg_\be_\bt_\b__\be_\bl_\bi_\bd_\be_\bd_\b__\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * gt\n+ * _\bg_\be_\bt_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bg_\bi_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bg_\bi_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt_\b__\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bf_\be_\br_\br_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\ba_\bd_\bm_\bi_\bn_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bl_\be_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bG_\bi_\bs_\bt_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ * _\bg_\be_\bt_\b__\bd_\be_\bl_\be_\bt_\bi_\bo_\bn_\b__\bw_\bi_\bd_\bg_\be_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\bm_\bl_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * get_digit * _\bG_\br_\be_\ba_\bt_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bg_\be_\bt_\b__\be_\bd_\bi_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bg_\br_\bo_\bu_\bp_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bg_\be_\bt_\b__\be_\bl_\bi_\bd_\be_\bd_\b__\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * gt\n * _\bg_\be_\bt_\b__\be_\bm_\ba_\bi_\bl_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * gte\n- * _\bg_\be_\bt_\b__\be_\bx_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\be_\b__\ba_\bt_\b__\bb_\br_\bo_\bw_\bs_\be_\br_\b__\bc_\bl_\bo_\bs_\be_\b(_\b)_\b * _\bg_\bz_\bi_\bp_\b__\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bg_\bz_\bi_\bp_\b)\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bZ_\bi_\bp_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bg_\bz_\bi_\bp_\b)\n- * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\be_\bx_\bt_\br_\ba_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bi_\bx_\be_\bd_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) * gte\n+ * _\bg_\be_\bt_\b__\be_\bx_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\be_\b__\ba_\bt_\b__\bb_\br_\bo_\bw_\bs_\be_\br_\b__\bc_\bl_\bo_\bs_\be_\b(_\b)_\b * _\bg_\bz_\bi_\bp_\b__\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bg_\bz_\bi_\bp_\b)\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bG_\bZ_\bi_\bp_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bg_\bz_\bi_\bp_\b)\n+ * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\ba_\bg_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\be_\bx_\bt_\br_\ba_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bi_\bx_\be_\bd_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n * get_flatpages\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bg_\be_\bt_\b__\bF_\bO_\bO_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bi_\bd_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\bs_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bg_\be_\bt_\b__\bF_\bO_\bO_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bi_\bd_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\bs_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b \n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\b__\bk_\bw_\ba_\br_\bg_\bs_\b(_\b)_\b \n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n *\b**\b**\b**\b**\b* H\bH *\b**\b**\b**\b**\b*\n- * _\bh_\ba_\bn_\bd_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bh_\ba_\bn_\bd_\bl_\be_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b]\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\be_\bx_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bh_\ba_\bn_\bd_\bl_\be_\b__\bl_\ba_\bb_\be_\bl_\b(_\b)_\b _\b(_\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\be_\bx_\be_\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bh_\ba_\bn_\bd_\bl_\be_\b__\bn_\bo_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b * _\bh_\bi_\bd_\bd_\be_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bi_\bd_\bd_\be_\bn_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b \n+ * _\bh_\ba_\bn_\bd_\bl_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\b__\ba_\bp_\bp_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b]\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\be_\bx_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\b__\bl_\ba_\bb_\be_\bl_\b(_\b)_\b _\b(_\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\be_\bx_\be_\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\b__\bn_\bo_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b * _\bh_\bi_\bd_\bd_\be_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bi_\bd_\bd_\be_\bn_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b \n * _\bh_\ba_\bn_\bd_\bl_\be_\b__\br_\ba_\bw_\b__\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br\n- _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b0_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b) * _\bh_\bi_\bs_\bt_\bo_\br_\by_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b3_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * HOST\n+ _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b0_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b) * _\bh_\bi_\bs_\bt_\bo_\br_\by_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b3_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * HOST\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b4_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * hour\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b4_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * hour\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b5_\b0_\b0_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bH_\bS_\bt_\bo_\br_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b5_\b0_\b0_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bH_\bS_\bt_\bo_\br_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bh_\ba_\bs_\b__\ba_\bd_\bd_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b * _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bh_\ba_\bs_\b__\ba_\bd_\bd_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b * _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * _\bh_\ba_\bs_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * hstorefield.contained_by\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bh_\ba_\bs_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * hstorefield.contains\n- o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * hstorefield.contained_by\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bh_\ba_\bs_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * hstorefield.contains\n+ o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * _\bh_\ba_\bs_\b__\bd_\be_\bl_\be_\bt_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b * hstorefield.has_any_keys\n- _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * hstorefield.has_key\n- * _\bh_\ba_\bs_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * hstorefield.has_key\n+ * _\bh_\ba_\bs_\b__\be_\br_\br_\bo_\br_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * _\bh_\ba_\bs_\b__\bh_\be_\ba_\bd_\be_\br_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be * hstorefield.has_keys\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * _\bh_\ba_\bs_\b__\bk_\be_\by_\b(_\b)_\b * hstorefield.key\n _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * hstorefield.keys\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * hstorefield.keys\n * _\bh_\ba_\bs_\b__\bm_\bo_\bd_\bu_\bl_\be_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * hstorefield.values\n+ _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * hstorefield.values\n * _\bh_\ba_\bs_\b__\bm_\bo_\bd_\bu_\bl_\be_\b__\bp_\be_\br_\bm_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bm_\bl_\b__\be_\bm_\ba_\bi_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b \n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bm_\bl_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bm_\bl_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bh_\ba_\bs_\b__\bn_\be_\bx_\bt_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- * _\bh_\ba_\bs_\b__\bo_\bt_\bh_\be_\br_\b__\bp_\ba_\bg_\be_\bs_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bm_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bp_\ba_\bt_\bh_\b \n- * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bt_\bp_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bm_\bl_\b__\be_\bm_\ba_\bi_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b \n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bm_\bl_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bm_\bl_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bh_\ba_\bs_\b__\bn_\be_\bx_\bt_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ * _\bh_\ba_\bs_\b__\bo_\bt_\bh_\be_\br_\b__\bp_\ba_\bg_\be_\bs_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bm_\bl_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bp_\ba_\bt_\bh_\b \n+ * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bt_\bp_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\b__\bn_\ba_\bm_\be_\bs_\b \n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw\n- * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\b__\bn_\bo_\bt_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b \n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\b__\bn_\ba_\bm_\be_\bs_\b \n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw\n+ * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\b__\bn_\bo_\bt_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b \n o _\b(_\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\bs_\b(_\b)_\b * _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bB_\ba_\bd_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bh_\ba_\bs_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bh_\ba_\bs_\b__\bu_\bs_\ba_\bb_\bl_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bB_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bF_\bo_\br_\bb_\bi_\bd_\bd_\be_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\bs_\b(_\b)_\b * _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bB_\ba_\bd_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bh_\ba_\bs_\b__\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ * _\bh_\ba_\bs_\b__\bu_\bs_\ba_\bb_\bl_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bB_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bF_\bo_\br_\bb_\bi_\bd_\bd_\be_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * _\bh_\ba_\bs_\b__\bv_\bi_\be_\bw_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bG_\bo_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bH_\ba_\bs_\bh_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bA_\bl_\bl_\bo_\bw_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bh_\ba_\bs_\bz_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bh_\be_\ba_\bd_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bF_\bo_\bu_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bh_\be_\ba_\bd_\be_\br_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bM_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bh_\be_\bi_\bg_\bh_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bP_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs\n- o _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bh_\be_\bi_\bg_\bh_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- * help * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bS_\be_\br_\bv_\be_\br_\bE_\br_\br_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bG_\bo_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bH_\ba_\bs_\bh_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bA_\bl_\bl_\bo_\bw_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bh_\ba_\bs_\bz_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ * _\bh_\be_\ba_\bd_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bF_\bo_\bu_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bh_\be_\ba_\bd_\be_\br_\bs_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bM_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bh_\be_\bi_\bg_\bh_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bP_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b \n+ o _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ * _\bh_\be_\bi_\bg_\bh_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ * help * _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bS_\be_\br_\bv_\be_\br_\bE_\br_\br_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bh_\be_\bl_\bp_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bh_\be_\bl_\bp_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n *\b**\b**\b**\b**\b* I\bI *\b**\b**\b**\b**\b*\n- * _\bi_\b1_\b8_\bn_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bI_\bn_\bt_\be_\bg_\be_\br_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bi_\b1_\b8_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bi_\b1_\b8_\bn_\b__\bp_\ba_\bt_\bt_\be_\br_\bn_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bi_\b1_\b8_\bn_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bI_\bn_\bt_\be_\bg_\be_\br_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bi_\b1_\b8_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bi_\b1_\b8_\bn_\b__\bp_\ba_\bt_\bt_\be_\br_\bn_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b._\bi_\b1_\b8_\bn_\b) * _\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br\n * icontains * _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\bE_\br_\br_\bo_\br\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * INTERNAL_IPS\n- * _\bi_\bd_\b__\bf_\bo_\br_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bi_\bd_\b__\bf_\bo_\br_\b__\bl_\ba_\bb_\be_\bl_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bE_\br_\br_\bo_\br\n- * _\bi_\bd_\be_\bn_\bt_\bi_\bf_\by_\b__\be_\bp_\bs_\bg_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bi\bi_\bn\bn_\bt\bt_\be\be_\br\br_\bn\bn_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\ba\ba_\bl\bl_\bi\bi_\bz\bz_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn\n- * iendswith * _\bi_\bn_\bt_\be_\br_\bp_\bo_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bi_\bd_\b__\bf_\bo_\br_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bi_\bd_\b__\bf_\bo_\br_\b__\bl_\ba_\bb_\be_\bl_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bE_\br_\br_\bo_\br\n+ * _\bi_\bd_\be_\bn_\bt_\bi_\bf_\by_\b__\be_\bp_\bs_\bg_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bi\bi_\bn\bn_\bt\bt_\be\be_\br\br_\bn\bn_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\ba\ba_\bl\bl_\bi\bi_\bz\bz_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn\n+ * iendswith * _\bi_\bn_\bt_\be_\br_\bp_\bo_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bi_\bn_\bt_\be_\br_\bp_\bo_\bl_\ba_\bt_\be_\b__\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\bd_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by\n- * iexact _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bI_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * iexact _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bI_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * if _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * ifchanged o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * ifchanged o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * IGNORABLE_404_URLS o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * IGNORABLE_404_URLS o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * intersects\n- * _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bi_\bm_\ba_\bg_\be_\bs_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\be_\bp_\bs_\bg_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * intword\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bp_\br_\bo_\bj_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be\n+ * _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bi_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bi_\bm_\ba_\bg_\be_\bs_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\be_\bp_\bs_\bg_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * intword\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bp_\br_\bo_\bj_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bm_\bo_\bd_\bu_\bl_\be_\b__\bl_\bo_\ba_\bd_\bi_\bn_\bg_\b) * _\bi_\bn_\bv_\be_\br_\bs_\be_\b__\bf_\bl_\ba_\bt_\bt_\be_\bn_\bi_\bn_\bg_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bu_\bs_\be_\br_\b__\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bi_\bn_\bv_\be_\br_\bs_\be_\b__\bm_\ba_\bt_\bc_\bh_\b _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bw_\bk_\bt_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bx_\bm_\bl_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * iregex\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bu_\bs_\be_\br_\b__\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bi_\bn_\bv_\be_\br_\bs_\be_\b__\bm_\ba_\bt_\bc_\bh_\b _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bw_\bk_\bt_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bm_\bp_\bo_\br_\bt_\b__\bx_\bm_\bl_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * iregex\n * _\bI_\bm_\bp_\br_\bo_\bp_\be_\br_\bl_\by_\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\bd o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * in * _\bi_\br_\bi_\b__\bt_\bo_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * in * _\bi_\br_\bi_\b__\bt_\bo_\b__\bu_\br_\bi_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- * _\bi_\bn_\b__\bb_\bu_\bl_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * iriencode\n+ * _\bi_\bn_\b__\bb_\bu_\bl_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * iriencode\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * include * _\bi_\bs_\b__\b3_\bd_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) * _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b \n- * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br\n- * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bv_\be_\b__\bl_\bo_\bw_\be_\br_\b _\b(_\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bv_\be_\b__\bu_\bp_\bp_\be_\br_\b _\b(_\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bc_\br_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bi_\bs_\b__\ba_\bs_\by_\bn_\bc_\b _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * _\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bd_\be_\bx_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b \n- * _\bi_\bn_\bd_\be_\bx_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bd_\be_\bx_\b__\bt_\bi_\bt_\bl_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bd_\be_\bx_\b__\bt_\by_\bp_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\ba_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bi_\bn_\bd_\be_\bx_\be_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n- * _\bI_\bn_\bf_\bo_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) * _\bi_\bs_\b__\bb_\bo_\bu_\bn_\bd_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bf_\bo_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bc_\bo_\bu_\bn_\bt_\be_\br_\bc_\bl_\bo_\bc_\bk_\bw_\bi_\bs_\be_\b _\b(_\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg\n- * _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn * _\bi_\bs_\b__\bh_\bi_\bd_\bd_\be_\bn_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\bd_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bm_\be_\ba_\bs_\bu_\br_\be_\bd_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bm_\bu_\bl_\bt_\bi_\bp_\ba_\br_\bt_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bn_\ba_\bi_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bi_\bs_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bu_\bs_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bi_\bs_\b__\bp_\br_\bo_\bt_\be_\bc_\bt_\be_\bd_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bi_\bn_\bl_\bi_\bn_\be_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- * _\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bi_\bs_\b__\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) * _\bi_\bs_\b__\br_\be_\bn_\bd_\be_\br_\be_\bd_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * _\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b) * _\bi_\bs_\b__\bs_\be_\bc_\bu_\br_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bn_\bp_\bu_\bt_\b__\bd_\ba_\bt_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd * _\bi_\bs_\b__\bs_\bt_\ba_\bf_\bf_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bi_\bn_\bp_\bu_\bt_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bp_\bu_\bt_\b__\bt_\bi_\bm_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bi_\bs_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * inspectdb * _\bi_\bs_\b__\bv_\bs_\bi_\b__\bb_\ba_\bs_\be_\bd_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * isempty\n- * inspectdb command line option o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be * _\bI_\bs_\bE_\bm_\bp_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bp_\ba_\br_\bt_\bi_\bt_\bi_\bo_\bn_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bv_\bi_\be_\bw_\bs * isnull\n+ * include * _\bi_\bs_\b__\b3_\bd_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b \n+ * _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) _\b(_\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by * _\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bv_\be_\b__\bl_\bo_\bw_\be_\br_\b _\b(_\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bc_\bl_\bu_\bs_\bi_\bv_\be_\b__\bu_\bp_\bp_\be_\br_\b _\b(_\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\ba_\bs_\by_\bn_\bc_\b _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ * _\bi_\bn_\bc_\br_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bi_\bs_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b \n+ * _\bi_\bn_\bd_\be_\bx_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bd_\be_\bx_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bd_\be_\bx_\b__\bt_\bi_\bt_\bl_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\ba_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bi_\bn_\bd_\be_\bx_\b__\bt_\by_\bp_\be_\b _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n+ * _\bi_\bn_\bd_\be_\bx_\be_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bb_\bo_\bu_\bn_\bd_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bI_\bn_\bf_\bo_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) * _\bi_\bs_\b__\bc_\bo_\bu_\bn_\bt_\be_\br_\bc_\bl_\bo_\bc_\bk_\bw_\bi_\bs_\be_\b _\b(_\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg\n+ * _\bi_\bn_\bf_\bo_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bh_\bi_\bd_\bd_\be_\bn_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn * _\bi_\bs_\b__\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\bd_\b(_\b)_\b _\b(_\ba_\bp_\bp_\bs_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bm_\be_\ba_\bs_\bu_\br_\be_\bd_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bm_\bu_\bl_\bt_\bi_\bp_\ba_\br_\bt_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bn_\ba_\bi_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n+ * _\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bi_\bs_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bu_\bs_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b)\n+ * _\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bi_\bs_\b__\bp_\br_\bo_\bt_\be_\bc_\bt_\be_\bd_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ * _\bi_\bn_\bl_\bi_\bn_\be_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bi_\bs_\b__\br_\be_\bn_\bd_\be_\br_\be_\bd_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bi_\bs_\b__\bs_\be_\bc_\bu_\br_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b) * _\bi_\bs_\b__\bs_\bt_\ba_\bf_\bf_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bn_\bp_\bu_\bt_\b__\bd_\ba_\bt_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn\n+ * _\bi_\bn_\bp_\bu_\bt_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bi_\bs_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bi_\bn_\bp_\bu_\bt_\b__\bt_\bi_\bm_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd * _\bi_\bs_\b__\bv_\bs_\bi_\b__\bb_\ba_\bs_\be_\bd_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * isempty\n+ * inspectdb o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bI_\bs_\bE_\bm_\bp_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * inspectdb command line option _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be * isnull\n+ o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bp_\ba_\br_\bt_\bi_\bt_\bi_\bo_\bn_\bs o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bv_\bi_\be_\bw_\bs * iso_week_day\n * INSTALLED_APPS o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * iso_week_day\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * iso_year\n * _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * iso_year\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * istartswith\n * _\bi\bi_\bn\bn_\bs\bs_\bt\bt_\ba\ba_\bn\bn_\bc\bc_\be\be_\b _\bn\bn_\ba\ba_\bm\bm_\be\be_\bs\bs_\bp\bp_\ba\ba_\bc\bc_\be\be o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bi_\bn_\bt_\b__\bl_\bi_\bs_\bt_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * istartswith\n+ * _\bi_\bn_\bt_\b__\bl_\bi_\bs_\bt_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * isvalid\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bi_\bn_\bt_\b__\bt_\bo_\b__\bb_\ba_\bs_\be_\b3_\b6_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * isvalid\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * intcomma * _\bI_\bs_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bi_\bt_\be_\bm_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bt_\be_\bm_\b__\bg_\be_\bo_\bm_\be_\bt_\br_\by_\b(_\b)_\b _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bt_\be_\bm_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bi_\bn_\bt_\b__\bt_\bo_\b__\bb_\ba_\bs_\be_\b3_\b6_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bI_\bs_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * intcomma * _\bi_\bt_\be_\bm_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bi_\bt_\be_\bm_\b__\bg_\be_\bo_\bm_\be_\bt_\br_\by_\b(_\b)_\b _\b(_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bi_\bt_\be_\bm_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * _\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\b(_\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n *\b**\b**\b**\b**\b* J\bJ *\b**\b**\b**\b**\b*\n- * _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * jsonfield.contained_by\n+ * _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * jsonfield.contained_by\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bJ_\bi_\bn_\bj_\ba_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * jsonfield.contains\n+ * _\bJ_\bi_\bn_\bj_\ba_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * jsonfield.contains\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * jsonfield.has_any_keys\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * jsonfield.has_any_keys\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bj_\bi_\bn_\bj_\ba_\b2_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bJ_\bi_\bn_\bj_\ba_\b2_\bD_\bi_\bv_\bF_\bo_\br_\bm_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * jsonfield.has_key\n+ * _\bJ_\bi_\bn_\bj_\ba_\b2_\bD_\bi_\bv_\bF_\bo_\br_\bm_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * jsonfield.has_key\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * join * jsonfield.has_keys\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bj_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * jsonfield.key\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bj_\bs_\bo_\bn_\b(_\b)_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bJ_\bS_\bO_\bN_\bO_\bb_\bj_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bj_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * jsonfield.key\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bj_\bs_\bo_\bn_\b(_\b)_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bJ_\bS_\bO_\bN_\bO_\bb_\bj_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * json_script _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bJ_\bs_\bo_\bn_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bj_\bs_\bo_\bn_\b__\bs_\bc_\br_\bi_\bp_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bJ_\bs_\bo_\bn_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bj_\bs_\bo_\bn_\b__\bs_\bc_\br_\bi_\bp_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- * _\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- * _\bJ_\bS_\bO_\bN_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bJ_\bS_\bO_\bN_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn_\b)\n- * _\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n *\b**\b**\b**\b**\b* K\bK *\b**\b**\b**\b**\b*\n- * _\bk_\be_\be_\bp_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bk_\bm_\bl_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bk_\be_\be_\bp_\b__\bl_\ba_\bz_\by_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bk_\be_\be_\bp_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bk_\bm_\bl_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bk_\be_\be_\bp_\b__\bl_\ba_\bz_\by_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bK_\bT_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\bj_\bs_\bo_\bn_\b)\n * _\bk_\be_\by_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\bk_\bw_\ba_\br_\bg_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bK_\be_\by_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bK_\be_\by_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n *\b**\b**\b**\b**\b* L\bL *\b**\b**\b**\b**\b*\n- * _\bl_\ba_\bb_\be_\bl_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bl_\bi_\bs_\bt_\b__\be_\bd_\bi_\bt_\ba_\bb_\bl_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- o _\b(_\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bl_\bi_\bs_\bt_\b__\bm_\ba_\bx_\b__\bs_\bh_\bo_\bw_\b__\ba_\bl_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- * _\bl_\ba_\bb_\be_\bl_\b__\bl_\bo_\bw_\be_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bl_\ba_\bb_\be_\bl_\b__\bs_\bu_\bf_\bf_\bi_\bx_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\b__\bp_\ba_\bg_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bl_\ba_\bb_\be_\bl_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bl_\bi_\bs_\bt_\b__\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- * _\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b) * _\bl_\bi_\bs_\bt_\bd_\bi_\br_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bL_\ba_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * language * _\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bl_\ba_\bb_\be_\bl_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bi_\bs_\bt_\b__\be_\bd_\bi_\bt_\ba_\bb_\bl_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bi_\bs_\bt_\b__\bm_\ba_\bx_\b__\bs_\bh_\bo_\bw_\b__\ba_\bl_\bl_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ * _\bl_\ba_\bb_\be_\bl_\b__\bl_\bo_\bw_\be_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bl_\ba_\bb_\be_\bl_\b__\bs_\bu_\bf_\bf_\bi_\bx_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\b__\bp_\ba_\bg_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bl_\ba_\bb_\be_\bl_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bl_\bi_\bs_\bt_\b__\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ * _\bL_\ba_\bb_\be_\bl_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b) * _\bl_\bi_\bs_\bt_\bd_\bi_\br_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bL_\ba_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bi_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * language * _\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n * _\bl\bl_\ba\ba_\bn\bn_\bg\bg_\bu\bu_\ba\ba_\bg\bg_\be\be_\b _\bc\bc_\bo\bo_\bd\bd_\be\be * ljust\n * language_bidi o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bl_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * LANGUAGE_CODE * _\bL_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bl_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * LANGUAGE_CODE * _\bL_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n * LANGUAGE_COOKIE_AGE * load\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n * LANGUAGE_COOKIE_DOMAIN * loaddata\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n * LANGUAGE_COOKIE_HTTPONLY * loaddata command line option\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\ba_\bp_\bp\n * LANGUAGE_COOKIE_NAME o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n * LANGUAGE_COOKIE_PATH o _\b-_\b-_\bf_\bo_\br_\bm_\ba_\bt\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bi_\bg_\bn_\bo_\br_\be_\bn_\bo_\bn_\be_\bx_\bi_\bs_\bt_\be_\bn_\bt\n * LANGUAGE_COOKIE_SAMESITE o _\b-_\be\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\bi\n- * LANGUAGE_COOKIE_SECURE * _\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * LANGUAGE_COOKIE_SECURE * _\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\bs_\b._\bb_\ba_\bs_\be_\b)\n- * language_name * _\bl_\bo_\ba_\bd_\be_\br_\b _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\ba_\bd_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * language_name * _\bl_\bo_\ba_\bd_\be_\br_\b _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\ba_\bd_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n * language_name_local _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\bc_\ba_\bl_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n- * language_name_translated _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\bc_\ba_\bl_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * language_name_translated _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\bc_\ba_\bl_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n * LANGUAGES _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bl\bl_\bo\bo_\bc\bc_\ba\ba_\bl\bl_\be\be_\b _\bn\bn_\ba\ba_\bm\bm_\be\be\n- * _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * LOCALE_PATHS\n+ * _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\bs_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * LOCALE_PATHS\n * LANGUAGES_BIDI o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bL_\bo_\bc_\ba_\bl_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bL_\bo_\bc_\ba_\bl_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * last _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bl_\bo_\bc_\ba_\bl_\be_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl\bl_\bo\bo_\bc\bc_\ba\ba_\bl\bl_\bi\bi_\bz\bz_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn\n- * _\bl_\ba_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * localize\n+ * _\bl_\ba_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * localize\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bl_\ba_\bs_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bl_\ba_\bs_\bt_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bl_\ba_\bs_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bl_\ba_\bs_\bt_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b) * localtime\n- * _\bl_\ba_\bs_\bt_\b__\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bl_\ba_\bs_\bt_\bm_\bo_\bd_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bL_\ba_\bs_\bt_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bo_\bc_\ba_\bl_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bl_\ba_\bs_\bt_\b__\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\bl_\ba_\bs_\bt_\bm_\bo_\bd_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bL_\ba_\bs_\bt_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bc_\ba_\bl_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n- * _\bl_\ba_\bt_\b__\bl_\bo_\bn_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be\n- * _\bl_\ba_\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bl_\ba_\bt_\b__\bl_\bo_\bn_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be\n+ * _\bl_\ba_\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\b(_\bI_\bn_\bM_\be_\bm_\bo_\br_\by_\bS_\bt_\bo_\br_\ba_\bg_\be\n- * _\bl_\ba_\bt_\be_\bs_\bt_\b__\bp_\bo_\bs_\bt_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bL_\ba_\by_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bo_\bc_\bm_\be_\bm_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bl_\ba_\bt_\be_\bs_\bt_\b__\bp_\bo_\bs_\bt_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bL_\ba_\by_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bc_\bm_\be_\bm_\b._\bL_\bo_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\bs_\b)\n- * _\bl_\ba_\by_\be_\br_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bL_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bl_\ba_\by_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bo_\bg_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bl_\ba_\by_\be_\br_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bL_\bo_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bl_\ba_\by_\be_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bg_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b) * LOGGING\n- * _\bL_\be_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bL_\be_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * LOGGING_CONFIG\n- * _\bl_\be_\ba_\br_\bn_\b__\bc_\ba_\bc_\bh_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bL_\be_\ba_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bl_\be_\ba_\br_\bn_\b__\bc_\ba_\bc_\bh_\be_\b__\bk_\be_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bL_\be_\ba_\bs_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n * left * _\bl_\bo_\bg_\bi_\bn_\b__\bf_\bo_\br_\bm_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bL_\be_\bf_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bo_\bg_\bi_\bn_\b__\bn_\bo_\bt_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- * _\bl_\be_\bg_\be_\bn_\bd_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * LOGIN_REDIRECT_URL\n- * length o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bL_\be_\bn_\bg_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bl_\bo_\bg_\bi_\bn_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * LOGIN_URL\n- * _\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bl_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bl_\bo_\bg_\bi_\bn_\b__\bu_\br_\bl_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn\n- o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bl_\bi_\bm_\bi_\bt_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs\n- * _\bl_\bi_\bm_\bi_\bt_\b__\bc_\bh_\bo_\bi_\bc_\be_\bs_\b__\bt_\bo_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bi_\bn\n- o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n- * _\bl_\bi_\bn_\be_\ba_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be * _\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b)\n- * _\bl_\bi_\bn_\be_\ba_\br_\b__\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be * _\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n- * _\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * linebreaks _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * LOGOUT_REDIRECT_URL\n- * linebreaksbr o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bl_\bo_\bg_\bo_\bu_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n- * _\bL_\bi_\bn_\be_\bL_\bo_\bc_\ba_\bt_\be_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bl_\bo_\bg_\bo_\bu_\bt_\b__\bt_\bh_\be_\bn_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * linenumbers _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) * _\bl_\bo_\bn_\b__\bl_\ba_\bt_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bL\bL_\bo\bo_\bn\bn_\bg\bg_\b-\b-_\bt\bt_\be\be_\br\br_\bm\bm_\b _\bs\bs_\bu\bu_\bp\bp_\bp\bp_\bo\bo_\br\br_\bt\bt_\b _\br\br_\be\be_\bl\bl_\be\be_\ba\ba_\bs\bs_\be\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bL_\bo_\bo_\bk_\bu_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bl_\bo_\bo_\bk_\bu_\bp_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bl_\bo_\bo_\bk_\bu_\bp_\b__\bn_\ba_\bm_\be_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\bl_\bi_\bn_\bk_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn * _\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bL_\be_\bf_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bg_\bi_\bn_\b__\bn_\bo_\bt_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bl_\be_\bg_\be_\bn_\bd_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ * length * LOGIN_REDIRECT_URL\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bL_\be_\bn_\bg_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bg_\bi_\bn_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * LOGIN_URL\n+ * _\bl_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bo_\bg_\bi_\bn_\b__\bu_\br_\bl_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn\n+ * _\bl_\bi_\bm_\bi_\bt_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bl_\bi_\bm_\bi_\bt_\b__\bc_\bh_\bo_\bi_\bc_\be_\bs_\b__\bt_\bo_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be\n+ o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bi_\bn\n+ * _\bl_\bi_\bn_\be_\ba_\br_\b__\bn_\ba_\bm_\be_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bl_\bi_\bn_\be_\ba_\br_\b__\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * linebreaks o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * linebreaksbr * LOGOUT_REDIRECT_URL\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bL_\bi_\bn_\be_\bL_\bo_\bc_\ba_\bt_\be_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bg_\bo_\bu_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * linenumbers * _\bl_\bo_\bg_\bo_\bu_\bt_\b__\bt_\bh_\be_\bn_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n+ * _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bn_\b__\bl_\ba_\bt_\b(_\b)_\b _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b) * _\bL\bL_\bo\bo_\bn\bn_\bg\bg_\b-\b-_\bt\bt_\be\be_\br\br_\bm\bm_\b _\bs\bs_\bu\bu_\bp\bp_\bp\bp_\bo\bo_\br\br_\bt\bt_\b _\br\br_\be\be_\bl\bl_\be\be_\ba\ba_\bs\bs_\be\be\n+ * _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bL_\bo_\bo_\bk_\bu_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bl_\bo_\bo_\bk_\bu_\bp_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bo_\bo_\bk_\bu_\bp_\b__\bn_\ba_\bm_\be_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\bl_\bi_\bn_\bk_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b \n+ _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n * lorem\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n * lower\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bL_\bo_\bw_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bL_\bo_\bw_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bL_\bP_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bL_\bP_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n * lt\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n * lte\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bL_\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bL_\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n *\b**\b**\b**\b**\b* M\bM *\b**\b**\b**\b**\b*\n- * _\bm_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n- * _\bm_\ba_\bi_\bl_\b__\ba_\bd_\bm_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bm_\ba_\bi_\bl_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bm_\ba_\bk_\be_\b__\ba_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bm_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n+ * _\bm_\ba_\bi_\bl_\b__\ba_\bd_\bm_\bi_\bn_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bm_\ba_\bi_\bl_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bm_\ba_\bk_\be_\b__\ba_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * make_list _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\br_\bo_\bt_\be_\bc_\bt_\be_\bd_\bE_\br_\br_\bo_\br\n- * _\bm_\ba_\bk_\be_\b__\bn_\ba_\bi_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bm_\ba_\bk_\be_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b _\b(_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b)\n- * _\bm_\ba_\bk_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bR_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd_\bE_\br_\br_\bo_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b)\n- * _\bm_\ba_\bk_\be_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bM_\ba_\bk_\be_\bL_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bm_\ba_\bk_\be_\b__\bn_\ba_\bi_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bm_\ba_\bk_\be_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b _\b(_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b)\n+ * _\bm_\ba_\bk_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bR_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd_\bE_\br_\br_\bo_\br\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bh_\ba_\bs_\bh_\be_\br_\bs_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b)\n+ * _\bm_\ba_\bk_\be_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bM_\ba_\bk_\be_\bL_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * makemessages _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bm_\bo_\bd_\be_\bl_\bs_\b__\bm_\bo_\bd_\bu_\bl_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * makemessages command line option * _\bm_\bo_\bd_\bi_\bf_\by_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- o _\b-_\b-_\ba_\bd_\bd_\b-_\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bm_\bo_\bd_\be_\bl_\bs_\b__\bm_\bo_\bd_\bu_\bl_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * makemessages command line option * _\bm_\bo_\bd_\bi_\bf_\by_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ o _\b-_\b-_\ba_\bd_\bd_\b-_\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\b-_\b-_\ba_\bl_\bl * module\n o _\b-_\b-_\bd_\bo_\bm_\ba_\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs\n o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs\n o _\b-_\b-_\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b._\bi_\b1_\b8_\bn\n o _\b-_\b-_\bi_\bg_\bn_\bo_\br_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn\n o _\b-_\b-_\bk_\be_\be_\bp_\b-_\bp_\bo_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\bd_\bo_\bc_\bs\n o _\b-_\b-_\bl_\bo_\bc_\ba_\bl_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh\n@@ -2007,890 +2007,895 @@\n o _\b-_\b-_\bn_\ba_\bm_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs\n o _\b-_\b-_\bn_\bo_\b-_\bh_\be_\ba_\bd_\be_\br o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs\n o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl\n o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bi_\bp_\b2\n o _\b-_\b-_\bs_\bc_\br_\bi_\bp_\bt_\ba_\bb_\bl_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs\n o _\b-_\b-_\bu_\bp_\bd_\ba_\bt_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be\n o _\b-_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bg_\be_\bo_\bj_\bs_\bo_\bn\n- * _\bM_\ba_\bk_\be_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs\n+ * _\bM_\ba_\bk_\be_\bV_\ba_\bl_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\ba_\by_\be_\br_\bm_\ba_\bp_\bp_\bi_\bn_\bg\n- * _\bm_\ba_\bn_\ba_\bg_\be_\bd_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b._\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt\n- * _\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n+ * _\bm_\ba_\bn_\ba_\bg_\be_\bd_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b._\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt\n+ * _\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n * MANAGERS o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\bm_\ba_\bn_\ba_\bg_\be_\br_\bs_\b._\bC_\bu_\br_\br_\be_\bn_\bt_\bS_\bi_\bt_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\bt_\be_\bs_\bt\n+ * _\bm_\ba_\bn_\ba_\bg_\be_\br_\bs_\b._\bC_\bu_\br_\br_\be_\bn_\bt_\bS_\bi_\bt_\be_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\bt_\be_\bs_\bt\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n * _\bm_\ba_\bn_\bi_\bf_\be_\bs_\bt_\b__\bh_\ba_\bs_\bh_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n * _\bm_\ba_\bn_\bi_\bf_\be_\bs_\bt_\b__\bs_\bt_\br_\bi_\bc_\bt_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs\n- * _\bm_\ba_\bn_\by_\b__\bt_\bo_\b__\bm_\ba_\bn_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n- * _\bm_\ba_\bn_\by_\b__\bt_\bo_\b__\bo_\bn_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs\n- * _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs\n- * _\bm_\ba_\bp_\b__\bs_\br_\bi_\bd_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\bm_\ba_\bp_\bp_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs\n- * _\bm_\ba_\br_\bk_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs\n- * _\bm_\ba_\bt_\bc_\bh_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\bM_\ba_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs\n- * _\bm_\ba_\bx_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n- * _\bm_\ba_\bx_\b__\bd_\bi_\bg_\bi_\bt_\bs_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs\n- * _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bB_\bi_\bn_\ba_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n- o _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be\n- o _\b(_\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be\n- * _\bm_\ba_\bx_\b__\bn_\bu_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs\n+ * _\bm_\ba_\bn_\by_\b__\bt_\bo_\b__\bm_\ba_\bn_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n+ * _\bm_\ba_\bn_\by_\b__\bt_\bo_\b__\bo_\bn_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs\n+ * _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs\n+ * _\bm_\ba_\bp_\b__\bs_\br_\bi_\bd_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ * _\bm_\ba_\bp_\bp_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs\n+ * _\bm_\ba_\br_\bk_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs\n+ * _\bm_\ba_\bt_\bc_\bh_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ * _\bM_\ba_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs\n+ * _\bm_\ba_\bx_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n+ * _\bm_\ba_\bx_\b__\bd_\bi_\bg_\bi_\bt_\bs_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs\n+ * _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bB_\bi_\bn_\ba_\br_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n+ o _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be\n+ o _\b(_\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be\n+ * _\bm_\ba_\bx_\b__\bn_\bu_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br\n * _\bm_\ba_\bx_\b__\bp_\bo_\bs_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bp_\ba_\bs_\bs_\be_\bs_\b o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl\n- _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt\n- * _\bm_\ba_\bx_\b__\br_\ba_\bn_\bd_\bo_\bm_\b__\bb_\by_\bt_\be_\bs_\b _\b(_\bG_\bZ_\bi_\bp_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br\n- * _\bm_\ba_\bx_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n- o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg\n- o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n- * _\bm_\ba_\bx_\b__\bx_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb\n- * _\bm_\ba_\bx_\b__\by_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n- * _\bM_\ba_\bx_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bs_\bc_\bh_\be_\bm_\ba\n- * _\bM_\ba_\bx_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n- * _\bM_\bD_\b5_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n- * _\bm_\be_\ba_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs\n- * MEDIA_ROOT o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs\n- * MEDIA_URL o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\bj_\bs_\bo_\bn\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\br_\be_\bl_\ba_\bt_\be_\bd\n- * _\bM_\be_\bm_\bo_\br_\by_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs\n- * _\bM_\be_\bm_\bS_\bi_\bz_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bl_\bo_\bo_\bk_\bu_\bp_\bs\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bo_\bp_\bt_\bi_\bo_\bn_\bs\n- * _\bm_\be_\br_\bg_\be_\bd_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n- * _\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn\n- * _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh\n- o _\b(_\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs\n- o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs\n- * _\bm\bm_\be\be_\bs\bs_\bs\bs_\ba\ba_\bg\bg_\be\be_\b _\bf\bf_\bi\bi_\bl\bl_\be\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs\n- * MESSAGE_LEVEL o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs\n- * MESSAGE_STORAGE o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp\n- * MESSAGE_TAGS o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\ba_\bc_\bh_\be\n- * _\bm_\be_\bs_\bs_\ba_\bg_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n- * _\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bs_\br_\bf\n- * _\bM_\bE_\bT_\bA_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bg_\bz_\bi_\bp\n- * _\bm_\be_\bt_\ba_\bd_\ba_\bt_\ba_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bh_\bt_\bt_\bp\n- o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bl_\bo_\bc_\ba_\bl_\be\n- * _\bm_\be_\bt_\bh_\bo_\bd_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bs_\be_\bc_\bu_\br_\bi_\bt_\by\n- * _\bm_\be_\bt_\bh_\bo_\bd_\b__\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n- * MIDDLEWARE o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo\n- * _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bj_\bi_\bn_\bj_\ba_\b2\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br\n- * _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\bN_\bo_\bt_\bU_\bs_\be_\bd o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\br_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * migrate o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n- * migrate command line option o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs\n- o _\b-_\b-_\bc_\bh_\be_\bc_\bk o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs\n- o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b._\bc_\bo_\bn_\bf\n- o _\b-_\b-_\bf_\ba_\bk_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs\n- o _\b-_\b-_\bf_\ba_\bk_\be_\b-_\bi_\bn_\bi_\bt_\bi_\ba_\bl o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be\n- o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be\n- o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs\n- o _\b-_\b-_\bp_\bl_\ba_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg\n- o _\b-_\b-_\bp_\br_\bu_\bn_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br\n- o _\b-_\b-_\br_\bu_\bn_\b-_\bs_\by_\bn_\bc_\bd_\bb o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl\n- * MIGRATION_MODULES o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp\n- * _\bM_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg\n- * _\bm_\bi_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bm_\bo_\bd_\bu_\bl_\be_\b__\bl_\bo_\ba_\bd_\bi_\bn_\bg\n- * _\bm_\bi_\bn_\b__\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt\n- * _\bm_\bi_\bn_\b__\bn_\bu_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be\n- * _\bm_\bi_\bn_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn\n- o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs\n- o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be\n- * _\bm_\bi_\bn_\b__\bx_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bo_\bm_\bm_\bo_\bn\n- * _\bm_\bi_\bn_\b__\by_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf\n- * _\bM_\bi_\bn_\bi_\bm_\bu_\bm_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bg_\bz_\bi_\bp\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp\n- * _\bM_\bi_\bn_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by\n- * minute o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn\n- * _\bM_\bi_\bn_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bm_\bo_\bd_\bu_\bl_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bm_\bi_\bs_\bs_\bi_\bn_\bg_\b__\ba_\br_\bg_\bs_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * month\n- * _\bM_\bI_\bX_\bE_\bD_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bM_\bo_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\bm_\bo_\bn_\bt_\bh_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * MONTH_DAY_FORMAT\n- * _\bm\bm_\bo\bo_\bd\bd_\be\be_\bl\bl o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bm_\bo_\bn_\bt_\bh_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bm_\bo_\bd_\be_\bl_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bm_\bo_\bn_\bt_\bh_\bs_\b _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bM\bM_\bT\bT_\bV\bV\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bM_\bo_\bd_\be_\bl_\b._\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bM_\bo_\bd_\be_\bl_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bs_\bR_\be_\bt_\bu_\br_\bn_\be_\bd o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bm_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b__\bc_\bh_\bu_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bs_\bR_\be_\bt_\bu_\br_\bn_\be_\bd\n- * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bM\bM_\bV\bV_\bC\bC\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bI_\bn_\bl_\bi_\bn_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt\n+ * _\bm_\ba_\bx_\b__\br_\ba_\bn_\bd_\bo_\bm_\b__\bb_\by_\bt_\be_\bs_\b _\b(_\bG_\bZ_\bi_\bp_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br\n+ * _\bm_\ba_\bx_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n+ o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg\n+ o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n+ * _\bm_\ba_\bx_\b__\bx_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb\n+ * _\bm_\ba_\bx_\b__\by_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n+ * _\bM_\ba_\bx_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bs_\bc_\bh_\be_\bm_\ba\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n+ * _\bM_\ba_\bx_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n+ * _\bM_\bD_\b5_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs\n+ * _\bm_\be_\ba_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n+ * MEDIA_ROOT o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\bj_\bs_\bo_\bn\n+ * MEDIA_URL o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\br_\be_\bl_\ba_\bt_\be_\bd\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n+ * _\bM_\be_\bm_\bo_\br_\by_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bl_\bo_\bo_\bk_\bu_\bp_\bs\n+ * _\bM_\be_\bm_\bS_\bi_\bz_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bo_\bp_\bt_\bi_\bo_\bn_\bs\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n+ * _\bm_\be_\br_\bg_\be_\bd_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn\n+ * _\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh\n+ * _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs\n+ o _\b(_\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs\n+ o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bf_\bo_\br_\bm_\bs_\be_\bt_\bs\n+ * _\bm\bm_\be\be_\bs\bs_\bs\bs_\ba\ba_\bg\bg_\be\be_\b _\bf\bf_\bi\bi_\bl\bl_\be\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs\n+ * MESSAGE_LEVEL o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs\n+ * MESSAGE_STORAGE o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ * MESSAGE_TAGS o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\ba_\bc_\bh_\be\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n+ * _\bm_\be_\bs_\bs_\ba_\bg_\be_\b__\bu_\bs_\be_\br_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn\n+ * _\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bs_\br_\bf\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bg_\bz_\bi_\bp\n+ * _\bM_\bE_\bT_\bA_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bh_\bt_\bt_\bp\n+ * _\bm_\be_\bt_\ba_\bd_\ba_\bt_\ba_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bl_\bo_\bc_\ba_\bl_\be\n+ o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bs_\be_\bc_\bu_\br_\bi_\bt_\by\n+ * _\bm_\be_\bt_\bh_\bo_\bd_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs\n+ * _\bm_\be_\bt_\bh_\bo_\bd_\b__\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n+ * MIDDLEWARE o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bj_\bi_\bn_\bj_\ba_\b2\n+ * _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\br_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ * _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\bN_\bo_\bt_\bU_\bs_\be_\bd o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt\n+ * migrate o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs\n+ * migrate command line option o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs\n+ o _\b-_\b-_\bc_\bh_\be_\bc_\bk o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b._\bc_\bo_\bn_\bf\n+ o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs\n+ o _\b-_\b-_\bf_\ba_\bk_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be\n+ o _\b-_\b-_\bf_\ba_\bk_\be_\b-_\bi_\bn_\bi_\bt_\bi_\ba_\bl o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be\n+ o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs\n+ o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg\n+ o _\b-_\b-_\bp_\bl_\ba_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br\n+ o _\b-_\b-_\bp_\br_\bu_\bn_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl\n+ o _\b-_\b-_\br_\bu_\bn_\b-_\bs_\by_\bn_\bc_\bd_\bb o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl\n+ * MIGRATION_MODULES o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg\n+ * _\bM_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bm_\bo_\bd_\bu_\bl_\be_\b__\bl_\bo_\ba_\bd_\bi_\bn_\bg\n+ * _\bm_\bi_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg\n+ * _\bm_\bi_\bn_\b__\bl_\be_\bn_\bg_\bt_\bh_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be\n+ * _\bm_\bi_\bn_\b__\bn_\bu_\bm_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn\n+ * _\bm_\bi_\bn_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs\n+ o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be\n+ o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bo_\bm_\bm_\bo_\bn\n+ * _\bm_\bi_\bn_\b__\bx_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf\n+ * _\bm_\bi_\bn_\b__\by_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bg_\bz_\bi_\bp\n+ * _\bM_\bi_\bn_\bi_\bm_\bu_\bm_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by\n+ * _\bM_\bi_\bn_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn\n+ * minute * _\bm_\bo_\bd_\bu_\bl_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * month\n+ * _\bM_\bi_\bn_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bm_\bi_\bs_\bs_\bi_\bn_\bg_\b__\ba_\br_\bg_\bs_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bm_\bo_\bn_\bt_\bh_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bM_\bI_\bX_\bE_\bD_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * MONTH_DAY_FORMAT\n+ * _\bM_\bo_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bm_\bo_\bd_\be_\b _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bm_\bo_\bn_\bt_\bh_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bm\bm_\bo\bo_\bd\bd_\be\be_\bl\bl * _\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bm_\bo_\bn_\bt_\bh_\bs_\b _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn * _\bM\bM_\bT\bT_\bV\bV\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\b._\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bm_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b__\bc_\bh_\bu_\bn_\bk_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bs_\bR_\be_\bt_\bu_\br_\bn_\be_\bd o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\b__\bc_\bl_\ba_\bs_\bs_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bs_\bR_\be_\bt_\bu_\br_\bn_\be_\bd\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) * _\bM\bM_\bV\bV_\bC\bC\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bI_\bn_\bl_\bi_\bn_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n- * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n+ * _\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b)\n *\b**\b**\b**\b**\b* N\bN *\b**\b**\b**\b**\b*\n- * NAME * _\bN_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\b__\bE_\bR_\bR_\bO_\bR_\bS_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * NAME * _\bN_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\b__\bE_\bR_\bR_\bO_\bR_\bS_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bn_\ba_\bm_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\bn_\b__\bf_\bi_\be_\bl_\bd_\b__\be_\br_\br_\bo_\br_\bs_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt * _\bn_\bo_\bn_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\bo_\bp_\b _\b(_\bR_\bu_\bn_\bS_\bQ_\bL_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\bo_\bp_\b(_\b)_\b _\b(_\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bn_\ba_\bm_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\bn_\b__\bf_\bi_\be_\bl_\bd_\b__\be_\br_\br_\bo_\br_\bs_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt * _\bn_\bo_\bn_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\bo_\bp_\b _\b(_\bR_\bu_\bn_\bS_\bQ_\bL_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\bo_\bp_\b(_\b)_\b _\b(_\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bs_\bt_\ba_\bt_\bi_\bc_\bo_\b)\n o _\b(_\bC_\br_\be_\ba_\bt_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn * _\bN_\bo_\bR_\be_\bv_\be_\br_\bs_\be_\bM_\ba_\bt_\bc_\bh\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b__\be_\bm_\ba_\bi_\bl_\b(_\b)_\b \n- o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b \n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bN_\bo_\bt_\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\bE_\br_\br_\bo_\br\n- o _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * now\n- o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bN_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bo_\bw_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn * _\bn_\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bN_\bt_\bh_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bN_\bt_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh * _\bn_\bu_\bl_\bl_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bN_\bu_\bl_\bl_\bB_\bo_\bo_\bl_\be_\ba_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh * _\bN_\bu_\bl_\bl_\bB_\bo_\bo_\bl_\be_\ba_\bn_\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * naturalday * _\bN_\bu_\bl_\bl_\bI_\bf_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * naturaltime * _\bn_\bu_\bl_\bl_\bs_\b__\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bN_\bE_\bV_\bE_\bR_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs * _\bn_\bu_\bm_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bu_\bm_\b__\bc_\bo_\bo_\br_\bd_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bn_\be_\bv_\be_\br_\b__\bc_\ba_\bc_\bh_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bn_\bu_\bm_\b__\bf_\be_\ba_\bt_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bn_\be_\bw_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br * _\bn_\bu_\bm_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bn_\be_\bw_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b * _\bn_\bu_\bm_\b__\bg_\be_\bo_\bm_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt * _\bn_\bu_\bm_\b__\bi_\bn_\bt_\be_\br_\bi_\bo_\br_\b__\br_\bi_\bn_\bg_\bs_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bu_\bm_\b__\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bn_\be_\bx_\bt_\b__\bp_\ba_\bg_\be_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bu_\bm_\b__\bp_\ba_\bg_\be_\bs_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bn_\bu_\bm_\b__\bp_\bo_\bi_\bn_\bt_\bs_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bn_\be_\bx_\bt_\b__\bp_\ba_\bg_\be_\b__\bn_\bu_\bm_\bb_\be_\br_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be * _\bn_\bu_\bm_\bb_\be_\br_\b _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * NUMBER_GROUPING\n- * _\bn_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bn_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bN_\bu_\bm_\be_\br_\bi_\bc_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bn_\bo_\b__\ba_\bp_\bp_\be_\bn_\bd_\b__\bs_\bl_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bN_\bu_\bm_\bG_\be_\bo_\bm_\be_\bt_\br_\bi_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bN_\bO_\b__\bO_\bT_\bH_\bE_\bR_\bS_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn * _\bN_\bu_\bm_\bP_\bo_\bi_\bn_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bn_\bo_\bd_\ba_\bt_\ba_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bn_\bo_\bn_\b__\ba_\bt_\bo_\bm_\bi_\bc_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn\n- _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b__\be_\bm_\ba_\bi_\bl_\b(_\b)_\b \n+ o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b(_\b)_\b \n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba\n+ o _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bo_\bt_\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\bE_\br_\br_\bo_\br\n+ o _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * now\n+ o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bo_\bw_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bt_\bh_\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh * _\bN_\bt_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bs_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh * _\bn_\bu_\bl_\bl_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bu_\bl_\bl_\bB_\bo_\bo_\bl_\be_\ba_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * naturalday _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bN_\bu_\bl_\bl_\bB_\bo_\bo_\bl_\be_\ba_\bn_\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * naturaltime _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bN_\bu_\bl_\bl_\bI_\bf_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bN_\bE_\bV_\bE_\bR_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bS_\bh_\bo_\bw_\bF_\ba_\bc_\be_\bt_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bu_\bl_\bl_\bs_\b__\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n+ * _\bn_\be_\bv_\be_\br_\b__\bc_\ba_\bc_\bh_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bn_\bu_\bm_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\be_\bw_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br * _\bn_\bu_\bm_\b__\bc_\bo_\bo_\br_\bd_\bs_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\be_\bw_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b * _\bn_\bu_\bm_\b__\bf_\be_\ba_\bt_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt * _\bn_\bu_\bm_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bF_\be_\ba_\bt_\bu_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\be_\bx_\bt_\b__\bp_\ba_\bg_\be_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bu_\bm_\b__\bg_\be_\bo_\bm_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bn_\bu_\bm_\b__\bi_\bn_\bt_\be_\br_\bi_\bo_\br_\b__\br_\bi_\bn_\bg_\bs_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\be_\bx_\bt_\b__\bp_\ba_\bg_\be_\b__\bn_\bu_\bm_\bb_\be_\br_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be * _\bn_\bu_\bm_\b__\bi_\bt_\be_\bm_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bn_\bu_\bm_\b__\bp_\ba_\bg_\be_\bs_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bn_\bu_\bm_\b__\bp_\bo_\bi_\bn_\bt_\bs_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) * _\bn_\bu_\bm_\bb_\be_\br_\b _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bn_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * NUMBER_GROUPING\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bn_\bo_\b__\ba_\bp_\bp_\be_\bn_\bd_\b__\bs_\bl_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b) * _\bN_\bu_\bm_\be_\br_\bi_\bc_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bN_\bO_\b__\bO_\bT_\bH_\bE_\bR_\bS_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bu_\bm_\bG_\be_\bo_\bm_\be_\bt_\br_\bi_\be_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bn_\bo_\bd_\ba_\bt_\ba_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bN_\bu_\bm_\bP_\bo_\bi_\bn_\bt_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bn_\bo_\bn_\b__\ba_\bt_\bo_\bm_\bi_\bc_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n *\b**\b**\b**\b**\b* O\bO *\b**\b**\b**\b**\b*\n * _\bo_\bb_\bj_\be_\bc_\bt_\b * OPTIONS\n _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw * _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bh_\bi_\bs_\bt_\bo_\br_\by_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn * _\bO_\br_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bi_\bd_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bo_\br_\bd_\be_\br_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bo_\br_\bd_\be_\br_\b__\bw_\bi_\bt_\bh_\b__\br_\be_\bs_\bp_\be_\bc_\bt_\b__\bt_\bo_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bo_\bb_\bj_\be_\bc_\bt_\b__\br_\be_\bp_\br_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bo_\br_\bd_\be_\br_\be_\bd_\b _\b(_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bO_\bb_\bj_\be_\bc_\bt_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b _\b(_\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bo_\bg_\br_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * ogrinspect * _\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw * _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bh_\bi_\bs_\bt_\bo_\br_\by_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn * _\bO_\br_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bi_\bd_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt_\b _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bo_\br_\bd_\be_\br_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)_\b _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bo_\br_\bd_\be_\br_\b__\bw_\bi_\bt_\bh_\b__\br_\be_\bs_\bp_\be_\bc_\bt_\b__\bt_\bo_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bo_\bb_\bj_\be_\bc_\bt_\b__\br_\be_\bp_\br_\b _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bo_\br_\bd_\be_\br_\be_\bd_\b _\b(_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bO_\bb_\bj_\be_\bc_\bt_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b _\b(_\bA_\br_\br_\ba_\by_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ * _\bo_\bg_\br_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bJ_\bS_\bO_\bN_\bB_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b) o _\b(_\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * ogrinspect * _\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b__\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * ordinal\n * ogrinspect command line option o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\b-_\b-_\bb_\bl_\ba_\bn_\bk * _\bO_\br_\bi_\bg_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bs_\be_\b)\n- o _\b-_\b-_\bd_\be_\bc_\bi_\bm_\ba_\bl * _\bo_\br_\bi_\bg_\bi_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bg_\be_\bo_\bm_\b-_\bn_\ba_\bm_\be * _\bo_\br_\bp_\bh_\ba_\bn_\bs_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bl_\ba_\by_\be_\br * _\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\b-_\b-_\bb_\bl_\ba_\bn_\bk * _\bO_\br_\bi_\bg_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bb_\ba_\bs_\be_\b)\n+ o _\b-_\b-_\bd_\be_\bc_\bi_\bm_\ba_\bl * _\bo_\br_\bi_\bg_\bi_\bn_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bg_\be_\bo_\bm_\b-_\bn_\ba_\bm_\be * _\bo_\br_\bp_\bh_\ba_\bn_\bs_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bl_\ba_\by_\be_\br * _\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\b-_\b-_\bm_\ba_\bp_\bp_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs_\b)\n- o _\b-_\b-_\bm_\bu_\bl_\bt_\bi_\b-_\bg_\be_\bo_\bm * _\bo_\bu_\bt_\bd_\bi_\bm_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bn_\ba_\bm_\be_\b-_\bf_\bi_\be_\bl_\bd o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bn_\bo_\b-_\bi_\bm_\bp_\bo_\br_\bt_\bs * _\bO_\bu_\bt_\be_\br_\bR_\be_\bf_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b-_\b-_\bn_\bu_\bl_\bl * _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b-_\b-_\bs_\br_\bi_\bd o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bo_\bn_\b__\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bo_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * overlaps\n- * _\bo_\bn_\be_\b__\bt_\bo_\b__\bm_\ba_\bn_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bo_\bn_\be_\b__\bt_\bo_\b__\bo_\bn_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bO_\bn_\be_\bT_\bo_\bO_\bn_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\bl_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b-_\b-_\bm_\bu_\bl_\bt_\bi_\b-_\bg_\be_\bo_\bm * _\bo_\bu_\bt_\bd_\bi_\bm_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bn_\ba_\bm_\be_\b-_\bf_\bi_\be_\bl_\bd o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bn_\bo_\b-_\bi_\bm_\bp_\bo_\br_\bt_\bs * _\bO_\bu_\bt_\be_\br_\bR_\be_\bf_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b-_\b-_\bn_\bu_\bl_\bl * _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bG_\be_\bn_\be_\br_\ba_\bt_\be_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b-_\b-_\bs_\br_\bi_\bd o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bo_\bn_\b__\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bo_\bn_\b__\bd_\be_\bl_\be_\bt_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * overlaps\n+ * _\bo_\bn_\be_\b__\bt_\bo_\b__\bm_\ba_\bn_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bo_\bn_\be_\b__\bt_\bo_\b__\bo_\bn_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bo_\bv_\be_\br_\bl_\ba_\bp_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bO_\bn_\be_\bT_\bo_\bO_\bn_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bo_\bn_\bl_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * overlaps_above\n- * _\bO_\bp_\bC_\bl_\ba_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bO_\bp_\bC_\bl_\ba_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b) * overlaps_below\n- * _\bo_\bp_\bc_\bl_\ba_\bs_\bs_\be_\bs_\b _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * overlaps_left\n- * _\bo_\bp_\be_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * overlaps_right\n- o _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n- * _\bO_\bp_\be_\bn_\bL_\ba_\by_\be_\br_\bs_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs_\b) * _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * _\bo_\bp_\bc_\bl_\ba_\bs_\bs_\be_\bs_\b _\b(_\bI_\bn_\bd_\be_\bx_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * overlaps_left\n+ * _\bo_\bp_\be_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * overlaps_right\n+ o _\b(_\bG_\be_\bo_\bI_\bP_\b2_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b)\n+ * _\bO_\bp_\be_\bn_\bL_\ba_\by_\be_\br_\bs_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bw_\bi_\bd_\bg_\be_\bt_\bs_\b) * _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n * _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\bE_\br_\br_\bo_\br\n- * _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bb_\ba_\bs_\be_\b)\n * optimizemigration\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n * optimizemigration command line option\n o _\b-_\b-_\bc_\bh_\be_\bc_\bk\n *\b**\b**\b**\b**\b* P\bP *\b**\b**\b**\b**\b*\n- * _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs_\b _\b(_\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bp_\bo_\bp_\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bP_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b) * _\bp_\bo_\bp_\bu_\bp_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * PORT\n+ * _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs_\b _\b(_\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\bC_\ba_\bt_\ba_\bl_\bo_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bp_\bo_\bp_\bi_\bt_\be_\bm_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bP_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b) * _\bp_\bo_\bp_\bu_\bp_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\ba_\bg_\be_\b(_\b)_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * PORT\n * _\bp_\ba_\bg_\be_\b__\bk_\bw_\ba_\br_\bg_\b o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bP_\ba_\bg_\be_\bN_\bo_\bt_\bA_\bn_\bI_\bn_\bt_\be_\bg_\be_\br * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bS_\bm_\ba_\bl_\bl_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bP_\bO_\bS_\bT_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bp_\bo_\bs_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bo_\br_\bp_\bh_\ba_\bn_\bs_\b o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw\n- * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b) * _\bp_\bo_\bs_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b(_\b)_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be\n- * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bp_\bo_\bs_\bt_\b__\br_\be_\bs_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n- o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b * _\bp_\bo_\bs_\bt_\b__\br_\be_\bs_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b__\bb_\ba_\bc_\bk_\be_\bn_\bd_\b \n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * POSTGIS_VERSION\n- * _\bp_\ba_\br_\be_\bn_\bt_\b__\bl_\bi_\bn_\bk_\b _\b(_\bO_\bn_\be_\bT_\bo_\bO_\bn_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bp_\ba_\br_\bs_\be_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bP_\bo_\bw_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * pprint\n- * _\bp_\ba_\br_\bs_\be_\b__\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * _\bp_\br_\be_\b__\bi_\bn_\bi_\bt_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\br_\bs_\be_\b__\bd_\bu_\br_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\br_\bs_\be_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * _\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * PASSWORD * _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bd_\bo_\bn_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bp_\br_\be_\bf_\bi_\bx_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bp_\br_\be_\bp_\ba_\br_\be_\b__\br_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * PASSWORD_HASHERS * _\bp_\br_\be_\bp_\ba_\br_\be_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * PASSWORD_RESET_TIMEOUT _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * PREPEND_WWW\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bm_\bo_\bd_\bu_\bl_\be * _\bp_\br_\be_\bp_\bo_\bp_\bu_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bp_\br_\be_\bs_\be_\br_\bv_\be_\b__\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bp_\br_\be_\bt_\bt_\by_\b__\bw_\bk_\bt_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bp_\ba_\bg_\be_\b__\bn_\bu_\bm_\bb_\be_\br_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bi_\bm_\ba_\br_\by_\b__\bk_\be_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bi_\bo_\br_\bi_\bt_\by_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b(_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\bh_\bs_\b(_\b)_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\br_\bh_\bs_\b(_\b)_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b(_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bv_\bi_\be_\bw_\b(_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bP_\br_\bo_\bg_\br_\ba_\bm_\bm_\bi_\bn_\bg_\bE_\br_\br_\bo_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bo_\bj_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bo_\bj_\b4_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp\bp_\br\br_\bo\bo_\bj\bj_\be\be_\bc\bc_\bt\bt\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bo_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bj_\be_\bc_\bt_\b__\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\bd_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bo_\bj_\be_\bc_\bt_\be_\bd_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp\bp_\br\br_\bo\bo_\bp\bp_\be\be_\br\br_\bt\bt_\by\by\n- * _\bP\bP_\ba\ba_\bt\bt_\bc\bc_\bh\bh_\b _\br\br_\be\be_\bl\bl_\be\be_\ba\ba_\bs\bs_\be\be * _\bP_\bR_\bO_\bT_\bE_\bC_\bT_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bp_\ba_\bt_\bc_\bh_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bp_\br_\bo_\bt_\bo_\bc_\bo_\bl_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b]\n- * _\bp_\ba_\bt_\bc_\bh_\b__\bc_\ba_\bc_\bh_\be_\b__\bc_\bo_\bn_\bt_\br_\bo_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bp_\br_\bo_\bx_\by_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bt_\bc_\bh_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bp_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bp_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bp_\ba_\bt_\bc_\bh_\b__\bv_\ba_\br_\by_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bp_\ba_\bt_\bh_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * Python Enhancement Proposals\n- o _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bP_\bE_\bP_\b _\b2_\b0\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bP_\bE_\bP_\b _\b2_\b3_\b4\n- * _\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) o _\bP_\bE_\bP_\b _\b2_\b4_\b9, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b]\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bP_\bE_\bP_\b _\b2_\b4_\b9_\b#_\bo_\bp_\bt_\bi_\bo_\bn_\ba_\bl_\b-_\bt_\bw_\bo_\b-_\bp_\bh_\ba_\bs_\be_\b-_\bc_\bo_\bm_\bm_\bi_\bt_\b-\n- * _\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\bs\n- * _\bp_\ba_\bt_\bt_\be_\br_\bn_\b__\bn_\ba_\bm_\be_\b o _\bP_\bE_\bP_\b _\b2_\b5_\b7\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw o _\bP_\bE_\bP_\b _\b2_\b7_\b8, _\b[_\b1_\b]\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bP_\bE_\bP_\b _\b3_\b1_\b3_\b4\n- * _\bp_\be_\br_\b__\bp_\ba_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bP_\bE_\bP_\b _\b3_\b1_\b8\n- * _\bP_\be_\br_\bc_\be_\bn_\bt_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3, _\b[_\b1_\b], _\b[_\b2_\b]\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\be_\bn_\bv_\bi_\br_\bo_\bn_\b-_\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs, _\b[_\b1_\b]\n- * _\bP_\be_\br_\bi_\bm_\be_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b-_\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs_\b-_\bt_\bh_\ba_\bt_\b-_\bp_\bl_\ba_\by_\b-\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bb_\bo_\bt_\bh_\b-_\bs_\bi_\bd_\be_\bs\n- * _\bp_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\b o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\bo_\bp_\bt_\bi_\bo_\bn_\ba_\bl_\b-_\bp_\bl_\ba_\bt_\bf_\bo_\br_\bm_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b-_\bf_\bi_\bl_\be_\b-\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw _\bh_\ba_\bn_\bd_\bl_\bi_\bn_\bg\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bP_\bE_\bP_\b _\b3_\b4_\b3\n- * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn o _\bP_\bE_\bP_\b _\b4_\b2_\b0\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bP_\bE_\bP_\b _\b4_\b4_\b0, _\b[_\b1_\b]\n- * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bP_\bE_\bP_\b _\b4_\b8_\b7\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) o _\bP_\bE_\bP_\b _\b4_\b9_\b2\n- * _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bD_\be_\bn_\bi_\be_\bd o _\bP_\bE_\bP_\b _\b6_\b5_\b7\n- * _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b6_\b7_\b8\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b) o _\bP_\bE_\bP_\b _\b8, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b]\n- * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\bP_\bA_\bT_\bH, _\b[_\b1_\b], _\b[_\b2_\b]\n- o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\bS_\bT_\bA_\bR_\bT_\bU_\bP\n- * _\bP_\be_\br_\bs_\bi_\bs_\bt_\be_\bn_\bt_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bP_\bY_\bT_\bH_\bO_\bN_\bU_\bT_\bF_\b8\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\bW_\bA_\bR_\bN_\bI_\bN_\bG_\bS\n- * _\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bP_\ba_\bg_\be_\bN_\bo_\bt_\bA_\bn_\bI_\bn_\bt_\be_\bg_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by_\b * _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bS_\bm_\ba_\bl_\bl_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bP_\bO_\bS_\bT_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bo_\br_\bp_\bh_\ba_\bn_\bs_\b * _\bp_\bo_\bs_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b)_\b o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bB_\ba_\bs_\be_\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n+ * _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bp_\bo_\bs_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b(_\b)_\b _\b(_\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be\n+ o _\b(_\bP_\ba_\bg_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bp_\bo_\bs_\bt_\b__\br_\be_\bs_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n+ * _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn * _\bp_\bo_\bs_\bt_\b__\br_\be_\bs_\be_\bt_\b__\bl_\bo_\bg_\bi_\bn_\b__\bb_\ba_\bc_\bk_\be_\bn_\bd_\b \n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\ba_\br_\be_\bn_\bt_\b__\bl_\bi_\bn_\bk_\b _\b(_\bO_\bn_\be_\bT_\bo_\bO_\bn_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * POSTGIS_VERSION\n+ * _\bp_\ba_\br_\bs_\be_\b__\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * _\bP_\bo_\bw_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bp_\ba_\br_\bs_\be_\b__\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * pprint\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\bp_\ba_\br_\bs_\be_\b__\bd_\bu_\br_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\br_\be_\b__\bi_\bn_\bi_\bt_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) * _\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bp_\ba_\br_\bs_\be_\b__\bt_\bi_\bm_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\ba_\bt_\be_\bp_\ba_\br_\bs_\be_\b) o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * PASSWORD * _\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bd_\bo_\bn_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be * _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bp_\br_\be_\bf_\bi_\bx_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * PASSWORD_HASHERS * _\bp_\br_\be_\bp_\ba_\br_\be_\b__\br_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bp_\br_\be_\bp_\ba_\br_\be_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * PASSWORD_RESET_TIMEOUT * _\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl * PREPEND_WWW\n+ _\bm_\bo_\bd_\bu_\bl_\bo o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bp_\br_\be_\bp_\bo_\bp_\bu_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\br_\be_\bs_\be_\br_\bv_\be_\b__\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bp_\br_\be_\bt_\bt_\by_\b__\bw_\bk_\bt_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs_\b__\bp_\ba_\bg_\be_\b__\bn_\bu_\bm_\bb_\be_\br_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bi_\bm_\ba_\br_\by_\b__\bk_\be_\by_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\bi_\bo_\br_\bi_\bt_\by_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b(_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\bh_\bs_\b(_\b)_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\br_\bh_\bs_\b(_\b)_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b(_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bv_\bi_\be_\bw_\b(_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bP_\br_\bo_\bg_\br_\ba_\bm_\bm_\bi_\bn_\bg_\bE_\br_\br_\bo_\br\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\bo_\bj_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bo_\bj_\b4_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp\bp_\br\br_\bo\bo_\bj\bj_\be\be_\bc\bc_\bt\bt\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bp_\br_\bo_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bp_\br_\bo_\bj_\be_\bc_\bt_\b__\bn_\bo_\br_\bm_\ba_\bl_\bi_\bz_\be_\bd_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) * _\bp_\br_\bo_\bj_\be_\bc_\bt_\be_\bd_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bP\bP_\ba\ba_\bt\bt_\bc\bc_\bh\bh_\b _\br\br_\be\be_\bl\bl_\be\be_\ba\ba_\bs\bs_\be\be * _\bp\bp_\br\br_\bo\bo_\bp\bp_\be\be_\br\br_\bt\bt_\by\by\n+ * _\bp_\ba_\bt_\bc_\bh_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bP_\bR_\bO_\bT_\bE_\bC_\bT_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bp_\ba_\bt_\bc_\bh_\b__\bc_\ba_\bc_\bh_\be_\b__\bc_\bo_\bn_\bt_\br_\bo_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\br_\bo_\bt_\bo_\bc_\bo_\bl_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) o _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\ba_\bt_\bc_\bh_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\br_\bo_\bx_\by_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bp_\bu_\bs_\bh_\b(_\b)_\b _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bp_\ba_\bt_\bc_\bh_\b__\bv_\ba_\br_\by_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bp_\bu_\bt_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bc_\ba_\bc_\bh_\be_\b) o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n+ * _\bp_\ba_\bt_\bh_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] * Python Enhancement Proposals\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b2_\b0\n+ * _\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) o _\bP_\bE_\bP_\b _\b2_\b3_\b4\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bP_\bE_\bP_\b _\b2_\b4_\b9, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b]\n+ * _\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b2_\b4_\b9_\b#_\bo_\bp_\bt_\bi_\bo_\bn_\ba_\bl_\b-_\bt_\bw_\bo_\b-_\bp_\bh_\ba_\bs_\be_\b-_\bc_\bo_\bm_\bm_\bi_\bt_\b-\n+ * _\bp_\ba_\bt_\bt_\be_\br_\bn_\b__\bn_\ba_\bm_\be_\b _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\bs\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw o _\bP_\bE_\bP_\b _\b2_\b5_\b7\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b2_\b7_\b8, _\b[_\b1_\b]\n+ * _\bp_\be_\br_\b__\bp_\ba_\bg_\be_\b _\b(_\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b3_\b1_\b3_\b4\n+ * _\bP_\be_\br_\bc_\be_\bn_\bt_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b3_\b1_\b8\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3, _\b[_\b1_\b], _\b[_\b2_\b]\n+ * _\bP_\be_\br_\bi_\bm_\be_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\be_\bn_\bv_\bi_\br_\bo_\bn_\b-_\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs, _\b[_\b1_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b-_\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs_\b-_\bt_\bh_\ba_\bt_\b-_\bp_\bl_\ba_\by_\b-\n+ * _\bp_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\b _\bb_\bo_\bt_\bh_\b-_\bs_\bi_\bd_\be_\bs\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw o _\bP_\bE_\bP_\b _\b3_\b3_\b3_\b3_\b#_\bo_\bp_\bt_\bi_\bo_\bn_\ba_\bl_\b-_\bp_\bl_\ba_\bt_\bf_\bo_\br_\bm_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b-_\bf_\bi_\bl_\be_\b-\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bh_\ba_\bn_\bd_\bl_\bi_\bn_\bg\n+ * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\bd_\be_\bn_\bi_\be_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn o _\bP_\bE_\bP_\b _\b3_\b4_\b3\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b4_\b2_\b0\n+ * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bP_\bE_\bP_\b _\b4_\b4_\b0, _\b[_\b1_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b) o _\bP_\bE_\bP_\b _\b4_\b8_\b7\n+ * _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bD_\be_\bn_\bi_\be_\bd o _\bP_\bE_\bP_\b _\b4_\b9_\b2\n+ * _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bP_\bE_\bP_\b _\b6_\b5_\b7\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b) o _\bP_\bE_\bP_\b _\b6_\b7_\b8\n+ * _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bG_\br_\bo_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bP_\bE_\bP_\b _\b8, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b]\n+ o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\bP_\bA_\bT_\bH, _\b[_\b1_\b], _\b[_\b2_\b]\n+ * _\bP_\be_\br_\bs_\bi_\bs_\bt_\be_\bn_\bt_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bP_\bY_\bT_\bH_\bO_\bN_\bS_\bT_\bA_\bR_\bT_\bU_\bP\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) * _\bP_\bY_\bT_\bH_\bO_\bN_\bU_\bT_\bF_\b8\n+ * _\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bP_\bY_\bT_\bH_\bO_\bN_\bW_\bA_\bR_\bN_\bI_\bN_\bG_\bS\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bp_\bg_\be_\bt_\bt_\be_\bx_\bt_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n * phone2numeric\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bP_\bi_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bp_\bi_\bx_\be_\bl_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\bk_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bP_\bi_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bp_\bi_\bx_\be_\bl_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\bk_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * _\bp_\bk_\b__\bu_\br_\bl_\b__\bk_\bw_\ba_\br_\bg_\b \n _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * pluralize\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\bo_\bi_\bn_\bt_\b__\bo_\bn_\b__\bs_\bu_\br_\bf_\ba_\bc_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bP_\bo_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bp_\bo_\bi_\bn_\bt_\b__\bo_\bn_\b__\bs_\bu_\br_\bf_\ba_\bc_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bP_\bo_\bi_\bn_\bt_\bO_\bn_\bS_\bu_\br_\bf_\ba_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bP_\bo_\bi_\bn_\bt_\bO_\bn_\bS_\bu_\br_\bf_\ba_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bP_\bo_\bl_\by_\bg_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bP_\bo_\bl_\by_\bg_\bo_\bn_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bp_\bo_\bp_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bp_\bo_\bp_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n *\b**\b**\b**\b**\b* Q\bQ *\b**\b**\b**\b**\b*\n- * _\bQ_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b)\n+ * _\bQ_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b)\n * quarter * _\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b \n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bq_\bu_\be_\br_\by_\b__\bp_\bk_\b__\ba_\bn_\bd_\b__\bs_\bl_\bu_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bq_\bu_\be_\br_\by_\b__\bp_\bk_\b__\ba_\bn_\bd_\b__\bs_\bl_\bu_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bq_\bu_\be_\br_\by_\b__\bs_\bt_\br_\bi_\bn_\bg_\b o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw o _\b(_\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * querystring\n- * _\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bq_\bu_\be_\br_\by_\b__\bs_\bt_\br_\bi_\bn_\bg_\b o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw o _\b(_\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * querystring\n+ * _\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n * _\bq\bq_\bu\bu_\be\be_\br\br_\by\by_\bs\bs_\be\be_\bt\bt\n *\b**\b**\b**\b**\b* R\bR *\b**\b**\b**\b**\b*\n- * _\bR_\ba_\bd_\bi_\ba_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\br_\be_\bn_\bd_\be_\br_\b__\bt_\bo_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b(_\b)_\b \n- * _\br_\ba_\bd_\bi_\bo_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- * _\bR_\ba_\bd_\bi_\bo_\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\br_\ba_\bi_\bs_\be_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bn_\bd_\be_\br_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * random _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\br_\be_\bn_\bd_\be_\br_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bR_\ba_\bn_\bd_\bo_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\br_\be_\bn_\bd_\be_\br_\be_\bd_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * _\bR_\ba_\bn_\bd_\bo_\bm_\bU_\bU_\bI_\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\br_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * range o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\be_\bp_\be_\ba_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\ba_\bn_\bg_\be_\b__\bt_\by_\bp_\be_\b * _\bR_\be_\bp_\bl_\ba_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bB_\ba_\bs_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd * _\br_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bA_\bb_\bo_\br_\bt_\be_\bd\n- o _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b)\n- * _\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bF_\ba_\bc_\bt_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\br_\be_\bq_\bu_\be_\bs_\bt_\bs_\b._\bR_\be_\bq_\bu_\be_\bs_\bt_\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\ba_\bl_\bl_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * rangefield.adjacent_to * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bG_\bE_\bT_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * rangefield.contained_by * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * rangefield.contains * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bP_\bO_\bS_\bT_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * rangefield.endswith * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * rangefield.fully_gt * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * rangefield.fully_lt * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bd_\bb_\b__\bf_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bd_\bb_\b__\bv_\be_\bn_\bd_\bo_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * rangefield.isempty * _\bR_\bE_\bQ_\bU_\bI_\bR_\bE_\bD_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\be_\bq_\bu_\bi_\br_\be_\bD_\be_\bb_\bu_\bg_\bF_\ba_\bl_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b)\n- * rangefield.lower_inc * _\bR_\be_\bq_\bu_\bi_\br_\be_\bD_\be_\bb_\bu_\bg_\bT_\br_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * rangefield.lower_inf _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b__\bc_\bh_\be_\bc_\bk_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\n- * rangefield.not_gt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bc_\bh_\be_\bc_\bk_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * rangefield.not_lt * _\br_\be_\bs_\be_\bt_\b__\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\bs_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\be_\bt_\b__\bu_\br_\bl_\b__\bt_\bo_\bk_\be_\bn_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n- * rangefield.overlap _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * resetcycle\n- * rangefield.startswith o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\bo_\bl_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n- * rangefield.upper_inc * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * rangefield.upper_inf * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * _\bR_\ba_\bn_\bg_\be_\bM_\ba_\bx_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\b4_\b0_\b4\n- * _\bR_\ba_\bn_\bg_\be_\bM_\bi_\bn_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\br_\be_\bs_\bo_\bl_\bv_\be_\br_\b__\bm_\ba_\bt_\bc_\bh_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bR_\ba_\bn_\bg_\be_\bO_\bp_\be_\br_\ba_\bt_\bo_\br_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * _\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\ba_\bd_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bc_\bh_\ba_\bn_\bg_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bc_\bl_\ba_\bs_\bs_\b \n- * _\bR_\ba_\bs_\bt_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\br_\ba_\bw_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bg_\bo_\bn_\be_\b__\bc_\bl_\ba_\bs_\bs_\b \n- o _\b(_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\br_\ba_\bw_\b__\bi_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\bR_\ba_\bw_\bS_\bQ_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\b(_\bL_\bo_\bc_\ba_\bl_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\br_\be_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) o _\b(_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- * _\br_\be_\ba_\bd_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bE_\bS_\bT_\bR_\bI_\bC_\bT_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\br_\be_\ba_\bd_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\be_\bv_\be_\br_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\br_\be_\ba_\bd_\by_\b _\b(_\ba_\bp_\bp_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\br_\be_\ba_\bd_\by_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n- * _\br_\be_\ba_\bs_\bo_\bn_\b__\bp_\bh_\br_\ba_\bs_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n- o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\br_\be_\bc_\be_\bi_\bv_\be_\b__\bd_\ba_\bt_\ba_\b__\bc_\bh_\bu_\bn_\bk_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br * RFC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b1_\b0_\b3_\b4, _\b[_\b1_\b], _\b[_\b2_\b]\n- * _\br_\be_\bc_\be_\bi_\bv_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b) o _\bR_\bF_\bC_\b _\b1_\b0_\b3_\b5\n- * _\br_\be_\bc_\bu_\br_\bs_\bi_\bv_\be_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] o _\bR_\bF_\bC_\b _\b1_\b1_\b2_\b3_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b1_\b4\n- * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) o _\bR_\bF_\bC_\b _\b1_\b8_\b6_\b6\n- * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b__\bu_\bs_\be_\br_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw o _\bR_\bF_\bC_\b _\b2_\b0_\b4_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b1\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b2_\b3_\b8_\b8_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n- * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b2_\b6_\b1_\b6, _\b[_\b1_\b], _\b[_\b2_\b]\n- o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b2_\b9_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n- o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b3_\b6_\b9_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3\n- o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6\n- * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bt_\bo_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b2\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b2_\b._\b2\n- * _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7\n- * _\br_\be_\bf_\br_\be_\bs_\bh_\b__\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b1, _\b[_\b1_\b]\n- * regex o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b2, _\b[_\b1_\b]\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\bR_\bF_\bC_\b _\b4_\b2_\b8_\b7, _\b[_\b1_\b]\n- * _\br_\be_\bg_\be_\bx_\b _\b(_\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b4_\b2_\b9_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b2_\b._\b2, _\b[_\b1_\b]\n- o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bR_\bF_\bC_\b _\b4_\b6_\b4_\b8_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5\n- * _\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bR_\bF_\bC_\b _\b5_\b3_\b2_\b2_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b3\n- * _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b]\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b4_\b._\b1_\b._\b2_\b._\b6, _\b[_\b1_\b]\n- * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b6_\b._\b1\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b6, _\b[_\b1_\b]\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1\n- * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b7_\b._\b1_\b._\b1_\b._\b1\n- * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\bl_\bo_\bo_\bk_\bu_\bp_\b(_\b)_\b o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b7_\b._\b1_\b._\b4\n- _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b2\n- * _\bR_\be_\bg_\br_\bA_\bv_\bg_\bX_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b4_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b4_\b._\b2_\b._\b2\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b4_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b2_\b._\b2\n- * _\bR_\be_\bg_\br_\bA_\bv_\bg_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b9_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n+ * _\bR_\ba_\bd_\bi_\ba_\bn_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\be_\bn_\bd_\be_\br_\b__\bt_\bo_\b__\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b(_\b)_\b \n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ * _\br_\ba_\bd_\bi_\bo_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bR_\ba_\bd_\bi_\bo_\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\br_\be_\bn_\bd_\be_\br_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\br_\ba_\bi_\bs_\be_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b)\n+ * random * _\br_\be_\bn_\bd_\be_\br_\b__\bv_\ba_\bl_\bu_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bI_\bn_\bp_\bu_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\br_\be_\bn_\bd_\be_\br_\be_\bd_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ * _\bR_\ba_\bn_\bd_\bo_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bR_\ba_\bn_\bd_\bo_\bm_\bU_\bU_\bI_\bD_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\be_\bn_\bd_\be_\br_\be_\br_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * range * _\bR_\be_\bp_\be_\ba_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\be_\bp_\bl_\ba_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\ba_\bn_\bg_\be_\b__\bt_\by_\bp_\be_\b * _\br_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b._\bB_\ba_\bs_\be_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bA_\bb_\bo_\br_\bt_\be_\bd\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b)\n+ o _\b(_\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bR_\be_\bq_\bu_\be_\bs_\bt_\bF_\ba_\bc_\bt_\bo_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\be_\bq_\bu_\be_\bs_\bt_\bs_\b._\bR_\be_\bq_\bu_\be_\bs_\bt_\bS_\bi_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\ba_\bl_\bl_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bG_\bE_\bT_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * rangefield.adjacent_to _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * rangefield.contained_by _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bP_\bO_\bS_\bT_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * rangefield.contains _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\b__\bs_\ba_\bf_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * rangefield.endswith _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.fully_gt * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bc_\bs_\bs_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bd_\bb_\b__\bf_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.fully_lt * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\bd_\bb_\b__\bv_\be_\bn_\bd_\bo_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\bE_\bQ_\bU_\bI_\bR_\bE_\bD_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.isempty * _\bR_\be_\bq_\bu_\bi_\br_\be_\bD_\be_\bb_\bu_\bg_\bF_\ba_\bl_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\be_\bq_\bu_\bi_\br_\be_\bD_\be_\bb_\bu_\bg_\bT_\br_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bl_\bo_\bg_\b)\n+ * rangefield.lower_inc * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf_\b)\n+ * rangefield.lower_inf * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b__\bc_\bh_\be_\bc_\bk_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.not_gt * _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bc_\bh_\be_\bc_\bk_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\be_\bt_\b__\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\bs_\b _\b(_\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.not_lt * _\br_\be_\bs_\be_\bt_\b__\bu_\br_\bl_\b__\bt_\bo_\bk_\be_\bn_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * rangefield.overlap * resetcycle\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * rangefield.startswith * _\br_\be_\bs_\bo_\bl_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ * rangefield.upper_inc _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * rangefield.upper_inf * _\br_\be_\bs_\bo_\bl_\bv_\be_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bM_\ba_\bx_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\b4_\b0_\b4\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\br_\be_\bs_\bo_\bl_\bv_\be_\br_\b__\bm_\ba_\bt_\bc_\bh_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bM_\bi_\bn_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bO_\bp_\be_\br_\ba_\bt_\bo_\br_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\ba_\bd_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bR_\ba_\bn_\bg_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bc_\bh_\ba_\bn_\bg_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bc_\bl_\ba_\bs_\bs_\b \n+ * _\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n+ * _\bR_\ba_\bs_\bt_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\br_\ba_\bw_\b(_\b)_\b _\b(_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\bg_\bo_\bn_\be_\b__\bc_\bl_\ba_\bs_\bs_\b \n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b(_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\br_\ba_\bw_\b__\bi_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b__\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bc_\bl_\ba_\bs_\bs_\b _\b(_\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bR_\ba_\bw_\bS_\bQ_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bL_\bo_\bc_\ba_\bl_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\b(_\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ * _\br_\be_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\br_\be_\ba_\bd_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bR_\bE_\bS_\bT_\bR_\bI_\bC_\bT_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bR_\be_\bv_\be_\br_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\br_\be_\ba_\bd_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\br_\be_\ba_\bd_\by_\b _\b(_\ba_\bp_\bp_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n+ * _\br_\be_\ba_\bd_\by_\b(_\b)_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b__\bl_\ba_\bz_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b)\n+ * _\br_\be_\ba_\bs_\bo_\bn_\b__\bp_\bh_\br_\ba_\bs_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\br_\be_\bv_\be_\br_\bs_\be_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * RFC\n+ * _\br_\be_\bc_\be_\bi_\bv_\be_\b__\bd_\ba_\bt_\ba_\b__\bc_\bh_\bu_\bn_\bk_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br o _\bR_\bF_\bC_\b _\b1_\b0_\b3_\b4, _\b[_\b1_\b], _\b[_\b2_\b]\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bR_\bF_\bC_\b _\b1_\b0_\b3_\b5\n+ * _\br_\be_\bc_\be_\bi_\bv_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b) o _\bR_\bF_\bC_\b _\b1_\b1_\b2_\b3_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b1_\b4\n+ * _\br_\be_\bc_\bu_\br_\bs_\bi_\bv_\be_\b _\b(_\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bR_\bF_\bC_\b _\b1_\b8_\b6_\b6\n+ * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b) o _\bR_\bF_\bC_\b _\b2_\b0_\b4_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b1\n+ * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b__\bu_\bs_\be_\br_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw o _\bR_\bF_\bC_\b _\b2_\b3_\b8_\b8_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b2_\b6_\b1_\b6, _\b[_\b1_\b], _\b[_\b2_\b]\n+ * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bA_\bc_\bc_\be_\bs_\bs_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b2_\b9_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n+ o _\b(_\bL_\bo_\bg_\bi_\bn_\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b3_\b6_\b9_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3\n+ o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6\n+ o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b2\n+ * _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bt_\bo_\b__\bl_\bo_\bg_\bi_\bn_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b6_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b2_\b._\b2\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bv_\bi_\be_\bw_\bs_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7\n+ * _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b1, _\b[_\b1_\b]\n+ * _\br_\be_\bf_\br_\be_\bs_\bh_\b__\bf_\br_\bo_\bm_\b__\bd_\bb_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bR_\bF_\bC_\b _\b3_\b9_\b8_\b7_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b2, _\b[_\b1_\b]\n+ * regex o _\bR_\bF_\bC_\b _\b4_\b2_\b8_\b7, _\b[_\b1_\b]\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\bR_\bF_\bC_\b _\b4_\b2_\b9_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b2_\b._\b2, _\b[_\b1_\b]\n+ * _\br_\be_\bg_\be_\bx_\b _\b(_\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b4_\b6_\b4_\b8_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5\n+ o _\b(_\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bR_\bF_\bC_\b _\b5_\b3_\b2_\b2_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b3_\b._\b3\n+ * _\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b]\n+ * _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b4_\b._\b1_\b._\b2_\b._\b6, _\b[_\b1_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b5_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b6_\b._\b1\n+ * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bR_\bF_\bC_\b _\b6_\b2_\b6_\b6, _\b[_\b1_\b]\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b7_\b._\b1_\b._\b1_\b._\b1\n+ * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b7_\b._\b1_\b._\b4\n+ * _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\bl_\bo_\bo_\bk_\bu_\bp_\b(_\b)_\b o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b2\n+ _\b(_\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b._\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b4_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b4_\b._\b2_\b._\b2\n+ _\bc_\bl_\ba_\bs_\bs_\be_\b) o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b4_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b2_\b._\b2\n+ * _\bR_\be_\bg_\br_\bA_\bv_\bg_\bX_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b7_\b2_\b3_\b9_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b3\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b7_\b9_\b1_\b4\n- * _\bR_\be_\bg_\br_\bC_\bo_\bu_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b7_\b9_\b4_\b6, _\b[_\b1_\b]\n+ * _\bR_\be_\bg_\br_\bA_\bv_\bg_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b7_\b9_\b4_\b6, _\b[_\b1_\b]\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b2_\b._\b5_\b._\b5, _\b[_\b1_\b], _\b[_\b2_\b]\n- * _\bR_\be_\bg_\br_\bI_\bn_\bt_\be_\br_\bc_\be_\bp_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b1\n+ * _\bR_\be_\bg_\br_\bC_\bo_\bu_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b1\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b2\n- * regroup o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b3\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b4\n- * _\bR_\be_\bg_\br_\bR_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5, _\b[_\b1_\b], _\b[_\b2_\b]\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5_\b._\b1, _\b[_\b1_\b]\n- * _\bR_\be_\bg_\br_\bS_\bl_\bo_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5_\b._\b4_\b._\b5\n+ * _\bR_\be_\bg_\br_\bI_\bn_\bt_\be_\br_\bc_\be_\bp_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b3\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b3_\b._\b1_\b._\b4\n+ * regroup o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5, _\b[_\b1_\b], _\b[_\b2_\b]\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5_\b._\b1, _\b[_\b1_\b]\n+ * _\bR_\be_\bg_\br_\bR_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5_\b._\b4_\b._\b5\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b1_\b5_\b._\b5_\b._\b4\n- * _\bR_\be_\bg_\br_\bS_\bX_\bX_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b6_\b._\b7\n+ * _\bR_\be_\bg_\br_\bS_\bl_\bo_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b6_\b._\b7\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b8_\b._\b8_\b._\b1\n- * _\bR_\be_\bg_\br_\bS_\bX_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b8_\b._\b8_\b._\b3, _\b[_\b1_\b]\n+ * _\bR_\be_\bg_\br_\bS_\bX_\bX_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b8_\b._\b8_\b._\b3, _\b[_\b1_\b]\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b9_\b._\b2_\b._\b1, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b]\n- * _\bR_\be_\bg_\br_\bS_\bY_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b9_\b._\b3_\b._\b4\n+ * _\bR_\be_\bg_\br_\bS_\bX_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b9_\b._\b3_\b._\b4\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b0_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b9_\b._\b3_\b._\b8\n- * _\br_\be_\bl_\b__\bd_\bb_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b1\n- * _\br_\be_\bl_\ba_\bb_\be_\bl_\be_\bd_\b__\bc_\bl_\bo_\bn_\be_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b2_\b._\b1\n- * relate * _\br_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * right\n- * _\br_\be_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\br_\be_\bl_\ba_\bt_\be_\b__\bp_\ba_\bt_\bt_\be_\br_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bi_\bg_\bh_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bm_\bo_\bd_\be_\bl_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\bi_\bn_\bg_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * rjust\n- o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bq_\bu_\be_\br_\by_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\bo_\bo_\bt_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * ROOT_URLCONF\n- * _\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\br_\be_\bl_\ba_\bt_\be_\bd_\b) * _\bR_\bo_\bu_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\bo_\bu_\bt_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bR_\bo_\bw_\bN_\bu_\bm_\bb_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) * _\bR_\bo_\bw_\bR_\ba_\bn_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b)\n- * _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bR_\bP_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) * _\bR_\bs_\bs_\b2_\b0_\b1_\br_\be_\bv_\b2_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bR_\bE_\bM_\bO_\bV_\bA_\bL_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bs_\bs_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- * _\br_\be_\bm_\bo_\bv_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bR_\bs_\bs_\bU_\bs_\be_\br_\bl_\ba_\bn_\bd_\b0_\b9_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- * _\br_\be_\bm_\bo_\bv_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\bR_\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\bu_\bn_\b__\bc_\bh_\be_\bc_\bk_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\br_\be_\bm_\bo_\bv_\be_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\br_\bu_\bn_\b__\bs_\bu_\bi_\bt_\be_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\bu_\bn_\b__\bt_\be_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * remove_stale_contenttypes * _\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * remove_stale_contenttypes command line option * runserver\n- o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bs_\bt_\ba_\bl_\be_\b-_\ba_\bp_\bp_\bs * runserver command line option\n- * _\br_\be_\bm_\bo_\bv_\be_\b__\bt_\br_\ba_\bi_\bl_\bi_\bn_\bg_\b__\bn_\bu_\bl_\bl_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd o _\b-_\b-_\bi_\bn_\bs_\be_\bc_\bu_\br_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bi_\bp_\bv_\b6\n- * _\bR_\be_\bm_\bo_\bv_\be_\bC_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b-_\b-_\bn_\bo_\br_\be_\bl_\bo_\ba_\bd\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b-_\b-_\bn_\bo_\bs_\bt_\ba_\bt_\bi_\bc\n- * _\bR_\be_\bm_\bo_\bv_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b-_\b-_\bn_\bo_\bt_\bh_\br_\be_\ba_\bd_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b-_\b6\n- * _\bR_\be_\bm_\bo_\bv_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bR_\bu_\bn_\bS_\bQ_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bR_\be_\bm_\bo_\bv_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bR_\be_\bg_\br_\bS_\bY_\bY_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b1\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b) o _\bR_\bF_\bC_\b _\b9_\b1_\b1_\b1_\b#_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b-_\b5_\b._\b2_\b._\b2_\b._\b1\n+ * _\br_\be_\bl_\b__\bd_\bb_\b__\bt_\by_\bp_\be_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\bh_\bs_\b _\b(_\bL_\bo_\bo_\bk_\bu_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\br_\be_\bl_\ba_\bb_\be_\bl_\be_\bd_\b__\bc_\bl_\bo_\bn_\be_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * right\n+ * relate o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bR_\bi_\bg_\bh_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\be_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\bi_\bn_\bg_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\br_\be_\bl_\ba_\bt_\be_\b__\bp_\ba_\bt_\bt_\be_\br_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * rjust\n+ * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bm_\bo_\bd_\be_\bl_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\br_\bo_\bo_\bt_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bq_\bu_\be_\br_\by_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * ROOT_URLCONF\n+ o _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bR_\bo_\bu_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\br_\bo_\bu_\bt_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs_\b._\br_\be_\bl_\ba_\bt_\be_\bd_\b) * _\bR_\bo_\bw_\bN_\bu_\bm_\bb_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bR_\bo_\bw_\bR_\ba_\bn_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b) * _\bR_\bP_\ba_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bR_\bs_\bs_\b2_\b0_\b1_\br_\be_\bv_\b2_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n+ * _\bR_\bE_\bM_\bO_\bV_\bA_\bL_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bR_\bs_\bs_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n+ * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bR_\bs_\bs_\bU_\bs_\be_\br_\bl_\ba_\bn_\bd_\b0_\b9_\b1_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\br_\be_\bm_\bo_\bv_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bR_\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\br_\be_\bm_\bo_\bv_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\br_\bu_\bn_\b__\bc_\bh_\be_\bc_\bk_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\br_\bu_\bn_\b__\bs_\bu_\bi_\bt_\be_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\br_\be_\bm_\bo_\bv_\be_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br * _\br_\bu_\bn_\b__\bt_\be_\bs_\bt_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * remove_stale_contenttypes _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * runserver\n+ * remove_stale_contenttypes command line option o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be * runserver command line option\n+ o _\b-_\b-_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b-_\bs_\bt_\ba_\bl_\be_\b-_\ba_\bp_\bp_\bs o _\b-_\b-_\bi_\bn_\bs_\be_\bc_\bu_\br_\be\n+ * _\br_\be_\bm_\bo_\bv_\be_\b__\bt_\br_\ba_\bi_\bl_\bi_\bn_\bg_\b__\bn_\bu_\bl_\bl_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd o _\b-_\b-_\bi_\bp_\bv_\b6\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\b-_\bn_\bo_\br_\be_\bl_\bo_\ba_\bd\n+ * _\bR_\be_\bm_\bo_\bv_\be_\bC_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b-_\b-_\bn_\bo_\bs_\bt_\ba_\bt_\bi_\bc\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) o _\b-_\b-_\bn_\bo_\bt_\bh_\br_\be_\ba_\bd_\bi_\bn_\bg\n+ * _\bR_\be_\bm_\bo_\bv_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b-_\b6\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bR_\bu_\bn_\bS_\bQ_\bL_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bR_\be_\bm_\bo_\bv_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bR_\be_\bm_\bo_\bv_\be_\bI_\bn_\bd_\be_\bx_\bC_\bo_\bn_\bc_\bu_\br_\br_\be_\bn_\bt_\bl_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bR_\be_\bm_\bo_\bv_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bR_\be_\bm_\bo_\bv_\be_\bI_\bn_\bd_\be_\bx_\bC_\bo_\bn_\bc_\bu_\br_\br_\be_\bn_\bt_\bl_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n * _\br_\be_\bn_\ba_\bm_\be_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\be_\bn_\ba_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bR_\be_\bn_\ba_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bR_\be_\bn_\ba_\bm_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bR_\be_\bn_\ba_\bm_\be_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bR_\be_\bn_\ba_\bm_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bR_\be_\bn_\ba_\bm_\be_\bM_\bo_\bd_\be_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\br_\be_\bn_\bd_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b), _\b[_\b1_\b]\n- o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\br_\be_\bn_\bd_\be_\br_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bB_\ba_\bs_\be_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b)\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b), _\b[_\b1_\b]\n+ o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n *\b**\b**\b**\b**\b* S\bS *\b**\b**\b**\b**\b*\n- * safe * _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bs_\be_\bt_\bu_\bp_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) * _\bs_\be_\bt_\bu_\bp_\b__\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * safeseq o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b)\n+ * safe * _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b)_\b _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bs_\be_\bt_\bu_\bp_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) * _\bs_\be_\bt_\bu_\bp_\b__\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * safeseq o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bs_\be_\bt_\bu_\bp_\b__\bt_\be_\bs_\bt_\b__\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br\n- * _\bS_\ba_\bf_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg_\b) o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b)\n- * same_as * _\bs_\be_\bt_\bU_\bp_\bT_\be_\bs_\bt_\bD_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bS_\bH_\bA_\b1_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bs_\ba_\bm_\bp_\bl_\be_\b _\b(_\bC_\bo_\bv_\ba_\br_\bP_\bo_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bH_\bA_\b2_\b2_\b4_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bS_\bt_\bd_\bD_\be_\bv_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bH_\bA_\b2_\b5_\b6_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bV_\ba_\br_\bi_\ba_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bH_\bA_\b3_\b8_\b4_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br * _\bS_\bH_\bA_\b5_\b1_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * shell\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bh_\be_\bl_\bl_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * shell command line option\n- o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be\n- * _\bs_\ba_\bv_\be_\b__\ba_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bn_\bo_\b-_\bs_\bt_\ba_\br_\bt_\bu_\bp\n- * _\bs_\ba_\bv_\be_\b__\ba_\bs_\b__\bc_\bo_\bn_\bt_\bi_\bn_\bu_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\bc\n- * _\bs_\ba_\bv_\be_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\bi\n- * _\bs_\ba_\bv_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * SHORT_DATE_FORMAT\n- * _\bs_\ba_\bv_\be_\b__\bo_\bn_\b__\bt_\bo_\bp_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bs_\ba_\bv_\be_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * SHORT_DATETIME_FORMAT\n- * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bS_\ba_\bf_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg_\b) o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b)\n+ * same_as * _\bs_\be_\bt_\bU_\bp_\bT_\be_\bs_\bt_\bD_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bS_\bH_\bA_\b1_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bs_\ba_\bm_\bp_\bl_\be_\b _\b(_\bC_\bo_\bv_\ba_\br_\bP_\bo_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bS_\bH_\bA_\b2_\b2_\b4_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bS_\bt_\bd_\bD_\be_\bv_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bS_\bH_\bA_\b2_\b5_\b6_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bV_\ba_\br_\bi_\ba_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bS_\bH_\bA_\b3_\b8_\b4_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bs_\ba_\bv_\be_\b(_\b)_\b _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\br * _\bS_\bH_\bA_\b5_\b1_\b2_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * shell\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\b(_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bh_\be_\bl_\bl_\b _\b(_\bP_\bo_\bl_\by_\bg_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * shell command line option\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be\n+ * _\bs_\ba_\bv_\be_\b__\ba_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\b-_\bn_\bo_\b-_\bs_\bt_\ba_\br_\bt_\bu_\bp\n+ * _\bs_\ba_\bv_\be_\b__\ba_\bs_\b__\bc_\bo_\bn_\bt_\bi_\bn_\bu_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\bc\n+ * _\bs_\ba_\bv_\be_\b__\bf_\bo_\br_\bm_\bs_\be_\bt_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\bi\n+ * _\bs_\ba_\bv_\be_\b__\bm_\bo_\bd_\be_\bl_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * SHORT_DATE_FORMAT\n+ * _\bs_\ba_\bv_\be_\b__\bo_\bn_\b__\bt_\bo_\bp_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bs_\ba_\bv_\be_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * SHORT_DATETIME_FORMAT\n+ * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs\n- * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b._\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bs_\bi_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs_\b._\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bs_\bi_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b)\n- * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bs_\bh_\bo_\bw_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bl_\bi_\bn_\bk_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bs_\bh_\bo_\bw_\b__\bf_\ba_\bc_\be_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bS_\bc_\ba_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bs_\bh_\bo_\bw_\b__\bf_\bu_\bl_\bl_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bs_\ba_\bv_\be_\bp_\bo_\bi_\bn_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bs_\bh_\bo_\bw_\b__\bc_\bh_\ba_\bn_\bg_\be_\b__\bl_\bi_\bn_\bk_\b _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bs_\bh_\bo_\bw_\b__\bf_\ba_\bc_\be_\bt_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bS_\bc_\ba_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bs_\bh_\bo_\bw_\b__\bf_\bu_\bl_\bl_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bc_\bo_\bu_\bn_\bt_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * showmigrations\n- * _\bs_\bc_\ba_\bl_\be_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * _\bs_\bc_\bh_\be_\bm_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * showmigrations command line option\n- * _\bs_\bc_\bh_\be_\bm_\be_\bs_\b _\b(_\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ * _\bs_\bc_\ba_\bl_\be_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bs_\bc_\bh_\be_\bm_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * showmigrations command line option\n+ * _\bs_\bc_\bh_\be_\bm_\be_\bs_\b _\b(_\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n * search o _\b-_\b-_\bl_\bi_\bs_\bt\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\b-_\b-_\bp_\bl_\ba_\bn\n- * _\bs_\be_\ba_\br_\bc_\bh_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\bl\n- * _\bs_\be_\ba_\br_\bc_\bh_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\bp\n- * _\bS_\be_\ba_\br_\bc_\bh_\bH_\be_\ba_\bd_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bS_\bi_\bg_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bs_\bi_\bg_\bn_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bS_\be_\ba_\br_\bc_\bh_\bQ_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bs_\bi_\bg_\bn_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bS_\bi_\bg_\bn_\ba_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b)\n- * _\bS_\be_\ba_\br_\bc_\bh_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bS_\bi_\bg_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n+ * _\bs_\be_\ba_\br_\bc_\bh_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\bl\n+ * _\bs_\be_\ba_\br_\bc_\bh_\b__\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\bp\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bH_\be_\ba_\bd_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bS_\bi_\bg_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bs_\bi_\bg_\bn_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bQ_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bs_\bi_\bg_\bn_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bS_\bi_\bg_\bn_\ba_\bl_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\b)\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bR_\ba_\bn_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bS_\bi_\bg_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * SIGNING_BACKEND\n- * _\bS_\be_\ba_\br_\bc_\bh_\bV_\be_\bc_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bV_\be_\bc_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * SILENCED_SYSTEM_CHECKS\n- * _\bS_\be_\ba_\br_\bc_\bh_\bV_\be_\bc_\bt_\bo_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bs_\bi_\bm_\bp_\bl_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * second * _\bs_\bi_\bm_\bp_\bl_\be_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bV_\be_\bc_\bt_\bo_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b) * _\bs_\bi_\bm_\bp_\bl_\be_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * second * _\bs_\bi_\bm_\bp_\bl_\be_\b__\bt_\ba_\bg_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bL_\bi_\bb_\br_\ba_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bS_\bi_\bm_\bp_\bl_\be_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * SECRET_KEY _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * SECRET_KEY_FALLBACKS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * SECURE_CONTENT_TYPE_NOSNIFF * _\bs_\bi_\bm_\bp_\bl_\bi_\bf_\by_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * SECURE_CROSS_ORIGIN_OPENER_POLICY * _\bs_\bi_\bt_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bt_\be_\b__\bh_\be_\ba_\bd_\be_\br_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * SECURE_CONTENT_TYPE_NOSNIFF * _\bs_\bi_\bm_\bp_\bl_\bi_\bf_\by_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * SECURE_CROSS_ORIGIN_OPENER_POLICY * _\bs_\bi_\bt_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bt_\be_\b__\bh_\be_\ba_\bd_\be_\br_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n * SECURE_HSTS_INCLUDE_SUBDOMAINS * SITE_ID\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * SECURE_HSTS_PRELOAD * _\bs_\bi_\bt_\be_\b__\bt_\bi_\bt_\bl_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bt_\be_\b__\bu_\br_\bl_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SECURE_HSTS_SECONDS * _\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bz_\be_\b _\b(_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SECURE_PROXY_SSL_HEADER o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SECURE_REDIRECT_EXEMPT o _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SECURE_REFERRER_POLICY * _\bs_\bi_\bz_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bk_\be_\bw_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SECURE_SSL_HOST * _\bs_\bk_\bi_\bp_\bI_\bf_\bD_\bB_\bF_\be_\ba_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bk_\bi_\bp_\bU_\bn_\bl_\be_\bs_\bs_\bD_\bB_\bF_\be_\ba_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * SECURE_HSTS_PRELOAD * _\bs_\bi_\bt_\be_\b__\bt_\bi_\bt_\bl_\be_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bt_\be_\b__\bu_\br_\bl_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SECURE_HSTS_SECONDS * _\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bi_\bz_\be_\b _\b(_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SECURE_PROXY_SSL_HEADER o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SECURE_REDIRECT_EXEMPT o _\b(_\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SECURE_REFERRER_POLICY * _\bs_\bi_\bz_\be_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bk_\be_\bw_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SECURE_SSL_HOST * _\bs_\bk_\bi_\bp_\bI_\bf_\bD_\bB_\bF_\be_\ba_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bk_\bi_\bp_\bU_\bn_\bl_\be_\bs_\bs_\bD_\bB_\bF_\be_\ba_\bt_\bu_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n * SECURE_SSL_REDIRECT * slice\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bs\bs_\bl\bl_\bu\bu_\bg\bg\n+ * _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bs\bs_\bl\bl_\bu\bu_\bg\bg\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b) * _\bs_\bl_\bu_\bg_\b__\bf_\bi_\be_\bl_\bd_\b \n- * _\bs_\be_\be_\bk_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bl_\be_\bc_\bt_\b__\bf_\bo_\br_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bs_\bl_\bu_\bg_\b__\bu_\br_\bl_\b__\bk_\bw_\ba_\br_\bg_\b \n+ * _\bs_\be_\be_\bk_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n+ * _\bS_\be_\bl_\be_\bc_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bl_\be_\bc_\bt_\b__\bf_\bo_\br_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bs_\bl_\bu_\bg_\b__\bu_\br_\bl_\b__\bk_\bw_\ba_\br_\bg_\b \n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n- * _\bs_\be_\bl_\be_\bc_\bt_\b__\bo_\bn_\b__\bs_\ba_\bv_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bs_\be_\bl_\be_\bc_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * slugify\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b) * _\bs_\bl_\bu_\bg_\bi_\bf_\by_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt_\b)\n- * _\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bS_\bm_\ba_\bl_\bl_\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bS_\bm_\ba_\bl_\bl_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bs_\bm_\ba_\br_\bt_\b__\bb_\by_\bt_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- * _\bs_\be_\bm_\bi_\b__\bm_\ba_\bj_\bo_\br_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bs_\bm_\ba_\br_\bt_\b__\bs_\bt_\br_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n- * _\bs_\be_\bm_\bi_\b__\bm_\bi_\bn_\bo_\br_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bn_\ba_\bp_\bT_\bo_\bG_\br_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bs_\be_\bn_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bs_\be_\bn_\bd_\b__\bm_\ba_\bi_\bl_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bo_\br_\bt_\ba_\bb_\bl_\be_\b__\bb_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * spaceless\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bs_\be_\bn_\bd_\b__\bm_\ba_\bs_\bs_\b__\bm_\ba_\bi_\bl_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b__\bf_\bi_\bl_\bt_\be_\br_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b__\bi_\bn_\bd_\be_\bx_\b _\b(_\bB_\ba_\bs_\be_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bn_\bd_\b__\br_\bo_\bb_\bu_\bs_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * sendtestemail _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n- o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd * _\bS_\bp_\bG_\bi_\bs_\bt_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * sendtestemail command line option _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n- o _\b-_\b-_\ba_\bd_\bm_\bi_\bn_\bs * _\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b-_\b-_\bm_\ba_\bn_\ba_\bg_\be_\br_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) * _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bS_\bp_\bl_\bi_\bt_\bH_\bi_\bd_\bd_\be_\bn_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bS_\be_\bp_\ba_\br_\ba_\bt_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bA_\bn_\bd_\bS_\bt_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bS_\bQ_\bL_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * sqlflush\n- * SERIALIZATION_MODULES o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * sqlflush command line option\n- * _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bJ_\bS_\bO_\bN_\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * sqlmigrate\n- * SERVER_EMAIL o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * sqlmigrate command line option\n- * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- * SESSION_CACHE_ALIAS * sqlsequencereset\n+ * _\bs_\be_\bl_\be_\bc_\bt_\b__\bo_\bn_\b__\bs_\ba_\bv_\be_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bs_\be_\bl_\be_\bc_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)_\b _\b(_\bE_\bn_\bg_\bi_\bn_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * slugify\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bl_\bo_\ba_\bd_\be_\br_\b) * _\bs_\bl_\bu_\bg_\bi_\bf_\by_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt_\b)\n+ * _\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bS_\bm_\ba_\bl_\bl_\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bS_\bm_\ba_\bl_\bl_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bs_\bm_\ba_\br_\bt_\b__\bb_\by_\bt_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bs_\be_\bm_\bi_\b__\bm_\ba_\bj_\bo_\br_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ * _\bs_\be_\bm_\bi_\b__\bm_\bi_\bn_\bo_\br_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bs_\bm_\ba_\br_\bt_\b__\bs_\bt_\br_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b)\n+ * _\bs_\be_\bn_\bd_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bS_\bn_\ba_\bp_\bT_\bo_\bG_\br_\bi_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bs_\be_\bn_\bd_\b__\bm_\ba_\bi_\bl_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * _\bs_\bo_\br_\bt_\ba_\bb_\bl_\be_\b__\bb_\by_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bF_\bo_\br_\bm_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * spaceless\n+ * _\bs_\be_\bn_\bd_\b__\bm_\ba_\bs_\bs_\b__\bm_\ba_\bi_\bl_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bi_\bl_\b) * _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b__\bf_\bi_\bl_\bt_\be_\br_\b _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bn_\bd_\b__\br_\bo_\bb_\bu_\bs_\bt_\b(_\b)_\b _\b(_\bS_\bi_\bg_\bn_\ba_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b__\bi_\bn_\bd_\be_\bx_\b _\b(_\bB_\ba_\bs_\be_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * sendtestemail * _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b)\n+ * sendtestemail command line option * _\bS_\bp_\bG_\bi_\bs_\bt_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b-_\b-_\ba_\bd_\bm_\bi_\bn_\bs _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs_\b)\n+ o _\b-_\b-_\bm_\ba_\bn_\ba_\bg_\be_\br_\bs * _\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) * _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bd_\be_\bb_\bu_\bg_\b) * _\bS_\bp_\bl_\bi_\bt_\bH_\bi_\bd_\bd_\be_\bn_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bS_\be_\bp_\ba_\br_\ba_\bt_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bA_\bn_\bd_\bS_\bt_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bS_\bQ_\bL_\b _\b(_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bC_\ba_\bt_\be_\bg_\bo_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SERIALIZATION_MODULES * sqlflush\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\bs_\b._\bJ_\bS_\bO_\bN_\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * sqlflush command line option\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ * SERVER_EMAIL * sqlmigrate\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * sqlmigrate command line option\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b-_\b-_\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n+ * SESSION_CACHE_ALIAS o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * sqlsequencereset\n+ * SESSION_COOKIE_AGE o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * sqlsequencereset command line option\n+ * SESSION_COOKIE_DOMAIN o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bq_\br_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * SESSION_COOKIE_HTTPONLY * squashmigrations\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * SESSION_COOKIE_NAME * squashmigrations command line option\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bn_\bo_\b-_\bh_\be_\ba_\bd_\be_\br\n+ * SESSION_COOKIE_PATH o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bn_\bo_\b-_\bo_\bp_\bt_\bi_\bm_\bi_\bz_\be\n+ * SESSION_COOKIE_SAMESITE o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bs_\bq_\bu_\ba_\bs_\bh_\be_\bd_\b-_\bn_\ba_\bm_\be\n+ * SESSION_COOKIE_SECURE * _\bs_\br_\bi_\bd_\b _\b(_\bB_\ba_\bs_\be_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bd_\ba_\bt_\ba_\b o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SESSION_ENGINE o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SESSION_EXPIRE_AT_BROWSER_CLOSE * _\bs_\br_\bs_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * SESSION_FILE_PATH o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bk_\be_\by_\b * _\bS_\bR_\bS_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn\n+ _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bS_\bt_\ba_\bc_\bk_\be_\bd_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bs_\bt_\ba_\bf_\bf_\b__\bm_\be_\bm_\bb_\be_\br_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * SESSION_SAVE_EVERY_REQUEST _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\bt_\ba_\br_\bt_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * SESSION_SERIALIZER * startapp\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * SESSION_COOKIE_AGE * sqlsequencereset command line option\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n- * SESSION_COOKIE_DOMAIN * _\bS_\bq_\br_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * squashmigrations\n- * SESSION_COOKIE_HTTPONLY o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * squashmigrations command line option\n- * SESSION_COOKIE_NAME o _\b-_\b-_\bn_\bo_\b-_\bh_\be_\ba_\bd_\be_\br\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n- * SESSION_COOKIE_PATH o _\b-_\b-_\bn_\bo_\b-_\bo_\bp_\bt_\bi_\bm_\bi_\bz_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n- * SESSION_COOKIE_SAMESITE o _\b-_\b-_\bs_\bq_\bu_\ba_\bs_\bh_\be_\bd_\b-_\bn_\ba_\bm_\be\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\br_\bi_\bd_\b _\b(_\bB_\ba_\bs_\be_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SESSION_COOKIE_SECURE o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bd_\ba_\bt_\ba_\b o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SESSION_ENGINE o _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bs_\br_\bs_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SESSION_EXPIRE_AT_BROWSER_CLOSE o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg o _\b(_\bL_\ba_\by_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * SESSION_FILE_PATH o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bS_\bR_\bS_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn\n- * _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bk_\be_\by_\b * _\bS_\bt_\ba_\bc_\bk_\be_\bd_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b)\n- _\b(_\bb_\ba_\bs_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bs_\bt_\ba_\bf_\bf_\b__\bm_\be_\bm_\bb_\be_\br_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- * SESSION_SAVE_EVERY_REQUEST * _\bs_\bt_\ba_\br_\bt_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bP_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * startapp\n- * SESSION_SERIALIZER o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * startapp command line option\n- * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt_\be_\bd o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n- * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b-_\b-_\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) o _\b-_\b-_\bn_\ba_\bm_\be\n- * _\bs_\be_\bt_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n- * _\bS_\bE_\bT_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b-_\be\n- * _\bs_\be_\bt_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\bn\n- * _\bs_\be_\bt_\b__\b3_\bd_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\bx\n- * _\bs_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * startproject\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * _\bs_\be_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * startproject command line option\n- * _\bS_\bE_\bT_\b__\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b-_\b-_\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n- * _\bs_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\b-_\b-_\bn_\ba_\bm_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\b-_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n- * _\bs_\be_\bt_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b-_\be\n- * _\bs_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b-_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn_\b) o _\b-_\bx\n- * _\bs_\be_\bt_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * startswith\n- * _\bs_\be_\bt_\b__\bm_\be_\ba_\bs_\bu_\br_\be_\bd_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bS_\bE_\bT_\b__\bN_\bU_\bL_\bL_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * static\n- * _\bs_\be_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bt_\ba_\bt_\bi_\bc_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b)\n- * _\bs_\be_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b)\n- * _\bs_\be_\bt_\b__\bs_\bi_\bg_\bn_\be_\bd_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be * STATIC_ROOT\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bs_\be_\bt_\b__\bs_\bo_\bu_\br_\bc_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn * STATIC_URL\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bs_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b * STATICFILES_DIRS\n- _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bs_\be_\bt_\b__\bu_\bn_\bu_\bs_\ba_\bb_\bl_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b * STATICFILES_FINDERS\n- _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bt_\ba_\bt_\bi_\bs_\bt_\bi_\bc_\bs_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bs_\be_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\bs_\bt_\ba_\bt_\bu_\bs_\b__\bc_\bo_\bd_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bt_\bd_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bt_\bd_\bD_\be_\bv_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bs_\be_\bt_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bt_\be_\bp_\b__\bs_\bi_\bz_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bt_\bl_\bi_\bs_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bS_\be_\bt_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) * _\bS_\bt_\be_\bp_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * setting _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n- o _\bA_\bB_\bS_\bO_\bL_\bU_\bT_\bE_\b__\bU_\bR_\bL_\b__\bO_\bV_\bE_\bR_\bR_\bI_\bD_\bE_\bS * _\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- o _\bA_\bD_\bM_\bI_\bN_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bH_\bO_\bS_\bT_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bb_\ba_\bs_\be_\b._\bB_\ba_\bs_\be_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- o _\bA_\bU_\bT_\bH_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD_\b__\bV_\bA_\bL_\bI_\bD_\bA_\bT_\bO_\bR_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bc_\bo_\bo_\bk_\bi_\be_\b._\bC_\bo_\bo_\bk_\bi_\be_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bA_\bU_\bT_\bH_\b__\bU_\bS_\bE_\bR_\b__\bM_\bO_\bD_\bE_\bL _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- o _\bA_\bU_\bT_\bH_\bE_\bN_\bT_\bI_\bC_\bA_\bT_\bI_\bO_\bN_\b__\bB_\bA_\bC_\bK_\bE_\bN_\bD_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bf_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b._\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bA_\bL_\bI_\bA_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bK_\bE_\bY_\b__\bP_\bR_\bE_\bF_\bI_\bX * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bF_\bi_\bl_\be_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n- o _\bC_\bA_\bC_\bH_\bE_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bB_\bA_\bC_\bK_\bE_\bN_\bD _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bK_\bE_\bY_\b__\bF_\bU_\bN_\bC_\bT_\bI_\bO_\bN * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bK_\bE_\bY_\b__\bP_\bR_\bE_\bF_\bI_\bX _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bL_\bO_\bC_\bA_\bT_\bI_\bO_\bN * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bO_\bP_\bT_\bI_\bO_\bN_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bT_\bI_\bM_\bE_\bO_\bU_\bT * STORAGES\n- o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bV_\bE_\bR_\bS_\bI_\bO_\bN o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bC_\bO_\bN_\bN_\b__\bH_\bE_\bA_\bL_\bT_\bH_\b__\bC_\bH_\bE_\bC_\bK_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n- o _\bC_\bO_\bN_\bN_\b__\bM_\bA_\bX_\b__\bA_\bG_\bE * _\bs_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bA_\bG_\bE o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bD_\bO_\bM_\bA_\bI_\bN * _\bs_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bH_\bT_\bT_\bP_\bO_\bN_\bL_\bY _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bN_\bA_\bM_\bE * _\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bP_\bA_\bT_\bH * strictly_above\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bE_\bC_\bU_\bR_\bE * strictly_below\n- o _\bC_\bS_\bR_\bF_\b__\bF_\bA_\bI_\bL_\bU_\bR_\bE_\b__\bV_\bI_\bE_\bW o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\bC_\bS_\bR_\bF_\b__\bH_\bE_\bA_\bD_\bE_\bR_\b__\bN_\bA_\bM_\bE * _\bS_\bt_\br_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bC_\bS_\bR_\bF_\b__\bT_\bR_\bU_\bS_\bT_\bE_\bD_\b__\bO_\bR_\bI_\bG_\bI_\bN_\bS * _\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bC_\bS_\bR_\bF_\b__\bU_\bS_\bE_\b__\bS_\bE_\bS_\bS_\bI_\bO_\bN_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n- o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bM_\bE_\bM_\bO_\bR_\bY_\b__\bS_\bI_\bZ_\bE * _\bs_\bt_\br_\bi_\bn_\bg_\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bd_\be_\bf_\ba_\bu_\bl_\bt_\bf_\bi_\bl_\bt_\be_\br_\bs\n- o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bN_\bU_\bM_\bB_\bE_\bR_\b__\bF_\bI_\bE_\bL_\bD_\bS _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bN_\bU_\bM_\bB_\bE_\bR_\b__\bF_\bI_\bL_\bE_\bS * stringformat\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bA_\bT_\bO_\bM_\bI_\bC_\b__\bR_\bE_\bQ_\bU_\bE_\bS_\bT_\bS o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bA_\bU_\bT_\bO_\bC_\bO_\bM_\bM_\bI_\bT * _\bs_\bt_\br_\bi_\bp_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b- o _\b(_\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bD_\bI_\bS_\bA_\bB_\bL_\bE_\b__\bS_\bE_\bR_\bV_\bE_\bR_\b__\bS_\bI_\bD_\bE_\b__\bC_\bU_\bR_\bS_\bO_\bR_\bS * _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bE_\bN_\bG_\bI_\bN_\bE * striptags\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bT_\bE_\bS_\bT o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE * _\bs_\bt_\by_\bl_\be_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b__\bR_\bO_\bU_\bT_\bE_\bR_\bS * _\bs_\bu_\bb_\bj_\be_\bc_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw\n- o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\bS _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE * _\bS_\bu_\bb_\bq_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bE_\bX_\bT_\bS_\bI_\bZ_\bE * _\bS_\bu_\bb_\bs_\bt_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bM_\bA_\bX_\bS_\bI_\bZ_\bE * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b \n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bS_\bI_\bZ_\bE _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bE_\bX_\bT_\bS_\bI_\bZ_\bE o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bM_\bA_\bX_\bS_\bI_\bZ_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bS_\bI_\bZ_\bE o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n- o _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bB_\bU_\bG * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b__\bh_\bo_\bs_\bt_\bs_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bB_\bU_\bG_\b__\bP_\bR_\bO_\bP_\bA_\bG_\bA_\bT_\bE_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\bS o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bC_\bI_\bM_\bA_\bL_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR * _\bs_\bu_\bi_\bt_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bA_\bU_\bT_\bO_\b__\bF_\bI_\bE_\bL_\bD * _\bS_\bu_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT * _\bs_\bu_\bp_\bp_\bo_\br_\bt_\bs_\b__\b3_\bd_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR * _\bs_\bu_\bp_\bp_\bo_\br_\bt_\bs_\b__\bm_\bi_\bc_\br_\bo_\bs_\be_\bc_\bo_\bn_\bd_\bs_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR_\b__\bF_\bI_\bL_\bT_\bE_\bR * _\bs_\bu_\bp_\bp_\br_\be_\bs_\bs_\be_\bd_\b__\bb_\ba_\bs_\be_\b__\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bF_\bR_\bO_\bM_\b__\bE_\bM_\bA_\bI_\bL _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bI_\bN_\bD_\bE_\bX_\b__\bT_\bA_\bB_\bL_\bE_\bS_\bP_\bA_\bC_\bE * _\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn\n- o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bT_\bA_\bB_\bL_\bE_\bS_\bP_\bA_\bC_\bE * _\bs_\bw_\ba_\bp_\bp_\ba_\bb_\bl_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bD_\bI_\bS_\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bU_\bS_\bE_\bR_\b__\bA_\bG_\bE_\bN_\bT_\bS o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bB_\bA_\bC_\bK_\bE_\bN_\bD * _\bs_\by_\bm_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bF_\bI_\bL_\bE_\b__\bP_\bA_\bT_\bH o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT * _\bS_\by_\bm_\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bU_\bS_\bE_\bR * _\bs_\by_\bm_\bm_\be_\bt_\br_\bi_\bc_\ba_\bl_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bP_\bO_\bR_\bT * _\bs_\by_\bn_\bc_\b__\ba_\bn_\bd_\b__\ba_\bs_\by_\bn_\bc_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bS_\bL_\b__\bC_\bE_\bR_\bT_\bF_\bI_\bL_\bE _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bS_\bL_\b__\bK_\bE_\bY_\bF_\bI_\bL_\bE * _\bs_\by_\bn_\bc_\b__\bo_\bn_\bl_\by_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\bR_\bE_\bF_\bI_\bX _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT * _\bs_\by_\bn_\bc_\b__\bt_\bo_\b__\ba_\bs_\by_\bn_\bc_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\ba_\bs_\bg_\bi_\br_\be_\bf_\b._\bs_\by_\bn_\bc_\b)\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bL_\bO_\bC_\bA_\bL_\bT_\bI_\bM_\bE * _\bS_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\bO_\bn_\bl_\by_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bS_\bS_\bL * _\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bT_\bL_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n- o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bD_\bI_\bR_\bE_\bC_\bT_\bO_\bR_\bY_\b__\bP_\bE_\bR_\bM_\bI_\bS_\bS_\bI_\bO_\bN_\bS\n+ * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt_\be_\bd * startapp command line option\n+ * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b) o _\b-_\b-_\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n+ * _\bs_\be_\bt_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bn_\ba_\bm_\be\n+ * _\bS_\bE_\bT_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b-_\b-_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n+ * _\bs_\be_\bt_\b(_\b)_\b _\b(_\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\be\n+ * _\bs_\be_\bt_\b__\b3_\bd_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\bn\n+ * _\bs_\be_\bt_\b__\ba_\bu_\bt_\bo_\bc_\bo_\bm_\bm_\bi_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b-_\bx\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * startproject\n+ * _\bs_\be_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bS_\bE_\bT_\b__\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * startproject command line option\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be\n+ * _\bs_\be_\bt_\b__\be_\bx_\bp_\bi_\br_\by_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\b-_\b-_\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bn_\ba_\bm_\be\n+ * _\bs_\be_\bt_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\b-_\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n+ * _\bs_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b-_\be\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn_\b) o _\b-_\bn\n+ * _\bs_\be_\bt_\b__\bm_\ba_\bn_\by_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b-_\bx\n+ * _\bs_\be_\bt_\b__\bm_\be_\ba_\bs_\bu_\br_\be_\bd_\b(_\b)_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * startswith\n+ * _\bS_\bE_\bT_\b__\bN_\bU_\bL_\bL_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bs_\be_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br * static\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bt_\ba_\bt_\bi_\bc_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bs_\be_\bt_\b__\br_\bo_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b) * _\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b)\n+ * _\bs_\be_\bt_\b__\bs_\bi_\bg_\bn_\be_\bd_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be * _\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * STATIC_ROOT\n+ * _\bs_\be_\bt_\b__\bs_\bo_\bu_\br_\bc_\be_\b__\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b)_\b _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * STATIC_URL\n+ * _\bs_\be_\bt_\b__\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * STATICFILES_DIRS\n+ * _\bs_\be_\bt_\b__\bu_\bn_\bu_\bs_\ba_\bb_\bl_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bA_\bb_\bs_\bt_\br_\ba_\bc_\bt_\bB_\ba_\bs_\be_\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * STATICFILES_FINDERS\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bs_\be_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be * _\bs_\bt_\ba_\bt_\bi_\bs_\bt_\bi_\bc_\bs_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bt_\ba_\bt_\bu_\bs_\b__\bc_\bo_\bd_\be_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bt_\bd_\b _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bs_\be_\bt_\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bS_\bt_\bd_\bD_\be_\bv_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bs_\be_\bt_\bl_\bi_\bs_\bt_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bs_\bt_\be_\bp_\b__\bs_\bi_\bz_\be_\b _\b(_\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bS_\be_\bt_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b) o _\b(_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * setting * _\bS_\bt_\be_\bp_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bA_\bB_\bS_\bO_\bL_\bU_\bT_\bE_\b__\bU_\bR_\bL_\b__\bO_\bV_\bE_\bR_\bR_\bI_\bD_\bE_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\bA_\bD_\bM_\bI_\bN_\bS * _\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n+ o _\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bH_\bO_\bS_\bT_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bb_\ba_\bs_\be_\b._\bB_\ba_\bs_\be_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bA_\bU_\bT_\bH_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD_\b__\bV_\bA_\bL_\bI_\bD_\bA_\bT_\bO_\bR_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ o _\bA_\bU_\bT_\bH_\b__\bU_\bS_\bE_\bR_\b__\bM_\bO_\bD_\bE_\bL * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bc_\bo_\bo_\bk_\bi_\be_\b._\bC_\bo_\bo_\bk_\bi_\be_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bA_\bU_\bT_\bH_\bE_\bN_\bT_\bI_\bC_\bA_\bT_\bI_\bO_\bN_\b__\bB_\bA_\bC_\bK_\bE_\bN_\bD_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bA_\bL_\bI_\bA_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bf_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b._\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bK_\bE_\bY_\b__\bP_\bR_\bE_\bF_\bI_\bX _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bF_\bi_\bl_\be_\bs_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bC_\bA_\bC_\bH_\bE_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bB_\bA_\bC_\bK_\bE_\bN_\bD * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bM_\ba_\bn_\bi_\bf_\be_\bs_\bt_\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bK_\bE_\bY_\b__\bF_\bU_\bN_\bC_\bT_\bI_\bO_\bN _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bK_\bE_\bY_\b__\bP_\bR_\bE_\bF_\bI_\bX * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bL_\bO_\bC_\bA_\bT_\bI_\bO_\bN _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bO_\bP_\bT_\bI_\bO_\bN_\bS * _\bs_\bt_\bo_\br_\ba_\bg_\be_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bF_\bi_\bl_\be_\bs_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bT_\bI_\bM_\bE_\bO_\bU_\bT _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ o _\bC_\bA_\bC_\bH_\bE_\bS_\b-_\bV_\bE_\bR_\bS_\bI_\bO_\bN * STORAGES\n+ o _\bC_\bO_\bN_\bN_\b__\bH_\bE_\bA_\bL_\bT_\bH_\b__\bC_\bH_\bE_\bC_\bK_\bS o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\bC_\bO_\bN_\bN_\b__\bM_\bA_\bX_\b__\bA_\bG_\bE * _\bs_\bt_\bo_\br_\ba_\bg_\be_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bs_\bt_\bo_\br_\ba_\bg_\be_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bA_\bG_\bE * _\bs_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bD_\bO_\bM_\bA_\bI_\bN o _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bH_\bT_\bT_\bP_\bO_\bN_\bL_\bY * _\bs_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\b _\b(_\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bN_\bA_\bM_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bP_\bA_\bT_\bH * _\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE * strictly_above\n+ o _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bE_\bC_\bU_\bR_\bE o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\bC_\bS_\bR_\bF_\b__\bF_\bA_\bI_\bL_\bU_\bR_\bE_\b__\bV_\bI_\bE_\bW * strictly_below\n+ o _\bC_\bS_\bR_\bF_\b__\bH_\bE_\bA_\bD_\bE_\bR_\b__\bN_\bA_\bM_\bE o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\bC_\bS_\bR_\bF_\b__\bT_\bR_\bU_\bS_\bT_\bE_\bD_\b__\bO_\bR_\bI_\bG_\bI_\bN_\bS * _\bS_\bt_\br_\bI_\bn_\bd_\be_\bx_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bC_\bS_\bR_\bF_\b__\bU_\bS_\bE_\b__\bS_\bE_\bS_\bS_\bI_\bO_\bN_\bS * _\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bM_\bE_\bM_\bO_\bR_\bY_\b__\bS_\bI_\bZ_\bE _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b)\n+ o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bN_\bU_\bM_\bB_\bE_\bR_\b__\bF_\bI_\bE_\bL_\bD_\bS * _\bs_\bt_\br_\bi_\bn_\bg_\bf_\bi_\bl_\bt_\be_\br_\b(_\b)_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bd_\be_\bf_\ba_\bu_\bl_\bt_\bf_\bi_\bl_\bt_\be_\br_\bs\n+ o _\bD_\bA_\bT_\bA_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bN_\bU_\bM_\bB_\bE_\bR_\b__\bF_\bI_\bL_\bE_\bS _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bA_\bT_\bO_\bM_\bI_\bC_\b__\bR_\bE_\bQ_\bU_\bE_\bS_\bT_\bS * stringformat\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bA_\bU_\bT_\bO_\bC_\bO_\bM_\bM_\bI_\bT o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b- * _\bs_\bt_\br_\bi_\bp_\b _\b(_\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bD_\bI_\bS_\bA_\bB_\bL_\bE_\b__\bS_\bE_\bR_\bV_\bE_\bR_\b__\bS_\bI_\bD_\bE_\b__\bC_\bU_\bR_\bS_\bO_\bR_\bS o _\b(_\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bE_\bN_\bG_\bI_\bN_\bE * _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b)\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bT_\bE_\bS_\bT * striptags\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b-_\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\b__\bR_\bO_\bU_\bT_\bE_\bR_\bS * _\bs_\bt_\by_\bl_\be_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\bS * _\bs_\bu_\bb_\bj_\be_\bc_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bE_\bX_\bT_\bS_\bI_\bZ_\bE * _\bS_\bu_\bb_\bq_\bu_\be_\br_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bM_\bA_\bX_\bS_\bI_\bZ_\bE * _\bS_\bu_\bb_\bs_\bt_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bS_\bI_\bZ_\bE * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b \n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bE_\bX_\bT_\bS_\bI_\bZ_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bM_\bA_\bX_\bS_\bI_\bZ_\bE o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ o _\bD_\bA_\bT_\bA_\bF_\bI_\bL_\bE_\b__\bT_\bM_\bP_\b__\bS_\bI_\bZ_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n+ o _\bD_\bA_\bT_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bB_\bU_\bG o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bB_\bU_\bG_\b__\bP_\bR_\bO_\bP_\bA_\bG_\bA_\bT_\bE_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\bS * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b__\bh_\bo_\bs_\bt_\bs_\b _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bC_\bI_\bM_\bA_\bL_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bA_\bU_\bT_\bO_\b__\bF_\bI_\bE_\bL_\bD * _\bs_\bu_\bi_\bt_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT * _\bS_\bu_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR * _\bs_\bu_\bp_\bp_\bo_\br_\bt_\bs_\b__\b3_\bd_\b _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR_\b__\bF_\bI_\bL_\bT_\bE_\bR * _\bs_\bu_\bp_\bp_\bo_\br_\bt_\bs_\b__\bm_\bi_\bc_\br_\bo_\bs_\be_\bc_\bo_\bn_\bd_\bs_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bF_\bR_\bO_\bM_\b__\bE_\bM_\bA_\bI_\bL * _\bs_\bu_\bp_\bp_\br_\be_\bs_\bs_\be_\bd_\b__\bb_\ba_\bs_\be_\b__\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bI_\bN_\bD_\bE_\bX_\b__\bT_\bA_\bB_\bL_\bE_\bS_\bP_\bA_\bC_\bE _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bT_\bA_\bB_\bL_\bE_\bS_\bP_\bA_\bC_\bE * _\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn\n+ o _\bD_\bI_\bS_\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bU_\bS_\bE_\bR_\b__\bA_\bG_\bE_\bN_\bT_\bS * _\bs_\bw_\ba_\bp_\bp_\ba_\bb_\bl_\be_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bB_\bA_\bC_\bK_\bE_\bN_\bD o _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bF_\bI_\bL_\bE_\b__\bP_\bA_\bT_\bH * _\bs_\by_\bm_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD * _\bS_\by_\bm_\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bU_\bS_\bE_\bR _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bP_\bO_\bR_\bT * _\bs_\by_\bm_\bm_\be_\bt_\br_\bi_\bc_\ba_\bl_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bS_\bL_\b__\bC_\bE_\bR_\bT_\bF_\bI_\bL_\bE * _\bs_\by_\bn_\bc_\b__\ba_\bn_\bd_\b__\ba_\bs_\by_\bn_\bc_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bS_\bL_\b__\bK_\bE_\bY_\bF_\bI_\bL_\bE _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\bR_\bE_\bF_\bI_\bX * _\bs_\by_\bn_\bc_\b__\bo_\bn_\bl_\by_\b__\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bL_\bO_\bC_\bA_\bL_\bT_\bI_\bM_\bE * _\bs_\by_\bn_\bc_\b__\bt_\bo_\b__\ba_\bs_\by_\bn_\bc_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\ba_\bs_\bg_\bi_\br_\be_\bf_\b._\bs_\by_\bn_\bc_\b)\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bS_\bS_\bL * _\bS_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\bO_\bn_\bl_\by_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn\n+ o _\bE_\bM_\bA_\bI_\bL_\b__\bU_\bS_\bE_\b__\bT_\bL_\bS * _\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bD_\bI_\bR_\bE_\bC_\bT_\bO_\bR_\bY_\b__\bP_\bE_\bR_\bM_\bI_\bS_\bS_\bI_\bO_\bN_\bS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b)\n o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bH_\bA_\bN_\bD_\bL_\bE_\bR_\bS\n o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bM_\bA_\bX_\b__\bM_\bE_\bM_\bO_\bR_\bY_\b__\bS_\bI_\bZ_\bE\n o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bP_\bE_\bR_\bM_\bI_\bS_\bS_\bI_\bO_\bN_\bS\n o _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bT_\bE_\bM_\bP_\b__\bD_\bI_\bR\n o _\bF_\bI_\bR_\bS_\bT_\b__\bD_\bA_\bY_\b__\bO_\bF_\b__\bW_\bE_\bE_\bK\n o _\bF_\bI_\bX_\bT_\bU_\bR_\bE_\b__\bD_\bI_\bR_\bS\n o _\bF_\bO_\bR_\bC_\bE_\b__\bS_\bC_\bR_\bI_\bP_\bT_\b__\bN_\bA_\bM_\bE\n@@ -3010,27 +3015,27 @@\n o _\bU_\bS_\bE_\b__\bX_\b__\bF_\bO_\bR_\bW_\bA_\bR_\bD_\bE_\bD_\b__\bH_\bO_\bS_\bT\n o _\bU_\bS_\bE_\b__\bX_\b__\bF_\bO_\bR_\bW_\bA_\bR_\bD_\bE_\bD_\b__\bP_\bO_\bR_\bT\n o _\bU_\bS_\bE_\bR\n o _\bW_\bS_\bG_\bI_\b__\bA_\bP_\bP_\bL_\bI_\bC_\bA_\bT_\bI_\bO_\bN\n o _\bX_\b__\bF_\bR_\bA_\bM_\bE_\b__\bO_\bP_\bT_\bI_\bO_\bN_\bS\n o _\bY_\bE_\bA_\bR_\b__\bM_\bO_\bN_\bT_\bH_\b__\bF_\bO_\bR_\bM_\bA_\bT\n *\b**\b**\b**\b**\b* T\bT *\b**\b**\b**\b**\b*\n- * _\bT_\ba_\bb_\bu_\bl_\ba_\br_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * templatetag\n- * _\bT_\ba_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bt_\be_\ba_\br_\bd_\bo_\bw_\bn_\b__\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b) * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\bi_\bz_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bt_\be_\ba_\br_\bd_\bo_\bw_\bn_\b__\bt_\be_\bs_\bt_\b__\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b) * _\bt_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\b__\bf_\bi_\bl_\be_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b \n- * _\bt_\be_\bl_\bl_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bt\bt_\be\be_\bm\bm_\bp\bp_\bl\bl_\ba\ba_\bt\bt_\be\be * _\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br_\b)\n- * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b) * _\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b)\n- o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * test\n- o _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bT_\ba_\bb_\bu_\bl_\ba_\br_\bI_\bn_\bl_\bi_\bn_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b) * templatetag\n+ * _\bT_\ba_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bt_\be_\ba_\br_\bd_\bo_\bw_\bn_\b__\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b) * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\bi_\bz_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bt_\be_\ba_\br_\bd_\bo_\bw_\bn_\b__\bt_\be_\bs_\bt_\b__\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt_\b(_\b)_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bu_\bt_\bi_\bl_\bs_\b) * _\bt_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\b__\bf_\bi_\bl_\be_\b__\bp_\ba_\bt_\bh_\b(_\b)_\b \n+ * _\bt_\be_\bl_\bl_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bt\bt_\be\be_\bm\bm_\bp\bp_\bl\bl_\ba\ba_\bt\bt_\be\be * _\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\bh_\ba_\bn_\bd_\bl_\be_\br_\b)\n+ * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b) * _\bT_\be_\bm_\bp_\bo_\br_\ba_\br_\by_\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\b(_\bF_\bu_\bn_\bc_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b)\n+ o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * test\n+ o _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n * template filter * test command line option\n o _\ba_\bd_\bd o _\b-_\b-_\bb_\bu_\bf_\bf_\be_\br\n o _\ba_\bd_\bd_\bs_\bl_\ba_\bs_\bh_\be_\bs o _\b-_\b-_\bd_\be_\bb_\bu_\bg_\b-_\bm_\bo_\bd_\be\n o _\ba_\bp_\bn_\bu_\bm_\bb_\be_\br o _\b-_\b-_\bd_\be_\bb_\bu_\bg_\b-_\bs_\bq_\bl\n o _\bc_\ba_\bp_\bf_\bi_\br_\bs_\bt o _\b-_\b-_\bd_\bu_\br_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bc_\be_\bn_\bt_\be_\br o _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be_\b-_\bt_\ba_\bg\n o _\bc_\bu_\bt o _\b-_\b-_\bf_\ba_\bi_\bl_\bf_\ba_\bs_\bt\n@@ -3045,387 +3050,409 @@\n o _\be_\bs_\bc_\ba_\bp_\be_\bs_\be_\bq o _\b-_\b-_\bt_\ba_\bg\n o _\bf_\bi_\bl_\be_\bs_\bi_\bz_\be_\bf_\bo_\br_\bm_\ba_\bt o _\b-_\b-_\bt_\be_\bs_\bt_\br_\bu_\bn_\bn_\be_\br\n o _\bf_\bi_\br_\bs_\bt o _\b-_\b-_\bt_\bi_\bm_\bi_\bn_\bg\n o _\bf_\bl_\bo_\ba_\bt_\bf_\bo_\br_\bm_\ba_\bt o _\b-_\bb\n o _\bf_\bo_\br_\bc_\be_\b__\be_\bs_\bc_\ba_\bp_\be o _\b-_\bd\n o _\bg_\be_\bt_\b__\bd_\bi_\bg_\bi_\bt o _\b-_\bk\n o _\bi_\bn_\bt_\bc_\bo_\bm_\bm_\ba o _\b-_\br\n- o _\bi_\bn_\bt_\bw_\bo_\br_\bd * _\bt_\be_\bs_\bt_\b__\bc_\ba_\bp_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bi_\bn_\bt_\bw_\bo_\br_\bd * _\bt_\be_\bs_\bt_\b__\bc_\ba_\bp_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b(_\b)_\b _\b(_\bL_\ba_\by_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bi_\br_\bi_\be_\bn_\bc_\bo_\bd_\be * TEST_CHARSET\n o _\bj_\bo_\bi_\bn o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bj_\bs_\bo_\bn_\b__\bs_\bc_\br_\bi_\bp_\bt * TEST_COLLATION\n o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bb_\bi_\bd_\bi o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bn_\ba_\bm_\be * _\bt_\be_\bs_\bt_\b__\bc_\bo_\bo_\bk_\bi_\be_\b__\bw_\bo_\br_\bk_\be_\bd_\b(_\b)_\b \n- o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bn_\ba_\bm_\be_\b__\bl_\bo_\bc_\ba_\bl _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bn_\ba_\bm_\be_\b__\bl_\bo_\bc_\ba_\bl _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bn_\ba_\bm_\be_\b__\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be_\bd * TEST_CREATE\n o _\bl_\ba_\bs_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bl_\be_\bn_\bg_\bt_\bh * TEST_DEPENDENCIES\n o _\bl_\bi_\bn_\be_\bb_\br_\be_\ba_\bk_\bs o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bl_\bi_\bn_\be_\bb_\br_\be_\ba_\bk_\bs_\bb_\br * _\bt_\be_\bs_\bt_\b__\bf_\bu_\bn_\bc_\b(_\b)_\b _\b(_\bU_\bs_\be_\br_\bP_\ba_\bs_\bs_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn\n- o _\bl_\bi_\bn_\be_\bn_\bu_\bm_\bb_\be_\br_\bs _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bl_\bj_\bu_\bs_\bt * _\bt_\be_\bs_\bt_\b__\bl_\bo_\ba_\bd_\be_\br_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bl_\bi_\bn_\be_\bn_\bu_\bm_\bb_\be_\br_\bs _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bl_\bj_\bu_\bs_\bt * _\bt_\be_\bs_\bt_\b__\bl_\bo_\ba_\bd_\be_\br_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be * TEST_MIGRATE\n o _\bl_\bo_\bc_\ba_\bl_\bt_\bi_\bm_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bl_\bo_\bw_\be_\br * TEST_MIRROR\n o _\bm_\ba_\bk_\be_\b__\bl_\bi_\bs_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bn_\ba_\bt_\bu_\br_\ba_\bl_\bd_\ba_\by * TEST_NAME\n o _\bn_\ba_\bt_\bu_\br_\ba_\bl_\bt_\bi_\bm_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bo_\br_\bd_\bi_\bn_\ba_\bl * TEST_NON_SERIALIZED_APPS\n o _\bp_\bh_\bo_\bn_\be_\b2_\bn_\bu_\bm_\be_\br_\bi_\bc o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bp_\bl_\bu_\br_\ba_\bl_\bi_\bz_\be * TEST_ORACLE_MANAGED_FILES\n o _\bp_\bp_\br_\bi_\bn_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\br_\ba_\bn_\bd_\bo_\bm * TEST_PASSWD\n o _\br_\bj_\bu_\bs_\bt o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bs_\ba_\bf_\be * TEST_RUNNER\n o _\bs_\ba_\bf_\be_\bs_\be_\bq o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bs_\bl_\bi_\bc_\be * _\bt_\be_\bs_\bt_\b__\br_\bu_\bn_\bn_\be_\br_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bs_\bl_\bu_\bg_\bi_\bf_\by * _\bt_\be_\bs_\bt_\b__\bs_\bu_\bi_\bt_\be_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bs_\bl_\bi_\bc_\be * _\bt_\be_\bs_\bt_\b__\br_\bu_\bn_\bn_\be_\br_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bs_\bl_\bu_\bg_\bi_\bf_\by * _\bt_\be_\bs_\bt_\b__\bs_\bu_\bi_\bt_\be_\b _\b(_\bD_\bi_\bs_\bc_\bo_\bv_\be_\br_\bR_\bu_\bn_\bn_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bs_\bt_\br_\bi_\bn_\bg_\bf_\bo_\br_\bm_\ba_\bt * TEST_TBLSPACE\n o _\bs_\bt_\br_\bi_\bp_\bt_\ba_\bg_\bs o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bt_\bi_\bm_\be * TEST_TBLSPACE_TMP\n o _\bt_\bi_\bm_\be_\bs_\bi_\bn_\bc_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bt_\bi_\bm_\be_\bu_\bn_\bt_\bi_\bl * TEST_TEMPLATE\n o _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bt_\bi_\bt_\bl_\be * TEST_USER\n o _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs_\b__\bh_\bt_\bm_\bl * TEST_USER_CREATE\n o _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bw_\bo_\br_\bd_\bs o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bw_\bo_\br_\bd_\bs_\b__\bh_\bt_\bm_\bl * _\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- o _\bu_\bn_\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be * _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs\n- o _\bu_\bn_\bo_\br_\bd_\be_\br_\be_\bd_\b__\bl_\bi_\bs_\bt _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ o _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bw_\bo_\br_\bd_\bs_\b__\bh_\bt_\bm_\bl * _\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ o _\bu_\bn_\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be * _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b._\bS_\bt_\ba_\bt_\bi_\bc_\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b \n+ o _\bu_\bn_\bo_\br_\bd_\be_\br_\be_\bd_\b__\bl_\bi_\bs_\bt _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n o _\bu_\bp_\bp_\be_\br * testserver\n o _\bu_\br_\bl_\be_\bn_\bc_\bo_\bd_\be o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n o _\bu_\br_\bl_\bi_\bz_\be * testserver command line option\n o _\bu_\br_\bl_\bi_\bz_\be_\bt_\br_\bu_\bn_\bc o _\b-_\b-_\ba_\bd_\bd_\br_\bp_\bo_\br_\bt\n o _\bu_\bt_\bc o _\b-_\b-_\bn_\bo_\b-_\bi_\bn_\bp_\bu_\bt\n o _\bw_\bo_\br_\bd_\bc_\bo_\bu_\bn_\bt o _\b-_\b-_\bn_\bo_\bi_\bn_\bp_\bu_\bt\n o _\bw_\bo_\br_\bd_\bw_\br_\ba_\bp * _\bt_\be_\bx_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bp_\ba_\bt_\bh_\b _\b(_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br\n- o _\by_\be_\bs_\bn_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * template tag * _\bT_\be_\bx_\bt_\ba_\br_\be_\ba_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\ba_\bu_\bt_\bo_\be_\bs_\bc_\ba_\bp_\be * _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bb_\bl_\bo_\bc_\bk * _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\by_\be_\bs_\bn_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * template tag * _\bT_\be_\bx_\bt_\ba_\br_\be_\ba_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\ba_\bu_\bt_\bo_\be_\bs_\bc_\ba_\bp_\be * _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bb_\bl_\bo_\bc_\bk * _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n o _\bb_\bl_\bo_\bc_\bk_\bt_\br_\ba_\bn_\bs * THOUSAND_SEPARATOR\n o _\bb_\bl_\bo_\bc_\bk_\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bc_\ba_\bc_\bh_\be * _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bc_\ba_\bc_\bh_\be * _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bc_\bo_\bm_\bm_\be_\bn_\bt * _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd\n- o _\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bc_\by_\bc_\bl_\be * _\bT_\bI_\bE_\bS_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bc_\by_\bc_\bl_\be * _\bT_\bI_\bE_\bS_\b _\b(_\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bd_\be_\bb_\bu_\bg * time\n o _\be_\bx_\bt_\be_\bn_\bd_\bs o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n o _\bf_\bi_\bl_\bt_\be_\br o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n o _\bf_\bi_\br_\bs_\bt_\bo_\bf * _\bt_\bi_\bm_\be_\b__\ba_\bt_\bt_\br_\bs_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt\n- o _\bf_\bo_\br _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bf_\bo_\br _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bg_\be_\bt_\b__\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\bs * TIME_FORMAT\n o _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bb_\bi_\bd_\bi * _\bt_\bi_\bm_\be_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt\n- o _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bg_\be_\bt_\b__\bc_\bu_\br_\br_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bz_\bo_\bn_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bg_\be_\bt_\b__\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs * TIME_INPUT_FORMATS\n o _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bi_\bn_\bf_\bo o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bg_\be_\bt_\b__\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b__\bi_\bn_\bf_\bo_\b__\bl_\bi_\bs_\bt * TIME_ZONE\n o _\bg_\be_\bt_\b__\bm_\be_\bd_\bi_\ba_\b__\bp_\br_\be_\bf_\bi_\bx o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bg_\be_\bt_\b__\bs_\bt_\ba_\bt_\bi_\bc_\b__\bp_\br_\be_\bf_\bi_\bx * _\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\bi_\bf o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\bi_\bf_\bc_\bh_\ba_\bn_\bg_\be_\bd * _\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bg_\be_\bt_\b__\bs_\bt_\ba_\bt_\bi_\bc_\b__\bp_\br_\be_\bf_\bi_\bx * _\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\bi_\bf o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bi_\bf_\bc_\bh_\ba_\bn_\bg_\be_\bd * _\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n o _\bi_\bn_\bc_\bl_\bu_\bd_\be * timesince\n o _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bl_\bo_\ba_\bd * _\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bl_\bo_\ba_\bd * _\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bs_\bi_\bg_\bn_\bi_\bn_\bg_\b)\n o _\bl_\bo_\bc_\ba_\bl_\bt_\bi_\bm_\be * timeuntil\n o _\bl_\bo_\br_\be_\bm o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n o _\bn_\bo_\bw * timezone\n o _\bq_\bu_\be_\br_\by_\bs_\bt_\br_\bi_\bn_\bg o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n o _\br_\be_\bg_\br_\bo_\bu_\bp o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n o _\br_\be_\bs_\be_\bt_\bc_\by_\bc_\bl_\be * title\n o _\bs_\bp_\ba_\bc_\be_\bl_\be_\bs_\bs o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\bs_\bt_\ba_\bt_\bi_\bc * _\bt_\bo_\b__\be_\bs_\br_\bi_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bt_\ba_\bg * _\bt_\bo_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bs_\bt_\ba_\bt_\bi_\bc * _\bt_\bo_\b__\be_\bs_\br_\bi_\b(_\b)_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bt_\ba_\bg * _\bt_\bo_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be * _\bt_\bo_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd\n- o _\bt_\br_\ba_\bn_\bs _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bt_\br_\ba_\bn_\bs _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be o _\b(_\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd\n- o _\bu_\br_\bl _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bv_\be_\br_\bb_\ba_\bt_\bi_\bm * _\bt_\bo_\b__\bl_\bo_\bc_\ba_\bl_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\bu_\br_\bl _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bv_\be_\br_\bb_\ba_\bt_\bi_\bm * _\bt_\bo_\b__\bl_\bo_\bc_\ba_\bl_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bw_\bi_\bd_\bt_\bh_\br_\ba_\bt_\bi_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\b)\n- o _\bw_\bi_\bt_\bh * _\bt_\bo_\b__\bp_\by_\bt_\bh_\bo_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\be_\bn_\bg_\bi_\bn_\be_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn * _\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- o _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\bo_\bk_\be_\bn_\b__\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b \n- o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\bo_\bt_\ba_\bl_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt\n- o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\bo_\bu_\bc_\bh_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * touches\n- o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\bo_\bu_\bc_\bh_\be_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\br_\ba_\bc_\be_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * trans\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\bE_\br_\br_\bo_\br\n- o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bN_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bd_\bi_\bv_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bf_\bi_\be_\bl_\bd_\b * _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bw_\bi_\bt_\bh * _\bt_\bo_\b__\bp_\by_\bt_\bh_\bo_\bn_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\be_\bn_\bg_\bi_\bn_\be_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn * _\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n+ o _\b(_\bB_\ba_\bs_\be_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\bo_\bk_\be_\bn_\b__\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b \n+ o _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\bo_\bt_\ba_\bl_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bu_\bn_\bt_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\bo_\bu_\bc_\bh_\b(_\b)_\b _\b(_\bc_\ba_\bc_\bh_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * touches\n+ o _\b(_\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bO_\br_\bi_\bg_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\bo_\bu_\bc_\bh_\be_\bs_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\br_\ba_\bc_\be_\b(_\b)_\b _\b(_\bC_\bl_\bi_\be_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bm_\bp_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * trans\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bD_\bo_\bn_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bM_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\bE_\br_\br_\bo_\br\n+ o _\b(_\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bN_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bd_\bi_\bv_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bf_\bi_\be_\bl_\bd_\b * _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bp_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bl_\ba_\bb_\be_\bl_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bp_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bs_\bu_\bf_\bf_\bi_\bx_\b * translate\n _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt\bt_\br\br_\ba\ba_\bn\bn_\bs\bs_\bl\bl_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b _\bs\bs_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg\n- o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bt_\br_\bi_\be_\bd_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt\bt_\br\br_\ba\ba_\bn\bn_\bs\bs_\bl\bl_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b _\bs\bs_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg\n+ o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bt_\br_\bi_\be_\bd_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn * trigram_similar\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bt_\ba_\bb_\bl_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * trigram_strict_word_similar\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bt_\be_\bx_\bt_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * trigram_word_similar\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bu_\bl_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n- * TEMPLATES * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bt_\ba_\bb_\bl_\be_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * trigram_strict_word_similar\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bt_\be_\bx_\bt_\b _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * trigram_word_similar\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be_\b__\bu_\bl_\b _\b(_\bB_\ba_\bs_\be_\bF_\bo_\br_\bm_\bS_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n+ o _\b(_\bE_\br_\br_\bo_\br_\bL_\bi_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n+ * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b)\n+ * TEMPLATES * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bt_\br_\bi_\bc_\bt_\bW_\bo_\br_\bd_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bt_\br_\bi_\bc_\bt_\bW_\bo_\br_\bd_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * TEMPLATES-APP_DIRS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bt_\br_\bi_\bc_\bt_\bW_\bo_\br_\bd_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bS_\bt_\br_\bi_\bc_\bt_\bW_\bo_\br_\bd_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * TEMPLATES-BACKEND _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bW_\bo_\br_\bd_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bW_\bo_\br_\bd_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * TEMPLATES-DIRS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bW_\bo_\br_\bd_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bg_\br_\ba_\bm_\bW_\bo_\br_\bd_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * TEMPLATES-NAME _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bs_\be_\ba_\br_\bc_\bh_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bT_\br_\bi_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * TEMPLATES-OPTIONS _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bt_\br_\bi_\bm_\b _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) * _\bT_\br_\bu_\bn_\bc_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bt_\br_\bi_\bm_\b _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b) * _\bT_\br_\bu_\bn_\bc_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bS_\by_\bn_\bt_\ba_\bx_\bE_\br_\br_\bo_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n * truncatechars\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n * truncatechars_html\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n * truncatewords\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n * truncatewords_html\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bT_\br_\bu_\bn_\bc_\bD_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bD_\ba_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bD_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bH_\bo_\bu_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bH_\bo_\bu_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bM_\bi_\bn_\bu_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bM_\bi_\bn_\bu_\bt_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bM_\bo_\bn_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bM_\bo_\bn_\bt_\bh_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bQ_\bu_\ba_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bQ_\bu_\ba_\br_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bS_\be_\bc_\bo_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bS_\be_\bc_\bo_\bn_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bT_\bi_\bm_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bT_\bi_\bm_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bW_\be_\be_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bW_\be_\be_\bk_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bT_\br_\bu_\bn_\bc_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\br_\bu_\bn_\bc_\bY_\be_\ba_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b)\n- * _\bt_\bu_\bp_\bl_\be_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bt_\by_\bp_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bt_\by_\bp_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bt_\bu_\bp_\bl_\be_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bt_\by_\bp_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bt_\by_\bp_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bT_\by_\bp_\be_\bd_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bT_\by_\bp_\be_\bd_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bt_\bz_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bt_\bz_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs_\b)\n *\b**\b**\b**\b**\b* U\bU *\b**\b**\b**\b**\b*\n- * unaccent * _\bu_\br_\bl_\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * unaccent * _\bu_\br_\bl_\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bU_\bn_\ba_\bc_\bc_\be_\bn_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bu_\bn_\ba_\br_\by_\b__\bu_\bn_\bi_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bU_\bn_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bU_\bR_\bL_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * urlize\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bu_\bn_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * urlizetrunc\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * urls\n- o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bv_\be\n- * _\bu_\bn_\bi_\bq_\bu_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bu_\br_\bl_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b__\bu_\br_\bl_\bp_\ba_\bt_\bt_\be_\br_\bn_\bs_\b(_\b)_\b _\b(_\bi_\bn\n- * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bd_\ba_\bt_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n- * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bm_\bo_\bn_\bt_\bh_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bu_\br_\bl_\bs_\ba_\bf_\be_\b__\bb_\ba_\bs_\be_\b6_\b4_\b__\bd_\be_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\by_\be_\ba_\br_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bu_\br_\bl_\bs_\ba_\bf_\be_\b__\bb_\ba_\bs_\be_\b6_\b4_\b__\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n- * _\bu_\bn_\bi_\bt_\b__\ba_\bt_\bt_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bA_\br_\be_\ba_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bc_\bl_\ba_\bs_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n- * _\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bu_\bs_\be_\b__\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * unlocalize o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * USE_I18N\n- * unordered_list o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bu_\bn_\bp_\ba_\bc_\bk_\b__\bi_\bp_\bv_\b4_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd * _\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] * USE_THOUSAND_SEPARATOR\n- * _\bU_\bn_\br_\be_\ba_\bd_\ba_\bb_\bl_\be_\bP_\bo_\bs_\bt_\bE_\br_\br_\bo_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bu_\bn_\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * USE_TZ\n- * _\bu_\bn_\bs_\bi_\bg_\bn_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bu_\bn_\bs_\bi_\bg_\bn_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * USE_X_FORWARDED_HOST\n- * _\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * USE_X_FORWARDED_PORT\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * USER\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bu_\bp_\bd_\ba_\bt_\be_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bu_\bs_\be_\br_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bu_\bp_\bd_\ba_\bt_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bu_\bs_\be_\br_\b__\bc_\ba_\bn_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bU_\bp_\bd_\ba_\bt_\be_\bC_\ba_\bc_\bh_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b) * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bg_\be_\bd_\b__\bi_\bn_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n- * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bg_\be_\bd_\b__\bo_\bu_\bt_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bi_\bn_\bt_\be_\br_\br_\bu_\bp_\bt_\be_\bd_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bi_\bn_\b__\bf_\ba_\bi_\bl_\be_\bd_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bt_\bo_\b _\b(_\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n- * _\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bu_\bs_\be_\br_\b__\bp_\ba_\bs_\bs_\be_\bs_\b__\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n- * upper * _\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bU_\bs_\be_\br_\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs\n- * _\bU_\bp_\bp_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bi_\bn\n- * _\bu_\br_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bu_\br_\bi_\b__\bt_\bo_\b__\bi_\br_\bi_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bU_\bs_\be_\br_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * url * _\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n- * _\bu_\br_\bl_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw * _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bU_\bS_\bE_\bR_\bN_\bA_\bM_\bE_\b__\bF_\bI_\bE_\bL_\bD_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br\n- o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bU_\bs_\be_\br_\bP_\ba_\bs_\bs_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bu_\br_\bl_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b)\n- * _\bu_\br_\bl_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bu_\bs_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bu_\br_\bl_\bc_\bo_\bn_\bf_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * urlencode * utc\n- o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bu_\bt_\bi_\bl_\bs_\b._\bi_\bs_\bo_\bl_\ba_\bt_\be_\b__\ba_\bp_\bp_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bU_\bn_\ba_\bc_\bc_\be_\bn_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bu_\bn_\ba_\br_\by_\b__\bu_\bn_\bi_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bU_\bn_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bU_\bR_\bL_\bI_\bn_\bp_\bu_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * urlize\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) * urlizetrunc\n+ * _\bu_\bn_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * urls\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bv_\be\n+ o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bu_\br_\bl_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b__\bu_\br_\bl_\bp_\ba_\bt_\bt_\be_\br_\bn_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl\n+ * _\bu_\bn_\bi_\bq_\bu_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bd_\ba_\bt_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bu_\br_\bl_\bs_\ba_\bf_\be_\b__\bb_\ba_\bs_\be_\b6_\b4_\b__\bd_\be_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bm_\bo_\bn_\bt_\bh_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\by_\be_\ba_\br_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bu_\br_\bl_\bs_\ba_\bf_\be_\b__\bb_\ba_\bs_\be_\b6_\b4_\b__\be_\bn_\bc_\bo_\bd_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br_\b _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bt_\bp_\b)\n+ * _\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bu_\bn_\bi_\bt_\b__\ba_\bt_\bt_\bn_\ba_\bm_\be_\b(_\b)_\b _\b(_\bA_\br_\be_\ba_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b)\n+ o _\b(_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b _\bd_\be_\bl_\bl_\ba_\b _\bc_\bl_\ba_\bs_\bs_\be_\b) * _\bu_\bs_\be_\b__\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bu_\bn_\bi_\bt_\bs_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * unlocalize * USE_I18N\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * unordered_list * _\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\b(_\bF_\bo_\br_\bm_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bu_\bn_\bp_\ba_\bc_\bk_\b__\bi_\bp_\bv_\b4_\b _\b(_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bP_\bA_\bd_\bd_\br_\be_\bs_\bs_\bF_\bi_\be_\bl_\bd * USE_THOUSAND_SEPARATOR\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bU_\bn_\br_\be_\ba_\bd_\ba_\bb_\bl_\be_\bP_\bo_\bs_\bt_\bE_\br_\br_\bo_\br * USE_TZ\n+ * _\bu_\bn_\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b)_\b _\b(_\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bu_\bn_\bs_\bi_\bg_\bn_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * USE_X_FORWARDED_HOST\n+ * _\bu_\bn_\bs_\bi_\bg_\bn_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bT_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp_\bS_\bi_\bg_\bn_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * USE_X_FORWARDED_PORT\n+ o _\b(_\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * USER\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bu_\bs_\be_\br_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bu_\bp_\bd_\ba_\bt_\be_\b__\bo_\br_\b__\bc_\br_\be_\ba_\bt_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo o _\b(_\bL_\bo_\bg_\bE_\bn_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bu_\bs_\be_\br_\b__\bc_\ba_\bn_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd\n+ * _\bu_\bp_\bd_\ba_\bt_\be_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\ba_\bu_\bt_\bh_\b__\bh_\ba_\bs_\bh_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) o _\b(_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bU_\bp_\bd_\ba_\bt_\be_\bC_\ba_\bc_\bh_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bg_\be_\bd_\b__\bi_\bn_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n+ * _\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bg_\be_\bd_\b__\bo_\bu_\bt_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n+ * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bi_\bn_\bt_\be_\br_\br_\bu_\bp_\bt_\be_\bd_\b(_\b)_\b _\b(_\bF_\bi_\bl_\be_\bU_\bp_\bl_\bo_\ba_\bd_\bH_\ba_\bn_\bd_\bl_\be_\br * _\bu_\bs_\be_\br_\b__\bl_\bo_\bg_\bi_\bn_\b__\bf_\ba_\bi_\bl_\be_\bd_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b)\n+ * _\bu_\bp_\bl_\bo_\ba_\bd_\b__\bt_\bo_\b _\b(_\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bu_\bs_\be_\br_\b__\bp_\ba_\bs_\bs_\be_\bs_\b__\bt_\be_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bU_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bF_\bi_\bl_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bf_\bi_\bl_\be_\bs_\b._\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\bf_\bi_\bl_\be_\b) * _\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * upper * _\bU_\bs_\be_\br_\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bS_\bi_\bm_\bi_\bl_\ba_\br_\bi_\bt_\by_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br _\bi_\bn\n+ * _\bU_\bp_\bp_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b)\n+ * _\bu_\br_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bU_\bs_\be_\br_\bC_\bh_\ba_\bn_\bg_\be_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bu_\br_\bi_\b__\bt_\bo_\b__\bi_\br_\bi_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b) * _\bU_\bs_\be_\br_\bC_\br_\be_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * url _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bu_\br_\bl_\b _\b(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw * _\bU_\bS_\bE_\bR_\bN_\bA_\bM_\bE_\b__\bF_\bI_\bE_\bL_\bD_\b _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bU_\bs_\be_\br_\bP_\ba_\bs_\bs_\be_\bs_\bT_\be_\bs_\bt_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bm_\bi_\bx_\bi_\bn_\bs_\b)\n+ * _\bu_\br_\bl_\b(_\b)_\b _\b(_\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bu_\bs_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bu_\br_\bl_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n+ * _\bu_\br_\bl_\bc_\bo_\bn_\bf_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * utc\n+ * urlencode o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br * _\bu_\bt_\bi_\bl_\bs_\b._\bi_\bs_\bo_\bl_\ba_\bt_\be_\b__\ba_\bp_\bp_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b)\n- * _\bU_\bU_\bI_\bD_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n+ * _\bU_\bU_\bI_\bD_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b)\n *\b**\b**\b**\b**\b* V\bV *\b**\b**\b**\b**\b*\n- * _\bv_\ba_\bl_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bv_\ba_\bl_\bu_\be_\bs_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bv_\ba_\bl_\bi_\bd_\b__\br_\be_\ba_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bV_\ba_\br_\bi_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bm_\bm_\ba_\b__\bs_\be_\bp_\ba_\br_\ba_\bt_\be_\bd_\b__\bi_\bn_\bt_\be_\bg_\be_\br_\b__\bl_\bi_\bs_\bt_\b * _\bv_\ba_\br_\by_\b__\bo_\bn_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bv_\ba_\br_\by_\b__\bo_\bn_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bd_\bo_\bm_\ba_\bi_\bn_\b__\bn_\ba_\bm_\be_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * verbatim\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\be_\bm_\ba_\bi_\bl_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bm_\ba_\bg_\be_\b__\bf_\bi_\bl_\be_\b__\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b4_\b6_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b4_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be_\b__\bp_\bl_\bu_\br_\ba_\bl_\b \n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b6_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * version\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bs_\bl_\bu_\bg_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bv\bv_\bi\bi_\be\be_\bw\bw\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bc_\bo_\bd_\be_\b__\bs_\bl_\bu_\bg_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bv_\bi_\be_\bw_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bq_\bu_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bv_\bi_\be_\bw_\b__\bo_\bn_\b__\bs_\bi_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n- * _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) * _\bV_\bi_\be_\bw_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt\n- * _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br * _\bv_\bi_\be_\bw_\bs_\b._\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b), _\b[_\b1_\b] _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b._\bA_\bS_\bC_\bI_\bI_\bU_\bs_\be_\br_\bn_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs * _\bv_\bi_\be_\bw_\bs_\b._\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n- * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b._\bU_\bn_\bi_\bc_\bo_\bd_\be_\bU_\bs_\be_\br_\bn_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b * _\bv_\bi_\be_\bw_\bs_\b._\bs_\be_\br_\bv_\be_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n- * _\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) * _\bv_\bi_\be_\bw_\bs_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bv_\ba_\bl_\bu_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n- o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be * _\bv_\bi_\be_\bw_\bs_\b._\bS_\bu_\bc_\bc_\be_\bs_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n- * _\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be_\b \n- * _\bv_\ba_\bl_\bu_\be_\b__\bf_\br_\bo_\bm_\b__\bd_\ba_\bt_\ba_\bd_\bi_\bc_\bt_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bu_\be_\b__\bf_\br_\bo_\bm_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n- * _\bv_\ba_\bl_\bu_\be_\b__\bo_\bm_\bi_\bt_\bt_\be_\bd_\b__\bf_\br_\bo_\bm_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n- * _\bv_\ba_\bl_\bu_\be_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bV_\ba_\bl_\bu_\be_\bR_\ba_\bn_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b \n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bv_\ba_\bl_\bu_\be_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be * _\bv_\bs_\bi_\b__\bb_\bu_\bf_\bf_\be_\br_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bv_\ba_\bl_\bi_\bd_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\b__\br_\be_\ba_\bs_\bo_\bn_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE, _\b[_\b1_\b],\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b(_\b)_\b _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b[_\b2_\b], _\b[_\b3_\b], _\b[_\b4_\b], _\b[_\b5_\b], _\b[_\b6_\b], _\b[_\b7_\b],\n+ o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b[_\b8_\b], _\b[_\b9_\b], _\b[_\b1_\b0_\b], _\b[_\b1_\b1_\b], _\b[_\b1_\b2_\b],\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bm_\bm_\ba_\b__\bs_\be_\bp_\ba_\br_\ba_\bt_\be_\bd_\b__\bi_\bn_\bt_\be_\bg_\be_\br_\b__\bl_\bi_\bs_\bt_\b _\b[_\b1_\b3_\b], _\b[_\b1_\b4_\b], _\b[_\b1_\b5_\b], _\b[_\b1_\b6_\b], _\b[_\b1_\b7_\b],\n+ _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\b[_\b1_\b8_\b], _\b[_\b1_\b9_\b], _\b[_\b2_\b0_\b], _\b[_\b2_\b1_\b], _\b[_\b2_\b2_\b],\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b[_\b2_\b3_\b], _\b[_\b2_\b4_\b], _\b[_\b2_\b5_\b], _\b[_\b2_\b6_\b]\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bd_\bo_\bm_\ba_\bi_\bn_\b__\bn_\ba_\bm_\be_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bU_\bP_\bE_\bR_\bU_\bS_\bE_\bR_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\be_\bm_\ba_\bi_\bl_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b[_\b1_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bm_\ba_\bg_\be_\b__\bf_\bi_\bl_\be_\b__\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\b(_\bn_\be_\bl _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bT_\bE_\bS_\bT_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\bE_\bS, _\b[_\b1_\b],\n+ _\bm_\bo_\bd_\bu_\bl_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\b[_\b2_\b]\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b4_\b6_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bW_\bA_\bT_\bC_\bH_\bM_\bA_\bN_\b__\bT_\bI_\bM_\bE_\bO_\bU_\bT, _\b[_\b1_\b],\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b4_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\b[_\b2_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bp_\bv_\b6_\b__\ba_\bd_\bd_\br_\be_\bs_\bs_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bP_\bY_\bT_\bH_\bO_\bN_\bP_\bA_\bT_\bH, _\b[_\b1_\b], _\b[_\b2_\b]\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bP_\bY_\bT_\bH_\bO_\bN_\bS_\bT_\bA_\bR_\bT_\bU_\bP\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bs_\bl_\bu_\bg_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bP_\bY_\bT_\bH_\bO_\bN_\bU_\bT_\bF_\b8\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bc_\bo_\bd_\be_\b__\bs_\bl_\bu_\bg_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bP_\bY_\bT_\bH_\bO_\bN_\bW_\bA_\bR_\bN_\bI_\bN_\bG_\bS\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b) * _\bV_\ba_\br_\bi_\ba_\bn_\bc_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bq_\bu_\be_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b)\n+ * _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bv_\ba_\br_\by_\b__\bo_\bn_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by_\b)\n+ * _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br * _\bv_\ba_\br_\by_\b__\bo_\bn_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b), _\b[_\b1_\b] _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by_\b)\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b._\bA_\bS_\bC_\bI_\bI_\bU_\bs_\be_\br_\bn_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b * verbatim\n+ _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n+ * _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b._\bU_\bn_\bi_\bc_\bo_\bd_\be_\bU_\bs_\be_\br_\bn_\ba_\bm_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b * _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be_\b _\b(_\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg\n+ _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bV_\ba_\bl_\bu_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b) o _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\ba_\bl_\bu_\be_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bM_\bo_\bd_\be_\bl_\bC_\bh_\bo_\bi_\bc_\be_\bI_\bt_\be_\br_\ba_\bt_\bo_\br_\bV_\ba_\bl_\bu_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\ba_\bl_\bu_\be_\b(_\b)_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be_\b__\bp_\bl_\bu_\br_\ba_\bl_\b \n+ * _\bv_\ba_\bl_\bu_\be_\b__\bf_\br_\bo_\bm_\b__\bd_\ba_\bt_\ba_\bd_\bi_\bc_\bt_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) _\b(_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\ba_\bl_\bu_\be_\b__\bf_\br_\bo_\bm_\b__\bo_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\ba_\bl_\bu_\be_\b__\bo_\bm_\bi_\bt_\bt_\be_\bd_\b__\bf_\br_\bo_\bm_\b__\bd_\ba_\bt_\ba_\b(_\b)_\b _\b(_\bW_\bi_\bd_\bg_\be_\bt * version\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n+ * _\bv_\ba_\bl_\bu_\be_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bv\bv_\bi\bi_\be\be_\bw\bw\n+ * _\bV_\ba_\bl_\bu_\be_\bR_\ba_\bn_\bg_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bv_\bi_\be_\bw_\b__\bn_\ba_\bm_\be_\b _\b(_\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh\n+ * _\bv_\ba_\bl_\bu_\be_\bs_\b(_\b)_\b _\b(_\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bb_\ba_\bs_\be_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bB_\ba_\bs_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bv_\bi_\be_\bw_\b__\bo_\bn_\b__\bs_\bi_\bt_\be_\b _\b(_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n+ o _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bV_\bi_\be_\bw_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt\n+ o _\b(_\bQ_\bu_\be_\br_\by_\bD_\bi_\bc_\bt_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) * _\bv_\bi_\be_\bw_\bs_\b._\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bv_\ba_\bl_\bu_\be_\bs_\b__\bl_\bi_\bs_\bt_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bq_\bu_\be_\br_\by_\b._\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b) * _\bv_\bi_\be_\bw_\bs_\b._\bi_\bn_\bd_\be_\bx_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b, _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n+ _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bA_\bL_\bL_\bO_\bW_\b__\bA_\bS_\bY_\bN_\bC_\b__\bU_\bN_\bS_\bA_\bF_\bE, _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b] * _\bv_\bi_\be_\bw_\bs_\b._\bs_\be_\br_\bv_\be_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ * _\bv_\ba_\br_\bi_\ba_\bb_\bi_\bl_\be_\b _\bd_\b'_\ba_\bm_\bb_\bi_\be_\bn_\bt_\be_\b,_\b _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bC_\bO_\bL_\bO_\bR_\bS, _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b)\n+ _\b[_\b1_\b], _\b[_\b2_\b], _\b[_\b3_\b] * _\bv_\bi_\be_\bw_\bs_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\b(_\b)_\b _\b(_\bn_\be_\bl_\b _\bm_\bo_\bd_\bu_\bl_\bo\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b)\n+ * _\bv_\bi_\be_\bw_\bs_\b._\bS_\bu_\bc_\bc_\be_\bs_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bx_\bi_\bn_\b \n+ _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b)\n+ * _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be_\b \n+ _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b \n+ _\b(_\bB_\ba_\bs_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bv_\bs_\bi_\b__\bb_\bu_\bf_\bf_\be_\br_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n *\b**\b**\b**\b**\b* W\bW *\b**\b**\b**\b**\b*\n- * _\bW_\b3_\bC_\bG_\be_\bo_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * within\n+ * _\bW_\b3_\bC_\bG_\be_\bo_\bF_\be_\be_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * within\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bf_\be_\be_\bd_\bs_\b) o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be\n- * _\bW_\ba_\br_\bn_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bw_\bi_\bt_\bh_\bi_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bw_\ba_\br_\bp_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * week * _\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bw_\be_\be_\bk_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bw_\bk_\bb_\b__\bs_\bi_\bz_\be_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * week_day * _\bW_\bK_\bB_\bR_\be_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bW_\ba_\br_\bn_\bi_\bn_\bg_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bw_\bi_\bt_\bh_\bi_\bn_\b(_\b)_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\bh_\be_\bc_\bk_\bs_\b) o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bw_\ba_\br_\bp_\b(_\b)_\b _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b) o _\b(_\bP_\br_\be_\bp_\ba_\br_\be_\bd_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * week * _\bw_\bk_\bb_\b _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bw_\be_\be_\bk_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bw_\bk_\bb_\b__\bs_\bi_\bz_\be_\b _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * week_day * _\bW_\bK_\bB_\bR_\be_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bw_\be_\be_\bk_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bw_\bk_\bt_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bw_\be_\be_\bk_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bw_\bk_\bt_\b _\b(_\bE_\bn_\bv_\be_\bl_\bo_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\b(_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ * _\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn o _\b(_\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b) o _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n- * _\bW_\bh_\be_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bW_\bK_\bT_\bR_\be_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n- * _\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bW_\bh_\be_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bW_\bK_\bT_\bR_\be_\ba_\bd_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\bW_\bi_\bd_\bg_\be_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n+ * _\bw_\bi_\bd_\bg_\be_\bt_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bM_\bu_\bl_\bt_\bi_\bV_\ba_\bl_\bu_\be_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\be_\bo_\bs_\b)\n * _\bw_\bi_\bd_\bg_\be_\bt_\b__\bt_\by_\bp_\be_\b _\b(_\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd * wordcount\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- * _\bw_\bi_\bd_\bg_\be_\bt_\bs_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * wordwrap\n- * _\bw_\bi_\bd_\bt_\bh_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n- o _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bw_\br_\bi_\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bw_\br_\bi_\bt_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bw_\bi_\bd_\bt_\bh_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd o _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * widthratio * _\bw_\br_\bi_\bt_\be_\b__\bh_\be_\bx_\b(_\b)_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ * _\bw_\bi_\bd_\bg_\be_\bt_\bs_\b _\b(_\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * wordwrap\n+ * _\bw_\bi_\bd_\bt_\bh_\b _\b(_\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n+ o _\b(_\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bw_\br_\bi_\bt_\ba_\bb_\bl_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bw_\br_\bi_\bt_\be_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\bl_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * _\bw_\bi_\bd_\bt_\bh_\b__\bf_\bi_\be_\bl_\bd_\b _\b(_\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd o _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bW_\bK_\bT_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ * widthratio * _\bw_\br_\bi_\bt_\be_\b__\bh_\be_\bx_\b(_\b)_\b _\b(_\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg * _\bw_\br_\bi_\bt_\be_\bl_\bi_\bn_\be_\bs_\b(_\b)_\b _\b(_\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n- * _\bW_\bi_\bn_\bd_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bW_\bi_\bn_\bd_\bo_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn _\bm_\be_\bt_\bo_\bd_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b) * _\bw_\br_\bi_\bt_\be_\bS_\bt_\br_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd\n- * _\bw_\bi_\bn_\bd_\bo_\bw_\b__\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * WSGI_APPLICATION\n- o _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n- * _\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bw_\bs_\bg_\bi_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bw_\bi_\bn_\bd_\bo_\bw_\b__\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\b(_\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * WSGI_APPLICATION\n+ o _\b(_\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\bs_\be_\bt_\bt_\bi_\bn_\bg\n+ * _\bW_\bi_\bn_\bd_\bo_\bw_\bF_\br_\ba_\bm_\be_\bE_\bx_\bc_\bl_\bu_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn * _\bw_\bs_\bg_\bi_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b _\b(_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b)\n * with\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n- * _\bw_\bi_\bt_\bh_\b__\bp_\be_\br_\bm_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bw_\bi_\bt_\bh_\b__\bp_\be_\br_\bm_\b(_\b)_\b _\b(_\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n+ o _\b(_\bm_\bo_\bd_\be_\bl_\bs_\b._\bU_\bs_\be_\br_\bM_\ba_\bn_\ba_\bg_\be_\br_\b _\bm_\be_\bt_\bo_\bd_\bo_\b)\n *\b**\b**\b**\b**\b* X\bX *\b**\b**\b**\b**\b*\n- * _\bx_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bX_\bF_\br_\ba_\bm_\be_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b)\n- * _\bx_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * xml\n+ * _\bx_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bX_\bF_\br_\ba_\bm_\be_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b)\n+ * _\bx_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b(_\bS_\bi_\bt_\be_\bm_\ba_\bp_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * xml\n * X_FRAME_OPTIONS o _\bs_\bu_\bc_\bk_\bi_\bn_\be_\bs_\bs_\b _\bo_\bf\n- o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bx_\bm_\bl_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bs_\be_\bt_\bt_\bi_\bn_\bg * _\bx_\bm_\bl_\b _\b(_\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n *\b**\b**\b**\b**\b* Y\bY *\b**\b**\b**\b**\b*\n- * _\by_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b)\n- o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\by_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b)\n+ o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) o _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n * year _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- * _\by_\be_\ba_\br_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n- * _\by_\be_\ba_\br_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\by_\be_\ba_\br_\bs_\b _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt\n- * YEAR_MONTH_FORMAT _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bt_\by_\bp_\be * _\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\be_\b _\bi_\bn\n+ * _\by_\be_\ba_\br_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b)\n+ * _\by_\be_\ba_\br_\b__\bf_\bo_\br_\bm_\ba_\bt_\b _\b(_\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b) * _\by_\be_\ba_\br_\bs_\b _\b(_\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt\n+ * YEAR_MONTH_FORMAT _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n o _\bs_\be_\bt_\bt_\bi_\bn_\bg * yesno\n o _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n *\b**\b**\b**\b**\b* Z\bZ *\b**\b**\b**\b**\b*\n- * _\bz_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bz_\b _\b(_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n+ o _\b(_\bP_\bo_\bi_\bn_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bo_\b)\n _\bu_\bp\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/glossary.html", "source2": "./usr/share/doc/python-django-doc/html/glossary.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Glossary — Django 5.1.4 documentation\n+ Glossary — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -89,27 +90,27 @@\n
    generic view\u00b6

    A higher-order view function that provides an abstract/generic\n implementation of a common idiom or pattern found in view development.

    \n

    See Class-based views.

    \n
    \n
    model\u00b6

    Models store your application\u2019s data.

    \n

    See Models.

    \n
    \n-
    MTV\u00b6

    \u201cModel-template-view\u201d; a software pattern, similar in style to MVC, but\n+

    MTV\u00b6

    \u00abModel-template-view\u00bb; a software pattern, similar in style to MVC, but\n a better description of the way Django does things.

    \n

    See the FAQ entry.

    \n
    \n
    MVC\u00b6

    Model-view-controller; a software pattern. Django follows MVC\n to some extent.

    \n
    \n
    project\u00b6

    A Python package \u2013 i.e. a directory of code \u2013 that contains all the\n settings for an instance of Django. This would include database\n configuration, Django-specific options and application-specific\n settings.

    \n
    \n-
    property\u00b6

    Also known as \u201cmanaged attributes\u201d, and a feature of Python since\n+

    property\u00b6

    Also known as \u00abmanaged attributes\u00bb, and a feature of Python since\n version 2.2. This is a neat way to implement attributes whose usage\n resembles attribute access, but whose implementation uses method calls.

    \n

    See property.

    \n
    \n
    queryset\u00b6

    An object representing some set of rows to be fetched from the database.

    \n

    See Making queries.

    \n
    \n@@ -136,47 +137,47 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Third-party distributions of Django

    \n+ title=\"capitolo precedente\">Third-party distributions of Django

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Release notes

    \n+ title=\"capitolo successivo\">Release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGl\blo\bos\bss\bsa\bar\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n concrete model_\b\u00b6\n A non-abstract (_\ba_\bb_\bs_\bt_\br_\ba_\bc_\bt_\b=_\bF_\ba_\bl_\bs_\be) model.\n field_\b\u00b6\n An attribute on a _\bm_\bo_\bd_\be_\bl; a given field usually maps directly to a single\n@@ -12,26 +12,26 @@\n A higher-order _\bv_\bi_\be_\bw function that provides an abstract/generic\n implementation of a common idiom or pattern found in view development.\n See _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs.\n model_\b\u00b6\n Models store your application\u2019s data.\n See _\bM_\bo_\bd_\be_\bl_\bs.\n MTV_\b\u00b6\n- \u201cModel-template-view\u201d; a software pattern, similar in style to MVC, but a\n+ \u00abModel-template-view\u00bb; a software pattern, similar in style to MVC, but a\n better description of the way Django does things.\n See _\bt_\bh_\be_\b _\bF_\bA_\bQ_\b _\be_\bn_\bt_\br_\by.\n MVC_\b\u00b6\n _\bM_\bo_\bd_\be_\bl_\b-_\bv_\bi_\be_\bw_\b-_\bc_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br; a software pattern. Django _\bf_\bo_\bl_\bl_\bo_\bw_\bs_\b _\bM_\bV_\bC_\b _\bt_\bo_\b _\bs_\bo_\bm_\be\n _\be_\bx_\bt_\be_\bn_\bt.\n project_\b\u00b6\n A Python package \u2013 i.e. a directory of code \u2013 that contains all the\n settings for an instance of Django. This would include database\n configuration, Django-specific options and application-specific settings.\n property_\b\u00b6\n- Also known as \u201cmanaged attributes\u201d, and a feature of Python since version\n+ Also known as \u00abmanaged attributes\u00bb, and a feature of Python since version\n 2.2. This is a neat way to implement attributes whose usage resembles\n attribute access, but whose implementation uses method calls.\n See _\bp_\br_\bo_\bp_\be_\br_\bt_\by.\n queryset_\b\u00b6\n An object representing some set of rows to be fetched from the database.\n See _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bq_\bu_\be_\br_\bi_\be_\bs.\n slug_\b\u00b6\n@@ -42,16 +42,16 @@\n the last bit (spring) is the slug.\n template_\b\u00b6\n A chunk of text that acts as formatting for representing data. A template\n helps to abstract the presentation of data from the data itself.\n See _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs.\n view_\b\u00b6\n A function responsible for rendering a page.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bR_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html", "source2": "./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to authenticate using REMOTE_USER — Django 5.1.4 documentation\n+ How to authenticate using REMOTE_USER — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -124,15 +125,15 @@\n AUTHENTICATION_BACKENDS list will use ModelBackend as a fallback\n if REMOTE_USER is absent, which will solve these issues.

    \n

    Django\u2019s user management, such as the views in contrib.admin and\n the createsuperuser management command, doesn\u2019t integrate with\n remote users. These interfaces work with users stored in the database\n regardless of AUTHENTICATION_BACKENDS.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Since the RemoteUserBackend inherits from ModelBackend, you will\n still have all of the same permissions checking that is implemented in\n ModelBackend.

    \n

    Users with is_active=False won\u2019t be allowed to\n authenticate. Use\n AllowAllUsersRemoteUserBackend if\n you want to allow them to.

    \n@@ -144,19 +145,19 @@\n \n \n class CustomHeaderMiddleware(RemoteUserMiddleware):\n header = "HTTP_AUTHUSER"\n
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Be very careful if using a RemoteUserMiddleware subclass with a custom\n HTTP header. You must be sure that your front-end web server always sets or\n strips that header based on the appropriate authentication checks, never\n-permitting an end-user to submit a fake (or \u201cspoofed\u201d) header value. Since\n+permitting an end-user to submit a fake (or \u00abspoofed\u00bb) header value. Since\n the HTTP headers X-Auth-User and X-Auth_User (for example) both\n normalize to the HTTP_X_AUTH_USER key in request.META, you must\n also check that your web server doesn\u2019t allow a spoofed header using\n underscores in place of dashes.

    \n

    This warning doesn\u2019t apply to RemoteUserMiddleware in its default\n configuration with header = 'REMOTE_USER', since a key that doesn\u2019t\n start with HTTP_ in request.META can only be set by your WSGI\n@@ -202,37 +203,37 @@\n

  • Using REMOTE_USER on login pages only
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to deploy static files

    \n+ title=\"capitolo precedente\">How to deploy static files

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django\u2019s CSRF protection

    \n+ title=\"capitolo successivo\">How to use Django\u2019s CSRF protection

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo a\bau\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bte\be u\bus\bsi\bin\bng\bg R\bRE\bEM\bMO\bOT\bTE\bE_\b_U\bUS\bSE\bER\bR_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document describes how to make use of external authentication sources\n (where the web server sets the REMOTE_USER environment variable) in your Django\n applications. This type of authentication solution is typically seen on\n intranet sites, with single sign-on solutions such as IIS and Integrated\n@@ -38,32 +38,32 @@\n 'django.contrib.auth.backends.ModelBackend' to the AUTHENTICATION_BACKENDS list\n will use ModelBackend as a fallback if REMOTE_USER is absent, which will solve\n these issues.\n Django\u2019s user management, such as the views in contrib.admin and the\n _\bc_\br_\be_\ba_\bt_\be_\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br management command, doesn\u2019t integrate with remote users. These\n interfaces work with users stored in the database regardless of\n AUTHENTICATION_BACKENDS.\n-Note\n+Nota\n Since the RemoteUserBackend inherits from ModelBackend, you will still have all\n of the same permissions checking that is implemented in ModelBackend.\n Users with _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b=_\bF_\ba_\bl_\bs_\be won\u2019t be allowed to authenticate. Use\n _\bA_\bl_\bl_\bo_\bw_\bA_\bl_\bl_\bU_\bs_\be_\br_\bs_\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd if you want to allow them to.\n If your authentication mechanism uses a custom HTTP header and not REMOTE_USER,\n you can subclass RemoteUserMiddleware and set the header attribute to the\n desired request.META key. For example:\n from django.contrib.auth.middleware import RemoteUserMiddleware\n \n \n class CustomHeaderMiddleware(RemoteUserMiddleware):\n header = \"HTTP_AUTHUSER\"\n-Warning\n+Avvertimento\n Be very careful if using a RemoteUserMiddleware subclass with a custom HTTP\n header. You must be sure that your front-end web server always sets or strips\n that header based on the appropriate authentication checks, never permitting an\n-end-user to submit a fake (or \u201cspoofed\u201d) header value. Since the HTTP headers\n+end-user to submit a fake (or \u00abspoofed\u00bb) header value. Since the HTTP headers\n X-Auth-User and X-Auth_User (for example) both normalize to the\n HTTP_X_AUTH_USER key in request.META, you must also check that your web server\n doesn\u2019t allow a spoofed header using underscores in place of dashes.\n This warning doesn\u2019t apply to RemoteUserMiddleware in its default configuration\n with header = 'REMOTE_USER', since a key that doesn\u2019t start with HTTP_ in\n request.META can only be set by your WSGI server, not directly from an HTTP\n request header.\n@@ -83,16 +83,16 @@\n maintain the authenticated session until explicit logout by the user. The class\n can be used as a drop-in replacement of _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be in the\n documentation above.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n o _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn\n o _\bU_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR_\b _\bo_\bn_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\bs_\b _\bo_\bn_\bl_\by\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/csrf.html", "source2": "./usr/share/doc/python-django-doc/html/howto/csrf.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django\u2019s CSRF protection — Django 5.1.4 documentation\n+ How to use Django\u2019s CSRF protection — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -141,24 +142,24 @@\n
    \n
    \n

    The above code could be simplified by using the JavaScript Cookie library to replace getCookie:

    \n
    const csrftoken = Cookies.get('csrftoken');\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The CSRF token is also present in the DOM in a masked form, but only if\n explicitly included using csrf_token in a template. The cookie\n contains the canonical, unmasked token. The\n CsrfViewMiddleware will accept either.\n However, in order to protect against BREACH attacks, it\u2019s recommended to\n use a masked token.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If your view is not rendering a template containing the csrf_token\n template tag, Django might not set the CSRF token cookie. This is common in\n cases where forms are dynamically added to the page. To address this case,\n Django provides a view decorator which forces setting of the cookie:\n ensure_csrf_cookie().

    \n
    \n \n@@ -207,20 +208,20 @@\n

    Rather than adding CsrfViewMiddleware as a blanket protection, you can use\n the csrf_protect() decorator, which has\n exactly the same functionality, on particular views that need the protection.\n It must be used both on views that insert the CSRF token in the output, and\n on those that accept the POST form data. (These are often the same view\n function, but not always).

    \n

    Use of the decorator by itself is not recommended, since if you forget to\n-use it, you will have a security hole. The \u2018belt and braces\u2019 strategy of using\n+use it, you will have a security hole. The \u201cbelt and braces\u201d strategy of using\n both is fine, and will incur minimal overhead.

    \n \n
    \n

    Handling rejected requests\u00b6

    \n-

    By default, a \u2018403 Forbidden\u2019 response is sent to the user if an incoming\n+

    By default, a \u201c403 Forbidden\u201d response is sent to the user if an incoming\n request fails the checks performed by CsrfViewMiddleware. This should\n usually only be seen when there is a genuine Cross Site Request Forgery, or\n when, due to a programming error, the CSRF token has not been included with a\n POST form.

    \n

    The error page, however, is not very friendly, so you may want to provide your\n own view for handling this condition. To do this, set the\n CSRF_FAILURE_VIEW setting.

    \n@@ -371,37 +372,37 @@\n
  • CSRF protection in reusable applications
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to authenticate using REMOTE_USER

    \n+ title=\"capitolo precedente\">How to authenticate using REMOTE_USER

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create custom django-admin commands

    \n+ title=\"capitolo successivo\">How to create custom django-admin commands

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs C\bCS\bSR\bRF\bF p\bpr\bro\bot\bte\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n To take advantage of CSRF protection in your views, follow these steps:\n 1. The CSRF middleware is activated by default in the _\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE setting. If\n you override that setting, remember that\n 'django.middleware.csrf.CsrfViewMiddleware' should come before any view\n@@ -51,21 +51,21 @@\n }\n return cookieValue;\n }\n const csrftoken = getCookie('csrftoken');\n The above code could be simplified by using the _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bC_\bo_\bo_\bk_\bi_\be_\b _\bl_\bi_\bb_\br_\ba_\br_\by to\n replace getCookie:\n const csrftoken = Cookies.get('csrftoken');\n-Note\n+Nota\n The CSRF token is also present in the DOM in a masked form, but only if\n explicitly included using _\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn in a template. The cookie contains the\n canonical, unmasked token. The _\bC_\bs_\br_\bf_\bV_\bi_\be_\bw_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be will accept either. However,\n in order to protect against _\bB_\bR_\bE_\bA_\bC_\bH attacks, it\u2019s recommended to use a masked\n token.\n-Warning\n+Avvertimento\n If your view is not rendering a template containing the _\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn template\n tag, Django might not set the CSRF token cookie. This is common in cases where\n forms are dynamically added to the page. To address this case, Django provides\n a view decorator which forces setting of the cookie: _\be_\bn_\bs_\bu_\br_\be_\b__\bc_\bs_\br_\bf_\b__\bc_\bo_\bo_\bk_\bi_\be_\b(_\b).\n *\b**\b**\b**\b* A\bAc\bcq\bqu\bui\bir\bri\bin\bng\bg t\bth\bhe\be t\bto\bok\bke\ben\bn i\bif\bf _\bC\bC_\bS\bS_\bR\bR_\bF\bF_\b_\b__\bU\bU_\bS\bS_\bE\bE_\b_\b__\bS\bS_\bE\bE_\bS\bS_\bS\bS_\bI\bI_\bO\bO_\bN\bN_\bS\bS o\bor\br _\bC\bC_\bS\bS_\bR\bR_\bF\bF_\b_\b__\bC\bC_\bO\bO_\bO\bO_\bK\bK_\bI\bI_\bE\bE_\b_\b__\bH\bH_\bT\bT_\bT\bT_\bP\bP_\bO\bO_\bN\bN_\bL\bL_\bY\bY i\bis\bs T\bTr\bru\bue\be_\b?\b\u00b6\n *\b**\b**\b**\b*\n If you activate _\bC_\bS_\bR_\bF_\b__\bU_\bS_\bE_\b__\bS_\bE_\bS_\bS_\bI_\bO_\bN_\bS or _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bH_\bT_\bT_\bP_\bO_\bN_\bL_\bY, you must include the\n@@ -96,18 +96,18 @@\n *\b**\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg t\bth\bhe\be d\bde\bec\bco\bor\bra\bat\bto\bor\br m\bme\bet\bth\bho\bod\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Rather than adding CsrfViewMiddleware as a blanket protection, you can use the\n _\bc_\bs_\br_\bf_\b__\bp_\br_\bo_\bt_\be_\bc_\bt_\b(_\b) decorator, which has exactly the same functionality, on\n particular views that need the protection. It must be used b\bbo\bot\bth\bh on views that\n insert the CSRF token in the output, and on those that accept the POST form\n data. (These are often the same view function, but not always).\n Use of the decorator by itself is n\bno\bot\bt r\bre\bec\bco\bom\bmm\bme\ben\bnd\bde\bed\bd, since if you forget to use\n-it, you will have a security hole. The \u2018belt and braces\u2019 strategy of using both\n+it, you will have a security hole. The \u201cbelt and braces\u201d strategy of using both\n is fine, and will incur minimal overhead.\n *\b**\b**\b**\b**\b* H\bHa\ban\bnd\bdl\bli\bin\bng\bg r\bre\bej\bje\bec\bct\bte\bed\bd r\bre\beq\bqu\bue\bes\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-By default, a \u2018403 Forbidden\u2019 response is sent to the user if an incoming\n+By default, a \u201c403 Forbidden\u201d response is sent to the user if an incoming\n request fails the checks performed by CsrfViewMiddleware. This should usually\n only be seen when there is a genuine Cross Site Request Forgery, or when, due\n to a programming error, the CSRF token has not been included with a POST form.\n The error page, however, is not very friendly, so you may want to provide your\n own view for handling this condition. To do this, set the _\bC_\bS_\bR_\bF_\b__\bF_\bA_\bI_\bL_\bU_\bR_\bE_\b__\bV_\bI_\bE_\bW\n setting.\n CSRF failures are logged as warnings to the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b._\bc_\bs_\br_\bf logger.\n@@ -206,16 +206,16 @@\n # _\bD_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bj_\bu_\bs_\bt_\b _\ba_\b _\bf_\be_\bw_\b _\bv_\bi_\be_\bw_\bs\n # _\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bt_\bo_\bk_\be_\bn_\b _\bw_\bh_\be_\bn_\b _\bC_\bs_\br_\bf_\bV_\bi_\be_\bw_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bv_\bi_\be_\bw_\b(_\b)_\b _\bi_\bs\n _\bn_\bo_\bt_\b _\bu_\bs_\be_\bd\n # _\bI_\bn_\bc_\bl_\bu_\bd_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bC_\bS_\bR_\bF_\b _\bt_\bo_\bk_\be_\bn_\b _\bi_\bn_\b _\ba_\bn_\b _\bu_\bn_\bp_\br_\bo_\bt_\be_\bc_\bt_\be_\bd_\b _\bv_\bi_\be_\bw\n # _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bn_\bg_\b _\ba_\b _\bv_\bi_\be_\bw_\b _\bf_\bo_\br_\b _\bo_\bn_\bl_\by_\b _\bo_\bn_\be_\b _\bp_\ba_\bt_\bh\n # _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bn_\bg_\b _\ba_\b _\bp_\ba_\bg_\be_\b _\bt_\bh_\ba_\bt_\b _\bu_\bs_\be_\bs_\b _\bA_\bJ_\bA_\bX_\b _\bw_\bi_\bt_\bh_\bo_\bu_\bt_\b _\ba_\bn_\b _\bH_\bT_\bM_\bL_\b _\bf_\bo_\br_\bm\n o _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to write a custom storage class — Django 5.1.4 documentation\n+ How to write a custom storage class — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -229,37 +230,37 @@\n
  • Use your custom storage engine
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create custom django-admin commands

    \n+ title=\"capitolo precedente\">How to create custom django-admin commands

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django FAQ

    \n+ title=\"capitolo successivo\">Django FAQ

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo w\bwr\bri\bit\bte\be a\ba c\bcu\bus\bst\bto\bom\bm s\bst\bto\bor\bra\bag\bge\be c\bcl\bla\bas\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n If you need to provide custom file storage \u2013 a common example is storing files\n on some remote system \u2013 you can do so by defining a custom storage class.\n You\u2019ll need to follow these steps:\n 1. Your custom storage system must be a subclass of\n@@ -96,16 +96,16 @@\n dictionary:\n from django.core.files.storage import storages\n \n example_storage = storages[\"example\"]\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n o _\bU_\bs_\be_\b _\by_\bo_\bu_\br_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\be_\bn_\bg_\bi_\bn_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bA_\bQ\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-lookups.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-lookups.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to write custom lookups — Django 5.1.4 documentation\n+ How to write custom lookups — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -166,15 +167,15 @@\n application where we want to make use of the abs() operator.\n We have an Experiment model which records a start value, end value, and the\n change (start - end). We would like to find all experiments where the change\n was equal to a certain amount (Experiment.objects.filter(change__abs=27)),\n or where it did not exceed a certain amount\n (Experiment.objects.filter(change__abs__lt=27)).

    \n
    \n-

    Note

    \n+

    Nota

    \n

    This example is somewhat contrived, but it nicely demonstrates the range of\n functionality which is possible in a database backend independent manner,\n and without duplicating functionality already in Django.

    \n
    \n

    We will start by writing an AbsoluteValue transformer. This will use the SQL\n function ABS() to transform the value before comparison:

    \n
    from django.db.models import Transform\n@@ -275,15 +276,15 @@\n 

    Notice also that as both sides are used multiple times in the query the params\n need to contain lhs_params and rhs_params multiple times.

    \n

    The final query does the inversion (27 to -27) directly in the\n database. The reason for doing this is that if the self.rhs is something else\n than a plain integer value (for example an F() reference) we can\u2019t do the\n transformations in Python.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    In fact, most lookups with __abs could be implemented as range queries\n like this, and on most database backends it is likely to be more sensible to\n do so as you can make use of the indexes. However with PostgreSQL you may\n want to add an index on abs(change) which would allow these queries to\n be very efficient.

    \n
    \n \n@@ -416,37 +417,37 @@\n
  • How Django determines the lookups and transforms which are used
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create database migrations

    \n+ title=\"capitolo precedente\">How to create database migrations

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create CSV output

    \n+ title=\"capitolo successivo\">How to create CSV output

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo w\bwr\bri\bit\bte\be c\bcu\bus\bst\bto\bom\bm l\blo\boo\bok\bku\bup\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django offers a wide variety of _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs for filtering (for example,\n exact and icontains). This documentation explains how to write custom lookups\n and how to alter the working of existing lookups. For the API references of\n lookups, see the _\bL_\bo_\bo_\bk_\bu_\bp_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be.\n@@ -74,15 +74,15 @@\n The custom lookup above is great, but in some cases you may want to be able to\n chain lookups together. For example, let\u2019s suppose we are building an\n application where we want to make use of the abs() operator. We have an\n Experiment model which records a start value, end value, and the change (start\n - end). We would like to find all experiments where the change was equal to a\n certain amount (Experiment.objects.filter(change__abs=27)), or where it did not\n exceed a certain amount (Experiment.objects.filter(change__abs__lt=27)).\n-Note\n+Nota\n This example is somewhat contrived, but it nicely demonstrates the range of\n functionality which is possible in a database backend independent manner, and\n without duplicating functionality already in Django.\n We will start by writing an AbsoluteValue transformer. This will use the SQL\n function ABS() to transform the value before comparison:\n from django.db.models import Transform\n \n@@ -159,15 +159,15 @@\n AbsoluteValue lookup, that is the lhs is always an instance of AbsoluteValue.\n Notice also that as both sides are used multiple times in the query the params\n need to contain lhs_params and rhs_params multiple times.\n The final query does the inversion (27 to -27) directly in the database. The\n reason for doing this is that if the self.rhs is something else than a plain\n integer value (for example an F() reference) we can\u2019t do the transformations in\n Python.\n-Note\n+Nota\n In fact, most lookups with __abs could be implemented as range queries like\n this, and on most database backends it is likely to be more sensible to do so\n as you can make use of the indexes. However with PostgreSQL you may want to add\n an index on abs(change) which would allow these queries to be very efficient.\n *\b**\b**\b**\b**\b* A\bA b\bbi\bil\bla\bat\bte\ber\bra\bal\bl t\btr\bra\ban\bns\bsf\bfo\bor\brm\bme\ber\br e\bex\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The AbsoluteValue example we discussed previously is a transformation which\n applies to the left-hand side of the lookup. There may be some cases where you\n@@ -257,16 +257,16 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n o _\bA_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\be_\bx_\ba_\bm_\bp_\bl_\be\n o _\bA_\b _\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\be_\br_\b _\be_\bx_\ba_\bm_\bp_\bl_\be\n o _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\ba_\bn_\b _\be_\bf_\bf_\bi_\bc_\bi_\be_\bn_\bt_\b _\ba_\bb_\bs_\b__\b__\bl_\bt_\b _\bl_\bo_\bo_\bk_\bu_\bp\n o _\bA_\b _\bb_\bi_\bl_\ba_\bt_\be_\br_\ba_\bl_\b _\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\be_\br_\b _\be_\bx_\ba_\bm_\bp_\bl_\be\n o _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\bi_\bv_\be_\b _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\be_\bx_\bi_\bs_\bt_\bi_\bn_\bg_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n o _\bH_\bo_\bw_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\be_\bt_\be_\br_\bm_\bi_\bn_\be_\bs_\b _\bt_\bh_\be_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b _\ba_\bn_\bd_\b _\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\bs_\b _\bw_\bh_\bi_\bc_\bh_\b _\ba_\br_\be_\b _\bu_\bs_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bC_\bS_\bV_\b _\bo_\bu_\bt_\bp_\bu_\bt\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create custom django-admin commands — Django 5.1.4 documentation\n+ How to create custom django-admin commands — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -136,15 +137,15 @@\n \n self.stdout.write(\n self.style.SUCCESS('Successfully closed poll "%s"' % poll_id)\n )\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    When you are using management commands and wish to provide console\n output, you should write to self.stdout and self.stderr,\n instead of printing to stdout and stderr directly. By\n using these proxies, it becomes much easier to test your custom\n command. Note also that you don\u2019t need to end messages with a newline\n character, it will be added automatically, unless you specify the ending\n parameter:

    \n@@ -230,15 +231,15 @@\n INSTALLED_APPS) which imports the Command of the overridden\n command.

    \n \n
    \n

    Command objects\u00b6

    \n
    \n
    \n-class BaseCommand[source]\u00b6
    \n+class BaseCommand[sorgente]\u00b6\n
    \n \n

    The base class from which all management commands ultimately derive.

    \n

    Use this class if you want access to all of the mechanisms which\n parse the command-line arguments and work out what code to call in\n response; if you don\u2019t need to change any of that behavior,\n consider using one of its subclasses.

    \n@@ -257,15 +258,15 @@\n \n \n
    \n
    \n BaseCommand.missing_args_message\u00b6
    \n

    If your command defines mandatory positional arguments, you can customize\n the message error returned in the case of missing arguments. The default is\n-output by argparse (\u201ctoo few arguments\u201d).

    \n+output by argparse (\u00abtoo few arguments\u00bb).

    \n
    \n \n
    \n
    \n BaseCommand.output_transaction\u00b6
    \n

    A boolean indicating whether the command outputs SQL statements; if\n True, the output will automatically be wrapped with BEGIN; and\n@@ -295,15 +296,15 @@\n BaseCommand.style\u00b6\n

    An instance attribute that helps create colored output when writing to\n stdout or stderr. For example:

    \n
    self.stdout.write(self.style.SUCCESS("..."))\n 
    \n
    \n

    See Syntax coloring to learn how to modify the color palette and to\n-see the available styles (use uppercased versions of the \u201croles\u201d described\n+see the available styles (use uppercased versions of the \u00abroles\u00bb described\n in that section).

    \n

    If you pass the --no-color option when running your command, all\n self.style() calls will return the original string uncolored.

    \n
    \n \n
    \n
    \n@@ -327,63 +328,63 @@\n super().__init__(*args, **kwargs)\n # ...\n
    \n
    \n
    \n
    \n
    \n-BaseCommand.create_parser(prog_name, subcommand, **kwargs)[source]\u00b6
    \n+BaseCommand.create_parser(prog_name, subcommand, **kwargs)[sorgente]\u00b6\n

    Returns a CommandParser instance, which is an\n ArgumentParser subclass with a few customizations for\n Django.

    \n

    You can customize the instance by overriding this method and calling\n super() with kwargs of ArgumentParser parameters.

    \n
    \n \n
    \n
    \n-BaseCommand.add_arguments(parser)[source]\u00b6
    \n+BaseCommand.add_arguments(parser)[sorgente]\u00b6\n

    Entry point to add parser arguments to handle command line arguments passed\n to the command. Custom commands should override this method to add both\n positional and optional arguments accepted by the command. Calling\n super() is not needed when directly subclassing BaseCommand.

    \n
    \n \n
    \n
    \n-BaseCommand.get_version()[source]\u00b6
    \n+BaseCommand.get_version()[sorgente]\u00b6\n

    Returns the Django version, which should be correct for all built-in Django\n commands. User-supplied commands can override this method to return their\n own version.

    \n
    \n \n
    \n
    \n-BaseCommand.execute(*args, **options)[source]\u00b6
    \n+BaseCommand.execute(*args, **options)[sorgente]\u00b6\n

    Tries to execute this command, performing system checks if needed (as\n controlled by the requires_system_checks attribute). If the command\n raises a CommandError, it\u2019s intercepted and printed to stderr.

    \n
    \n \n
    \n

    Calling a management command in your code

    \n

    execute() should not be called directly from your code to execute a\n command. Use call_command() instead.

    \n
    \n
    \n
    \n-BaseCommand.handle(*args, **options)[source]\u00b6
    \n+BaseCommand.handle(*args, **options)[sorgente]\u00b6\n

    The actual logic of the command. Subclasses must implement this method.

    \n

    It may return a string which will be printed to stdout (wrapped\n by BEGIN; and COMMIT; if output_transaction is True).

    \n
    \n \n
    \n
    \n-BaseCommand.check(app_configs=None, tags=None, display_num_errors=False, include_deployment_checks=False, fail_level=checks.ERROR, databases=None)[source]\u00b6
    \n+BaseCommand.check(app_configs=None, tags=None, display_num_errors=False, include_deployment_checks=False, fail_level=checks.ERROR, databases=None)[sorgente]\u00b6\n

    Uses the system check framework to inspect the entire Django project for\n potential problems. Serious problems are raised as a CommandError;\n warnings are output to stderr; minor notifications are output to\n stdout.

    \n

    If app_configs and tags are both None, all system checks are\n performed except deployment and database related checks. tags can be a\n list of check tags, like compatibility or models.

    \n@@ -438,15 +439,15 @@\n
    \n \n \n
    \n

    Command exceptions\u00b6

    \n
    \n
    \n-exception CommandError(returncode=1)[source]\u00b6
    \n+exception CommandError(returncode=1)[sorgente]\u00b6\n
    \n \n

    Exception class indicating a problem while executing a management command.

    \n

    If this exception is raised during the execution of a management command from a\n command line console, it will be caught and turned into a nicely-printed error\n message to the appropriate output stream (i.e., stderr); as a result,\n raising this exception (with a sensible description of the error) is the\n@@ -487,37 +488,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django\u2019s CSRF protection

    \n+ title=\"capitolo precedente\">How to use Django\u2019s CSRF protection

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to write a custom storage class

    \n+ title=\"capitolo successivo\">How to write a custom storage class

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be c\bcu\bus\bst\bto\bom\bm d\bdj\bja\ban\bng\bgo\bo-\b-a\bad\bdm\bmi\bin\bn c\bco\bom\bmm\bma\ban\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Applications can register their own actions with manage.py. For example, you\n might want to add a manage.py action for a Django app that you\u2019re distributing.\n In this document, we will be building a custom closepoll command for the polls\n application from the _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl.\n@@ -50,15 +50,15 @@\n \n poll.opened = False\n poll.save()\n \n self.stdout.write(\n self.style.SUCCESS('Successfully closed poll \"%s\"' % poll_id)\n )\n-Note\n+Nota\n When you are using management commands and wish to provide console output, you\n should write to self.stdout and self.stderr, instead of printing to stdout and\n stderr directly. By using these proxies, it becomes much easier to test your\n custom command. Note also that you don\u2019t need to end messages with a newline\n character, it will be added automatically, unless you specify the ending\n parameter:\n self.stdout.write(\"Unterminated line\", ending=\"\")\n@@ -120,15 +120,15 @@\n In other words, to override a command, the new command must have the same name\n and its app must be before the overridden command\u2019s app in _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n Management commands from third-party apps that have been unintentionally\n overridden can be made available under a new name by creating a new command in\n one of your project\u2019s apps (ordered before the third-party app in\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS) which imports the Command of the overridden command.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bma\ban\bnd\bd o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BaseCommand_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseCommand_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The base class from which all management commands ultimately derive.\n Use this class if you want access to all of the mechanisms which parse the\n command-line arguments and work out what code to call in response; if you don\u2019t\n need to change any of that behavior, consider using one of its _\bs_\bu_\bb_\bc_\bl_\ba_\bs_\bs_\be_\bs.\n Subclassing the _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd class requires that you implement the _\bh_\ba_\bn_\bd_\bl_\be_\b(_\b)\n method.\n *\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -136,15 +136,15 @@\n _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\u2019s _\bs_\bu_\bb_\bc_\bl_\ba_\bs_\bs_\be_\bs.\n BaseCommand.help_\b\u00b6\n A short description of the command, which will be printed in the help\n message when the user runs the command python manage.py help .\n BaseCommand.missing_args_message_\b\u00b6\n If your command defines mandatory positional arguments, you can customize\n the message error returned in the case of missing arguments. The default\n- is output by _\ba_\br_\bg_\bp_\ba_\br_\bs_\be (\u201ctoo few arguments\u201d).\n+ is output by _\ba_\br_\bg_\bp_\ba_\br_\bs_\be (\u00abtoo few arguments\u00bb).\n BaseCommand.output_transaction_\b\u00b6\n A boolean indicating whether the command outputs SQL statements; if True,\n the output will automatically be wrapped with BEGIN; and COMMIT;. Default\n value is False.\n BaseCommand.requires_migrations_checks_\b\u00b6\n A boolean; if True, the command prints a warning if the set of migrations\n on disk don\u2019t match the migrations in the database. A warning doesn\u2019t\n@@ -155,15 +155,15 @@\n executing the command. The value '__all__' can be used to specify that\n all system checks should be performed. Default value is '__all__'.\n BaseCommand.style_\b\u00b6\n An instance attribute that helps create colored output when writing to\n stdout or stderr. For example:\n self.stdout.write(self.style.SUCCESS(\"...\"))\n See _\bS_\by_\bn_\bt_\ba_\bx_\b _\bc_\bo_\bl_\bo_\br_\bi_\bn_\bg to learn how to modify the color palette and to see\n- the available styles (use uppercased versions of the \u201croles\u201d described in\n+ the available styles (use uppercased versions of the \u00abroles\u00bb described in\n that section).\n If you pass the _\b-_\b-_\bn_\bo_\b-_\bc_\bo_\bl_\bo_\br option when running your command, all\n self.style() calls will return the original string uncolored.\n BaseCommand.suppressed_base_arguments_\b\u00b6\n The default command options to suppress in the help output. This should\n be a set of option names (e.g. '--verbosity'). The default values for the\n suppressed options are still passed.\n@@ -173,42 +173,42 @@\n Implementing a constructor in a subclass\n If you implement __init__ in your subclass of _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd, you must call\n _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd\u2019s __init__:\n class Command(BaseCommand):\n def __init__(self, *args, **kwargs):\n super().__init__(*args, **kwargs)\n # ...\n- BaseCommand.create_parser(p\bpr\bro\bog\bg_\b_n\bna\bam\bme\be, s\bsu\bub\bbc\bco\bom\bmm\bma\ban\bnd\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseCommand.create_parser(p\bpr\bro\bog\bg_\b_n\bna\bam\bme\be, s\bsu\bub\bbc\bco\bom\bmm\bma\ban\bnd\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a CommandParser instance, which is an _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt_\bP_\ba_\br_\bs_\be_\br subclass\n with a few customizations for Django.\n You can customize the instance by overriding this method and calling\n super() with kwargs of _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt_\bP_\ba_\br_\bs_\be_\br parameters.\n- BaseCommand.add_arguments(p\bpa\bar\brs\bse\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseCommand.add_arguments(p\bpa\bar\brs\bse\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Entry point to add parser arguments to handle command line arguments\n passed to the command. Custom commands should override this method to add\n both positional and optional arguments accepted by the command. Calling\n super() is not needed when directly subclassing BaseCommand.\n- BaseCommand.get_version()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseCommand.get_version()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the Django version, which should be correct for all built-in\n Django commands. User-supplied commands can override this method to\n return their own version.\n- BaseCommand.execute(*\b*a\bar\brg\bgs\bs, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseCommand.execute(*\b*a\bar\brg\bgs\bs, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Tries to execute this command, performing system checks if needed (as\n controlled by the _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bc_\bh_\be_\bc_\bk_\bs attribute). If the command\n raises a _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bE_\br_\br_\bo_\br, it\u2019s intercepted and printed to stderr.\n Calling a management command in your code\n execute() should not be called directly from your code to execute a command.\n Use _\bc_\ba_\bl_\bl_\b__\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b(_\b) instead.\n- BaseCommand.handle(*\b*a\bar\brg\bgs\bs, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseCommand.handle(*\b*a\bar\brg\bgs\bs, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The actual logic of the command. Subclasses must implement this method.\n It may return a string which will be printed to stdout (wrapped by BEGIN;\n and COMMIT; if _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn is True).\n BaseCommand.check(a\bap\bpp\bp_\b_c\bco\bon\bnf\bfi\big\bgs\bs=\b=N\bNo\bon\bne\be, t\bta\bag\bgs\bs=\b=N\bNo\bon\bne\be, d\bdi\bis\bsp\bpl\bla\bay\by_\b_n\bnu\bum\bm_\b_e\ber\brr\bro\bor\brs\bs=\b=F\bFa\bal\bls\bse\be,\n i\bin\bnc\bcl\blu\bud\bde\be_\b_d\bde\bep\bpl\blo\boy\bym\bme\ben\bnt\bt_\b_c\bch\bhe\bec\bck\bks\bs=\b=F\bFa\bal\bls\bse\be, f\bfa\bai\bil\bl_\b_l\ble\bev\bve\bel\bl=\b=c\bch\bhe\bec\bck\bks\bs.\b.E\bER\bRR\bRO\bOR\bR, d\bda\bat\bta\bab\bba\bas\bse\bes\bs=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses the system check framework to inspect the entire Django project for\n potential problems. Serious problems are raised as a _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bE_\br_\br_\bo_\br;\n warnings are output to stderr; minor notifications are output to stdout.\n If app_configs and tags are both None, all system checks are performed\n except deployment and database related checks. tags can be a list of\n check tags, like compatibility or models.\n You can pass include_deployment_checks=True to also perform deployment\n@@ -232,15 +232,15 @@\n A string describing the arbitrary arguments passed to the command. The\n string is used in the usage text and error messages of the command.\n Defaults to 'label'.\n LabelCommand.handle_label(l\bla\bab\bbe\bel\bl, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b\u00b6\n Perform the command\u2019s actions for label, which will be the string as\n given on the command line.\n *\b**\b**\b**\b* C\bCo\bom\bmm\bma\ban\bnd\bd e\bex\bxc\bce\bep\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn CommandError(r\bre\bet\btu\bur\brn\bnc\bco\bod\bde\be=\b=1\b1)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn CommandError(r\bre\bet\btu\bur\brn\bnc\bco\bod\bde\be=\b=1\b1)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Exception class indicating a problem while executing a management command.\n If this exception is raised during the execution of a management command from a\n command line console, it will be caught and turned into a nicely-printed error\n message to the appropriate output stream (i.e., stderr); as a result, raising\n this exception (with a sensible description of the error) is the preferred way\n to indicate that something has gone wrong in the execution of a command. It\n accepts the optional returncode argument to customize the exit status for the\n@@ -254,16 +254,16 @@\n o _\bT_\be_\bs_\bt_\bi_\bn_\bg\n o _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n o _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n # _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n # _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bs_\bu_\bb_\bc_\bl_\ba_\bs_\bs_\be_\bs\n # _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create custom model fields — Django 5.1.4 documentation\n+ How to create custom model fields — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -130,15 +131,15 @@\n

    We assign to and retrieve from the hand attribute in our model just like\n any other Python class. The trick is to tell Django how to handle saving and\n loading such an object.

    \n

    In order to use the Hand class in our models, we do not have to change\n this class at all. This is ideal, because it means you can easily write\n model support for existing classes where you cannot change the source code.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    You might only be wanting to take advantage of custom database column\n types and deal with the data as standard Python types in your models;\n strings, or floats, for example. This case is similar to our Hand\n example and we\u2019ll note any differences as we go along.

    \n
    \n \n \n@@ -227,15 +228,15 @@\n super().__init__(*args, **kwargs)\n
    \n
    \n

    Our HandField accepts most of the standard field options (see the list\n below), but we ensure it has a fixed length, since it only needs to hold 52\n card values plus their suits; 104 characters in total.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Many of Django\u2019s model fields accept options that they don\u2019t do anything\n with. For example, you can pass both\n editable and\n auto_now to a\n django.db.models.DateField and it will ignore the\n editable parameter\n (auto_now being set implies\n@@ -399,15 +400,15 @@\n

    Documenting your custom field\u00b6

    \n

    As always, you should document your field type, so users will know what it is.\n In addition to providing a docstring for it, which is useful for developers,\n you can also allow users of the admin app to see a short description of the\n field type via the django.contrib.admindocs application. To do this provide descriptive\n text in a description class attribute of your custom field. In\n the above example, the description displayed by the admindocs application\n-for a HandField will be \u2018A hand of cards (bridge style)\u2019.

    \n+for a HandField will be \u201cA hand of cards (bridge style)\u201d.

    \n

    In the django.contrib.admindocs display, the field description is\n interpolated with field.__dict__ which allows the description to\n incorporate arguments of the field. For example, the description for\n CharField is:

    \n
    description = _("String (up to %(max_length)s)")\n 
    \n
    \n@@ -586,15 +587,15 @@\n def get_prep_value(self, value):\n return "".join(\n ["".join(l) for l in (value.north, value.east, value.south, value.west)]\n )\n
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If your custom field uses the CHAR, VARCHAR or TEXT\n types for MySQL, you must make sure that get_prep_value()\n always returns a string type. MySQL performs flexible and unexpected\n matching when a query is performed on these types and the provided\n value is an integer, which can cause queries to include unexpected\n objects in their results. This problem cannot occur if you always\n return a string type from get_prep_value().

    \n@@ -810,37 +811,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to integrate Django with a legacy database

    \n+ title=\"capitolo precedente\">How to integrate Django with a legacy database

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create database migrations

    \n+ title=\"capitolo successivo\">How to create database migrations

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be c\bcu\bus\bst\bto\bom\bm m\bmo\bod\bde\bel\bl f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* I\bIn\bnt\btr\bro\bod\bdu\buc\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The _\bm_\bo_\bd_\be_\bl_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be documentation explains how to use Django\u2019s standard field\n classes \u2013 _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd, _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd, etc. For many purposes, those classes are all\n you\u2019ll need. Sometimes, though, the Django version won\u2019t meet your precise\n@@ -45,15 +45,15 @@\n example.save()\n We assign to and retrieve from the hand attribute in our model just like any\n other Python class. The trick is to tell Django how to handle saving and\n loading such an object.\n In order to use the Hand class in our models, we d\bdo\bo n\bno\bot\bt have to change this\n class at all. This is ideal, because it means you can easily write model\n support for existing classes where you cannot change the source code.\n-Note\n+Nota\n You might only be wanting to take advantage of custom database column types and\n deal with the data as standard Python types in your models; strings, or floats,\n for example. This case is similar to our Hand example and we\u2019ll note any\n differences as we go along.\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkg\bgr\bro\bou\bun\bnd\bd t\bth\bhe\beo\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be s\bst\bto\bor\bra\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Let\u2019s start with model fields. If you break it down, a model field provides a\n@@ -122,15 +122,15 @@\n \n def __init__(self, *args, **kwargs):\n kwargs[\"max_length\"] = 104\n super().__init__(*args, **kwargs)\n Our HandField accepts most of the standard field options (see the list below),\n but we ensure it has a fixed length, since it only needs to hold 52 card values\n plus their suits; 104 characters in total.\n-Note\n+Nota\n Many of Django\u2019s model fields accept options that they don\u2019t do anything with.\n For example, you can pass both _\be_\bd_\bi_\bt_\ba_\bb_\bl_\be and _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw to a\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd and it will ignore the _\be_\bd_\bi_\bt_\ba_\bb_\bl_\be parameter (_\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw\n being set implies editable=False). No error is raised in this case.\n This behavior simplifies the field classes, because they don\u2019t need to check\n for options that aren\u2019t necessary. They pass all the options to the parent\n class and then don\u2019t use them later on. It\u2019s up to you whether you want your\n@@ -261,15 +261,15 @@\n *\b**\b**\b**\b* D\bDo\boc\bcu\bum\bme\ben\bnt\bti\bin\bng\bg y\byo\bou\bur\br c\bcu\bus\bst\bto\bom\bm f\bfi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n As always, you should document your field type, so users will know what it is.\n In addition to providing a docstring for it, which is useful for developers,\n you can also allow users of the admin app to see a short description of the\n field type via the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\bd_\bo_\bc_\bs application. To do this provide\n descriptive text in a _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn class attribute of your custom field. In the\n above example, the description displayed by the admindocs application for a\n-HandField will be \u2018A hand of cards (bridge style)\u2019.\n+HandField will be \u201cA hand of cards (bridge style)\u201d.\n In the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\bd_\bo_\bc_\bs display, the field description is interpolated\n with field.__dict__ which allows the description to incorporate arguments of\n the field. For example, the description for _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd is:\n description = _(\"String (up to %(max_length)s)\")\n *\b**\b**\b**\b* U\bUs\bse\bef\bfu\bul\bl m\bme\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Once you\u2019ve created your _\bF_\bi_\be_\bl_\bd subclass, you might consider overriding a few\n standard methods, depending on your field\u2019s behavior. The list of methods below\n@@ -417,15 +417,15 @@\n # ...\n \n def get_prep_value(self, value):\n return \"\".join(\n [\"\".join(l) for l in (value.north, value.east, value.south,\n value.west)]\n )\n-Warning\n+Avvertimento\n If your custom field uses the CHAR, VARCHAR or TEXT types for MySQL, you must\n make sure that _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) always returns a string type. MySQL performs\n flexible and unexpected matching when a query is performed on these types and\n the provided value is an integer, which can cause queries to include unexpected\n objects in their results. This problem cannot occur if you always return a\n string type from _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b).\n *\b**\b**\b* C\bCo\bon\bnv\bve\ber\brt\bti\bin\bng\bg q\bqu\bue\ber\bry\by v\bva\bal\blu\bue\bes\bs t\bto\bo d\bda\bat\bta\bab\bba\bas\bse\be v\bva\bal\blu\bue\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n@@ -569,16 +569,16 @@\n # _\bP_\br_\be_\bp_\br_\bo_\bc_\be_\bs_\bs_\bi_\bn_\bg_\b _\bv_\ba_\bl_\bu_\be_\bs_\b _\bb_\be_\bf_\bo_\br_\be_\b _\bs_\ba_\bv_\bi_\bn_\bg\n # _\bS_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bf_\bo_\br_\bm_\b _\bf_\bi_\be_\bl_\bd_\b _\bf_\bo_\br_\b _\ba_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd\n # _\bE_\bm_\bu_\bl_\ba_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bi_\be_\bl_\bd_\b _\bt_\by_\bp_\be_\bs\n # _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bf_\bi_\be_\bl_\bd_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n # _\bS_\bo_\bm_\be_\b _\bg_\be_\bn_\be_\br_\ba_\bl_\b _\ba_\bd_\bv_\bi_\bc_\be\n o _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\ba_\b _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\bs_\bu_\bb_\bc_\bl_\ba_\bs_\bs\n # _\bA_\b _\bf_\be_\bw_\b _\bs_\bu_\bg_\bg_\be_\bs_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bl_\be_\bg_\ba_\bc_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to implement a custom template backend — Django 5.1.4 documentation\n+ How to implement a custom template backend — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -243,37 +244,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to override templates

    \n+ title=\"capitolo precedente\">How to override templates

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create custom template tags and filters

    \n+ title=\"capitolo successivo\">How to create custom template tags and filters

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo i\bim\bmp\bpl\ble\bem\bme\ben\bnt\bt a\ba c\bcu\bus\bst\bto\bom\bm t\bte\bem\bmp\bpl\bla\bat\bte\be b\bba\bac\bck\bke\ben\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bm b\bba\bac\bck\bke\ben\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Here\u2019s how to implement a custom template backend in order to use another\n template system. A template backend is a class that inherits\n django.template.backends.base.BaseEngine. It must implement get_template() and\n@@ -125,16 +125,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd\n o _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n o _\bD_\be_\bb_\bu_\bg_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\be_\bn_\bg_\bi_\bn_\be_\bs\n # _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bp_\bo_\bs_\bt_\bm_\bo_\br_\bt_\be_\bm\n # _\bC_\bo_\bn_\bt_\be_\bx_\bt_\bu_\ba_\bl_\b _\bl_\bi_\bn_\be_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn\n # _\bO_\br_\bi_\bg_\bi_\bn_\b _\bA_\bP_\bI_\b _\ba_\bn_\bd_\b _\b3_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html", "source2": "./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create custom template tags and filters — Django 5.1.4 documentation\n+ How to create custom template tags and filters — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -279,19 +280,19 @@\n handling for you. All you need to do is set the is_safe flag to True\n when you register your filter function, like so:

    \n
    @register.filter(is_safe=True)\n def myfilter(value):\n     return value\n 
    \n
    \n-

    This flag tells Django that if a \u201csafe\u201d string is passed into your\n-filter, the result will still be \u201csafe\u201d and if a non-safe string is\n+

    This flag tells Django that if a \u00absafe\u00bb string is passed into your\n+filter, the result will still be \u00absafe\u00bb and if a non-safe string is\n passed in, Django will automatically escape it, if necessary.

    \n-

    You can think of this as meaning \u201cthis filter is safe \u2013 it doesn\u2019t\n-introduce any possibility of unsafe HTML.\u201d

    \n+

    You can think of this as meaning \u00abthis filter is safe \u2013 it doesn\u2019t\n+introduce any possibility of unsafe HTML.\u00bb

    \n

    The reason is_safe is necessary is because there are plenty of\n normal string operations that will turn a SafeData object back into\n a normal str object and, rather than try to catch them all, which would\n be very difficult, Django repairs the damage after the filter has completed.

    \n

    For example, suppose you have a filter that adds the string xx to\n the end of any input. Since this introduces no dangerous HTML characters\n to the result (aside from any that were already present), you should\n@@ -299,15 +300,15 @@\n

    @register.filter(is_safe=True)\n def add_xx(value):\n     return "%sxx" % value\n 
    \n
    \n

    When this filter is used in a template where auto-escaping is enabled,\n Django will escape the output whenever the input is not already marked\n-as \u201csafe\u201d.

    \n+as \u00absafe\u00bb.

    \n

    By default, is_safe is False, and you can omit it from any filters\n where it isn\u2019t required.

    \n

    Be careful when deciding if your filter really does leave safe strings\n as safe. If you\u2019re removing characters, you might inadvertently leave\n unbalanced HTML tags or entities in the result. For example, removing a\n > from the input might turn <a> into <a, which would need to\n be escaped on output to avoid causing problems. Similarly, removing a\n@@ -315,15 +316,15 @@\n valid entity and thus needs further escaping. Most cases won\u2019t be nearly\n this tricky, but keep an eye out for any problems like that when\n reviewing your code.

    \n

    Marking a filter is_safe will coerce the filter\u2019s return value to\n a string. If your filter should return a boolean or other non-string\n value, marking it is_safe will probably have unintended\n consequences (such as converting a boolean False to the string\n-\u2018False\u2019).

    \n+\u201cFalse\u201d).

    \n \n
  • Alternatively, your filter code can manually take care of any necessary\n escaping. This is necessary when you\u2019re introducing new HTML markup into\n the result. You want to mark the output as safe from further\n escaping so that your HTML markup isn\u2019t escaped further, so you\u2019ll need\n to handle the input yourself.

    \n

    To mark the output as a safe string, use\n@@ -361,30 +362,30 @@\n return mark_safe(result)\n

  • \n
    \n

    The needs_autoescape flag and the autoescape keyword argument mean\n that our function will know whether automatic escaping is in effect when the\n filter is called. We use autoescape to decide whether the input data\n needs to be passed through django.utils.html.conditional_escape or not.\n-(In the latter case, we use the identity function as the \u201cescape\u201d function.)\n+(In the latter case, we use the identity function as the \u00abescape\u00bb function.)\n The conditional_escape() function is like escape() except it only\n escapes input that is not a SafeData instance. If a SafeData\n instance is passed to conditional_escape(), the data is returned\n unchanged.

    \n

    Finally, in the above example, we remember to mark the result as safe\n so that our HTML is inserted directly into the template without further\n escaping.

    \n

    There\u2019s no need to worry about the is_safe flag in this case\n (although including it wouldn\u2019t hurt anything). Whenever you manually\n handle the auto-escaping issues and return a safe string, the\n is_safe flag won\u2019t change anything either way.

    \n \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Avoiding XSS vulnerabilities when reusing built-in filters

    \n

    Django\u2019s built-in filters have autoescape=True by default in order to\n get the proper autoescaping behavior and avoid a cross-site script\n vulnerability.

    \n

    In older versions of Django, be careful when reusing Django\u2019s built-in\n filters as autoescape defaults to None. You\u2019ll need to pass\n autoescape=True to get autoescaping.

    \n@@ -509,15 +510,15 @@\n profile = kwargs["profile"]\n ...\n return ...\n
    \n
    \n

    Then in the template any number of arguments, separated by spaces, may be\n passed to the template tag. Like in Python, the values for keyword arguments\n-are set using the equal sign (\u201d=\u201d) and must be provided after the\n+are set using the equal sign (\u00bb=\u00bb) and must be provided after the\n positional arguments. For example:

    \n
    {% my_tag 123 "abcd" book.title warning=message|lower profile=user.profile %}\n 
    \n
    \n

    It\u2019s possible to store the tag results in a template variable rather than\n directly outputting it. This is done by using the as argument followed by\n the variable name. Doing so enables you to output the content yourself where\n@@ -532,20 +533,20 @@\n

    \n
    \n django.template.Library.inclusion_tag()\u00b6
    \n
    \n \n

    Another common type of template tag is the type that displays some data by\n rendering another template. For example, Django\u2019s admin interface uses custom\n-template tags to display the buttons along the bottom of the \u201cadd/change\u201d form\n+template tags to display the buttons along the bottom of the \u00abadd/change\u00bb form\n pages. Those buttons always look the same, but the link targets change\n depending on the object being edited \u2013 so they\u2019re a perfect case for using a\n small template that is filled with details from the current object. (In the\n admin\u2019s case, this is the submit_row tag.)

    \n-

    These sorts of tags are called \u201cinclusion tags\u201d.

    \n+

    These sorts of tags are called \u00abinclusion tags\u00bb.

    \n

    Writing inclusion tags is probably best demonstrated by example. Let\u2019s write a\n tag that outputs a list of choices for a given Poll object, such as was\n created in the tutorials. We\u2019ll use the tag like this:

    \n
    {% show_results poll %}\n 
    \n
    \n

    \u2026and the output will be something like this:

    \n@@ -635,15 +636,15 @@\n profile = kwargs["profile"]\n ...\n return ...\n
    \n
    \n

    Then in the template any number of arguments, separated by spaces, may be\n passed to the template tag. Like in Python, the values for keyword arguments\n-are set using the equal sign (\u201d=\u201d) and must be provided after the\n+are set using the equal sign (\u00bb=\u00bb) and must be provided after the\n positional arguments. For example:

    \n
    {% my_tag 123 "abcd" book.title warning=message|lower profile=user.profile %}\n 
    \n
    \n \n
    \n

    Advanced custom template tags\u00b6

    \n@@ -653,15 +654,15 @@\n
    \n
    \n

    A quick overview\u00b6

    \n

    The template system works in a two-step process: compiling and rendering. To\n define a custom template tag, you specify how the compilation works and how\n the rendering works.

    \n

    When Django compiles a template, it splits the raw template text into\n-\u2018\u2019nodes\u2019\u2019. Each node is an instance of django.template.Node and has\n+\u201c\u201dnodes\u201d\u201d. Each node is an instance of django.template.Node and has\n a render() method. A compiled template is a list of Node objects. When\n you call render() on a compiled template object, the template calls\n render() on each Node in its node list, with the given context. The\n results are all concatenated together to form the output of the template.

    \n

    Thus, to define a custom template tag, you specify how the raw template tag is\n converted into a Node (the compilation function), and what the node\u2019s\n render() method does.

    \n@@ -712,15 +713,15 @@\n idea to always use token.split_contents().

    \n
  • This function is responsible for raising\n django.template.TemplateSyntaxError, with helpful messages, for\n any syntax error.

  • \n
  • The TemplateSyntaxError exceptions use the tag_name variable.\n Don\u2019t hard-code the tag\u2019s name in your error messages, because that\n couples the tag\u2019s name to your function. token.contents.split()[0]\n-will \u2018\u2019always\u2019\u2019 be the name of your tag \u2013 even when the tag has no\n+will \u201c\u201dalways\u201d\u201d be the name of your tag \u2013 even when the tag has no\n arguments.

  • \n
  • The function returns a CurrentTimeNode with everything the node needs\n to know about this tag. In this case, it passes the argument \u2013\n "%Y-%m-%d %I:%M %p". The leading and trailing quotes from the\n template tag are removed in format_string[1:-1].

  • \n
  • The parsing is very low-level. The Django developers have experimented\n with writing small frameworks on top of this parsing system, using\n@@ -831,21 +832,21 @@\n return next(self.cycle_iter)\n

  • \n
    \n

    But, suppose we have two templates rendering the template snippet from above at\n the same time:

    \n
      \n
    1. Thread 1 performs its first loop iteration, CycleNode.render()\n-returns \u2018row1\u2019

    2. \n+returns \u201crow1\u201d

      \n
    3. Thread 2 performs its first loop iteration, CycleNode.render()\n-returns \u2018row2\u2019

    4. \n+returns \u201crow2\u201d

      \n
    5. Thread 1 performs its second loop iteration, CycleNode.render()\n-returns \u2018row1\u2019

    6. \n+returns \u201crow1\u201d

      \n
    7. Thread 2 performs its second loop iteration, CycleNode.render()\n-returns \u2018row2\u2019

    8. \n+returns \u201crow2\u201d

      \n
    \n

    The CycleNode is iterating, but it\u2019s iterating globally. As far as Thread 1\n and Thread 2 are concerned, it\u2019s always returning the same value. This is\n not what we want!

    \n

    To address this problem, Django provides a render_context that\u2019s associated\n with the context of the template that is currently being rendered. The\n render_context behaves like a Python dictionary, and should be used to\n@@ -866,15 +867,15 @@\n throughout the life of the Node as an attribute. In the case of\n CycleNode, the cyclevars argument doesn\u2019t change after the Node is\n instantiated, so we don\u2019t need to put it in the render_context. But state\n information that is specific to the template that is currently being rendered,\n like the current iteration of the CycleNode, should be stored in the\n render_context.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Notice how we used self to scope the CycleNode specific information\n within the render_context. There may be multiple CycleNodes in a\n given template, so we need to be careful not to clobber another node\u2019s\n state information. The easiest way to do this is to always use self as\n the key into render_context. If you\u2019re keeping track of several state\n variables, make render_context[self] a dictionary.

    \n
    \n@@ -1071,31 +1072,31 @@\n \n class CommentNode(template.Node):\n def render(self, context):\n return ""\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The actual implementation of {% comment %} is slightly\n different in that it allows broken template tags to appear between\n {% comment %} and {% endcomment %}. It does so by calling\n parser.skip_past('endcomment') instead of parser.parse(('endcomment',))\n followed by parser.delete_first_token(), thus avoiding the generation of a\n node list.

    \n
    \n-

    parser.parse() takes a tuple of names of block tags \u2018\u2019to parse until\u2019\u2019. It\n+

    parser.parse() takes a tuple of names of block tags \u201c\u201dto parse until\u201d\u201d. It\n returns an instance of django.template.NodeList, which is a list of\n-all Node objects that the parser encountered \u2018\u2019before\u2019\u2019 it encountered\n+all Node objects that the parser encountered \u201c\u201dbefore\u201d\u201d it encountered\n any of the tags named in the tuple.

    \n

    In "nodelist = parser.parse(('endcomment',))" in the above example,\n nodelist is a list of all nodes between the {% comment %} and\n {% endcomment %}, not counting {% comment %} and {% endcomment %}\n themselves.

    \n-

    After parser.parse() is called, the parser hasn\u2019t yet \u201cconsumed\u201d the\n+

    After parser.parse() is called, the parser hasn\u2019t yet \u00abconsumed\u00bb the\n {% endcomment %} tag, so the code needs to explicitly call\n parser.delete_first_token().

    \n

    CommentNode.render() returns an empty string. Anything between\n {% comment %} and {% endcomment %} is ignored.

    \n \n
    \n

    Parsing until another block tag, and saving contents\u00b6

    \n@@ -1174,37 +1175,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to implement a custom template backend

    \n+ title=\"capitolo precedente\">How to implement a custom template backend

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to manage static files (e.g. images, JavaScript, CSS)

    \n+ title=\"capitolo successivo\">How to manage static files (e.g. images, JavaScript, CSS)

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be c\bcu\bus\bst\bto\bom\bm t\bte\bem\bmp\bpl\bla\bat\bte\be t\bta\bag\bgs\bs a\ban\bnd\bd f\bfi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django\u2019s template language comes with a wide variety of _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd\n _\bf_\bi_\bl_\bt_\be_\br_\bs designed to address the presentation logic needs of your application.\n Nevertheless, you may find yourself needing functionality that is not covered\n by the core set of template primitives. You can extend the template engine by\n@@ -145,47 +145,47 @@\n &) into the result that were not already present. In this case, you can\n let Django take care of all the auto-escaping handling for you. All you\n need to do is set the is_safe flag to True when you register your filter\n function, like so:\n @register.filter(is_safe=True)\n def myfilter(value):\n return value\n- This flag tells Django that if a \u201csafe\u201d string is passed into your\n- filter, the result will still be \u201csafe\u201d and if a non-safe string is\n+ This flag tells Django that if a \u00absafe\u00bb string is passed into your\n+ filter, the result will still be \u00absafe\u00bb and if a non-safe string is\n passed in, Django will automatically escape it, if necessary.\n- You can think of this as meaning \u201cthis filter is safe \u2013 it doesn\u2019t\n- introduce any possibility of unsafe HTML.\u201d\n+ You can think of this as meaning \u00abthis filter is safe \u2013 it doesn\u2019t\n+ introduce any possibility of unsafe HTML.\u00bb\n The reason is_safe is necessary is because there are plenty of normal\n string operations that will turn a SafeData object back into a normal str\n object and, rather than try to catch them all, which would be very\n difficult, Django repairs the damage after the filter has completed.\n For example, suppose you have a filter that adds the string xx to the end\n of any input. Since this introduces no dangerous HTML characters to the\n result (aside from any that were already present), you should mark your\n filter with is_safe:\n @register.filter(is_safe=True)\n def add_xx(value):\n return \"%sxx\" % value\n When this filter is used in a template where auto-escaping is enabled,\n Django will escape the output whenever the input is not already marked as\n- \u201csafe\u201d.\n+ \u00absafe\u00bb.\n By default, is_safe is False, and you can omit it from any filters where\n it isn\u2019t required.\n Be careful when deciding if your filter really does leave safe strings as\n safe. If you\u2019re r\bre\bem\bmo\bov\bvi\bin\bng\bg characters, you might inadvertently leave\n unbalanced HTML tags or entities in the result. For example, removing a >\n from the input might turn into %s%s\" % (esc(first), esc(other))\n return mark_safe(result)\n The needs_autoescape flag and the autoescape keyword argument mean that\n our function will know whether automatic escaping is in effect when the\n filter is called. We use autoescape to decide whether the input data\n needs to be passed through django.utils.html.conditional_escape or not.\n- (In the latter case, we use the identity function as the \u201cescape\u201d\n+ (In the latter case, we use the identity function as the \u00abescape\u00bb\n function.) The conditional_escape() function is like escape() except it\n only escapes input that is n\bno\bot\bt a SafeData instance. If a SafeData\n instance is passed to conditional_escape(), the data is returned\n unchanged.\n Finally, in the above example, we remember to mark the result as safe so\n that our HTML is inserted directly into the template without further\n escaping.\n There\u2019s no need to worry about the is_safe flag in this case (although\n including it wouldn\u2019t hurt anything). Whenever you manually handle the\n auto-escaping issues and return a safe string, the is_safe flag won\u2019t\n change anything either way.\n-Warning\n+Avvertimento\n Avoiding XSS vulnerabilities when reusing built-in filters\n Django\u2019s built-in filters have autoescape=True by default in order to get the\n proper autoescaping behavior and avoid a cross-site script vulnerability.\n In older versions of Django, be careful when reusing Django\u2019s built-in filters\n as autoescape defaults to None. You\u2019ll need to pass autoescape=True to get\n autoescaping.\n For example, if you wanted to write a custom filter called\n@@ -332,33 +332,33 @@\n def my_tag(a, b, *args, **kwargs):\n warning = kwargs[\"warning\"]\n profile = kwargs[\"profile\"]\n ...\n return ...\n Then in the template any number of arguments, separated by spaces, may be\n passed to the template tag. Like in Python, the values for keyword arguments\n-are set using the equal sign (\u201d=\u201d) and must be provided after the positional\n+are set using the equal sign (\u00bb=\u00bb) and must be provided after the positional\n arguments. For example:\n {% my_tag 123 \"abcd\" book.title warning=message|lower profile=user.profile %}\n It\u2019s possible to store the tag results in a template variable rather than\n directly outputting it. This is done by using the as argument followed by the\n variable name. Doing so enables you to output the content yourself where you\n see fit:\n {% current_time \"%Y-%m-%d %I:%M %p\" as the_time %}\n

    The time is {{ the_time }}.

    \n *\b**\b**\b**\b* I\bIn\bnc\bcl\blu\bus\bsi\bio\bon\bn t\bta\bag\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n django.template.Library.inclusion_tag()_\b\u00b6\n Another common type of template tag is the type that displays some data by\n rendering a\ban\bno\bot\bth\bhe\ber\br template. For example, Django\u2019s admin interface uses custom\n-template tags to display the buttons along the bottom of the \u201cadd/change\u201d form\n+template tags to display the buttons along the bottom of the \u00abadd/change\u00bb form\n pages. Those buttons always look the same, but the link targets change\n depending on the object being edited \u2013 so they\u2019re a perfect case for using a\n small template that is filled with details from the current object. (In the\n admin\u2019s case, this is the submit_row tag.)\n-These sorts of tags are called \u201cinclusion tags\u201d.\n+These sorts of tags are called \u00abinclusion tags\u00bb.\n Writing inclusion tags is probably best demonstrated by example. Let\u2019s write a\n tag that outputs a list of choices for a given Poll object, such as was created\n in the _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\bs. We\u2019ll use the tag like this:\n {% show_results poll %}\n \u2026and the output will be something like this:\n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to deploy with ASGI

    \n+ title=\"capitolo precedente\">How to deploy with ASGI

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with Hypercorn

    \n+ title=\"capitolo successivo\">How to use Django with Hypercorn

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh D\bDa\bap\bph\bhn\bne\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bD_\ba_\bp_\bh_\bn_\be is a pure-Python ASGI server for UNIX, maintained by members of the\n Django project. It acts as the reference server for ASGI.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg D\bDa\bap\bph\bhn\bne\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You can install Daphne with pip:\n@@ -29,16 +29,16 @@\n \n ASGI_APPLICATION = \"myproject.asgi.application\"\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bD_\ba_\bp_\bh_\bn_\be\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bD_\ba_\bp_\bh_\bn_\be\n o _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\b _\bD_\ba_\bp_\bh_\bn_\be\n o _\bI_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bA_\bS_\bG_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django with Hypercorn — Django 5.1.4 documentation\n+ How to use Django with Hypercorn — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -123,37 +124,37 @@\n
  • Running Django in Hypercorn
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with Daphne

    \n+ title=\"capitolo precedente\">How to use Django with Daphne

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with Uvicorn

    \n+ title=\"capitolo successivo\">How to use Django with Uvicorn

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh H\bHy\byp\bpe\ber\brc\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn is an ASGI server that supports HTTP/1, HTTP/2, and HTTP/3 with an\n emphasis on protocol support.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg H\bHy\byp\bpe\ber\brc\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You can install Hypercorn with pip:\n@@ -18,16 +18,16 @@\n project be on the Python path; to ensure that run this command from the same\n directory as your manage.py file.\n For more advanced usage, please read the _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn\n o _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\b _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bD_\ba_\bp_\bh_\bn_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to deploy with ASGI — Django 5.1.4 documentation\n+ How to deploy with ASGI — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -101,15 +102,15 @@\n

    The startproject command creates a file\n <project_name>/asgi.py that contains such an application callable.

    \n

    It\u2019s not used by the development server (runserver), but can be used by\n any ASGI server either in development or in production.

    \n

    ASGI servers usually take the path to the application callable as a string;\n for most Django projects, this will look like myproject.asgi:application.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    While Django\u2019s default ASGI handler will run all your code in a synchronous\n thread, if you choose to run your own async handler you must be aware of\n async-safety.

    \n

    Do not call blocking synchronous functions or libraries in any async code.\n Django prevents you from doing this with the parts of Django that are not\n async-safe, but the same may not be true of third-party apps or Python\n libraries.

    \n@@ -157,37 +158,37 @@\n
  • Applying ASGI middleware
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to authenticate against Django\u2019s user database from Apache

    \n+ title=\"capitolo precedente\">How to authenticate against Django\u2019s user database from Apache

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with Daphne

    \n+ title=\"capitolo successivo\">How to use Django with Daphne

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo d\bde\bep\bpl\blo\boy\by w\bwi\bit\bth\bh A\bAS\bSG\bGI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n As well as WSGI, Django also supports deploying on _\bA_\bS_\bG_\bI, the emerging Python\n standard for asynchronous web servers and applications.\n Django\u2019s _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt management command sets up a default ASGI configuration\n for you, which you can tweak as needed for your project, and direct any ASGI-\n@@ -17,15 +17,15 @@\n named application in a Python module accessible to the server.\n The _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt command creates a file /asgi.py that contains\n such an application callable.\n It\u2019s not used by the development server (runserver), but can be used by any\n ASGI server either in development or in production.\n ASGI servers usually take the path to the application callable as a string; for\n most Django projects, this will look like myproject.asgi:application.\n-Warning\n+Avvertimento\n While Django\u2019s default ASGI handler will run all your code in a synchronous\n thread, if you choose to run your own async handler you must be aware of async-\n safety.\n Do not call blocking synchronous functions or libraries in any async code.\n Django prevents you from doing this with the parts of Django that are not\n async-safe, but the same may not be true of third-party apps or Python\n libraries.\n@@ -45,16 +45,16 @@\n \n application = AmazingMiddleware(application)\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bA_\bS_\bG_\bI\n o _\bT_\bh_\be_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bb_\bj_\be_\bc_\bt\n o _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bm_\bo_\bd_\bu_\bl_\be\n o _\bA_\bp_\bp_\bl_\by_\bi_\bn_\bg_\b _\bA_\bS_\bG_\bI_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bu_\bs_\be_\br_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bf_\br_\bo_\bm_\b _\bA_\bp_\ba_\bc_\bh_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bD_\ba_\bp_\bh_\bn_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django with Uvicorn — Django 5.1.4 documentation\n+ How to use Django with Uvicorn — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -139,37 +140,37 @@\n
  • Deploying Django using Uvicorn and Gunicorn
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with Hypercorn

    \n+ title=\"capitolo precedente\">How to use Django with Hypercorn

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Deployment checklist

    \n+ title=\"capitolo successivo\">Deployment checklist

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh U\bUv\bvi\bic\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bU_\bv_\bi_\bc_\bo_\br_\bn is an ASGI server based on uvloop and httptools, with an emphasis on\n speed.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg U\bUv\bvi\bic\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You can install Uvicorn with pip:\n@@ -29,16 +29,16 @@\n Then start Gunicorn using the Uvicorn worker class like this:\n python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn\n o _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn\n o _\bD_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bu_\bs_\bi_\bn_\bg_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn_\b _\ba_\bn_\bd_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bH_\by_\bp_\be_\br_\bc_\bo_\br_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt_\b _\bc_\bh_\be_\bc_\bk_\bl_\bi_\bs_\bt\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Deployment checklist — Django 5.1.4 documentation\n+ Deployment checklist — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -168,15 +169,15 @@\n header, or otherwise ensure that you aren\u2019t vulnerable to this category of\n attacks.

    \n

    You should also configure the web server that sits in front of Django to\n validate the host. It should respond with a static error page or ignore\n requests for incorrect hosts instead of forwarding the request to Django. This\n way you\u2019ll avoid spurious errors in your Django logs (or emails if you have\n error reporting configured that way). For example, on nginx you might set up a\n-default server to return \u201c444 No Response\u201d on an unrecognized host:

    \n+default server to return \u00ab444 No Response\u00bb on an unrecognized host:

    \n
    server {\n     listen 80 default_server;\n     return 444;\n }\n 
    \n
    \n \n@@ -352,37 +353,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with Uvicorn

    \n+ title=\"capitolo precedente\">How to use Django with Uvicorn

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to deploy static files

    \n+ title=\"capitolo successivo\">How to deploy static files

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDe\bep\bpl\blo\boy\bym\bme\ben\bnt\bt c\bch\bhe\bec\bck\bkl\bli\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The internet is a hostile environment. Before deploying your Django project,\n you should take some time to review your settings, with security, performance,\n and operations in mind.\n Django includes many _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs. Some are built-in and always enabled.\n@@ -69,15 +69,15 @@\n use a wildcard, you must perform your own validation of the Host HTTP header,\n or otherwise ensure that you aren\u2019t vulnerable to this category of attacks.\n You should also configure the web server that sits in front of Django to\n validate the host. It should respond with a static error page or ignore\n requests for incorrect hosts instead of forwarding the request to Django. This\n way you\u2019ll avoid spurious errors in your Django logs (or emails if you have\n error reporting configured that way). For example, on nginx you might set up a\n-default server to return \u201c444 No Response\u201d on an unrecognized host:\n+default server to return \u00ab444 No Response\u00bb on an unrecognized host:\n server {\n listen 80 default_server;\n return 444;\n }\n *\b**\b**\b**\b* _\bC\bC_\bA\bA_\bC\bC_\bH\bH_\bE\bE_\bS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n If you\u2019re using a cache, connection parameters may be different in development\n and in production. Django defaults to per-process _\bl_\bo_\bc_\ba_\bl_\b-_\bm_\be_\bm_\bo_\br_\by_\b _\bc_\ba_\bc_\bh_\bi_\bn_\bg which\n@@ -183,16 +183,16 @@\n # _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bC_\bO_\bN_\bN_\b__\bM_\bA_\bX_\b__\bA_\bG_\bE\n # _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS\n o _\bE_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg\n # _\bL_\bO_\bG_\bG_\bI_\bN_\bG\n # _\bA_\bD_\bM_\bI_\bN_\bS_\b _\ba_\bn_\bd_\b _\bM_\bA_\bN_\bA_\bG_\bE_\bR_\bS\n # _\bC_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\be_\b _\bt_\bh_\be_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\be_\br_\br_\bo_\br_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bU_\bv_\bi_\bc_\bo_\br_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/index.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to deploy Django — Django 5.1.4 documentation\n+ How to deploy Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,15 +76,15 @@\n
    \n
    \n
    \n
    \n \n
    \n

    How to deploy Django\u00b6

    \n-

    Django is full of shortcuts to make web developers\u2019 lives easier, but all\n+

    Django is full of shortcuts to make web developers\u201d lives easier, but all\n those tools are of no use if you can\u2019t easily deploy your sites. Since Django\u2019s\n inception, ease of deployment has been a major goal.

    \n

    There are many options for deploying your Django application, based on your\n architecture or your particular business needs, but that discussion is outside\n the scope of what Django can give you as guidance.

    \n

    Django, being a web framework, needs a web server in order to operate. And\n since most web servers don\u2019t natively speak Python, we need an interface to\n@@ -144,37 +145,37 @@\n \n \n

    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to install Django on Windows

    \n+ title=\"capitolo precedente\">How to install Django on Windows

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to deploy with WSGI

    \n+ title=\"capitolo successivo\">How to deploy with WSGI

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo d\bde\bep\bpl\blo\boy\by D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Django is full of shortcuts to make web developers\u2019 lives easier, but all those\n+Django is full of shortcuts to make web developers\u201d lives easier, but all those\n tools are of no use if you can\u2019t easily deploy your sites. Since Django\u2019s\n inception, ease of deployment has been a major goal.\n There are many options for deploying your Django application, based on your\n architecture or your particular business needs, but that discussion is outside\n the scope of what Django can give you as guidance.\n Django, being a web framework, needs a web server in order to operate. And\n since most web servers don\u2019t natively speak Python, we need an interface to\n@@ -42,16 +42,16 @@\n o _\bR_\bu_\bn_\b _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by_\b _\bc_\bh_\be_\bc_\bk_\b _\b-_\b-_\bd_\be_\bp_\bl_\bo_\by\n o _\bS_\bw_\bi_\bt_\bc_\bh_\b _\ba_\bw_\ba_\by_\b _\bf_\br_\bo_\bm_\b _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by_\b _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br\n o _\bC_\br_\bi_\bt_\bi_\bc_\ba_\bl_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs\n o _\bE_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs\n o _\bH_\bT_\bT_\bP_\bS\n o _\bP_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be_\b _\bo_\bp_\bt_\bi_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bE_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bo_\bn_\b _\bW_\bi_\bn_\bd_\bo_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bW_\bS_\bG_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to authenticate against Django\u2019s user database from Apache — Django 5.1.4 documentation\n+ How to authenticate against Django\u2019s user database from Apache — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -86,26 +87,26 @@\n
      \n
    • Serve static/media files directly from Apache only to authenticated users.

    • \n
    • Authenticate access to a Subversion repository against Django users with\n a certain permission.

    • \n
    • Allow certain users to connect to a WebDAV share created with mod_dav.

    • \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you have installed a custom user model and\n want to use this default auth handler, it must support an is_active\n attribute. If you want to use group based authorization, your custom user\n-must have a relation named \u2018groups\u2019, referring to a related object that has\n-a \u2018name\u2019 field. You can also specify your own custom mod_wsgi\n+must have a relation named \u201cgroups\u201d, referring to a related object that has\n+a \u201cname\u201d field. You can also specify your own custom mod_wsgi\n auth handler if your custom cannot conform to these requirements.

    \n
    \n
    \n

    Authentication with mod_wsgi\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The use of WSGIApplicationGroup %{GLOBAL} in the configurations below\n presumes that your Apache instance is running only one Django application.\n If you are running more than one Django application, please refer to the\n Defining Application Groups section of the mod_wsgi docs for more\n information about this setting.

    \n
    \n

    Make sure that mod_wsgi is installed and activated and that you have\n@@ -183,15 +184,15 @@\n

    To support the WSGIAuthGroupScript directive, the same WSGI script\n mysite.wsgi must also import the groups_for_user function which\n returns a list groups the given user belongs to.

    \n
    from django.contrib.auth.handlers.modwsgi import check_password, groups_for_user\n 
    \n
    \n

    Requests for /secret/ will now also require user to be a member of the\n-\u201csecret-agents\u201d group.

    \n+\u00absecret-agents\u00bb group.

    \n
    \n \n \n \n \n
    \n
    \n@@ -212,37 +213,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with Apache and mod_wsgi

    \n+ title=\"capitolo precedente\">How to use Django with Apache and mod_wsgi

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to deploy with ASGI

    \n+ title=\"capitolo successivo\">How to deploy with ASGI

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,29 +1,29 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo a\bau\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bte\be a\bag\bga\bai\bin\bns\bst\bt D\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs u\bus\bse\ber\br d\bda\bat\bta\bab\bba\bas\bse\be f\bfr\bro\bom\bm A\bAp\bpa\bac\bch\bhe\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Since keeping multiple authentication databases in sync is a common problem\n when dealing with Apache, you can configure Apache to authenticate against\n Django\u2019s _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bs_\by_\bs_\bt_\be_\bm directly. This requires Apache version >= 2.2\n and mod_wsgi >= 2.0. For example, you could:\n * Serve static/media files directly from Apache only to authenticated\n users.\n * Authenticate access to a _\bS_\bu_\bb_\bv_\be_\br_\bs_\bi_\bo_\bn repository against Django users with\n a certain permission.\n * Allow certain users to connect to a WebDAV share created with _\bm_\bo_\bd_\b__\bd_\ba_\bv.\n-Note\n+Nota\n If you have installed a _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bu_\bs_\be_\br_\b _\bm_\bo_\bd_\be_\bl and want to use this default auth\n handler, it must support an is_active attribute. If you want to use group based\n-authorization, your custom user must have a relation named \u2018groups\u2019, referring\n-to a related object that has a \u2018name\u2019 field. You can also specify your own\n+authorization, your custom user must have a relation named \u201cgroups\u201d, referring\n+to a related object that has a \u201cname\u201d field. You can also specify your own\n custom mod_wsgi auth handler if your custom cannot conform to these\n requirements.\n *\b**\b**\b**\b**\b* A\bAu\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bti\bio\bon\bn w\bwi\bit\bth\bh m\bmo\bod\bd_\b_w\bws\bsg\bgi\bi_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Note\n+Nota\n The use of WSGIApplicationGroup %{GLOBAL} in the configurations below presumes\n that your Apache instance is running only one Django application. If you are\n running more than one Django application, please refer to the _\bD_\be_\bf_\bi_\bn_\bi_\bn_\bg\n _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bG_\br_\bo_\bu_\bp_\bs section of the mod_wsgi docs for more information about this\n setting.\n Make sure that mod_wsgi is installed and activated and that you have followed\n the steps to set up _\bA_\bp_\ba_\bc_\bh_\be_\b _\bw_\bi_\bt_\bh_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi.\n@@ -86,22 +86,22 @@\n Require valid-user\n \n To support the WSGIAuthGroupScript directive, the same WSGI script mysite.wsgi\n must also import the groups_for_user function which returns a list groups the\n given user belongs to.\n from django.contrib.auth.handlers.modwsgi import check_password,\n groups_for_user\n-Requests for /secret/ will now also require user to be a member of the \u201csecret-\n-agents\u201d group.\n+Requests for /secret/ will now also require user to be a member of the \u00absecret-\n+agents\u00bb group.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bu_\bs_\be_\br_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bf_\br_\bo_\bm_\b _\bA_\bp_\ba_\bc_\bh_\be\n o _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi\n # _\bA_\bu_\bt_\bh_\bo_\br_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b _\ba_\bn_\bd_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bg_\br_\bo_\bu_\bp_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bA_\bp_\ba_\bc_\bh_\be_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bA_\bS_\bG_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django with Gunicorn — Django 5.1.4 documentation\n+ How to use Django with Gunicorn — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,15 +76,15 @@\n
    \n
    \n
    \n
    \n \n
    \n

    How to use Django with Gunicorn\u00b6

    \n-

    Gunicorn (\u2018Green Unicorn\u2019) is a pure-Python WSGI server for UNIX. It has no\n+

    Gunicorn (\u201cGreen Unicorn\u201d) is a pure-Python WSGI server for UNIX. It has no\n dependencies and can be installed using pip.

    \n
    \n

    Installing Gunicorn\u00b6

    \n

    Install gunicorn by running python -m pip install gunicorn. For more\n details, see the gunicorn documentation.

    \n
    \n
    \n@@ -120,37 +121,37 @@\n
  • Running Django in Gunicorn as a generic WSGI application
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to deploy with WSGI

    \n+ title=\"capitolo precedente\">How to deploy with WSGI

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with uWSGI

    \n+ title=\"capitolo successivo\">How to use Django with uWSGI

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh G\bGu\bun\bni\bic\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-_\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn (\u2018Green Unicorn\u2019) is a pure-Python WSGI server for UNIX. It has no\n+_\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn (\u201cGreen Unicorn\u201d) is a pure-Python WSGI server for UNIX. It has no\n dependencies and can be installed using pip.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg G\bGu\bun\bni\bic\bco\bor\brn\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Install gunicorn by running python -m pip install gunicorn. For more details,\n see the _\bg_\bu_\bn_\bi_\bc_\bo_\br_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* R\bRu\bun\bnn\bni\bin\bng\bg D\bDj\bja\ban\bng\bgo\bo i\bin\bn G\bGu\bun\bni\bic\bco\bor\brn\bn a\bas\bs a\ba g\bge\ben\bne\ber\bri\bic\bc W\bWS\bSG\bGI\bI a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When Gunicorn is installed, a gunicorn command is available which starts the\n Gunicorn server process. The simplest invocation of gunicorn is to pass the\n@@ -17,16 +17,16 @@\n requires that your project be on the Python path; the simplest way to ensure\n that is to run this command from the same directory as your manage.py file.\n See Gunicorn\u2019s _\bd_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for additional tips.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn\n o _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn_\b _\ba_\bs_\b _\ba_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\bW_\bS_\bG_\bI_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bW_\bS_\bG_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bu_\bW_\bS_\bG_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to deploy with WSGI — Django 5.1.4 documentation\n+ How to deploy with WSGI — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -117,15 +118,15 @@\n locate the appropriate settings module. It must contain the dotted path to the\n settings module. You can use a different value for development and production;\n it all depends on how you organize your settings.

    \n

    If this variable isn\u2019t set, the default wsgi.py sets it to\n mysite.settings, where mysite is the name of your project. That\u2019s how\n runserver discovers the default settings file by default.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Since environment variables are process-wide, this doesn\u2019t work when you\n run multiple Django sites in the same process. This happens with mod_wsgi.

    \n

    To avoid this problem, use mod_wsgi\u2019s daemon mode with each site in its\n own daemon process, or override the value from the environment by\n enforcing os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings" in\n your wsgi.py.

    \n
    \n@@ -165,37 +166,37 @@\n
  • Applying WSGI middleware
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to deploy Django

    \n+ title=\"capitolo precedente\">How to deploy Django

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with Gunicorn

    \n+ title=\"capitolo successivo\">How to use Django with Gunicorn

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo d\bde\bep\bpl\blo\boy\by w\bwi\bit\bth\bh W\bWS\bSG\bGI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django\u2019s primary deployment platform is _\bW_\bS_\bG_\bI, the Python standard for web\n servers and applications.\n Django\u2019s _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt management command sets up a minimal default WSGI\n configuration for you, which you can tweak as needed for your project, and\n@@ -31,15 +31,15 @@\n Django uses the _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE environment variable to locate the\n appropriate settings module. It must contain the dotted path to the settings\n module. You can use a different value for development and production; it all\n depends on how you organize your settings.\n If this variable isn\u2019t set, the default wsgi.py sets it to mysite.settings,\n where mysite is the name of your project. That\u2019s how _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br discovers the\n default settings file by default.\n-Note\n+Nota\n Since environment variables are process-wide, this doesn\u2019t work when you run\n multiple Django sites in the same process. This happens with mod_wsgi.\n To avoid this problem, use mod_wsgi\u2019s daemon mode with each site in its own\n daemon process, or override the value from the environment by enforcing\n os.environ[\"DJANGO_SETTINGS_MODULE\"] = \"mysite.settings\" in your wsgi.py.\n *\b**\b**\b**\b**\b* A\bAp\bpp\bpl\bly\byi\bin\bng\bg W\bWS\bSG\bGI\bI m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To apply _\bW\bW_\bS\bS_\bG\bG_\bI\bI_\b _\bm\bm_\bi\bi_\bd\bd_\bd\bd_\bl\bl_\be\be_\bw\bw_\ba\ba_\br\br_\be\be you can wrap the application object. For instance you\n@@ -51,16 +51,16 @@\n application that later delegates to the Django WSGI application, if you want to\n combine a Django application with a WSGI application of another framework.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bW_\bS_\bG_\bI\n o _\bT_\bh_\be_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bb_\bj_\be_\bc_\bt\n o _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bm_\bo_\bd_\bu_\bl_\be\n o _\bA_\bp_\bp_\bl_\by_\bi_\bn_\bg_\b _\bW_\bS_\bG_\bI_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django with Apache and mod_wsgi — Django 5.1.4 documentation\n+ How to use Django with Apache and mod_wsgi — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -100,15 +101,15 @@\n Require all granted\n </Files>\n </Directory>\n
    \n
    \n

    The first bit in the WSGIScriptAlias line is the base URL path you want to\n serve your application at (/ indicates the root url), and the second is the\n-location of a \u201cWSGI file\u201d \u2013 see below \u2013 on your system, usually inside of\n+location of a \u00abWSGI file\u00bb \u2013 see below \u2013 on your system, usually inside of\n your project package (mysite in this example). This tells Apache to serve\n any request below the given URL using the WSGI application defined in that\n file.

    \n

    If you install your project\u2019s Python dependencies inside a virtual\n environment, add the path using WSGIPythonHome. See the mod_wsgi\n virtual environment guide for more details.

    \n

    The WSGIPythonPath line ensures that your project package is available for\n@@ -117,15 +118,15 @@\n file.

    \n

    Next we\u2019ll need to ensure this wsgi.py with a WSGI application object\n exists. As of Django version 1.4, startproject will have created one\n for you; otherwise, you\u2019ll need to create it. See the WSGI overview\n documentation for the default contents you\n should put in this file, and what else you can add to it.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If multiple Django sites are run in a single mod_wsgi process, all of them\n will use the settings of whichever one happens to run first. This can be\n solved by changing:

    \n
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")\n 
    \n
    \n

    in wsgi.py, to:

    \n@@ -153,15 +154,15 @@\n
    \n

    See the Files section of the Unicode reference guide for\n details.

    \n
    \n \n
    \n

    Using mod_wsgi daemon mode\u00b6

    \n-

    \u201cDaemon mode\u201d is the recommended mode for running mod_wsgi (on non-Windows\n+

    \u00abDaemon mode\u00bb is the recommended mode for running mod_wsgi (on non-Windows\n platforms). To create the required daemon process group and delegate the\n Django instance to run in it, you will need to add appropriate\n WSGIDaemonProcess and WSGIProcessGroup directives. A further change\n required to the above configuration if you use daemon mode is that you can\u2019t\n use WSGIPythonPath; instead you should use the python-path option to\n WSGIDaemonProcess, for example:

    \n
    WSGIDaemonProcess example.com python-home=/path/to/venv python-path=/path/to/mysite.com\n@@ -272,37 +273,37 @@\n 
  • Authenticating against Django\u2019s user database from Apache
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with uWSGI

    \n+ title=\"capitolo precedente\">How to use Django with uWSGI

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to authenticate against Django\u2019s user database from Apache

    \n+ title=\"capitolo successivo\">How to authenticate against Django\u2019s user database from Apache

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh A\bAp\bpa\bac\bch\bhe\be a\ban\bnd\bd m\bmo\bod\bd_\b_w\bws\bsg\bgi\bi_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Deploying Django with _\bA_\bp_\ba_\bc_\bh_\be and _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi is a tried and tested way to get\n Django into production.\n mod_wsgi is an Apache module which can host any Python _\bW_\bS_\bG_\bI application,\n including Django. Django will work with any version of Apache which supports\n@@ -20,29 +20,29 @@\n \n \n Require all granted\n \n \n The first bit in the WSGIScriptAlias line is the base URL path you want to\n serve your application at (/ indicates the root url), and the second is the\n-location of a \u201cWSGI file\u201d \u2013 see below \u2013 on your system, usually inside of your\n+location of a \u00abWSGI file\u00bb \u2013 see below \u2013 on your system, usually inside of your\n project package (mysite in this example). This tells Apache to serve any\n request below the given URL using the WSGI application defined in that file.\n If you install your project\u2019s Python dependencies inside a _\bv_\bi_\br_\bt_\bu_\ba_\bl_\b _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt,\n add the path using WSGIPythonHome. See the _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b _\bv_\bi_\br_\bt_\bu_\ba_\bl_\b _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt_\b _\bg_\bu_\bi_\bd_\be\n for more details.\n The WSGIPythonPath line ensures that your project package is available for\n import on the Python path; in other words, that import mysite works.\n The piece ensures that Apache can access your wsgi.py file.\n Next we\u2019ll need to ensure this wsgi.py with a WSGI application object exists.\n As of Django version 1.4, _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt will have created one for you;\n otherwise, you\u2019ll need to create it. See the _\bW_\bS_\bG_\bI_\b _\bo_\bv_\be_\br_\bv_\bi_\be_\bw_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for\n the default contents you should put in this file, and what else you can add to\n it.\n-Warning\n+Avvertimento\n If multiple Django sites are run in a single mod_wsgi process, all of them will\n use the settings of whichever one happens to run first. This can be solved by\n changing:\n os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"{{ project_name }}.settings\")\n in wsgi.py, to:\n os.environ[\"DJANGO_SETTINGS_MODULE\"] = \"{{ project_name }}.settings\"\n or by _\bu_\bs_\bi_\bn_\bg_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b _\bd_\ba_\be_\bm_\bo_\bn_\b _\bm_\bo_\bd_\be and ensuring that each site runs in its own\n@@ -55,15 +55,15 @@\n export LC_ALL='en_US.UTF-8'\n A common location to put this configuration is /etc/apache2/envvars.\n Alternatively, if you are _\bu_\bs_\bi_\bn_\bg_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b _\bd_\ba_\be_\bm_\bo_\bn_\b _\bm_\bo_\bd_\be you can add lang and\n locale options to the WSGIDaemonProcess directive:\n WSGIDaemonProcess example.com lang='en_US.UTF-8' locale='en_US.UTF-8'\n See the _\bF_\bi_\bl_\be_\bs section of the Unicode reference guide for details.\n *\b**\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg m\bmo\bod\bd_\b_w\bws\bsg\bgi\bi d\bda\bae\bem\bmo\bon\bn m\bmo\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-\u201cDaemon mode\u201d is the recommended mode for running mod_wsgi (on non-Windows\n+\u00abDaemon mode\u00bb is the recommended mode for running mod_wsgi (on non-Windows\n platforms). To create the required daemon process group and delegate the Django\n instance to run in it, you will need to add appropriate WSGIDaemonProcess and\n WSGIProcessGroup directives. A further change required to the above\n configuration if you use daemon mode is that you can\u2019t use WSGIPythonPath;\n instead you should use the python-path option to WSGIDaemonProcess, for\n example:\n WSGIDaemonProcess example.com python-home=/path/to/venv python-path=/path/to/\n@@ -136,16 +136,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bA_\bp_\ba_\bc_\bh_\be_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi\n o _\bB_\ba_\bs_\bi_\bc_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn\n o _\bU_\bs_\bi_\bn_\bg_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi_\b _\bd_\ba_\be_\bm_\bo_\bn_\b _\bm_\bo_\bd_\be\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bf_\bi_\bl_\be_\bs\n o _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bn_\bg_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bu_\bs_\be_\br_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bf_\br_\bo_\bm_\b _\bA_\bp_\ba_\bc_\bh_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bu_\bW_\bS_\bG_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bu_\bs_\be_\br_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bf_\br_\bo_\bm_\b _\bA_\bp_\ba_\bc_\bh_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html", "source2": "./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to use Django with uWSGI — Django 5.1.4 documentation\n+ How to use Django with uWSGI — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,15 +79,15 @@\n
    \n \n
    \n

    How to use Django with uWSGI\u00b6

    \n

    uWSGI is a fast, self-healing and developer/sysadmin-friendly application\n container server coded in pure C.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    The uWSGI docs offer a tutorial covering Django, nginx, and uWSGI (one\n possible deployment setup of many). The docs below are focused on how to\n integrate Django with uWSGI.

    \n
    \n
    \n

    Prerequisite: uWSGI\u00b6

    \n

    The uWSGI wiki describes several installation procedures. Using pip, the\n@@ -98,15 +99,15 @@\n # Or install LTS (long term support).\n $ python -m pip install https://projects.unbit.it/downloads/uwsgi-lts.tar.gz\n

    \n
    \n
    \n

    uWSGI model\u00b6

    \n

    uWSGI operates on a client-server model. Your web server (e.g., nginx, Apache)\n-communicates with a django-uwsgi \u201cworker\u201d process to serve dynamic content.

    \n+communicates with a django-uwsgi \u00abworker\u00bb process to serve dynamic content.

    \n
    \n
    \n

    Configuring and starting the uWSGI server for Django\u00b6

    \n

    uWSGI supports multiple ways to configure the process. See uWSGI\u2019s\n configuration documentation.

    \n

    Here\u2019s an example command to start a uWSGI server:

    \n
    uwsgi --chdir=/path/to/your/project \\\n@@ -192,37 +193,37 @@\n \n \n \n \n \n   
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to use Django with Gunicorn

    \n+ title=\"capitolo precedente\">How to use Django with Gunicorn

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to use Django with Apache and mod_wsgi

    \n+ title=\"capitolo successivo\">How to use Django with Apache and mod_wsgi

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,29 +1,29 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bus\bse\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh u\buW\bWS\bSG\bGI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bu_\bW_\bS_\bG_\bI is a fast, self-healing and developer/sysadmin-friendly application\n container server coded in pure C.\n-See also\n+Vedi anche\n The uWSGI docs offer a _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl covering Django, nginx, and uWSGI (one possible\n deployment setup of many). The docs below are focused on how to integrate\n Django with uWSGI.\n *\b**\b**\b**\b**\b* P\bPr\bre\ber\bre\beq\bqu\bui\bis\bsi\bit\bte\be:\b: u\buW\bWS\bSG\bGI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The uWSGI wiki describes several _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bp_\br_\bo_\bc_\be_\bd_\bu_\br_\be_\bs. Using pip, the Python\n package manager, you can install any uWSGI version with a single command. For\n example:\n # Install current stable version.\n $ python -m pip install uwsgi\n \n # Or install LTS (long term support).\n $ python -m pip install https://projects.unbit.it/downloads/uwsgi-lts.tar.gz\n *\b**\b**\b**\b* u\buW\bWS\bSG\bGI\bI m\bmo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n uWSGI operates on a client-server model. Your web server (e.g., nginx, Apache)\n-communicates with a django-uwsgi \u201cworker\u201d process to serve dynamic content.\n+communicates with a django-uwsgi \u00abworker\u00bb process to serve dynamic content.\n *\b**\b**\b**\b* C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg a\ban\bnd\bd s\bst\bta\bar\brt\bti\bin\bng\bg t\bth\bhe\be u\buW\bWS\bSG\bGI\bI s\bse\ber\brv\bve\ber\br f\bfo\bor\br D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n uWSGI supports multiple ways to configure the process. See uWSGI\u2019s\n _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n Here\u2019s an example command to start a uWSGI server:\n uwsgi --chdir=/path/to/your/project \\\n --module=mysite.wsgi:application \\\n --env DJANGO_SETTINGS_MODULE=mysite.settings \\\n@@ -72,16 +72,16 @@\n See the uWSGI docs on _\bm_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bu_\bW_\bS_\bG_\bI_\b _\bp_\br_\bo_\bc_\be_\bs_\bs for information on starting,\n stopping and reloading the uWSGI workers.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bu_\bW_\bS_\bG_\bI\n o _\bP_\br_\be_\br_\be_\bq_\bu_\bi_\bs_\bi_\bt_\be_\b:_\b _\bu_\bW_\bS_\bG_\bI\n # _\bu_\bW_\bS_\bG_\bI_\b _\bm_\bo_\bd_\be_\bl\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\ba_\bn_\bd_\b _\bs_\bt_\ba_\br_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bu_\bW_\bS_\bG_\bI_\b _\bs_\be_\br_\bv_\be_\br_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bG_\bu_\bn_\bi_\bc_\bo_\br_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bA_\bp_\ba_\bc_\bh_\be_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/error-reporting.html", "source2": "./usr/share/doc/python-django-doc/html/howto/error-reporting.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to manage error reporting — Django 5.1.4 documentation\n+ How to manage error reporting — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,15 +96,15 @@\n ADMINS setting whenever your code raises an unhandled exception and\n results in an internal server error (strictly speaking, for any response with\n an HTTP status code of 500 or greater). This gives the administrators immediate\n notification of any errors. The ADMINS will get a description of the\n error, a complete Python traceback, and details about the HTTP request that\n caused the error.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    In order to send email, Django requires a few settings telling it\n how to connect to your mail server. At the very least, you\u2019ll need\n to specify EMAIL_HOST and possibly\n EMAIL_HOST_USER and EMAIL_HOST_PASSWORD,\n though other settings may be also required depending on your mail\n server\u2019s configuration. Consult the Django settings\n documentation for a full list of email-related\n@@ -111,36 +112,36 @@\n

    \n

    By default, Django will send email from root@localhost. However, some mail\n providers reject all email from this address. To use a different sender\n address, modify the SERVER_EMAIL setting.

    \n

    To activate this behavior, put the email addresses of the recipients in the\n ADMINS setting.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Server error emails are sent using the logging framework, so you can\n customize this behavior by customizing your logging configuration.

    \n
    \n \n
    \n

    404 errors\u00b6

    \n-

    Django can also be configured to email errors about broken links (404 \u201cpage\n-not found\u201d errors). Django sends emails about 404 errors when:

    \n+

    Django can also be configured to email errors about broken links (404 \u00abpage\n+not found\u00bb errors). Django sends emails about 404 errors when:

    \n \n

    If those conditions are met, Django will email the users listed in the\n MANAGERS setting whenever your code raises a 404 and the request has\n a referer. It doesn\u2019t bother to email for 404s that don\u2019t have a referer \u2013\n those are usually people typing in broken URLs or broken web bots. It also\n ignores 404s when the referer is equal to the requested URL, since this\n behavior is from broken web bots too.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    BrokenLinkEmailsMiddleware must appear\n before other middleware that intercepts 404 errors, such as\n LocaleMiddleware or\n FlatpageFallbackMiddleware.\n Put it toward the top of your MIDDLEWARE setting.

    \n
    \n

    You can tell Django to stop reporting particular 404s by tweaking the\n@@ -170,25 +171,25 @@\n

    (Note that these are regular expressions, so we put a backslash in front of\n periods to escape them.)

    \n

    If you\u2019d like to customize the behavior of\n django.middleware.common.BrokenLinkEmailsMiddleware further (for\n example to ignore requests coming from web crawlers), you should subclass it\n and override its methods.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    404 errors are logged using the logging framework. By default, these log\n records are ignored, but you can use them for error reporting by writing a\n handler and configuring logging appropriately.

    \n
    \n
    \n \n
    \n

    Filtering error reports\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Filtering sensitive data is a hard problem, and it\u2019s nearly impossible to\n guarantee that sensitive data won\u2019t leak into an error report. Therefore,\n error reports should only be available to trusted team members and you\n should avoid transmitting error reports unencrypted over the internet\n (such as through email).

    \n
    \n
    \n@@ -204,15 +205,15 @@\n sensitive as described in the DEBUG documentation, Django offers a\n set of function decorators to help you control which information should be\n filtered out of error reports in a production environment (that is, where\n DEBUG is set to False): sensitive_variables() and\n sensitive_post_parameters().

    \n
    \n
    \n-sensitive_variables(*variables)[source]\u00b6
    \n+sensitive_variables(*variables)[sorgente]\u00b6\n

    If a function (either a view or any regular callback) in your code uses\n local variables susceptible to contain sensitive information, you may\n prevent the values of those variables from being included in error reports\n using the sensitive_variables decorator:

    \n
    from django.views.decorators.debug import sensitive_variables\n \n \n@@ -233,15 +234,15 @@\n 
    @sensitive_variables()\n def my_function(): ...\n 
    \n
    \n
    \n

    When using multiple decorators

    \n

    If the variable you want to hide is also a function argument (e.g.\n-\u2018user\u2019 in the following example), and if the decorated function has\n+\u201cuser\u2019 in the following example), and if the decorated function has\n multiple decorators, then make sure to place @sensitive_variables\n at the top of the decorator chain. This way it will also hide the\n function argument as it gets passed through the other decorators:

    \n
    @sensitive_variables("user", "pw", "cc")\n @some_decorator\n @another_decorator\n def process_info(user): ...\n@@ -251,15 +252,15 @@\n 
    \n Changed in Django 5.0:

    Support for wrapping async functions was added.

    \n
    \n
    \n \n
    \n
    \n-sensitive_post_parameters(*parameters)[source]\u00b6
    \n+sensitive_post_parameters(*parameters)[sorgente]\u00b6\n

    If one of your views receives an HttpRequest object\n with POST parameters susceptible to\n contain sensitive information, you may prevent the values of those\n parameters from being included in the error reports using the\n sensitive_post_parameters decorator:

    \n
    from django.views.decorators.debug import sensitive_post_parameters\n \n@@ -302,15 +303,15 @@\n 

    All sensitive_variables() and sensitive_post_parameters() do is,\n respectively, annotate the decorated function with the names of sensitive\n variables and annotate the HttpRequest object with the names of sensitive\n POST parameters, so that this sensitive information can later be filtered out\n of reports when an error occurs. The actual filtering is done by Django\u2019s\n default error reporter filter:\n django.views.debug.SafeExceptionReporterFilter. This filter uses the\n-decorators\u2019 annotations to replace the corresponding values with stars\n+decorators\u201d annotations to replace the corresponding values with stars\n (**********) when the error reports are produced. If you wish to\n override or customize this default behavior for your entire site, you need to\n define your own filter class and tell Django to use it via the\n DEFAULT_EXCEPTION_REPORTER_FILTER setting:

    \n
    DEFAULT_EXCEPTION_REPORTER_FILTER = "path.to.your.CustomExceptionReporterFilter"\n 
    \n
    \n@@ -324,15 +325,15 @@\n
    \n
    \n

    Your custom filter class needs to inherit from\n django.views.debug.SafeExceptionReporterFilter and may override the\n following attributes and methods:

    \n
    \n
    \n-class SafeExceptionReporterFilter[source]\u00b6
    \n+class SafeExceptionReporterFilter[sorgente]\u00b6\n
    \n
    \n cleansed_substitute\u00b6
    \n

    The string value to replace sensitive value with. By default it\n replaces the values of sensitive variables with stars\n (**********).

    \n
    \n@@ -348,33 +349,33 @@\n re.compile(r"API|TOKEN|KEY|SECRET|PASS|SIGNATURE|HTTP_COOKIE", flags=re.IGNORECASE)\n
    \n
    \n \n \n
    \n
    \n-is_active(request)[source]\u00b6
    \n+is_active(request)[sorgente]\u00b6\n

    Returns True to activate the filtering in\n get_post_parameters() and get_traceback_frame_variables().\n By default the filter is active if DEBUG is False. Note\n that sensitive request.META values are always filtered along with\n sensitive setting values, as described in the DEBUG\n documentation.

    \n
    \n \n
    \n
    \n-get_post_parameters(request)[source]\u00b6
    \n+get_post_parameters(request)[sorgente]\u00b6\n

    Returns the filtered dictionary of POST parameters. Sensitive values\n are replaced with cleansed_substitute.

    \n
    \n \n
    \n
    \n-get_traceback_frame_variables(request, tb_frame)[source]\u00b6
    \n+get_traceback_frame_variables(request, tb_frame)[sorgente]\u00b6\n

    Returns the filtered dictionary of local variables for the given\n traceback frame. Sensitive values are replaced with\n cleansed_substitute.

    \n
    \n \n \n \n@@ -388,35 +389,35 @@\n and formatting it as text or HTML appropriately. (The exception reporter uses\n DEFAULT_EXCEPTION_REPORTER_FILTER when preparing the exception\n report data.)

    \n

    Your custom reporter class needs to inherit from\n django.views.debug.ExceptionReporter.

    \n
    \n
    \n-class ExceptionReporter[source]\u00b6
    \n+class ExceptionReporter[sorgente]\u00b6\n
    \n
    \n-html_template_path[source]\u00b6
    \n+html_template_path[sorgente]\u00b6\n

    Property that returns a pathlib.Path representing the absolute\n filesystem path to a template for rendering the HTML representation of\n the exception. Defaults to the Django provided template.

    \n
    \n \n
    \n
    \n-text_template_path[source]\u00b6
    \n+text_template_path[sorgente]\u00b6\n

    Property that returns a pathlib.Path representing the absolute\n filesystem path to a template for rendering the plain-text\n representation of the exception. Defaults to the Django provided\n template.

    \n
    \n \n
    \n
    \n-get_traceback_data()[source]\u00b6
    \n+get_traceback_data()[sorgente]\u00b6\n

    Return a dictionary containing traceback information.

    \n

    This is the main extension point for customizing exception reports, for\n example:

    \n
    from django.views.debug import ExceptionReporter\n \n \n class CustomExceptionReporter(ExceptionReporter):\n@@ -426,22 +427,22 @@\n         return data\n 
    \n
    \n
    \n \n
    \n
    \n-get_traceback_html()[source]\u00b6
    \n+get_traceback_html()[sorgente]\u00b6\n

    Return HTML version of exception report.

    \n

    Used for HTML version of debug 500 HTTP error page.

    \n
    \n \n
    \n
    \n-get_traceback_text()[source]\u00b6
    \n+get_traceback_text()[sorgente]\u00b6\n

    Return plain text version of exception report.

    \n

    Used for plain text version of debug 500 HTTP error page and email\n reports.

    \n
    \n \n
    \n \n@@ -451,15 +452,15 @@\n
    def my_view(request):\n     if request.user.is_authenticated:\n         request.exception_reporter_class = CustomExceptionReporter()\n     ...\n 
    \n
    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    You can also set up custom error reporting by writing a custom piece of\n exception middleware. If you do write custom\n error handling, it\u2019s a good idea to emulate Django\u2019s built-in error handling\n and only report/log errors if DEBUG is False.

    \n
    \n \n \n@@ -491,37 +492,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to configure and use logging

    \n+ title=\"capitolo precedente\">How to configure and use logging

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to delete a Django application

    \n+ title=\"capitolo successivo\">How to delete a Django application

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo m\bma\ban\bna\bag\bge\be e\ber\brr\bro\bor\br r\bre\bep\bpo\bor\brt\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n When you\u2019re running a public site you should always turn off the _\bD_\bE_\bB_\bU_\bG setting.\n That will make your server run much faster, and will also prevent malicious\n users from seeing details of your application that can be revealed by the error\n pages.\n@@ -14,42 +14,42 @@\n *\b**\b**\b**\b* S\bSe\ber\brv\bve\ber\br e\ber\brr\bro\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n When _\bD_\bE_\bB_\bU_\bG is False, Django will email the users listed in the _\bA_\bD_\bM_\bI_\bN_\bS setting\n whenever your code raises an unhandled exception and results in an internal\n server error (strictly speaking, for any response with an HTTP status code of\n 500 or greater). This gives the administrators immediate notification of any\n errors. The _\bA_\bD_\bM_\bI_\bN_\bS will get a description of the error, a complete Python\n traceback, and details about the HTTP request that caused the error.\n-Note\n+Nota\n In order to send email, Django requires a few settings telling it how to\n connect to your mail server. At the very least, you\u2019ll need to specify\n _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT and possibly _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bU_\bS_\bE_\bR and _\bE_\bM_\bA_\bI_\bL_\b__\bH_\bO_\bS_\bT_\b__\bP_\bA_\bS_\bS_\bW_\bO_\bR_\bD, though other\n settings may be also required depending on your mail server\u2019s configuration.\n Consult _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for a full list of email-related\n settings.\n By default, Django will send email from _\br_\bo_\bo_\bt_\b@_\bl_\bo_\bc_\ba_\bl_\bh_\bo_\bs_\bt. However, some mail\n providers reject all email from this address. To use a different sender\n address, modify the _\bS_\bE_\bR_\bV_\bE_\bR_\b__\bE_\bM_\bA_\bI_\bL setting.\n To activate this behavior, put the email addresses of the recipients in the\n _\bA_\bD_\bM_\bI_\bN_\bS setting.\n-See also\n+Vedi anche\n Server error emails are sent using the logging framework, so you can customize\n this behavior by _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* 4\b40\b04\b4 e\ber\brr\bro\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-Django can also be configured to email errors about broken links (404 \u201cpage not\n-found\u201d errors). Django sends emails about 404 errors when:\n+Django can also be configured to email errors about broken links (404 \u00abpage not\n+found\u00bb errors). Django sends emails about 404 errors when:\n * _\bD_\bE_\bB_\bU_\bG is False;\n * Your _\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE setting includes\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b._\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be.\n If those conditions are met, Django will email the users listed in the _\bM_\bA_\bN_\bA_\bG_\bE_\bR_\bS\n setting whenever your code raises a 404 and the request has a referer. It\n doesn\u2019t bother to email for 404s that don\u2019t have a referer \u2013 those are usually\n people typing in broken URLs or broken web bots. It also ignores 404s when the\n referer is equal to the requested URL, since this behavior is from broken web\n bots too.\n-Note\n+Nota\n _\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be must appear before other middleware that intercepts\n 404 errors, such as _\bL_\bo_\bc_\ba_\bl_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be or _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be. Put it\n toward the top of your _\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE setting.\n You can tell Django to stop reporting particular 404s by tweaking the\n _\bI_\bG_\bN_\bO_\bR_\bA_\bB_\bL_\bE_\b__\b4_\b0_\b4_\b__\bU_\bR_\bL_\bS setting. It should be a list of compiled regular expression\n objects. For example:\n import re\n@@ -71,20 +71,20 @@\n ]\n (Note that these are regular expressions, so we put a backslash in front of\n periods to escape them.)\n If you\u2019d like to customize the behavior of\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b._\bc_\bo_\bm_\bm_\bo_\bn_\b._\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be further (for example to\n ignore requests coming from web crawlers), you should subclass it and override\n its methods.\n-See also\n+Vedi anche\n 404 errors are logged using the logging framework. By default, these log\n records are ignored, but you can use them for error reporting by writing a\n handler and _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg appropriately.\n *\b**\b**\b**\b**\b* F\bFi\bil\blt\bte\ber\bri\bin\bng\bg e\ber\brr\bro\bor\br r\bre\bep\bpo\bor\brt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Warning\n+Avvertimento\n Filtering sensitive data is a hard problem, and it\u2019s nearly impossible to\n guarantee that sensitive data won\u2019t leak into an error report. Therefore, error\n reports should only be available to trusted team members and you should avoid\n transmitting error reports unencrypted over the internet (such as through\n email).\n *\b**\b**\b**\b* F\bFi\bil\blt\bte\ber\bri\bin\bng\bg s\bse\ben\bns\bsi\bit\bti\biv\bve\be i\bin\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Error reports are really helpful for debugging errors, so it is generally\n@@ -95,15 +95,15 @@\n However, sometimes certain types of information may be too sensitive and thus\n may not be appropriate to be kept track of, for example a user\u2019s password or\n credit card number. So in addition to filtering out settings that appear to be\n sensitive as described in the _\bD_\bE_\bB_\bU_\bG documentation, Django offers a set of\n function decorators to help you control which information should be filtered\n out of error reports in a production environment (that is, where _\bD_\bE_\bB_\bU_\bG is set\n to False): _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b) and _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b).\n- sensitive_variables(*\b*v\bva\bar\bri\bia\bab\bbl\ble\bes\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ sensitive_variables(*\b*v\bva\bar\bri\bia\bab\bbl\ble\bes\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If a function (either a view or any regular callback) in your code uses\n local variables susceptible to contain sensitive information, you may\n prevent the values of those variables from being included in error\n reports using the sensitive_variables decorator:\n from django.views.decorators.debug import sensitive_variables\n \n \n@@ -117,26 +117,26 @@\n be hidden and replaced with stars (**********) in the error reports,\n whereas the value of the name variable will be disclosed.\n To systematically hide all local variables of a function from error logs,\n do not provide any argument to the sensitive_variables decorator:\n @sensitive_variables()\n def my_function(): ...\n When using multiple decorators\n- If the variable you want to hide is also a function argument (e.g. \u2018user\u2019\n+ If the variable you want to hide is also a function argument (e.g. \u201cuser\u2019\n in the following example), and if the decorated function has multiple\n decorators, then make sure to place @sensitive_variables at the top of\n the decorator chain. This way it will also hide the function argument as\n it gets passed through the other decorators:\n @sensitive_variables(\"user\", \"pw\", \"cc\")\n @some_decorator\n @another_decorator\n def process_info(user): ...\n Changed in Django 5.0:\n Support for wrapping async functions was added.\n- sensitive_post_parameters(*\b*p\bpa\bar\bra\bam\bme\bet\bte\ber\brs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ sensitive_post_parameters(*\b*p\bpa\bar\bra\bam\bme\bet\bte\ber\brs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If one of your views receives an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object with _\bP_\bO_\bS_\bT_\b _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs\n susceptible to contain sensitive information, you may prevent the values\n of those parameters from being included in the error reports using the\n sensitive_post_parameters decorator:\n from django.views.decorators.debug import sensitive_post_parameters\n \n \n@@ -166,15 +166,15 @@\n *\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bm e\ber\brr\bro\bor\br r\bre\bep\bpo\bor\brt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n All _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b) and _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b) do is, respectively,\n annotate the decorated function with the names of sensitive variables and\n annotate the HttpRequest object with the names of sensitive POST parameters, so\n that this sensitive information can later be filtered out of reports when an\n error occurs. The actual filtering is done by Django\u2019s default error reporter\n filter: _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b._\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br. This filter uses the\n-decorators\u2019 annotations to replace the corresponding values with stars\n+decorators\u201d annotations to replace the corresponding values with stars\n (**********) when the error reports are produced. If you wish to override or\n customize this default behavior for your entire site, you need to define your\n own filter class and tell Django to use it via the\n _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR_\b__\bF_\bI_\bL_\bT_\bE_\bR setting:\n DEFAULT_EXCEPTION_REPORTER_FILTER =\n \"path.to.your.CustomExceptionReporterFilter\"\n You may also control in a more granular way which filter to use within any\n@@ -182,98 +182,98 @@\n def my_view(request):\n if request.user.is_authenticated:\n request.exception_reporter_filter = CustomExceptionReporterFilter()\n ...\n Your custom filter class needs to inherit from\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b._\bS_\ba_\bf_\be_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br_\bF_\bi_\bl_\bt_\be_\br and may override the following\n attributes and methods:\n- c\bcl\bla\bas\bss\bs SafeExceptionReporterFilter_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SafeExceptionReporterFilter_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n cleansed_substitute_\b\u00b6\n The string value to replace sensitive value with. By default it\n replaces the values of sensitive variables with stars (**********).\n hidden_settings_\b\u00b6\n A compiled regular expression object used to match settings and\n request.META values considered as sensitive. By default equivalent\n to:\n import re\n \n re.compile(r\"API|TOKEN|KEY|SECRET|PASS|SIGNATURE|HTTP_COOKIE\",\n flags=re.IGNORECASE)\n- is_active(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_active(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True to activate the filtering in _\bg_\be_\bt_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b) and\n _\bg_\be_\bt_\b__\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b__\bf_\br_\ba_\bm_\be_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b(_\b). By default the filter is active if\n _\bD_\bE_\bB_\bU_\bG is False. Note that sensitive request.META values are always\n filtered along with sensitive setting values, as described in the\n _\bD_\bE_\bB_\bU_\bG documentation.\n- get_post_parameters(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_post_parameters(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the filtered dictionary of POST parameters. Sensitive\n values are replaced with _\bc_\bl_\be_\ba_\bn_\bs_\be_\bd_\b__\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\be.\n- get_traceback_frame_variables(r\bre\beq\bqu\bue\bes\bst\bt, t\btb\bb_\b_f\bfr\bra\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_traceback_frame_variables(r\bre\beq\bqu\bue\bes\bst\bt, t\btb\bb_\b_f\bfr\bra\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the filtered dictionary of local variables for the given\n traceback frame. Sensitive values are replaced with\n _\bc_\bl_\be_\ba_\bn_\bs_\be_\bd_\b__\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\be.\n If you need to customize error reports beyond filtering you may specify a\n custom error reporter class by defining the _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR setting:\n DEFAULT_EXCEPTION_REPORTER = \"path.to.your.CustomExceptionReporter\"\n The exception reporter is responsible for compiling the exception report data,\n and formatting it as text or HTML appropriately. (The exception reporter uses\n _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bE_\bX_\bC_\bE_\bP_\bT_\bI_\bO_\bN_\b__\bR_\bE_\bP_\bO_\bR_\bT_\bE_\bR_\b__\bF_\bI_\bL_\bT_\bE_\bR when preparing the exception report data.)\n Your custom reporter class needs to inherit from\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bb_\bu_\bg_\b._\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bR_\be_\bp_\bo_\br_\bt_\be_\br.\n- c\bcl\bla\bas\bss\bs ExceptionReporter_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- html_template_path_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExceptionReporter_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ html_template_path_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Property that returns a _\bp_\ba_\bt_\bh_\bl_\bi_\bb_\b._\bP_\ba_\bt_\bh representing the absolute\n filesystem path to a template for rendering the HTML representation\n of the exception. Defaults to the Django provided template.\n- text_template_path_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ text_template_path_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Property that returns a _\bp_\ba_\bt_\bh_\bl_\bi_\bb_\b._\bP_\ba_\bt_\bh representing the absolute\n filesystem path to a template for rendering the plain-text\n representation of the exception. Defaults to the Django provided\n template.\n- get_traceback_data()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_traceback_data()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Return a dictionary containing traceback information.\n This is the main extension point for customizing exception reports,\n for example:\n from django.views.debug import ExceptionReporter\n \n \n class CustomExceptionReporter(ExceptionReporter):\n def get_traceback_data(self):\n data = super().get_traceback_data()\n # ... remove/add something here ...\n return data\n- get_traceback_html()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_traceback_html()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Return HTML version of exception report.\n Used for HTML version of debug 500 HTTP error page.\n- get_traceback_text()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_traceback_text()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Return plain text version of exception report.\n Used for plain text version of debug 500 HTTP error page and email\n reports.\n As with the filter class, you may control which exception reporter class to use\n within any given view by setting the HttpRequest\u2019s exception_reporter_class\n attribute:\n def my_view(request):\n if request.user.is_authenticated:\n request.exception_reporter_class = CustomExceptionReporter()\n ...\n-See also\n+Vedi anche\n You can also set up custom error reporting by writing a custom piece of\n _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be. If you do write custom error handling, it\u2019s a good idea\n to emulate Django\u2019s built-in error handling and only report/log errors if _\bD_\bE_\bB_\bU_\bG\n is False.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be_\b _\be_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg\n o _\bE_\bm_\ba_\bi_\bl_\b _\br_\be_\bp_\bo_\br_\bt_\bs\n # _\bS_\be_\br_\bv_\be_\br_\b _\be_\br_\br_\bo_\br_\bs\n # _\b4_\b0_\b4_\b _\be_\br_\br_\bo_\br_\bs\n o _\bF_\bi_\bl_\bt_\be_\br_\bi_\bn_\bg_\b _\be_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bs\n # _\bF_\bi_\bl_\bt_\be_\br_\bi_\bn_\bg_\b _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn\n # _\bC_\bu_\bs_\bt_\bo_\bm_\b _\be_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\bn_\bd_\b _\bu_\bs_\be_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bl_\be_\bt_\be_\b _\ba_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/index.html", "source2": "./usr/share/doc/python-django-doc/html/howto/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How-to guides — Django 5.1.4 documentation\n+ How-to guides — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    The Django community aggregator, where we aggregate content from the\n global Django community. Many writers in the aggregator write this sort of\n how-to material.

    \n
    \n \n \n \n@@ -166,47 +167,47 @@\n
  • Other guides
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Asynchronous support

    \n+ title=\"capitolo precedente\">Asynchronous support

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to provide initial data for models

    \n+ title=\"capitolo successivo\">How to provide initial data for models

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw-\b-t\bto\bo g\bgu\bui\bid\bde\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Practical guides covering common tasks and problems.\n *\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bls\bs,\b, d\bda\bat\bta\ba a\ban\bnd\bd d\bda\bat\bta\bab\bba\bas\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bp_\br_\bo_\bv_\bi_\bd_\be_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bm_\bo_\bd_\be_\bl_\bs\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bl_\be_\bg_\ba_\bc_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n@@ -26,27 +26,27 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bD_\bj_\ba_\bn_\bg_\bo\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs\n *\b**\b**\b**\b**\b* O\bOt\bth\bhe\ber\br g\bgu\bui\bid\bde\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bs_\bt_\bo_\br_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n-See also\n+Vedi anche\n The _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bc_\bo_\bm_\bm_\bu_\bn_\bi_\bt_\by_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bo_\br, where we aggregate content from the global\n Django community. Many writers in the aggregator write this sort of how-to\n material.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs\n o _\bM_\bo_\bd_\be_\bl_\bs_\b,_\b _\bd_\ba_\bt_\ba_\b _\ba_\bn_\bd_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\ba_\bn_\bd_\b _\bo_\bu_\bt_\bp_\bu_\bt\n o _\bP_\br_\bo_\bj_\be_\bc_\bt_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bn_\bd_\b _\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b,_\b _\bd_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\ba_\bn_\bd_\b _\bu_\bp_\bg_\br_\ba_\bd_\bi_\bn_\bg\n o _\bO_\bt_\bh_\be_\br_\b _\bg_\bu_\bi_\bd_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bp_\br_\bo_\bv_\bi_\bd_\be_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bm_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/initial-data.html", "source2": "./usr/share/doc/python-django-doc/html/howto/initial-data.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to provide initial data for models — Django 5.1.4 documentation\n+ How to provide initial data for models — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -159,15 +160,15 @@\n you have fixture files with the same name in different applications, you\n will be unable to distinguish between them in your loaddata commands.\n The easiest way to avoid this problem is by namespacing your fixture\n files. That is, by putting them inside a directory named for their\n application, as in the relative path example above.

    \n
    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Fixtures are also used by the testing framework to help set up a consistent test environment.

    \n
    \n \n \n \n \n \n@@ -191,37 +192,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How-to guides

    \n+ title=\"capitolo precedente\">How-to guides

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to integrate Django with a legacy database

    \n+ title=\"capitolo successivo\">How to integrate Django with a legacy database

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo p\bpr\bro\bov\bvi\bid\bde\be i\bin\bni\bit\bti\bia\bal\bl d\bda\bat\bta\ba f\bfo\bor\br m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n It\u2019s sometimes useful to prepopulate your database with hard-coded data when\n you\u2019re first setting up an app. You can provide initial data with migrations or\n fixtures.\n *\b**\b**\b**\b**\b* P\bPr\bro\bov\bvi\bid\bde\be i\bin\bni\bit\bti\bia\bal\bl d\bda\bat\bta\ba w\bwi\bit\bth\bh m\bmi\big\bgr\bra\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -67,24 +67,24 @@\n Namespace your fixture files\n Django will use the first fixture file it finds whose name matches, so if you\n have fixture files with the same name in different applications, you will be\n unable to distinguish between them in your loaddata commands. The easiest way\n to avoid this problem is by n\bna\bam\bme\bes\bsp\bpa\bac\bci\bin\bng\bg your fixture files. That is, by putting\n them inside a directory named for their application, as in the relative path\n example above.\n-See also\n+Vedi anche\n Fixtures are also used by the _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk to help set up a consistent\n test environment.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bp_\br_\bo_\bv_\bi_\bd_\be_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bm_\bo_\bd_\be_\bl_\bs\n o _\bP_\br_\bo_\bv_\bi_\bd_\be_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bw_\bi_\bt_\bh_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bP_\br_\bo_\bv_\bi_\bd_\be_\b _\bd_\ba_\bt_\ba_\b _\bw_\bi_\bt_\bh_\b _\bf_\bi_\bx_\bt_\bu_\br_\be_\bs\n # _\bT_\be_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bh_\be_\br_\be_\b _\bt_\bo_\b _\bl_\bo_\bo_\bk_\b _\bf_\bo_\br_\b _\bf_\bi_\bx_\bt_\bu_\br_\be_\b _\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bl_\be_\bg_\ba_\bc_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/legacy-databases.html", "source2": "./usr/share/doc/python-django-doc/html/howto/legacy-databases.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to integrate Django with a legacy database — Django 5.1.4 documentation\n+ How to integrate Django with a legacy database — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -171,37 +172,37 @@\n
  • Test and tweak
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to provide initial data for models

    \n+ title=\"capitolo precedente\">How to provide initial data for models

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create custom model fields

    \n+ title=\"capitolo successivo\">How to create custom model fields

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo i\bin\bnt\bte\beg\bgr\bra\bat\bte\be D\bDj\bja\ban\bng\bgo\bo w\bwi\bit\bth\bh a\ba l\ble\beg\bga\bac\bcy\by d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n While Django is best suited for developing new applications, it\u2019s quite\n possible to integrate it into legacy databases. Django includes a couple of\n utilities to automate as much of this process as possible.\n This document assumes you know the Django basics, as covered in the _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl.\n@@ -54,16 +54,16 @@\n the models file accordingly.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bl_\be_\bg_\ba_\bc_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n o _\bG_\bi_\bv_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\by_\bo_\bu_\br_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs\n o _\bA_\bu_\bt_\bo_\b-_\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b _\bt_\bh_\be_\b _\bm_\bo_\bd_\be_\bl_\bs\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bt_\bh_\be_\b _\bc_\bo_\br_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\ba_\bb_\bl_\be_\bs\n o _\bT_\be_\bs_\bt_\b _\ba_\bn_\bd_\b _\bt_\bw_\be_\ba_\bk\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bp_\br_\bo_\bv_\bi_\bd_\be_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bm_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/logging.html", "source2": "./usr/share/doc/python-django-doc/html/howto/logging.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to configure and use logging — Django 5.1.4 documentation\n+ How to configure and use logging — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    How to configure and use logging\u00b6

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n \n
    \n

    Django provides a working default logging configuration that is readily extended.

    \n
    \n@@ -121,15 +122,15 @@\n

    The WARNING level used in the example above is one of several\n logging severity levels: DEBUG,\n INFO, WARNING, ERROR, CRITICAL. So, another example might be:

    \n
    logger.critical("Payment system is not responding")\n 
    \n
    \n
    \n-

    Important

    \n+

    Importante

    \n

    Records with a level lower than WARNING will not appear in the console\n by default. Changing this behavior requires additional configuration.

    \n
    \n
    \n
    \n

    Customize logging configuration\u00b6

    \n

    Although Django\u2019s logging configuration works out of the box, you can control\n@@ -394,37 +395,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to manage static files (e.g. images, JavaScript, CSS)

    \n+ title=\"capitolo precedente\">How to manage static files (e.g. images, JavaScript, CSS)

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to manage error reporting

    \n+ title=\"capitolo successivo\">How to manage error reporting

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bco\bon\bnf\bfi\big\bgu\bur\bre\be a\ban\bnd\bd u\bus\bse\be l\blo\bog\bgg\bgi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-See also\n+Vedi anche\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bo_\bv_\be_\br_\bv_\bi_\be_\bw\n Django provides a working _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn that is readily\n extended.\n *\b**\b**\b**\b**\b* M\bMa\bak\bke\be a\ba b\bba\bas\bsi\bic\bc l\blo\bog\bgg\bgi\bin\bng\bg c\bca\bal\bll\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To send a log message from within your code, you place a logging call into it.\n Don\u2019t be tempted to use logging calls in settings.py.\n@@ -30,15 +30,15 @@\n logger.warning(\"Platform is running at risk\")\n When this code is executed, a _\bL_\bo_\bg_\bR_\be_\bc_\bo_\br_\bd containing that message will be sent to\n the logger. If you\u2019re using Django\u2019s default logging configuration, the message\n will appear in the console.\n The WARNING level used in the example above is one of several _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bs_\be_\bv_\be_\br_\bi_\bt_\by\n _\bl_\be_\bv_\be_\bl_\bs: DEBUG, INFO, WARNING, ERROR, CRITICAL. So, another example might be:\n logger.critical(\"Payment system is not responding\")\n-Important\n+Importante\n Records with a level lower than WARNING will not appear in the console by\n default. Changing this behavior requires additional configuration.\n *\b**\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bmi\biz\bze\be l\blo\bog\bgg\bgi\bin\bng\bg c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Although Django\u2019s logging configuration works out of the box, you can control\n exactly how your logs are sent to various destinations - to log files, external\n services, email and so on - with some additional configuration.\n You can configure:\n@@ -224,16 +224,16 @@\n # _\bC_\br_\be_\ba_\bt_\be_\b _\ba_\b _\bL_\bO_\bG_\bG_\bI_\bN_\bG_\b _\bd_\bi_\bc_\bt_\bi_\bo_\bn_\ba_\br_\by\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\b _\bh_\ba_\bn_\bd_\bl_\be_\br\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\b _\bl_\bo_\bg_\bg_\be_\br_\b _\bm_\ba_\bp_\bp_\bi_\bn_\bg\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\b _\bf_\bo_\br_\bm_\ba_\bt_\bt_\be_\br\n # _\bU_\bs_\be_\b _\bl_\bo_\bg_\bg_\be_\br_\b _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\bi_\bn_\bg\n # _\bU_\bs_\bi_\bn_\bg_\b _\bl_\bo_\bg_\bg_\be_\br_\b _\bh_\bi_\be_\br_\ba_\br_\bc_\bh_\bi_\be_\bs_\b _\ba_\bn_\bd_\b _\bp_\br_\bo_\bp_\ba_\bg_\ba_\bt_\bi_\bo_\bn\n # _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\bi_\bv_\be_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\b(_\be_\b._\bg_\b._\b _\bi_\bm_\ba_\bg_\be_\bs_\b,_\b _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b,_\b _\bC_\bS_\bS_\b)\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be_\b _\be_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/outputting-csv.html", "source2": "./usr/share/doc/python-django-doc/html/howto/outputting-csv.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create CSV output — Django 5.1.4 documentation\n+ How to create CSV output — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -111,15 +112,15 @@\n
      \n
    • The response gets a special MIME type, text/csv. This tells\n browsers that the document is a CSV file, rather than an HTML file. If\n you leave this off, browsers will probably interpret the output as HTML,\n which will result in ugly, scary gobbledygook in the browser window.

    • \n
    • The response gets an additional Content-Disposition header, which\n contains the name of the CSV file. This filename is arbitrary; call it\n-whatever you want. It\u2019ll be used by browsers in the \u201cSave as\u2026\u201d dialog, etc.

    • \n+whatever you want. It\u2019ll be used by browsers in the \u00abSave as\u2026\u00bb dialog, etc.

      \n
    • You can hook into the CSV-generation API by passing response as the first\n argument to csv.writer. The csv.writer function expects a file-like\n object, and HttpResponse objects fit the bill.

    • \n
    • For each row in your CSV file, call writer.writerow, passing it an\n iterable.

    • \n
    • The CSV module takes care of quoting for you, so you don\u2019t have to worry\n about escaping strings with quotes or commas in them. Pass writerow()\n@@ -241,37 +242,37 @@\n

    • Other text-based formats
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to write custom lookups

    \n+ title=\"capitolo precedente\">How to write custom lookups

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to create PDF files

    \n+ title=\"capitolo successivo\">How to create PDF files

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be C\bCS\bSV\bV o\bou\but\btp\bpu\but\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains how to output CSV (Comma Separated Values) dynamically\n using Django views. To do this, you can either use the Python CSV library or\n the Django template system.\n *\b**\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg t\bth\bhe\be P\bPy\byt\bth\bho\bon\bn C\bCS\bSV\bV l\bli\bib\bbr\bra\bar\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -32,15 +32,15 @@\n mention:\n * The response gets a special MIME type, t\bte\bex\bxt\bt/\b/c\bcs\bsv\bv. This tells browsers that\n the document is a CSV file, rather than an HTML file. If you leave this\n off, browsers will probably interpret the output as HTML, which will\n result in ugly, scary gobbledygook in the browser window.\n * The response gets an additional Content-Disposition header, which\n contains the name of the CSV file. This filename is arbitrary; call it\n- whatever you want. It\u2019ll be used by browsers in the \u201cSave as\u2026\u201d dialog,\n+ whatever you want. It\u2019ll be used by browsers in the \u00abSave as\u2026\u00bb dialog,\n etc.\n * You can hook into the CSV-generation API by passing response as the first\n argument to csv.writer. The csv.writer function expects a file-like\n object, and _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be objects fit the bill.\n * For each row in your CSV file, call writer.writerow, passing it an\n _\bi_\bt_\be_\br_\ba_\bb_\bl_\be.\n * The CSV module takes care of quoting for you, so you don\u2019t have to worry\n@@ -130,16 +130,16 @@\n arbitrary binary data; see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bP_\bD_\bF_\b _\bf_\bi_\bl_\be_\bs for an example.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bC_\bS_\bV_\b _\bo_\bu_\bt_\bp_\bu_\bt\n o _\bU_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bC_\bS_\bV_\b _\bl_\bi_\bb_\br_\ba_\br_\by\n # _\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b _\bl_\ba_\br_\bg_\be_\b _\bC_\bS_\bV_\b _\bf_\bi_\bl_\be_\bs\n o _\bU_\bs_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bs_\by_\bs_\bt_\be_\bm\n o _\bO_\bt_\bh_\be_\br_\b _\bt_\be_\bx_\bt_\b-_\bb_\ba_\bs_\be_\bd_\b _\bf_\bo_\br_\bm_\ba_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bP_\bD_\bF_\b _\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html", "source2": "./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create PDF files — Django 5.1.4 documentation\n+ How to create PDF files — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -128,15 +129,15 @@\n

    If that command doesn\u2019t raise any errors, the installation worked.

    \n \n
    \n

    Write your view\u00b6

    \n

    The key to generating PDFs dynamically with Django is that the ReportLab API\n acts on file-like objects, and Django\u2019s FileResponse\n objects accept file-like objects.

    \n-

    Here\u2019s a \u201cHello World\u201d example:

    \n+

    Here\u2019s a \u00abHello World\u00bb example:

    \n
    import io\n from django.http import FileResponse\n from reportlab.pdfgen import canvas\n \n \n def some_view(request):\n     # Create a file-like buffer to receive PDF data.\n@@ -169,39 +170,39 @@\n 
  • When as_attachment=True is passed to FileResponse, it sets the\n appropriate Content-Disposition header and that tells web browsers to\n pop-up a dialog box prompting/confirming how to handle the document even if a\n default is set on the machine. If the as_attachment parameter is omitted,\n browsers will handle the PDF using whatever program/plugin they\u2019ve been\n configured to use for PDFs.

  • \n
  • You can provide an arbitrary filename parameter. It\u2019ll be used by browsers\n-in the \u201cSave as\u2026\u201d dialog.

  • \n+in the \u00abSave as\u2026\u00bb dialog.

    \n
  • You can hook into the ReportLab API: The same buffer passed as the first\n argument to canvas.Canvas can be fed to the\n FileResponse class.

  • \n
  • Note that all subsequent PDF-generation methods are called on the PDF\n object (in this case, p) \u2013 not on buffer.

  • \n
  • Finally, it\u2019s important to call showPage() and save() on the PDF\n file.

  • \n \n
    \n-

    Note

    \n+

    Nota

    \n

    ReportLab is not thread-safe. Some of our users have reported odd issues\n with building PDF-generating Django views that are accessed by many people\n at the same time.

    \n
    \n
    \n
    \n

    Other formats\u00b6

    \n

    Notice that there isn\u2019t a lot in these examples that\u2019s PDF-specific \u2013 just the\n bits using reportlab. You can use a similar technique to generate any\n arbitrary format that you can find a Python library for. Also see\n How to create CSV output for another example and some techniques you can use\n when generated text-based formats.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Django Packages provides a comparison of packages that help generate PDF files\n from Django.

    \n
    \n
    \n \n \n \n@@ -223,37 +224,37 @@\n
  • Other formats
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create CSV output

    \n+ title=\"capitolo precedente\">How to create CSV output

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to override templates

    \n+ title=\"capitolo successivo\">How to override templates

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be P\bPD\bDF\bF f\bfi\bil\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains how to output PDF files dynamically using Django views.\n This is made possible by the excellent, open-source _\bR_\be_\bp_\bo_\br_\bt_\bL_\ba_\bb Python PDF\n library.\n The advantage of generating PDF files dynamically is that you can create\n@@ -20,15 +20,15 @@\n Test your installation by importing it in the Python interactive interpreter:\n >>> import reportlab\n If that command doesn\u2019t raise any errors, the installation worked.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bte\be y\byo\bou\bur\br v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The key to generating PDFs dynamically with Django is that the ReportLab API\n acts on file-like objects, and Django\u2019s _\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be objects accept file-like\n objects.\n-Here\u2019s a \u201cHello World\u201d example:\n+Here\u2019s a \u00abHello World\u00bb example:\n import io\n from django.http import FileResponse\n from reportlab.pdfgen import canvas\n \n \n def some_view(request):\n # Create a file-like buffer to receive PDF data.\n@@ -58,40 +58,40 @@\n * When as_attachment=True is passed to FileResponse, it sets the\n appropriate Content-Disposition header and that tells web browsers to\n pop-up a dialog box prompting/confirming how to handle the document even\n if a default is set on the machine. If the as_attachment parameter is\n omitted, browsers will handle the PDF using whatever program/plugin\n they\u2019ve been configured to use for PDFs.\n * You can provide an arbitrary filename parameter. It\u2019ll be used by\n- browsers in the \u201cSave as\u2026\u201d dialog.\n+ browsers in the \u00abSave as\u2026\u00bb dialog.\n * You can hook into the ReportLab API: The same buffer passed as the first\n argument to canvas.Canvas can be fed to the _\bF_\bi_\bl_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be class.\n * Note that all subsequent PDF-generation methods are called on the PDF\n object (in this case, p) \u2013 not on buffer.\n * Finally, it\u2019s important to call showPage() and save() on the PDF file.\n-Note\n+Nota\n ReportLab is not thread-safe. Some of our users have reported odd issues with\n building PDF-generating Django views that are accessed by many people at the\n same time.\n *\b**\b**\b**\b**\b* O\bOt\bth\bhe\ber\br f\bfo\bor\brm\bma\bat\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Notice that there isn\u2019t a lot in these examples that\u2019s PDF-specific \u2013 just the\n bits using reportlab. You can use a similar technique to generate any arbitrary\n format that you can find a Python library for. Also see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bC_\bS_\bV\n _\bo_\bu_\bt_\bp_\bu_\bt for another example and some techniques you can use when generated text-\n based formats.\n-See also\n+Vedi anche\n Django Packages provides a _\bc_\bo_\bm_\bp_\ba_\br_\bi_\bs_\bo_\bn_\b _\bo_\bf_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs that help generate PDF files\n from Django.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bP_\bD_\bF_\b _\bf_\bi_\bl_\be_\bs\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bR_\be_\bp_\bo_\br_\bt_\bL_\ba_\bb\n o _\bW_\br_\bi_\bt_\be_\b _\by_\bo_\bu_\br_\b _\bv_\bi_\be_\bw\n o _\bO_\bt_\bh_\be_\br_\b _\bf_\bo_\br_\bm_\ba_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bC_\bS_\bV_\b _\bo_\bu_\bt_\bp_\bu_\bt\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/overriding-templates.html", "source2": "./usr/share/doc/python-django-doc/html/howto/overriding-templates.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to override templates — Django 5.1.4 documentation\n+ How to override templates — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,15 +85,15 @@\n such as django.contrib.admin. You can either put template overrides in your\n project\u2019s templates directory or in an application\u2019s templates directory.

    \n

    If you have app and project templates directories that both contain overrides,\n the default Django template loader will try to load the template from the\n project-level directory first. In other words, DIRS\n is searched before APP_DIRS.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Read Overriding built-in widget templates if you\u2019re looking to\n do that.

    \n
    \n
    \n

    Overriding from the project\u2019s templates directory\u00b6

    \n

    First, we\u2019ll explore overriding templates by creating replacement templates in\n your project\u2019s templates directory.

    \n@@ -221,37 +222,37 @@\n
  • Extending an overridden template
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create PDF files

    \n+ title=\"capitolo precedente\">How to create PDF files

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to implement a custom template backend

    \n+ title=\"capitolo successivo\">How to implement a custom template backend

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo o\bov\bve\ber\brr\bri\bid\bde\be t\bte\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n In your project, you might want to override a template in another Django\n application, whether it be a third-party application or a contrib application\n such as django.contrib.admin. You can either put template overrides in your\n project\u2019s templates directory or in an application\u2019s templates directory.\n If you have app and project templates directories that both contain overrides,\n the default Django template loader will try to load the template from the\n project-level directory first. In other words, _\bD_\bI_\bR_\bS is searched before\n _\bA_\bP_\bP_\b__\bD_\bI_\bR_\bS.\n-See also\n+Vedi anche\n Read _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bw_\bi_\bd_\bg_\be_\bt_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs if you\u2019re looking to do that.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brr\bri\bid\bdi\bin\bng\bg f\bfr\bro\bom\bm t\bth\bhe\be p\bpr\bro\boj\bje\bec\bct\bt?\b\u2019s\bs t\bte\bem\bmp\bpl\bla\bat\bte\bes\bs d\bdi\bir\bre\bec\bct\bto\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n First, we\u2019ll explore overriding templates by creating replacement templates in\n your project\u2019s templates directory.\n Let\u2019s say you\u2019re trying to override the templates for a third-party application\n called blog, which provides the templates blog/post.html and blog/list.html.\n The relevant settings for your project would look like:\n@@ -101,16 +101,16 @@\n extends tag. Combined with block.super it is a powerful technique to make small\n customizations.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\bt_\bh_\be_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b\u2019_\bs_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\by\n o _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\ba_\bn_\b _\ba_\bp_\bp_\b\u2019_\bs_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bd_\bi_\br_\be_\bc_\bt_\bo_\br_\by\n o _\bE_\bx_\bt_\be_\bn_\bd_\bi_\bn_\bg_\b _\ba_\bn_\b _\bo_\bv_\be_\br_\br_\bi_\bd_\bd_\be_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bP_\bD_\bF_\b _\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html", "source2": "./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to deploy static files — Django 5.1.4 documentation\n+ How to deploy static files — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    How to deploy static files\u00b6

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For an introduction to the use of django.contrib.staticfiles, see\n How to manage static files (e.g. images, JavaScript, CSS).

    \n
    \n
    \n

    Serving static files in production\u00b6

    \n

    The basic outline of putting static files into production consists of two\n steps: run the collectstatic command when static files change, then\n@@ -195,37 +196,37 @@\n

  • Learn more
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Deployment checklist

    \n+ title=\"capitolo precedente\">Deployment checklist

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to authenticate using REMOTE_USER

    \n+ title=\"capitolo successivo\">How to authenticate using REMOTE_USER

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo d\bde\bep\bpl\blo\boy\by s\bst\bta\bat\bti\bic\bc f\bfi\bil\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-See also\n+Vedi anche\n For an introduction to the use of _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs, see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be\n _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\b(_\be_\b._\bg_\b._\b _\bi_\bm_\ba_\bg_\be_\bs_\b,_\b _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b,_\b _\bC_\bS_\bS_\b).\n *\b**\b**\b**\b**\b* S\bSe\ber\brv\bvi\bin\bng\bg s\bst\bta\bat\bti\bic\bc f\bfi\bil\ble\bes\bs i\bin\bn p\bpr\bro\bod\bdu\buc\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The basic outline of putting static files into production consists of two\n steps: run the _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc command when static files change, then arrange for\n the collected static files directory (_\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT) to be moved to the static\n file server and served. Depending on the staticfiles _\bS_\bT_\bO_\bR_\bA_\bG_\bE_\bS alias, files may\n@@ -72,16 +72,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bi_\bn_\b _\bp_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn\n # _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bs_\bi_\bt_\be_\b _\ba_\bn_\bd_\b _\by_\bo_\bu_\br_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bf_\br_\bo_\bm_\b _\bt_\bh_\be_\b _\bs_\ba_\bm_\be_\b _\bs_\be_\br_\bv_\be_\br\n # _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bf_\br_\bo_\bm_\b _\ba_\b _\bd_\be_\bd_\bi_\bc_\ba_\bt_\be_\bd_\b _\bs_\be_\br_\bv_\be_\br\n # _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bf_\br_\bo_\bm_\b _\ba_\b _\bc_\bl_\bo_\bu_\bd_\b _\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bo_\br_\b _\bC_\bD_\bN\n o _\bL_\be_\ba_\br_\bn_\b _\bm_\bo_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt_\b _\bc_\bh_\be_\bc_\bk_\bl_\bi_\bs_\bt\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/static-files/index.html", "source2": "./usr/share/doc/python-django-doc/html/howto/static-files/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to manage static files (e.g. images, JavaScript, CSS) — Django 5.1.4 documentation\n+ How to manage static files (e.g. images, JavaScript, CSS) — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    How to manage static files (e.g. images, JavaScript, CSS)\u00b6

    \n

    Websites generally need to serve additional files such as images, JavaScript,\n-or CSS. In Django, we refer to these files as \u201cstatic files\u201d. Django provides\n+or CSS. In Django, we refer to these files as \u00abstatic files\u00bb. Django provides\n django.contrib.staticfiles to help you manage them.

    \n

    This page describes how you can serve these static files.

    \n
    \n

    Configuring static files\u00b6

    \n
      \n
    1. Make sure that django.contrib.staticfiles is included in your\n INSTALLED_APPS.

    2. \n@@ -159,15 +160,15 @@\n \n urlpatterns = [\n # ... the rest of your URLconf goes here ...\n ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    This helper function works only in debug mode and only if\n the given prefix is local (e.g. static/) and not a URL (e.g.\n http://static.example.com/).

    \n

    Also this helper function only serves the actual STATIC_ROOT\n folder; it doesn\u2019t perform static files discovery like\n django.contrib.staticfiles.

    \n

    Finally, static files are served via a wrapper at the WSGI application\n@@ -188,15 +189,15 @@\n \n urlpatterns = [\n # ... the rest of your URLconf goes here ...\n ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    This helper function works only in debug mode and only if\n the given prefix is local (e.g. media/) and not a URL (e.g.\n http://media.example.com/).

    \n
    \n \n
    \n

    Testing\u00b6

    \n@@ -268,37 +269,37 @@\n
  • Learn more
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create custom template tags and filters

    \n+ title=\"capitolo precedente\">How to create custom template tags and filters

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to configure and use logging

    \n+ title=\"capitolo successivo\">How to configure and use logging

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo m\bma\ban\bna\bag\bge\be s\bst\bta\bat\bti\bic\bc f\bfi\bil\ble\bes\bs (\b(e\be.\b.g\bg.\b. i\bim\bma\bag\bge\bes\bs,\b, J\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt,\b, C\bCS\bSS\bS)\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Websites generally need to serve additional files such as images, JavaScript,\n-or CSS. In Django, we refer to these files as \u201cstatic files\u201d. Django provides\n+or CSS. In Django, we refer to these files as \u00abstatic files\u00bb. Django provides\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs to help you manage them.\n This page describes how you can serve these static files.\n *\b**\b**\b**\b**\b* C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg s\bst\bta\bat\bti\bic\bc f\bfi\bil\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n 1. Make sure that django.contrib.staticfiles is included in your\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n 2. In your settings file, define _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL, for example:\n STATIC_URL = \"static/\"\n@@ -58,15 +58,15 @@\n adding the following snippet to your urls.py:\n from django.conf import settings\n from django.conf.urls.static import static\n \n urlpatterns = [\n # ... the rest of your URLconf goes here ...\n ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)\n-Note\n+Nota\n This helper function works only in debug mode and only if the given prefix is\n local (e.g. static/) and not a URL (e.g. http://static.example.com/).\n Also this helper function only serves the actual _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT folder; it doesn\u2019t\n perform static files discovery like _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs.\n Finally, static files are served via a wrapper at the WSGI application layer.\n As a consequence, static files requests do not pass through the normal\n _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bc_\bh_\ba_\bi_\bn.\n@@ -79,15 +79,15 @@\n the following snippet to your _\bR_\bO_\bO_\bT_\b__\bU_\bR_\bL_\bC_\bO_\bN_\bF:\n from django.conf import settings\n from django.conf.urls.static import static\n \n urlpatterns = [\n # ... the rest of your URLconf goes here ...\n ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n-Note\n+Nota\n This helper function works only in debug mode and only if the given prefix is\n local (e.g. media/) and not a URL (e.g. http://media.example.com/).\n *\b**\b**\b**\b**\b* T\bTe\bes\bst\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When running tests that use actual HTTP requests instead of the built-in\n testing client (i.e. when using the built-in _\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be) the static\n assets need to be served along the rest of the content so the test environment\n reproduces the real one as faithfully as possible, but LiveServerTestCase has\n@@ -120,16 +120,16 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\b(_\be_\b._\bg_\b._\b _\bi_\bm_\ba_\bg_\be_\bs_\b,_\b _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b,_\b _\bC_\bS_\bS_\b)\n o _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bd_\bu_\br_\bi_\bn_\bg_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs_\b _\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\b _\bb_\by_\b _\ba_\b _\bu_\bs_\be_\br_\b _\bd_\bu_\br_\bi_\bn_\bg_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n o _\bT_\be_\bs_\bt_\bi_\bn_\bg\n o _\bD_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt\n o _\bL_\be_\ba_\br_\bn_\b _\bm_\bo_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\bn_\bd_\b _\bu_\bs_\be_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/upgrade-version.html", "source2": "./usr/share/doc/python-django-doc/html/howto/upgrade-version.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to upgrade Django to a newer version — Django 5.1.4 documentation\n+ How to upgrade Django to a newer version — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,15 +108,15 @@\n
    \n

    Required Reading\u00b6

    \n

    If it\u2019s your first time doing an upgrade, it is useful to read the guide\n on the different release processes.

    \n

    Afterward, you should familiarize yourself with the changes that were made in\n the new Django version(s):

    \n
      \n-
    • Read the release notes for each \u2018final\u2019 release from\n+

    • Read the release notes for each \u201cfinal\u201d release from\n the one after your current Django version, up to and including the version to\n which you plan to upgrade.

    • \n
    • Look at the deprecation timeline for the\n relevant versions.

    • \n
    \n

    Pay particular attention to backwards incompatible changes to get a clear idea\n of what will be needed for a successful upgrade.

    \n@@ -256,37 +257,37 @@\n
  • Deployment
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to delete a Django application

    \n+ title=\"capitolo precedente\">How to delete a Django application

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to install Django on Windows

    \n+ title=\"capitolo successivo\">How to install Django on Windows

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo u\bup\bpg\bgr\bra\bad\bde\be D\bDj\bja\ban\bng\bgo\bo t\bto\bo a\ba n\bne\bew\bwe\ber\br v\bve\ber\brs\bsi\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n While it can be a complex process at times, upgrading to the latest Django\n version has several benefits:\n * New features and improvements are added.\n * Bugs are fixed.\n@@ -13,15 +13,15 @@\n Here are some things to consider to help make your upgrade process as smooth as\n possible.\n *\b**\b**\b**\b**\b* R\bRe\beq\bqu\bui\bir\bre\bed\bd R\bRe\bea\bad\bdi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If it\u2019s your first time doing an upgrade, it is useful to read the _\bg_\bu_\bi_\bd_\be_\b _\bo_\bn_\b _\bt_\bh_\be\n _\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bt_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\be_\bs.\n Afterward, you should familiarize yourself with the changes that were made in\n the new Django version(s):\n- * Read the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs for each \u2018final\u2019 release from the one after your\n+ * Read the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs for each \u201cfinal\u201d release from the one after your\n current Django version, up to and including the version to which you plan\n to upgrade.\n * Look at the _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bi_\bm_\be_\bl_\bi_\bn_\be for the relevant versions.\n Pay particular attention to backwards incompatible changes to get a clear idea\n of what will be needed for a successful upgrade.\n If you\u2019re upgrading through more than one feature version (e.g. 2.0 to 2.2),\n it\u2019s usually easier to upgrade through each feature release incrementally (2.0\n@@ -90,16 +90,16 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bp_\bg_\br_\ba_\bd_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\bo_\b _\ba_\b _\bn_\be_\bw_\be_\br_\b _\bv_\be_\br_\bs_\bi_\bo_\bn\n o _\bR_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\bR_\be_\ba_\bd_\bi_\bn_\bg\n o _\bD_\be_\bp_\be_\bn_\bd_\be_\bn_\bc_\bi_\be_\bs\n o _\bR_\be_\bs_\bo_\bl_\bv_\bi_\bn_\bg_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bw_\ba_\br_\bn_\bi_\bn_\bg_\bs\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n o _\bT_\be_\bs_\bt_\bi_\bn_\bg\n o _\bD_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bl_\be_\bt_\be_\b _\ba_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bo_\bn_\b _\bW_\bi_\bn_\bd_\bo_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/windows.html", "source2": "./usr/share/doc/python-django-doc/html/howto/windows.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to install Django on Windows — Django 5.1.4 documentation\n+ How to install Django on Windows — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -89,30 +90,30 @@\n the Windows command prompt.

    \n
    \n

    Install Python\u00b6

    \n

    Django is a Python web framework, thus requiring Python to be installed on your\n machine. At the time of writing, Python 3.13 is the latest version.

    \n

    To install Python on your machine go to https://www.python.org/downloads/. The\n website should offer you a download button for the latest Python version.\n-Download the executable installer and run it. Check the boxes next to \u201cInstall\n-launcher for all users (recommended)\u201d then click \u201cInstall Now\u201d.

    \n+Download the executable installer and run it. Check the boxes next to \u00abInstall\n+launcher for all users (recommended)\u00bb then click \u00abInstall Now\u00bb.

    \n

    After installation, open the command prompt and check that the Python version\n matches the version you installed by executing:

    \n
    ...\\> py --version\n 
    \n
    \n
    \n

    py is not recognized or found

    \n

    Depending on how you\u2019ve installed Python (such as via the Microsoft Store),\n py may not be available in the command prompt.

    \n

    You will then need to use python instead of py when entering\n commands.

    \n
    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For more details, see Using Python on Windows documentation.

    \n
    \n
    \n
    \n

    About pip\u00b6

    \n

    pip is a package manager for Python and is included by default with the\n Python installer. It helps to install and uninstall Python packages\n@@ -129,20 +130,20 @@\n environments which we will use for this guide.

    \n

    To create a virtual environment for your project, open a new command prompt,\n navigate to the folder where you want to create your project and then enter the\n following:

    \n
    ...\\> py -m venv project-name\n 
    \n
    \n-

    This will create a folder called \u2018project-name\u2019 if it does not already exist\n+

    This will create a folder called \u201cproject-name\u201d if it does not already exist\n and set up the virtual environment. To activate the environment, run:

    \n
    ...\\> project-name\\Scripts\\activate.bat\n 
    \n
    \n-

    The virtual environment will be activated and you\u2019ll see \u201c(project-name)\u201d next\n+

    The virtual environment will be activated and you\u2019ll see \u00ab(project-name)\u00bb next\n to the command prompt to designate that. Each time you start a new command\n prompt, you\u2019ll need to activate the environment again.

    \n
    \n
    \n

    Install Django\u00b6

    \n

    Django can be installed easily using pip within your virtual environment.

    \n

    In the command prompt, ensure your virtual environment is active, and execute\n@@ -218,37 +219,37 @@\n

  • Common pitfalls
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to upgrade Django to a newer version

    \n+ title=\"capitolo precedente\">How to upgrade Django to a newer version

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to deploy Django

    \n+ title=\"capitolo successivo\">How to deploy Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo i\bin\bns\bst\bta\bal\bll\bl D\bDj\bja\ban\bng\bgo\bo o\bon\bn W\bWi\bin\bnd\bdo\bow\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document will guide you through installing Python 3.13 and Django on\n Windows. It also provides instructions for setting up a virtual environment,\n which makes it easier to work on Python projects. This is meant as a beginner\u2019s\n guide for users working on Django projects and does not reflect how Django\n@@ -11,24 +11,24 @@\n the steps would be similar. You will need to be familiar with using the Windows\n command prompt.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bl P\bPy\byt\bth\bho\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django is a Python web framework, thus requiring Python to be installed on your\n machine. At the time of writing, Python 3.13 is the latest version.\n To install Python on your machine go to _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bw_\bw_\b._\bp_\by_\bt_\bh_\bo_\bn_\b._\bo_\br_\bg_\b/_\bd_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\bs_\b/. The\n website should offer you a download button for the latest Python version.\n-Download the executable installer and run it. Check the boxes next to \u201cInstall\n-launcher for all users (recommended)\u201d then click \u201cInstall Now\u201d.\n+Download the executable installer and run it. Check the boxes next to \u00abInstall\n+launcher for all users (recommended)\u00bb then click \u00abInstall Now\u00bb.\n After installation, open the command prompt and check that the Python version\n matches the version you installed by executing:\n ...\\> py --version\n py is not recognized or found\n Depending on how you\u2019ve installed Python (such as via the Microsoft Store), py\n may not be available in the command prompt.\n You will then need to use python instead of py when entering commands.\n-See also\n+Vedi anche\n For more details, see _\bU_\bs_\bi_\bn_\bg_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bo_\bn_\b _\bW_\bi_\bn_\bd_\bo_\bw_\bs documentation.\n *\b**\b**\b**\b**\b* A\bAb\bbo\bou\but\bt p\bpi\bip\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bp_\bi_\bp is a package manager for Python and is included by default with the Python\n installer. It helps to install and uninstall Python packages (such as Django!).\n For the rest of the installation, we\u2019ll use pip to install Python packages from\n the command line.\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp a\ba v\bvi\bir\brt\btu\bua\bal\bl e\ben\bnv\bvi\bir\bro\bon\bnm\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -37,18 +37,18 @@\n the Python ecosystem, some of which are recommended in the _\bP_\by_\bt_\bh_\bo_\bn\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn. Python itself comes with _\bv_\be_\bn_\bv for managing environments which we\n will use for this guide.\n To create a virtual environment for your project, open a new command prompt,\n navigate to the folder where you want to create your project and then enter the\n following:\n ...\\> py -m venv project-name\n-This will create a folder called \u2018project-name\u2019 if it does not already exist\n+This will create a folder called \u201cproject-name\u201d if it does not already exist\n and set up the virtual environment. To activate the environment, run:\n ...\\> project-name\\Scripts\\activate.bat\n-The virtual environment will be activated and you\u2019ll see \u201c(project-name)\u201d next\n+The virtual environment will be activated and you\u2019ll see \u00ab(project-name)\u00bb next\n to the command prompt to designate that. Each time you start a new command\n prompt, you\u2019ll need to activate the environment again.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bl D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django can be installed easily using pip within your virtual environment.\n In the command prompt, ensure your virtual environment is active, and execute\n the following command:\n ...\\> py -m pip install Django\n@@ -89,16 +89,16 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bo_\bn_\b _\bW_\bi_\bn_\bd_\bo_\bw_\bs\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bP_\by_\bt_\bh_\bo_\bn\n o _\bA_\bb_\bo_\bu_\bt_\b _\bp_\bi_\bp\n o _\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\bu_\bp_\b _\ba_\b _\bv_\bi_\br_\bt_\bu_\ba_\bl_\b _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bC_\bo_\bl_\bo_\br_\be_\bd_\b _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl_\b _\bo_\bu_\bt_\bp_\bu_\bt\n o _\bC_\bo_\bm_\bm_\bo_\bn_\b _\bp_\bi_\bt_\bf_\ba_\bl_\bl_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bp_\bg_\br_\ba_\bd_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\bo_\b _\ba_\b _\bn_\be_\bw_\be_\br_\b _\bv_\be_\br_\bs_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/howto/writing-migrations.html", "source2": "./usr/share/doc/python-django-doc/html/howto/writing-migrations.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How to create database migrations — Django 5.1.4 documentation\n+ How to create database migrations — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -142,15 +143,15 @@\n
    \n

    If your RunPython or RunSQL operation only affects one model, it\u2019s good\n practice to pass model_name as a hint to make it as transparent as possible\n to the router. This is especially important for reusable and third-party apps.

    \n \n
    \n

    Migrations that add unique fields\u00b6

    \n-

    Applying a \u201cplain\u201d migration that adds a unique non-nullable field to a table\n+

    Applying a \u00abplain\u00bb migration that adds a unique non-nullable field to a table\n with existing rows will raise an error because the value used to populate\n existing rows is generated only once, thus breaking the unique constraint.

    \n

    Therefore, the following steps should be taken. In this example, we\u2019ll add a\n non-nullable UUIDField with a default value. Modify\n the respective field according to your needs.

    \n
      \n
    • Add the field on your model with default=uuid.uuid4 and unique=True\n@@ -311,15 +312,15 @@\n dependencies = [\n ("myapp", "0123_the_previous_migration"),\n ]\n

    \n
    \n

    Usually this will be enough, but from time to time you may need to\n ensure that your migration runs before other migrations. This is\n-useful, for example, to make third-party apps\u2019 migrations run after\n+useful, for example, to make third-party apps\u201d migrations run after\n your AUTH_USER_MODEL replacement.

    \n

    To achieve this, place all migrations that should depend on yours in\n the run_before attribute on your Migration class:

    \n
    class Migration(migrations.Migration):\n     ...\n \n     run_before = [\n@@ -499,37 +500,37 @@\n 
  • Changing an unmanaged model to managed
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    How to create custom model fields

    \n+ title=\"capitolo precedente\">How to create custom model fields

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How to write custom lookups

    \n+ title=\"capitolo successivo\">How to write custom lookups

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo c\bcr\bre\bea\bat\bte\be d\bda\bat\bta\bab\bba\bas\bse\be m\bmi\big\bgr\bra\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains how to structure and write database migrations for\n different scenarios you might encounter. For introductory material on\n migrations, see _\bt_\bh_\be_\b _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* D\bDa\bat\bta\ba m\bmi\big\bgr\bra\bat\bti\bio\bon\bns\bs a\ban\bnd\bd m\bmu\bul\blt\bti\bip\bpl\ble\be d\bda\bat\bta\bab\bba\bas\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -53,15 +53,15 @@\n operations = [\n migrations.RunPython(forwards, hints={\"target_db\": \"default\"}),\n ]\n If your RunPython or RunSQL operation only affects one model, it\u2019s good\n practice to pass model_name as a hint to make it as transparent as possible to\n the router. This is especially important for reusable and third-party apps.\n *\b**\b**\b**\b**\b* M\bMi\big\bgr\bra\bat\bti\bio\bon\bns\bs t\bth\bha\bat\bt a\bad\bdd\bd u\bun\bni\biq\bqu\bue\be f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Applying a \u201cplain\u201d migration that adds a unique non-nullable field to a table\n+Applying a \u00abplain\u00bb migration that adds a unique non-nullable field to a table\n with existing rows will raise an error because the value used to populate\n existing rows is generated only once, thus breaking the unique constraint.\n Therefore, the following steps should be taken. In this example, we\u2019ll add a\n non-nullable _\bU_\bU_\bI_\bD_\bF_\bi_\be_\bl_\bd with a default value. Modify the respective field\n according to your needs.\n * Add the field on your model with default=uuid.uuid4 and unique=True\n arguments (choose an appropriate default for the type of the field you\u2019re\n@@ -193,15 +193,15 @@\n \n class Migration(migrations.Migration):\n dependencies = [\n (\"myapp\", \"0123_the_previous_migration\"),\n ]\n Usually this will be enough, but from time to time you may need to ensure that\n your migration runs b\bbe\bef\bfo\bor\bre\be other migrations. This is useful, for example, to\n-make third-party apps\u2019 migrations run a\baf\bft\bte\ber\br your _\bA_\bU_\bT_\bH_\b__\bU_\bS_\bE_\bR_\b__\bM_\bO_\bD_\bE_\bL replacement.\n+make third-party apps\u201d migrations run a\baf\bft\bte\ber\br your _\bA_\bU_\bT_\bH_\b__\bU_\bS_\bE_\bR_\b__\bM_\bO_\bD_\bE_\bL replacement.\n To achieve this, place all migrations that should depend on yours in the\n run_before attribute on your Migration class:\n class Migration(migrations.Migration):\n ...\n \n run_before = [\n (\"third_party_app\", \"0001_do_awesome\"),\n@@ -341,16 +341,16 @@\n o _\bD_\ba_\bt_\ba_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bn_\bd_\b _\bm_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs\n o _\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bh_\ba_\bt_\b _\ba_\bd_\bd_\b _\bu_\bn_\bi_\bq_\bu_\be_\b _\bf_\bi_\be_\bl_\bd_\bs\n # _\bN_\bo_\bn_\b-_\ba_\bt_\bo_\bm_\bi_\bc_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bo_\br_\bd_\be_\br_\b _\bo_\bf_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bM_\bi_\bg_\br_\ba_\bt_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\b _\bb_\be_\bt_\bw_\be_\be_\bn_\b _\bt_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\ba_\bp_\bp_\bs\n o _\bC_\bh_\ba_\bn_\bg_\bi_\bn_\bg_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\ba_\b _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b _\bm_\bo_\bd_\be_\bl\n o _\bC_\bh_\ba_\bn_\bg_\bi_\bn_\bg_\b _\ba_\bn_\b _\bu_\bn_\bm_\ba_\bn_\ba_\bg_\be_\bd_\b _\bm_\bo_\bd_\be_\bl_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/index.html", "source2": "./usr/share/doc/python-django-doc/html/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django documentation — Django 5.1.4 documentation\n+ Django documentation — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -102,42 +103,42 @@\n \n \n
    \n

    Getting help\u00b6

    \n

    Having trouble? We\u2019d like to help!

    \n \n
    \n
    \n

    How the documentation is organized\u00b6

    \n

    Django has a lot of documentation. A high-level overview of how it\u2019s organized\n will help you know where to look for certain things:

    \n
      \n
    • Tutorials take you by the hand through a series of\n steps to create a web application. Start here if you\u2019re new to Django or web\n-application development. Also look at the \u201cFirst steps\u201d.

    • \n+application development. Also look at the \u00abFirst steps\u00bb.

      \n
    • Topic guides discuss key topics and concepts at a\n fairly high level and provide useful background information and explanation.

    • \n
    • Reference guides contain technical reference for APIs and\n other aspects of Django\u2019s machinery. They describe how it works and how to\n use it but assume that you have a basic understanding of key concepts.

    • \n
    • How-to guides are recipes. They guide you through the\n steps involved in addressing key problems and use-cases. They are more\n advanced than tutorials and assume some knowledge of how Django works.

    • \n
    \n
    \n
    \n

    The model layer\u00b6

    \n-

    Django provides an abstraction layer (the \u201cmodels\u201d) for structuring and\n+

    Django provides an abstraction layer (the \u00abmodels\u00bb) for structuring and\n manipulating the data of your web application. Learn more about it below:

    \n \n
    \n
    \n

    The view layer\u00b6

    \n-

    Django has the concept of \u201cviews\u201d to encapsulate the logic responsible for\n+

    Django has the concept of \u00abviews\u00bb to encapsulate the logic responsible for\n processing a user\u2019s request and for returning the response. Find all you need\n to know about views via the links below:

    \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Everything you need to know about Django.\n *\b**\b**\b**\b**\b* F\bFi\bir\brs\bst\bt s\bst\bte\bep\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Are you new to Django or to programming? This is the place to start!\n * F\bFr\bro\bom\bm s\bsc\bcr\bra\bat\btc\bch\bh:\b: _\bO_\bv_\be_\br_\bv_\bi_\be_\bw | _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n@@ -11,50 +11,50 @@\n _\bP_\ba_\br_\bt_\b _\b5_\b:_\b _\bT_\be_\bs_\bt_\bi_\bn_\bg | _\bP_\ba_\br_\bt_\b _\b6_\b:_\b _\bS_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs | _\bP_\ba_\br_\bt_\b _\b7_\b:_\b _\bC_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n _\bs_\bi_\bt_\be | _\bP_\ba_\br_\bt_\b _\b8_\b:_\b _\bA_\bd_\bd_\bi_\bn_\bg_\b _\bt_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs\n * A\bAd\bdv\bva\ban\bnc\bce\bed\bd T\bTu\but\bto\bor\bri\bia\bal\bls\bs:\b: _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs | _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo\n *\b**\b**\b**\b**\b* G\bGe\bet\btt\bti\bin\bng\bg h\bhe\bel\blp\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Having trouble? We\u2019d like to help!\n * Try the _\bF_\bA_\bQ \u2013 it\u2019s got answers to many common questions.\n- * Looking for specific information? Try the _\bI_\bn_\bd_\be_\bx, _\bM_\bo_\bd_\bu_\bl_\be_\b _\bI_\bn_\bd_\be_\bx or the\n- _\bd_\be_\bt_\ba_\bi_\bl_\be_\bd_\b _\bt_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs.\n+ * Looking for specific information? Try the _\bI_\bn_\bd_\bi_\bc_\be, _\bI_\bn_\bd_\bi_\bc_\be_\b _\bd_\be_\bi_\b _\bm_\bo_\bd_\bu_\bl_\bi or\n+ the _\bd_\be_\bt_\ba_\bi_\bl_\be_\bd_\b _\bt_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs.\n * Not found anything? See _\bF_\bA_\bQ_\b:_\b _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp for information on getting\n support and asking questions to the community.\n * Report bugs with Django in our _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw t\bth\bhe\be d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn i\bis\bs o\bor\brg\bga\ban\bni\biz\bze\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django has a lot of documentation. A high-level overview of how it\u2019s organized\n will help you know where to look for certain things:\n * _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\bs take you by the hand through a series of steps to create a web\n application. Start here if you\u2019re new to Django or web application\n- development. Also look at the \u201c_\bF_\bi_\br_\bs_\bt_\b _\bs_\bt_\be_\bp_\bs\u201d.\n+ development. Also look at the \u00ab_\bF_\bi_\br_\bs_\bt_\b _\bs_\bt_\be_\bp_\bs\u00bb.\n * _\bT_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be_\bs discuss key topics and concepts at a fairly high level and\n provide useful background information and explanation.\n * _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bg_\bu_\bi_\bd_\be_\bs contain technical reference for APIs and other aspects\n of Django\u2019s machinery. They describe how it works and how to use it but\n assume that you have a basic understanding of key concepts.\n * _\bH_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs are recipes. They guide you through the steps involved in\n addressing key problems and use-cases. They are more advanced than\n tutorials and assume some knowledge of how Django works.\n *\b**\b**\b**\b**\b* T\bTh\bhe\be m\bmo\bod\bde\bel\bl l\bla\bay\bye\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Django provides an abstraction layer (the \u201cmodels\u201d) for structuring and\n+Django provides an abstraction layer (the \u00abmodels\u00bb) for structuring and\n manipulating the data of your web application. Learn more about it below:\n * M\bMo\bod\bde\bel\bls\bs:\b: _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\bm_\bo_\bd_\be_\bl_\bs | _\bF_\bi_\be_\bl_\bd_\b _\bt_\by_\bp_\be_\bs | _\bI_\bn_\bd_\be_\bx_\be_\bs | _\bM_\be_\bt_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs |\n _\bM_\bo_\bd_\be_\bl_\b _\bc_\bl_\ba_\bs_\bs\n * Q\bQu\bue\ber\bry\byS\bSe\bet\bts\bs:\b: _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bq_\bu_\be_\br_\bi_\be_\bs | _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be | _\bL_\bo_\bo_\bk_\bu_\bp\n _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n * M\bMo\bod\bde\bel\bl i\bin\bns\bst\bta\ban\bnc\bce\bes\bs:\b: _\bI_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs | _\bA_\bc_\bc_\be_\bs_\bs_\bi_\bn_\bg_\b _\br_\be_\bl_\ba_\bt_\be_\bd_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n * M\bMi\big\bgr\bra\bat\bti\bio\bon\bns\bs:\b: _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn_\b _\bt_\bo_\b _\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs | _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be |\n _\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br | _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs\n * A\bAd\bdv\bva\ban\bnc\bce\bed\bd:\b: _\bM_\ba_\bn_\ba_\bg_\be_\br_\bs | _\bR_\ba_\bw_\b _\bS_\bQ_\bL | _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bs | _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn | _\bS_\be_\ba_\br_\bc_\bh |\n _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bf_\bi_\be_\bl_\bd_\bs | _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs | _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs | _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs |\n _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs | _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n * O\bOt\bth\bhe\ber\br:\b: _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs | _\bL_\be_\bg_\ba_\bc_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs | _\bP_\br_\bo_\bv_\bi_\bd_\bi_\bn_\bg_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba |\n _\bO_\bp_\bt_\bi_\bm_\bi_\bz_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\ba_\bc_\bc_\be_\bs_\bs | _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n *\b**\b**\b**\b**\b* T\bTh\bhe\be v\bvi\bie\bew\bw l\bla\bay\bye\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Django has the concept of \u201cviews\u201d to encapsulate the logic responsible for\n+Django has the concept of \u00abviews\u00bb to encapsulate the logic responsible for\n processing a user\u2019s request and for returning the response. Find all you need\n to know about views via the links below:\n * T\bTh\bhe\be b\bba\bas\bsi\bic\bcs\bs:\b: _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs | _\bV_\bi_\be_\bw_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs | _\bS_\bh_\bo_\br_\bt_\bc_\bu_\bt_\bs | _\bD_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs |\n _\bA_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\b _\bS_\bu_\bp_\bp_\bo_\br_\bt\n * R\bRe\bef\bfe\ber\bre\ben\bnc\bce\be:\b: _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs | _\bR_\be_\bq_\bu_\be_\bs_\bt_\b/_\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs | _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n _\bo_\bb_\bj_\be_\bc_\bt_\bs\n * F\bFi\bil\ble\be u\bup\bpl\blo\boa\bad\bds\bs:\b: _\bO_\bv_\be_\br_\bv_\bi_\be_\bw | _\bF_\bi_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs | _\bS_\bt_\bo_\br_\ba_\bg_\be_\b _\bA_\bP_\bI | _\bM_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs |\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Reporting bugs and requesting features — Django 5.1.4 documentation\n+ Reporting bugs and requesting features — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,29 +77,29 @@\n
    \n
    \n
    \n \n
    \n

    Reporting bugs and requesting features\u00b6

    \n
    \n-

    Important

    \n+

    Importante

    \n

    Please report security issues only to\n security@djangoproject.com. This is a private list only open to\n long-time, highly trusted Django developers, and its archives are\n not public. For further details, please see our security\n policies.

    \n
    \n

    Otherwise, before reporting a bug or requesting a new feature on the\n ticket tracker, consider these points:

    \n
      \n
    • Check that someone hasn\u2019t already filed the bug or feature request by\n searching or running custom queries in the ticket tracker.

    • \n
    • Don\u2019t use the ticket system to ask support questions. Use the\n django-users list or the #django IRC channel for that.

    • \n-
    • Don\u2019t reopen issues that have been marked \u201cwontfix\u201d without finding consensus\n+

    • Don\u2019t reopen issues that have been marked \u00abwontfix\u00bb without finding consensus\n to do so on the Django Forum or django-developers list.

    • \n
    • Don\u2019t use the ticket tracker for lengthy discussions, because they\u2019re\n likely to get lost. If a particular ticket is controversial, please move the\n discussion to the Django Forum or django-developers list.

    • \n
    \n
    \n

    Reporting bugs\u00b6

    \n@@ -186,35 +187,35 @@\n

    How we make decisions\u00b6

    \n

    Whenever possible, we strive for a rough consensus. To that end, we\u2019ll often\n have informal votes on django-developers or the Django Forum about a feature.\n In these votes we follow the voting style invented by Apache and used on Python\n itself, where votes are given as +1, +0, -0, or -1.\n Roughly translated, these votes mean:

    \n
      \n-
    • +1: \u201cI love the idea and I\u2019m strongly committed to it.\u201d

    • \n-
    • +0: \u201cSounds OK to me.\u201d

    • \n-
    • -0: \u201cI\u2019m not thrilled, but I won\u2019t stand in the way.\u201d

    • \n-
    • -1: \u201cI strongly disagree and would be very unhappy to see the idea turn\n-into reality.\u201d

    • \n+
    • +1: \u00abI love the idea and I\u2019m strongly committed to it.\u00bb

    • \n+
    • +0: \u00abSounds OK to me.\u00bb

    • \n+
    • -0: \u00abI\u2019m not thrilled, but I won\u2019t stand in the way.\u00bb

    • \n+
    • -1: \u00abI strongly disagree and would be very unhappy to see the idea turn\n+into reality.\u00bb

    • \n
    \n

    Although these votes are informal, they\u2019ll be taken very seriously. After a\n suitable voting period, if an obvious consensus arises we\u2019ll follow the votes.

    \n

    However, consensus is not always possible. If consensus cannot be reached, or\n if the discussion toward a consensus fizzles out without a concrete decision,\n the decision may be deferred to the steering council.

    \n

    Internally, the steering council will use the same voting mechanism. A\n proposition will be considered carried if:

    \n
      \n-
    • There are at least three \u201c+1\u201d votes from members of the steering council.

    • \n-
    • There is no \u201c-1\u201d vote from any member of the steering council.

    • \n+
    • There are at least three \u00ab+1\u00bb votes from members of the steering council.

    • \n+
    • There is no \u00ab-1\u00bb vote from any member of the steering council.

    • \n
    \n

    Votes should be submitted within a week.

    \n

    Since this process allows any steering council member to veto a proposal, a\n-\u201c-1\u201d vote should be accompanied by an explanation of what it would take to\n-convert that \u201c-1\u201d into at least a \u201c+0\u201d.

    \n+\u00ab-1\u00bb vote should be accompanied by an explanation of what it would take to\n+convert that \u00ab-1\u00bb into at least a \u00ab+0\u00bb.

    \n

    Votes on technical matters should be announced and held in public on the\n django-developers mailing list or on the Django Forum.

    \n
    \n
    \n \n \n
    \n@@ -237,37 +238,37 @@\n
  • How we make decisions
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Localizing Django

    \n+ title=\"capitolo precedente\">Localizing Django

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Triaging tickets

    \n+ title=\"capitolo successivo\">Triaging tickets

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* R\bRe\bep\bpo\bor\brt\bti\bin\bng\bg b\bbu\bug\bgs\bs a\ban\bnd\bd r\bre\beq\bqu\bue\bes\bst\bti\bin\bng\bg f\bfe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Important\n+Importante\n Please report security issues o\bon\bnl\bly\by to _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b@_\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm. This is a\n private list only open to long-time, highly trusted Django developers, and its\n archives are not public. For further details, please see _\bo_\bu_\br_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\bi_\be_\bs.\n Otherwise, before reporting a bug or requesting a new feature on the _\bt_\bi_\bc_\bk_\be_\bt\n _\bt_\br_\ba_\bc_\bk_\be_\br, consider these points:\n * Check that someone hasn\u2019t already filed the bug or feature request by\n _\bs_\be_\ba_\br_\bc_\bh_\bi_\bn_\bg or running _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bq_\bu_\be_\br_\bi_\be_\bs in the ticket tracker.\n * Don\u2019t use the ticket system to ask support questions. Use the _\bd_\bj_\ba_\bn_\bg_\bo_\b-\n _\bu_\bs_\be_\br_\bs list or the _\b#_\bd_\bj_\ba_\bn_\bg_\bo IRC channel for that.\n- * Don\u2019t reopen issues that have been marked \u201cwontfix\u201d without finding\n+ * Don\u2019t reopen issues that have been marked \u00abwontfix\u00bb without finding\n consensus to do so on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs list.\n * Don\u2019t use the ticket tracker for lengthy discussions, because they\u2019re\n likely to get lost. If a particular ticket is controversial, please move\n the discussion to the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs list.\n *\b**\b**\b**\b**\b* R\bRe\bep\bpo\bor\brt\bti\bin\bng\bg b\bbu\bug\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Well-written bug reports are i\bin\bnc\bcr\bre\bed\bdi\bib\bbl\bly\by helpful. However, there\u2019s a certain\n amount of overhead involved in working with any bug tracking system so your\n@@ -86,43 +86,43 @@\n See the _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bs_\bv_\b _\bb_\be_\bn_\bc_\bh_\bm_\ba_\br_\bk_\bs for more details of Django\u2019s existing benchmarks.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw w\bwe\be m\bma\bak\bke\be d\bde\bec\bci\bis\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Whenever possible, we strive for a rough consensus. To that end, we\u2019ll often\n have informal votes on _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs or the Django Forum about a feature.\n In these votes we follow the voting style invented by Apache and used on Python\n itself, where votes are given as +1, +0, -0, or -1. Roughly translated, these\n votes mean:\n- * +1: \u201cI love the idea and I\u2019m strongly committed to it.\u201d\n- * +0: \u201cSounds OK to me.\u201d\n- * -0: \u201cI\u2019m not thrilled, but I won\u2019t stand in the way.\u201d\n- * -1: \u201cI strongly disagree and would be very unhappy to see the idea turn\n- into reality.\u201d\n+ * +1: \u00abI love the idea and I\u2019m strongly committed to it.\u00bb\n+ * +0: \u00abSounds OK to me.\u00bb\n+ * -0: \u00abI\u2019m not thrilled, but I won\u2019t stand in the way.\u00bb\n+ * -1: \u00abI strongly disagree and would be very unhappy to see the idea turn\n+ into reality.\u00bb\n Although these votes are informal, they\u2019ll be taken very seriously. After a\n suitable voting period, if an obvious consensus arises we\u2019ll follow the votes.\n However, consensus is not always possible. If consensus cannot be reached, or\n if the discussion toward a consensus fizzles out without a concrete decision,\n the decision may be deferred to the _\bs_\bt_\be_\be_\br_\bi_\bn_\bg_\b _\bc_\bo_\bu_\bn_\bc_\bi_\bl.\n Internally, the steering council will use the same voting mechanism. A\n proposition will be considered carried if:\n- * There are at least three \u201c+1\u201d votes from members of the steering council.\n- * There is no \u201c-1\u201d vote from any member of the steering council.\n+ * There are at least three \u00ab+1\u00bb votes from members of the steering council.\n+ * There is no \u00ab-1\u00bb vote from any member of the steering council.\n Votes should be submitted within a week.\n-Since this process allows any steering council member to veto a proposal, a \u201c-\n-1\u201d vote should be accompanied by an explanation of what it would take to\n-convert that \u201c-1\u201d into at least a \u201c+0\u201d.\n+Since this process allows any steering council member to veto a proposal, a \u00ab-\n+1\u00bb vote should be accompanied by an explanation of what it would take to\n+convert that \u00ab-1\u00bb into at least a \u00ab+0\u00bb.\n Votes on technical matters should be announced and held in public on the\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs mailing list or on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bg_\bs_\b _\ba_\bn_\bd_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bg_\bs\n o _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bu_\bs_\be_\br_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\b _\bb_\bu_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bR_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bR_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bp_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be_\b _\bo_\bp_\bt_\bi_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bH_\bo_\bw_\b _\bw_\be_\b _\bm_\ba_\bk_\be_\b _\bd_\be_\bc_\bi_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bL_\bo_\bc_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\br_\bi_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Committing code — Django 5.1.4 documentation\n+ Committing code — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -165,15 +166,15 @@\n
    \n \n
    \n

    Force push to the branch after rebasing on main but before merging and pushing\n to upstream. This allows the commit hashes on main and the branch to match\n which automatically closes the pull request.

    \n

    If a pull request doesn\u2019t need to be merged as multiple commits, you can use\n-GitHub\u2019s \u201cSquash and merge\u201d button on the website. Edit the commit message as\n+GitHub\u2019s \u00abSquash and merge\u00bb button on the website. Edit the commit message as\n needed to conform to the guidelines and remove\n the pull request number that\u2019s automatically appended to the message\u2019s first\n line.

    \n

    When rewriting the commit history of a pull request, the goal is to make\n Django\u2019s commit history as usable as possible:

    \n
      \n
    • If a patch contains back-and-forth commits, then rewrite those into one.\n@@ -198,71 +199,71 @@\n

      Committing guidelines\u00b6

      \n

      In addition, please follow the following guidelines when committing code to\n Django\u2019s Git repository:

      \n
        \n
      • Never change the published history of django/django branches by force\n pushing. If you absolutely must (for security reasons for example), first\n discuss the situation with the team.

      • \n-
      • For any medium-to-big changes, where \u201cmedium-to-big\u201d is according to\n+

      • For any medium-to-big changes, where \u00abmedium-to-big\u00bb is according to\n your judgment, please bring things up on the Django Forum or\n django-developers mailing list before making the change.

        \n

        If you bring something up and nobody responds, please don\u2019t take that\n to mean your idea is great and should be implemented immediately because\n nobody contested it. Everyone doesn\u2019t always have a lot of time to read\n mailing list discussions immediately, so you may have to wait a couple of\n days before getting a response.

        \n
      • \n
      • Write detailed commit messages in the past tense, not present tense.

        \n
          \n-
        • Good: \u201cFixed Unicode bug in RSS API.\u201d

        • \n-
        • Bad: \u201cFixes Unicode bug in RSS API.\u201d

        • \n-
        • Bad: \u201cFixing Unicode bug in RSS API.\u201d

        • \n+
        • Good: \u00abFixed Unicode bug in RSS API.\u00bb

        • \n+
        • Bad: \u00abFixes Unicode bug in RSS API.\u00bb

        • \n+
        • Bad: \u00abFixing Unicode bug in RSS API.\u00bb

        • \n
        \n

        The commit message should be in lines of 72 chars maximum. There should be\n a subject line, separated by a blank line and then paragraphs of 72 char\n lines. The limits are soft. For the subject line, shorter is better. In the\n body of the commit message more detail is better than less:

        \n
        Fixed #18307 -- Added git workflow guidelines.\n \n Refactored the Django's documentation to remove mentions of SVN\n specific tasks. Added guidelines of how to use Git, GitHub, and\n how to use pull request together with Trac instead.\n 
        \n
        \n-

        Credit the contributors in the commit message: \u201cThanks A for the report and B\n-for review.\u201d Use git\u2019s Co-Authored-By as appropriate.

        \n+

        Credit the contributors in the commit message: \u00abThanks A for the report and B\n+for review.\u00bb Use git\u2019s Co-Authored-By as appropriate.

        \n
      • \n
      • For commits to a branch, prefix the commit message with the branch name.\n-For example: \u201c[1.4.x] Fixed #xxxxx \u2013 Added support for mind reading.\u201d

      • \n+For example: \u00ab[1.4.x] Fixed #xxxxx \u2013 Added support for mind reading.\u00bb

        \n
      • Limit commits to the most granular change that makes sense. This means,\n use frequent small commits rather than infrequent large commits. For\n example, if implementing feature X requires a small change to library Y,\n first commit the change to library Y, then commit feature X in a separate\n commit. This goes a long way in helping everyone follow your changes.

      • \n
      • Separate bug fixes from feature changes. Bugfixes may need to be backported\n to the stable branch, according to Supported versions.

      • \n
      • If your commit closes a ticket in the Django ticket tracker, begin\n-your commit message with the text \u201cFixed #xxxxx\u201d, where \u201cxxxxx\u201d is the\n-number of the ticket your commit fixes. Example: \u201cFixed #123 \u2013 Added\n-whizbang feature.\u201d. We\u2019ve rigged Trac so that any commit message in that\n+your commit message with the text \u00abFixed #xxxxx\u00bb, where \u00abxxxxx\u00bb is the\n+number of the ticket your commit fixes. Example: \u00abFixed #123 \u2013 Added\n+whizbang feature.\u00bb. We\u2019ve rigged Trac so that any commit message in that\n format will automatically close the referenced ticket and post a comment\n to it with the full commit message.

        \n

        For the curious, we\u2019re using a Trac plugin for this.

        \n
      • \n
      \n
      \n-

      Note

      \n+

      Nota

      \n

      Note that the Trac integration doesn\u2019t know anything about pull requests.\n-So if you try to close a pull request with the phrase \u201ccloses #400\u201d in your\n+So if you try to close a pull request with the phrase \u00abcloses #400\u00bb in your\n commit message, GitHub will close the pull request, but the Trac plugin\n will not close the same numbered ticket in Trac.

      \n
      \n
        \n
      • If your commit references a ticket in the Django ticket tracker but\n-does not close the ticket, include the phrase \u201cRefs #xxxxx\u201d, where \u201cxxxxx\u201d\n+does not close the ticket, include the phrase \u00abRefs #xxxxx\u00bb, where \u00abxxxxx\u00bb\n is the number of the ticket your commit references. This will automatically\n post a comment to the appropriate ticket.

      • \n
      • Write commit messages for backports using this pattern:

        \n
        [<Django version>] Fixed <ticket> -- <description>\n \n Backport of <revision> from <branch>.\n 
        \n@@ -337,37 +338,37 @@\n
      • Reverting commits
      • \n
      \n
    • \n
    \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    JavaScript code

    \n+ title=\"capitolo precedente\">JavaScript code

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing documentation

    \n+ title=\"capitolo successivo\">Writing documentation

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bom\bmm\bmi\bit\btt\bti\bin\bng\bg c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This section is addressed to the mergers and to anyone interested in knowing\n how code gets committed into Django. If you\u2019re a community member who wants to\n contribute code to Django, look at _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb instead.\n *\b**\b**\b**\b**\b* H\bHa\ban\bnd\bdl\bli\bin\bng\bg p\bpu\bul\bll\bl r\bre\beq\bqu\bue\bes\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -61,15 +61,15 @@\n ...\\> git push upstream main\n ...\\> REM Delete the pull request branch.\n ...\\> git branch -d pr/xxxx\n Force push to the branch after rebasing on main but before merging and pushing\n to upstream. This allows the commit hashes on main and the branch to match\n which automatically closes the pull request.\n If a pull request doesn\u2019t need to be merged as multiple commits, you can use\n-GitHub\u2019s \u201cSquash and merge\u201d button on the website. Edit the commit message as\n+GitHub\u2019s \u00abSquash and merge\u00bb button on the website. Edit the commit message as\n needed to conform to _\bt_\bh_\be_\b _\bg_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs and remove the pull request number that\u2019s\n automatically appended to the message\u2019s first line.\n When rewriting the commit history of a pull request, the goal is to make\n Django\u2019s commit history as usable as possible:\n * If a patch contains back-and-forth commits, then rewrite those into one.\n For example, if a commit adds some code and a second commit fixes\n stylistic issues introduced in the first commit, those commits should be\n@@ -88,60 +88,60 @@\n community, getting work done, and having a usable commit history.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bmi\bit\btt\bti\bin\bng\bg g\bgu\bui\bid\bde\bel\bli\bin\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In addition, please follow the following guidelines when committing code to\n Django\u2019s Git repository:\n * Never change the published history of django/django branches by force\n pushing. If you absolutely must (for security reasons for example), first\n discuss the situation with the team.\n- * For any medium-to-big changes, where \u201cmedium-to-big\u201d is according to your\n+ * For any medium-to-big changes, where \u00abmedium-to-big\u00bb is according to your\n judgment, please bring things up on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs\n mailing list before making the change.\n If you bring something up and nobody responds, please don\u2019t take that to\n mean your idea is great and should be implemented immediately because\n nobody contested it. Everyone doesn\u2019t always have a lot of time to read\n mailing list discussions immediately, so you may have to wait a couple of\n days before getting a response.\n * Write detailed commit messages in the past tense, not present tense.\n- o Good: \u201cFixed Unicode bug in RSS API.\u201d\n- o Bad: \u201cFixes Unicode bug in RSS API.\u201d\n- o Bad: \u201cFixing Unicode bug in RSS API.\u201d\n+ o Good: \u00abFixed Unicode bug in RSS API.\u00bb\n+ o Bad: \u00abFixes Unicode bug in RSS API.\u00bb\n+ o Bad: \u00abFixing Unicode bug in RSS API.\u00bb\n The commit message should be in lines of 72 chars maximum. There should\n be a subject line, separated by a blank line and then paragraphs of 72\n char lines. The limits are soft. For the subject line, shorter is better.\n In the body of the commit message more detail is better than less:\n Fixed #18307 -- Added git workflow guidelines.\n \n Refactored the Django's documentation to remove mentions of SVN\n specific tasks. Added guidelines of how to use Git, GitHub, and\n how to use pull request together with Trac instead.\n- Credit the contributors in the commit message: \u201cThanks A for the report\n- and B for review.\u201d Use git\u2019s _\bC_\bo_\b-_\bA_\bu_\bt_\bh_\bo_\br_\be_\bd_\b-_\bB_\by as appropriate.\n+ Credit the contributors in the commit message: \u00abThanks A for the report\n+ and B for review.\u00bb Use git\u2019s _\bC_\bo_\b-_\bA_\bu_\bt_\bh_\bo_\br_\be_\bd_\b-_\bB_\by as appropriate.\n * For commits to a branch, prefix the commit message with the branch name.\n- For example: \u201c[1.4.x] Fixed #xxxxx \u2013 Added support for mind reading.\u201d\n+ For example: \u00ab[1.4.x] Fixed #xxxxx \u2013 Added support for mind reading.\u00bb\n * Limit commits to the most granular change that makes sense. This means,\n use frequent small commits rather than infrequent large commits. For\n example, if implementing feature X requires a small change to library Y,\n first commit the change to library Y, then commit feature X in a separate\n commit. This goes a l\blo\bon\bng\bg w\bwa\bay\by in helping everyone follow your changes.\n * Separate bug fixes from feature changes. Bugfixes may need to be\n backported to the stable branch, according to _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs.\n * If your commit closes a ticket in the Django _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br, begin your\n- commit message with the text \u201cFixed #xxxxx\u201d, where \u201cxxxxx\u201d is the number\n- of the ticket your commit fixes. Example: \u201cFixed #123 \u2013 Added whizbang\n- feature.\u201d. We\u2019ve rigged Trac so that any commit message in that format\n+ commit message with the text \u00abFixed #xxxxx\u00bb, where \u00abxxxxx\u00bb is the number\n+ of the ticket your commit fixes. Example: \u00abFixed #123 \u2013 Added whizbang\n+ feature.\u00bb. We\u2019ve rigged Trac so that any commit message in that format\n will automatically close the referenced ticket and post a comment to it\n with the full commit message.\n For the curious, we\u2019re using a _\bT_\br_\ba_\bc_\b _\bp_\bl_\bu_\bg_\bi_\bn for this.\n-Note\n+Nota\n Note that the Trac integration doesn\u2019t know anything about pull requests. So if\n-you try to close a pull request with the phrase \u201ccloses #400\u201d in your commit\n+you try to close a pull request with the phrase \u00abcloses #400\u00bb in your commit\n message, GitHub will close the pull request, but the Trac plugin will not close\n the same numbered ticket in Trac.\n * If your commit references a ticket in the Django _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br but does\n- n\bno\bot\bt close the ticket, include the phrase \u201cRefs #xxxxx\u201d, where \u201cxxxxx\u201d is\n+ n\bno\bot\bt close the ticket, include the phrase \u00abRefs #xxxxx\u00bb, where \u00abxxxxx\u00bb is\n the number of the ticket your commit references. This will automatically\n post a comment to the appropriate ticket.\n * Write commit messages for backports using this pattern:\n [] Fixed -- \n \n Backport of from .\n For example:\n@@ -182,16 +182,16 @@\n instance, if you did: git push upstream feature_antigravity, do a reverse\n push: git push upstream :feature_antigravity.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n o _\bH_\ba_\bn_\bd_\bl_\bi_\bn_\bg_\b _\bp_\bu_\bl_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs\n o _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bg_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs\n o _\bR_\be_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bm_\bm_\bi_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/index.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Contributing to Django — Django 5.1.4 documentation\n+ Contributing to Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -251,37 +252,37 @@\n
  • Other ways of contributing
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django internals

    \n+ title=\"capitolo precedente\">Django internals

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Advice for new contributors

    \n+ title=\"capitolo successivo\">Advice for new contributors

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bon\bnt\btr\bri\bib\bbu\but\bti\bin\bng\bg t\bto\bo D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django is a community that lives on its volunteers. As it keeps growing, we\n always need more people to help others. You can contribute in many ways, either\n on the framework itself or in the wider ecosystem.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bmu\bun\bni\bic\bca\bat\bti\bio\bon\bn c\bch\bha\ban\bnn\bne\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -102,16 +102,16 @@\n # _\bJ_\bo_\bi_\bn_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bc_\bo_\bm_\bm_\bu_\bn_\bi_\bt_\by\n o _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bs_\bt_\ba_\br_\bt_\be_\bd\n o _\bW_\bo_\br_\bk_\b _\bo_\bn_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n # _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n # _\bL_\bo_\bc_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bO_\bt_\bh_\be_\br_\b _\bw_\ba_\by_\bs_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\bd_\bv_\bi_\bc_\be_\b _\bf_\bo_\br_\b _\bn_\be_\bw_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Localizing Django — Django 5.1.4 documentation\n+ Localizing Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -93,26 +94,26 @@\n translating or adding a language that isn\u2019t yet translated, here\u2019s what to do:

    \n
      \n
    • Introduce yourself on the Django internationalization forum.

    • \n
    • Make sure you read the notes about Specialties of Django translation.

    • \n
    • Sign up at Transifex and visit the Django project page.

    • \n
    • On the Django project page, choose the language you want to work on,\n or \u2013 in case the language doesn\u2019t exist yet \u2013\n-request a new language team by clicking on the \u201cRequest language\u201d link\n+request a new language team by clicking on the \u00abRequest language\u00bb link\n and selecting the appropriate language.

    • \n-
    • Then, click the \u201cJoin this Team\u201d button to become a member of this team.\n+

    • Then, click the \u00abJoin this Team\u00bb button to become a member of this team.\n Every team has at least one coordinator who is responsible to review\n your membership request. You can also contact the team coordinator to clarify\n procedural problems and handle the actual translation process.

    • \n
    • Once you are a member of a team choose the translation resource you\n-want to update on the team page. For example, the \u201ccore\u201d resource refers\n+want to update on the team page. For example, the \u00abcore\u00bb resource refers\n to the translation catalog that contains all non-contrib translations.\n-Each of the contrib apps also has a resource (prefixed with \u201ccontrib\u201d).

      \n+Each of the contrib apps also has a resource (prefixed with \u00abcontrib\u00bb).

      \n
      \n-

      Note

      \n+

      Nota

      \n

      For more information about how to use Transifex, read the\n Transifex User Guide.

      \n
      \n
    • \n
    \n

    Translations from Transifex are only integrated into the Django repository at\n the time of a new feature release. We try to update\n@@ -128,15 +129,15 @@\n Format localization for details.

    \n

    The format files aren\u2019t managed by the use of Transifex. To change them, you\n must:

    \n
      \n
    • Create a pull request against the\n Django Git main branch, as for any code change.

    • \n
    • Open a ticket in Django\u2019s ticket system, set its Component field to\n-Translations, set the \u201chas patch\u201d flag, and include the link to the pull\n+Translations, set the \u00abhas patch\u00bb flag, and include the link to the pull\n request.

    • \n
    \n \n
    \n

    Documentation\u00b6

    \n

    There is also an opportunity to translate the documentation, though this is a\n huge undertaking to complete entirely (you have been warned!). We use the same\n@@ -169,37 +170,37 @@\n

  • Documentation
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing documentation

    \n+ title=\"capitolo precedente\">Writing documentation

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Reporting bugs and requesting features

    \n+ title=\"capitolo successivo\">Reporting bugs and requesting features

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* L\bLo\boc\bca\bal\bli\biz\bzi\bin\bng\bg D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Various parts of Django, such as the admin site and validation error messages,\n are internationalized. This means they display differently depending on each\n user\u2019s language or country. For this, Django uses the same internationalization\n and localization infrastructure available to Django applications, described in\n@@ -14,25 +14,25 @@\n go to the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\bp_\ba_\bg_\be. If you would like to help out with translating\n or adding a language that isn\u2019t yet translated, here\u2019s what to do:\n * Introduce yourself on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bt_\be_\br_\bn_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\bu_\bm.\n * Make sure you read the notes about _\bS_\bp_\be_\bc_\bi_\ba_\bl_\bt_\bi_\be_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn.\n * Sign up at _\bT_\br_\ba_\bn_\bs_\bi_\bf_\be_\bx and visit the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\bp_\ba_\bg_\be.\n * On the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\bp_\ba_\bg_\be, choose the language you want to work on, o\bor\br \u2013\n in case the language doesn\u2019t exist yet \u2013 request a new language team by\n- clicking on the \u201cRequest language\u201d link and selecting the appropriate\n+ clicking on the \u00abRequest language\u00bb link and selecting the appropriate\n language.\n- * Then, click the \u201cJoin this Team\u201d button to become a member of this team.\n+ * Then, click the \u00abJoin this Team\u00bb button to become a member of this team.\n Every team has at least one coordinator who is responsible to review your\n membership request. You can also contact the team coordinator to clarify\n procedural problems and handle the actual translation process.\n * Once you are a member of a team choose the translation resource you want\n- to update on the team page. For example, the \u201ccore\u201d resource refers to\n+ to update on the team page. For example, the \u00abcore\u00bb resource refers to\n the translation catalog that contains all non-contrib translations. Each\n- of the contrib apps also has a resource (prefixed with \u201ccontrib\u201d).\n- Note\n+ of the contrib apps also has a resource (prefixed with \u00abcontrib\u00bb).\n+ Nota\n For more information about how to use Transifex, read the _\bT_\br_\ba_\bn_\bs_\bi_\bf_\be_\bx_\b _\bU_\bs_\be_\br\n _\bG_\bu_\bi_\bd_\be.\n Translations from Transifex are only integrated into the Django repository at\n the time of a new _\bf_\be_\ba_\bt_\bu_\br_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be. We try to update them a second time during\n one of the following _\bp_\ba_\bt_\bc_\bh_\b _\br_\be_\bl_\be_\ba_\bs_\bes, but that depends on the translation\n manager\u2019s availability. So don\u2019t miss the string freeze period (between the\n release candidate and the feature release) to take the opportunity to complete\n@@ -42,15 +42,15 @@\n date, time and numbers formatting particularities of your locale. See _\bF_\bo_\br_\bm_\ba_\bt\n _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn for details.\n The format files aren\u2019t managed by the use of Transifex. To change them, you\n must:\n * _\bC_\br_\be_\ba_\bt_\be_\b _\ba_\b _\bp_\bu_\bl_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt against the Django Git main branch, as for any code\n change.\n * Open a ticket in Django\u2019s ticket system, set its Component field to\n- Translations, set the \u201chas patch\u201d flag, and include the link to the pull\n+ Translations, set the \u00abhas patch\u00bb flag, and include the link to the pull\n request.\n *\b**\b**\b**\b**\b* D\bDo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There is also an opportunity to translate the documentation, though this is a\n huge undertaking to complete entirely (you have been warned!). We use the same\n _\bT_\br_\ba_\bn_\bs_\bi_\bf_\be_\bx_\b _\bt_\bo_\bo_\bl. The translations will appear at https://docs.djangoproject.com/\n / when at least the docs/intro/* files are fully translated in\n your language.\n@@ -59,16 +59,16 @@\n documentation website. Only translations for the latest stable Django release\n are updated.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bL_\bo_\bc_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bF_\bo_\br_\bm_\ba_\bt_\bs\n o _\bD_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bg_\bs_\b _\ba_\bn_\bd_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Advice for new contributors — Django 5.1.4 documentation\n+ Advice for new contributors — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -119,15 +120,15 @@\n \n
    \n

    Write some documentation\u00b6

    \n

    Django\u2019s documentation is great but it can always be improved. Did you find a\n typo? Do you think that something should be clarified? Go ahead and suggest a\n documentation patch! See also the guide on Writing documentation.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The reports page contains links to many useful Trac queries, including\n several that are useful for triaging tickets and reviewing patches as\n suggested above.

    \n
    \n
    \n
    \n

    Sign the Contributor License Agreement\u00b6

    \n@@ -144,15 +145,15 @@\n

    Pick a subject area\u00b6

    \n

    This should be something that you care about, that you are familiar with or\n that you want to learn about. You don\u2019t already have to be an expert on the\n area you want to work on; you become an expert through your ongoing\n contributions to the code.

    \n
    \n
    \n-

    Analyze tickets\u2019 context and history\u00b6

    \n+

    Analyze tickets\u201d context and history\u00b6

    \n

    Trac isn\u2019t an absolute; the context is just as important as the words. When\n reading Trac, you need to take into account who says things, and when they were\n said. Support for an idea two years ago doesn\u2019t necessarily mean that the idea\n will still have support. You also need to pay attention to who hasn\u2019t spoken\n \u2013 for example, if an experienced contributor hasn\u2019t been recently involved in\n a discussion, then a ticket may not have the support required to get into\n Django.

    \n@@ -166,39 +167,39 @@\n

    Confirm support before engaging in a big task\u00b6

    \n

    This means getting someone else to confirm that a bug is real before you fix\n the issue, and ensuring that there\u2019s consensus on a proposed feature before you\n go implementing it.

    \n
    \n
    \n

    Be bold! Leave feedback!\u00b6

    \n-

    Sometimes it can be scary to put your opinion out to the world and say \u201cthis\n-ticket is correct\u201d or \u201cthis patch needs work\u201d, but it\u2019s the only way the\n+

    Sometimes it can be scary to put your opinion out to the world and say \u00abthis\n+ticket is correct\u00bb or \u00abthis patch needs work\u00bb, but it\u2019s the only way the\n project moves forward. The contributions of the broad Django community\n ultimately have a much greater impact than that of any one person. We can\u2019t do\n it without you!

    \n
    \n
    \n-

    Be cautious when marking things \u201cReady For Check-in\u201d\u00b6

    \n+

    Be cautious when marking things \u00abReady For Check-in\u00bb\u00b6

    \n

    If you\u2019re really not certain if a ticket is ready, don\u2019t mark it as such. Leave\n a comment instead, letting others know your thoughts. If you\u2019re mostly certain,\n but not completely certain, you might also try asking on the\n #contributing-getting-started channel in the Django Discord server to\n see if someone else can confirm your suspicions.

    \n
    \n
    \n

    Wait for feedback, and respond to feedback that you receive\u00b6

    \n

    Focus on one or two tickets, see them through from start to finish, and repeat.\n The shotgun approach of taking on lots of tickets and letting some fall by the\n wayside ends up doing more harm than good.

    \n
    \n
    \n

    Be rigorous\u00b6

    \n-

    When we say \u201cPEP 8, and must have docs and tests\u201d, we mean it. If a patch\n+

    When we say \u00abPEP 8, and must have docs and tests\u00bb, we mean it. If a patch\n doesn\u2019t have docs and tests, there had better be a good reason. Arguments like\n-\u201cI couldn\u2019t find any existing tests of this feature\u201d don\u2019t carry much weight.\n+\u00abI couldn\u2019t find any existing tests of this feature\u00bb don\u2019t carry much weight.\n While it may be true, that means you have the extra-important job of writing\n the very first tests for that feature, not that you get a pass from writing\n tests altogether.

    \n
    \n
    \n

    Be patient\u00b6

    \n

    It\u2019s not always easy for your ticket or your patch to be reviewed quickly. This\n@@ -233,53 +234,53 @@\n

  • Keep old patches up-to-date
  • \n
  • Write some documentation
  • \n
  • Sign the Contributor License Agreement
  • \n \n \n
  • Guidelines\n
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Contributing to Django

    \n+ title=\"capitolo precedente\">Contributing to Django

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Contributing code

    \n+ title=\"capitolo successivo\">Contributing code

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAd\bdv\bvi\bic\bce\be f\bfo\bor\br n\bne\bew\bw c\bco\bon\bnt\btr\bri\bib\bbu\but\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n New contributor and not sure what to do? Want to help but just don\u2019t know how\n to get started? This is the section for you.\n Get up and running!\n If you are new to contributing to Django, the _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn\n@@ -32,63 +32,63 @@\n time it gets reviewed. Make sure it still applies cleanly and functions as\n expected. Updating a patch is both useful and important! See more on _\bS_\bu_\bb_\bm_\bi_\bt_\bt_\bi_\bn_\bg\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs.\n *\b**\b**\b**\b* W\bWr\bri\bit\bte\be s\bso\bom\bme\be d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Django\u2019s documentation is great but it can always be improved. Did you find a\n typo? Do you think that something should be clarified? Go ahead and suggest a\n documentation patch! See also the guide on _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n-Note\n+Nota\n The _\br_\be_\bp_\bo_\br_\bt_\bs_\b _\bp_\ba_\bg_\be contains links to many useful Trac queries, including several\n that are useful for triaging tickets and reviewing patches as suggested above.\n *\b**\b**\b**\b* S\bSi\big\bgn\bn t\bth\bhe\be C\bCo\bon\bnt\btr\bri\bib\bbu\but\bto\bor\br L\bLi\bic\bce\ben\bns\bse\be A\bAg\bgr\bre\bee\bem\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n The code that you write belongs to you or your employer. If your contribution\n is more than one or two lines of code, you need to sign the _\bC_\bL_\bA. See the\n _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\b _\bL_\bi_\bc_\be_\bn_\bs_\be_\b _\bA_\bg_\br_\be_\be_\bm_\be_\bn_\bt_\b _\bF_\bA_\bQ for a more thorough explanation.\n *\b**\b**\b**\b**\b* G\bGu\bui\bid\bde\bel\bli\bin\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n As a newcomer on a large project, it\u2019s easy to experience frustration. Here\u2019s\n some advice to make your work on Django more useful and rewarding.\n *\b**\b**\b**\b* P\bPi\bic\bck\bk a\ba s\bsu\bub\bbj\bje\bec\bct\bt a\bar\bre\bea\ba_\b?\b\u00b6 *\b**\b**\b**\b*\n This should be something that you care about, that you are familiar with or\n that you want to learn about. You don\u2019t already have to be an expert on the\n area you want to work on; you become an expert through your ongoing\n contributions to the code.\n-*\b**\b**\b**\b* A\bAn\bna\bal\bly\byz\bze\be t\bti\bic\bck\bke\bet\bts\bs?\b\u2019 c\bco\bon\bnt\bte\bex\bxt\bt a\ban\bnd\bd h\bhi\bis\bst\bto\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b*\n+*\b**\b**\b**\b* A\bAn\bna\bal\bly\byz\bze\be t\bti\bic\bck\bke\bet\bts\bs?\b\u201d c\bco\bon\bnt\bte\bex\bxt\bt a\ban\bnd\bd h\bhi\bis\bst\bto\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b*\n Trac isn\u2019t an absolute; the context is just as important as the words. When\n reading Trac, you need to take into account who says things, and when they were\n said. Support for an idea two years ago doesn\u2019t necessarily mean that the idea\n will still have support. You also need to pay attention to who h\bha\bas\bsn\bn?\b\u2019t\bt spoken \u2013\n for example, if an experienced contributor hasn\u2019t been recently involved in a\n discussion, then a ticket may not have the support required to get into Django.\n *\b**\b**\b**\b* S\bSt\bta\bar\brt\bt s\bsm\bma\bal\bll\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n It\u2019s easier to get feedback on a little issue than on a big one. See the _\be_\ba_\bs_\by\n _\bp_\bi_\bc_\bk_\bi_\bn_\bg_\bs.\n *\b**\b**\b**\b* C\bCo\bon\bnf\bfi\bir\brm\bm s\bsu\bup\bpp\bpo\bor\brt\bt b\bbe\bef\bfo\bor\bre\be e\ben\bng\bga\bag\bgi\bin\bng\bg i\bin\bn a\ba b\bbi\big\bg t\bta\bas\bsk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n This means getting someone else to confirm that a bug is real before you fix\n the issue, and ensuring that there\u2019s consensus on a proposed feature before you\n go implementing it.\n *\b**\b**\b**\b* B\bBe\be b\bbo\bol\bld\bd!\b! L\bLe\bea\bav\bve\be f\bfe\bee\bed\bdb\bba\bac\bck\bk!\b!_\b?\b\u00b6 *\b**\b**\b**\b*\n-Sometimes it can be scary to put your opinion out to the world and say \u201cthis\n-ticket is correct\u201d or \u201cthis patch needs work\u201d, but it\u2019s the only way the\n+Sometimes it can be scary to put your opinion out to the world and say \u00abthis\n+ticket is correct\u00bb or \u00abthis patch needs work\u00bb, but it\u2019s the only way the\n project moves forward. The contributions of the broad Django community\n ultimately have a much greater impact than that of any one person. We can\u2019t do\n it without y\byo\bou\bu!\n-*\b**\b**\b**\b* B\bBe\be c\bca\bau\but\bti\bio\bou\bus\bs w\bwh\bhe\ben\bn m\bma\bar\brk\bki\bin\bng\bg t\bth\bhi\bin\bng\bgs\bs ?\b\u201cR\bRe\bea\bad\bdy\by F\bFo\bor\br C\bCh\bhe\bec\bck\bk-\b-i\bin\bn?\b\u201d_\b?\b\u00b6 *\b**\b**\b**\b*\n+*\b**\b**\b**\b* B\bBe\be c\bca\bau\but\bti\bio\bou\bus\bs w\bwh\bhe\ben\bn m\bma\bar\brk\bki\bin\bng\bg t\bth\bhi\bin\bng\bgs\bs ?\b\u00abR\bRe\bea\bad\bdy\by F\bFo\bor\br C\bCh\bhe\bec\bck\bk-\b-i\bin\bn?\b\u00bb_\b?\b\u00b6 *\b**\b**\b**\b*\n If you\u2019re really not certain if a ticket is ready, don\u2019t mark it as such. Leave\n a comment instead, letting others know your thoughts. If you\u2019re mostly certain,\n but not completely certain, you might also try asking on the #contributing-\n getting-started channel in the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\bi_\bs_\bc_\bo_\br_\bd_\b _\bs_\be_\br_\bv_\be_\br to see if someone else can\n confirm your suspicions.\n *\b**\b**\b**\b* W\bWa\bai\bit\bt f\bfo\bor\br f\bfe\bee\bed\bdb\bba\bac\bck\bk,\b, a\ban\bnd\bd r\bre\bes\bsp\bpo\bon\bnd\bd t\bto\bo f\bfe\bee\bed\bdb\bba\bac\bck\bk t\bth\bha\bat\bt y\byo\bou\bu r\bre\bec\bce\bei\biv\bve\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Focus on one or two tickets, see them through from start to finish, and repeat.\n The shotgun approach of taking on lots of tickets and letting some fall by the\n wayside ends up doing more harm than good.\n *\b**\b**\b**\b* B\bBe\be r\bri\big\bgo\bor\bro\bou\bus\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-When we say \u201c_\bP\bP_\bE\bE_\bP\bP_\b _\b8\b8, and must have docs and tests\u201d, we mean it. If a patch\n+When we say \u00ab_\bP\bP_\bE\bE_\bP\bP_\b _\b8\b8, and must have docs and tests\u00bb, we mean it. If a patch\n doesn\u2019t have docs and tests, there had better be a good reason. Arguments like\n-\u201cI couldn\u2019t find any existing tests of this feature\u201d don\u2019t carry much weight.\n+\u00abI couldn\u2019t find any existing tests of this feature\u00bb don\u2019t carry much weight.\n While it may be true, that means you have the extra-important job of writing\n the very first tests for that feature, not that you get a pass from writing\n tests altogether.\n *\b**\b**\b**\b* B\bBe\be p\bpa\bat\bti\bie\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n It\u2019s not always easy for your ticket or your patch to be reviewed quickly. This\n isn\u2019t personal. There are a lot of tickets and pull requests to get through.\n Keeping your patch up to date is important. Review the ticket on Trac to ensure\n@@ -104,24 +104,24 @@\n # _\bT_\br_\bi_\ba_\bg_\be_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n # _\bR_\be_\bv_\bi_\be_\bw_\b _\bp_\ba_\bt_\bc_\bh_\be_\bs_\b _\bo_\bf_\b _\ba_\bc_\bc_\be_\bp_\bt_\be_\bd_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n # _\bK_\be_\be_\bp_\b _\bo_\bl_\bd_\b _\bp_\ba_\bt_\bc_\bh_\be_\bs_\b _\bu_\bp_\b-_\bt_\bo_\b-_\bd_\ba_\bt_\be\n # _\bW_\br_\bi_\bt_\be_\b _\bs_\bo_\bm_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n # _\bS_\bi_\bg_\bn_\b _\bt_\bh_\be_\b _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\b _\bL_\bi_\bc_\be_\bn_\bs_\be_\b _\bA_\bg_\br_\be_\be_\bm_\be_\bn_\bt\n o _\bG_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs\n # _\bP_\bi_\bc_\bk_\b _\ba_\b _\bs_\bu_\bb_\bj_\be_\bc_\bt_\b _\ba_\br_\be_\ba\n- # _\bA_\bn_\ba_\bl_\by_\bz_\be_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b\u2019_\b _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\ba_\bn_\bd_\b _\bh_\bi_\bs_\bt_\bo_\br_\by\n+ # _\bA_\bn_\ba_\bl_\by_\bz_\be_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b\u201d_\b _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\ba_\bn_\bd_\b _\bh_\bi_\bs_\bt_\bo_\br_\by\n # _\bS_\bt_\ba_\br_\bt_\b _\bs_\bm_\ba_\bl_\bl\n # _\bC_\bo_\bn_\bf_\bi_\br_\bm_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bb_\be_\bf_\bo_\br_\be_\b _\be_\bn_\bg_\ba_\bg_\bi_\bn_\bg_\b _\bi_\bn_\b _\ba_\b _\bb_\bi_\bg_\b _\bt_\ba_\bs_\bk\n # _\bB_\be_\b _\bb_\bo_\bl_\bd_\b!_\b _\bL_\be_\ba_\bv_\be_\b _\bf_\be_\be_\bd_\bb_\ba_\bc_\bk_\b!\n- # _\bB_\be_\b _\bc_\ba_\bu_\bt_\bi_\bo_\bu_\bs_\b _\bw_\bh_\be_\bn_\b _\bm_\ba_\br_\bk_\bi_\bn_\bg_\b _\bt_\bh_\bi_\bn_\bg_\bs_\b _\b\u201c_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\b-_\bi_\bn_\b\u201d\n+ # _\bB_\be_\b _\bc_\ba_\bu_\bt_\bi_\bo_\bu_\bs_\b _\bw_\bh_\be_\bn_\b _\bm_\ba_\br_\bk_\bi_\bn_\bg_\b _\bt_\bh_\bi_\bn_\bg_\bs_\b _\b\u00ab_\bR_\be_\ba_\bd_\by_\b _\bF_\bo_\br_\b _\bC_\bh_\be_\bc_\bk_\b-_\bi_\bn_\b\u00bb\n # _\bW_\ba_\bi_\bt_\b _\bf_\bo_\br_\b _\bf_\be_\be_\bd_\bb_\ba_\bc_\bk_\b,_\b _\ba_\bn_\bd_\b _\br_\be_\bs_\bp_\bo_\bn_\bd_\b _\bt_\bo_\b _\bf_\be_\be_\bd_\bb_\ba_\bc_\bk_\b _\bt_\bh_\ba_\bt_\b _\by_\bo_\bu_\b _\br_\be_\bc_\be_\bi_\bv_\be\n # _\bB_\be_\b _\br_\bi_\bg_\bo_\br_\bo_\bu_\bs\n # _\bB_\be_\b _\bp_\ba_\bt_\bi_\be_\bn_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Triaging tickets — Django 5.1.4 documentation\n+ Triaging tickets — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -91,15 +92,15 @@\n intentions \u2013 fertilize the weeds and poison the roses. It\u2019s the job of the\n community as a whole to self-manage, keep the problems to a minimum, and\n educate those coming into the community so that they can become valuable\n contributing members.

    \n

    Similarly, while we aim for Trac to be a perfect representation of the state of\n Django\u2019s progress, we acknowledge that this will not happen. By distributing\n the load of Trac maintenance to the community, we accept that there will be\n-mistakes. Trac is \u201cmostly accurate\u201d, and we give allowances for the fact that\n+mistakes. Trac is \u00abmostly accurate\u00bb, and we give allowances for the fact that\n sometimes it will be wrong. That\u2019s okay. We\u2019re perfectionists with deadlines.

    \n

    We rely on the community to keep participating, keep tickets as accurate as\n possible, and raise issues for discussion on our mailing lists when there is\n confusion or disagreement.

    \n

    Django is a community project, and every contribution helps. We can\u2019t do this\n without you!

    \n
    \n@@ -127,24 +128,24 @@\n Django is a community project, and we encourage triage by the\n community.

    \n \n

    By way of example, here we see the lifecycle of an average ticket:

    \n
      \n
    • Alice creates a ticket and sends an incomplete pull request (no tests,\n incorrect implementation).

    • \n-
    • Bob reviews the pull request, marks the ticket as \u201cAccepted\u201d, \u201cneeds tests\u201d,\n-and \u201cpatch needs improvement\u201d, and leaves a comment telling Alice how the\n+

    • Bob reviews the pull request, marks the ticket as \u00abAccepted\u00bb, \u00abneeds tests\u00bb,\n+and \u00abpatch needs improvement\u00bb, and leaves a comment telling Alice how the\n patch could be improved.

    • \n
    • Alice updates the pull request, adding tests (but not changing the\n implementation). She removes the two flags.

    • \n-
    • Charlie reviews the pull request and resets the \u201cpatch needs improvement\u201d\n+

    • Charlie reviews the pull request and resets the \u00abpatch needs improvement\u00bb\n flag with another comment about improving the implementation.

    • \n
    • Alice updates the pull request, fixing the implementation. She removes the\n-\u201cpatch needs improvement\u201d flag.

    • \n-
    • Daisy reviews the pull request and marks the ticket as \u201cReady for checkin\u201d.

    • \n+\u00abpatch needs improvement\u00bb flag.

      \n+
    • Daisy reviews the pull request and marks the ticket as \u00abReady for checkin\u00bb.

    • \n
    • Jacob, a merger, reviews the pull request and merges\n it.

    • \n
    \n

    Some tickets require much less feedback than this, but then again some tickets\n require much much more.

    \n
    \n
    \n@@ -155,15 +156,15 @@\n

    Unreviewed\u00b6

    \n

    The ticket has not been reviewed by anyone who felt qualified to make a\n judgment about whether the ticket contained a valid issue, a viable feature,\n or ought to be closed for any of the various reasons.

    \n
    \n
    \n

    Accepted\u00b6

    \n-

    The big gray area! The absolute meaning of \u201caccepted\u201d is that the issue\n+

    The big gray area! The absolute meaning of \u00abaccepted\u00bb is that the issue\n described in the ticket is valid and is in some stage of being worked on.\n Beyond that there are several considerations:

    \n
      \n
    • Accepted + No Flags

      \n

      The ticket is valid, but no one has submitted a patch for it yet. Often this\n means you could safely start writing a fix for it. This is generally more\n true for the case of accepted bugs than accepted features. A ticket for a bug\n@@ -178,16 +179,16 @@\n

      The ticket is waiting for people to review the supplied solution. This means\n downloading the patch and trying it out, verifying that it contains tests\n and docs, running the test suite with the included patch, and leaving\n feedback on the ticket.

      \n
    • \n
    • Accepted + Has Patch + Needs \u2026

      \n

      This means the ticket has been reviewed, and has been found to need further\n-work. \u201cNeeds tests\u201d and \u201cNeeds documentation\u201d are self-explanatory. \u201cPatch\n-needs improvement\u201d will generally be accompanied by a comment on the ticket\n+work. \u00abNeeds tests\u00bb and \u00abNeeds documentation\u00bb are self-explanatory. \u00abPatch\n+needs improvement\u00bb will generally be accompanied by a comment on the ticket\n explaining what is needed to improve the code.

      \n
    • \n
    \n
    \n
    \n

    Ready For Checkin\u00b6

    \n

    The ticket was reviewed by any member of the community other than the person\n@@ -270,15 +271,15 @@\n

    \n
    \n

    Severity\u00b6

    \n

    The severity attribute is used to identify blockers, that is, issues that\n should get fixed before releasing the next version of Django. Typically those\n issues are bugs causing regressions from earlier versions or potentially\n causing severe data losses. This attribute is quite rarely used and the vast\n-majority of tickets have a severity of \u201cNormal\u201d.

    \n+majority of tickets have a severity of \u00abNormal\u00bb.

    \n
    \n
    \n

    Version\u00b6

    \n

    It is possible to use the version attribute to indicate in which\n version the reported bug was identified.

    \n
    \n
    \n@@ -294,16 +295,16 @@\n
    \n
    \n

    Keywords\u00b6

    \n

    With this field you may label a ticket with multiple keywords. This can be\n useful, for example, to group several tickets on the same theme. Keywords can\n either be comma or space separated. Keyword search finds the keyword string\n anywhere in the keywords. For example, clicking on a ticket with the keyword\n-\u201cform\u201d will yield similar tickets tagged with keywords containing strings such\n-as \u201cformset\u201d, \u201cmodelformset\u201d, and \u201cManagementForm\u201d.

    \n+\u00abform\u00bb will yield similar tickets tagged with keywords containing strings such\n+as \u00abformset\u00bb, \u00abmodelformset\u00bb, and \u00abManagementForm\u00bb.

    \n
    \n \n
    \n

    Closing Tickets\u00b6

    \n

    When a ticket has completed its useful lifecycle, it\u2019s time for it to be\n closed. Closing a ticket is a big responsibility, though. You have to be sure\n that the issue is really resolved, and you need to keep in mind that the\n@@ -339,21 +340,21 @@\n a bug report or feature request at all (for example, some new users\n submit support queries as tickets).

    \n \n \n \n
  • \n
    wontfix

    Used when someone decides that the request isn\u2019t appropriate for\n-consideration in Django. Sometimes a ticket is closed as \u201cwontfix\u201d with a\n+consideration in Django. Sometimes a ticket is closed as \u00abwontfix\u00bb with a\n request for the reporter to start a discussion on the Django Forum or\n django-developers mailing list if they feel differently from the\n rationale provided by the person who closed the ticket. Other times, a\n discussion precedes the decision to close a ticket. Always use the forum\n or mailing list to get a consensus before reopening tickets closed as\n-\u201cwontfix\u201d.

    \n+\u00abwontfix\u00bb.

    \n
    \n
    \n
  • \n
  • \n
    duplicate

    Used when another ticket covers the same issue. By closing duplicate\n tickets, we keep all the discussion in one place, which helps\n everyone.

    \n@@ -373,63 +374,63 @@\n
    \n
    \n
  • \n \n

    If you believe that the ticket was closed in error \u2013 because you\u2019re\n still having the issue, or it\u2019s popped up somewhere else, or the triagers have\n made a mistake \u2013 please reopen the ticket and provide further information.\n-Again, please do not reopen tickets that have been marked as \u201cwontfix\u201d and\n+Again, please do not reopen tickets that have been marked as \u00abwontfix\u00bb and\n bring the issue to the Django Forum or django-developers instead.

    \n
    \n
    \n

    How can I help with triaging?\u00b6

    \n

    The triage process is primarily driven by community members. Really,\n ANYONE can help.

    \n

    To get involved, start by creating an account on Trac. If you have an\n account but have forgotten your password, you can reset it using the password\n reset page.

    \n

    Then, you can help out by:

    \n
      \n-
    • Closing \u201cUnreviewed\u201d tickets as \u201cinvalid\u201d, \u201cworksforme\u201d, or \u201cduplicate\u201d, or\n-\u201cwontfix\u201d.

    • \n-
    • Closing \u201cUnreviewed\u201d tickets as \u201cneedsinfo\u201d when the description is too\n+

    • Closing \u00abUnreviewed\u00bb tickets as \u00abinvalid\u00bb, \u00abworksforme\u00bb, or \u00abduplicate\u00bb, or\n+\u00abwontfix\u00bb.

    • \n+
    • Closing \u00abUnreviewed\u00bb tickets as \u00abneedsinfo\u00bb when the description is too\n sparse to be actionable, or when they\u2019re feature requests requiring a\n discussion on the Django Forum or django-developers.

    • \n-
    • Correcting the \u201cNeeds tests\u201d, \u201cNeeds documentation\u201d, or \u201cHas patch\u201d\n+

    • Correcting the \u00abNeeds tests\u00bb, \u00abNeeds documentation\u00bb, or \u00abHas patch\u00bb\n flags for tickets where they are incorrectly set.

    • \n-
    • Setting the \u201cEasy pickings\u201d flag for tickets that are small and\n+

    • Setting the \u00abEasy pickings\u00bb flag for tickets that are small and\n relatively straightforward.

    • \n
    • Set the type of tickets that are still uncategorized.

    • \n
    • Checking that old tickets are still valid. If a ticket hasn\u2019t seen\n any activity in a long time, it\u2019s possible that the problem has been\n fixed but the ticket hasn\u2019t yet been closed.

    • \n
    • Identifying trends and themes in the tickets. If there are a lot of bug\n reports about a particular part of Django, it may indicate we should\n consider refactoring that part of the code. If a trend is emerging,\n you should raise it for discussion (referencing the relevant tickets)\n on the Django Forum or django-developers.

    • \n
    • Verify if solutions submitted by others are correct. If they are correct\n and also contain appropriate documentation and tests then move them to the\n-\u201cReady for Checkin\u201d stage. If they are not correct then leave a comment to\n-explain why and set the corresponding flags (\u201cPatch needs improvement\u201d,\n-\u201cNeeds tests\u201d etc.).

    • \n+\u00abReady for Checkin\u00bb stage. If they are not correct then leave a comment to\n+explain why and set the corresponding flags (\u00abPatch needs improvement\u00bb,\n+\u00abNeeds tests\u00bb etc.).

      \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The Reports page contains links to many useful Trac queries, including\n several that are useful for triaging tickets and reviewing proposals as\n suggested above.

    \n

    You can also find more Advice for new contributors.

    \n
    \n

    However, we do ask the following of all general community members working in\n the ticket database:

    \n
      \n-
    • Please don\u2019t promote your own tickets to \u201cReady for checkin\u201d. You\n-may mark other people\u2019s tickets that you\u2019ve reviewed as \u201cReady for\n-checkin\u201d, but you should get at minimum one other community member to\n+

    • Please don\u2019t promote your own tickets to \u00abReady for checkin\u00bb. You\n+may mark other people\u2019s tickets that you\u2019ve reviewed as \u00abReady for\n+checkin\u00bb, but you should get at minimum one other community member to\n review a patch that you submit.

    • \n
    • Please don\u2019t reverse a decision without posting a message to the\n Django Forum or django-developers to find consensus.

    • \n
    • If you\u2019re unsure if you should be making a change, don\u2019t make the\n change but instead leave a comment with your concerns on the ticket,\n or post a message to the Django Forum or django-developers. It\u2019s okay to\n be unsure, but your input is still valuable.

    • \n@@ -446,38 +447,38 @@\n example, we\u2019ll pretend we\u2019re debugging a regression in migrations. After you\u2019ve\n written the test and confirmed that it fails on the latest main branch, put it\n in a separate file that you can run standalone. For our example, we\u2019ll pretend\n we created tests/migrations/test_regression.py, which can be run with:

      \n
      $ ./runtests.py migrations.test_regression\n 
      \n
      \n-

      Next, we mark the current point in history as being \u201cbad\u201d since the test fails:

      \n+

      Next, we mark the current point in history as being \u00abbad\u00bb since the test fails:

      \n
      $ git bisect bad\n You need to start by "git bisect start"\n Do you want me to do it for you [Y/n]? y\n 
      \n
      \n

      Now, we need to find a point in git history before the regression was\n introduced (i.e. a point where the test passes). Use something like\n git checkout HEAD~100 to check out an earlier revision (100 commits earlier,\n-in this case). Check if the test fails. If so, mark that point as \u201cbad\u201d\n+in this case). Check if the test fails. If so, mark that point as \u00abbad\u00bb\n (git bisect bad), then check out an earlier revision and recheck. Once you\n-find a revision where your test passes, mark it as \u201cgood\u201d:

      \n+find a revision where your test passes, mark it as \u00abgood\u00bb:

      \n
      $ git bisect good\n Bisecting: X revisions left to test after this (roughly Y steps)\n ...\n 
      \n
      \n

      Now we\u2019re ready for the fun part: using git bisect run to automate the rest\n of the process:

      \n
      $ git bisect run tests/runtests.py migrations.test_regression\n 
      \n
      \n

      You should see git bisect use a binary search to automatically checkout\n-revisions between the good and bad commits until it finds the first \u201cbad\u201d\n+revisions between the good and bad commits until it finds the first \u00abbad\u00bb\n commit where the test fails.

      \n

      Now, report your results on the Trac ticket, and please include the regression\n test as an attachment. When someone writes a fix for the bug, they\u2019ll already\n have your test as a starting point.

      \n
    \n \n \n@@ -523,37 +524,37 @@\n
  • Bisecting a regression
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Reporting bugs and requesting features

    \n+ title=\"capitolo precedente\">Reporting bugs and requesting features

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Mailing lists and Forum

    \n+ title=\"capitolo successivo\">Mailing lists and Forum

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTr\bri\bia\bag\bgi\bin\bng\bg t\bti\bic\bck\bke\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django uses _\bT_\br_\ba_\bc for managing the work on the code base. Trac is a community-\n tended garden of the bugs people have found and the features people would like\n to see added. As in any garden, sometimes there are weeds to be pulled and\n sometimes there are flowers and vegetables that need picking. We need your help\n@@ -13,15 +13,15 @@\n intentions \u2013 fertilize the weeds and poison the roses. It\u2019s the job of the\n community as a whole to self-manage, keep the problems to a minimum, and\n educate those coming into the community so that they can become valuable\n contributing members.\n Similarly, while we aim for Trac to be a perfect representation of the state of\n Django\u2019s progress, we acknowledge that this will not happen. By distributing\n the load of Trac maintenance to the community, we accept that there will be\n-mistakes. Trac is \u201cmostly accurate\u201d, and we give allowances for the fact that\n+mistakes. Trac is \u00abmostly accurate\u00bb, and we give allowances for the fact that\n sometimes it will be wrong. That\u2019s okay. We\u2019re perfectionists with deadlines.\n We rely on the community to keep participating, keep tickets as accurate as\n possible, and raise issues for discussion on our mailing lists when there is\n confusion or disagreement.\n Django is a community project, and every contribution helps. We can\u2019t do this\n without y\byo\bou\bu!\n *\b**\b**\b**\b**\b* T\bTr\bri\bia\bag\bge\be w\bwo\bor\brk\bkf\bfl\blo\bow\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -42,37 +42,37 @@\n * Ticket triagers: anyone in the Django community who chooses to become\n involved in Django\u2019s development process. Our Trac installation is\n intentionally left open to the public, and anyone can triage tickets.\n Django is a community project, and we encourage _\bt_\br_\bi_\ba_\bg_\be_\b _\bb_\by_\b _\bt_\bh_\be_\b _\bc_\bo_\bm_\bm_\bu_\bn_\bi_\bt_\by.\n By way of example, here we see the lifecycle of an average ticket:\n * Alice creates a ticket and sends an incomplete pull request (no tests,\n incorrect implementation).\n- * Bob reviews the pull request, marks the ticket as \u201cAccepted\u201d, \u201cneeds\n- tests\u201d, and \u201cpatch needs improvement\u201d, and leaves a comment telling Alice\n+ * Bob reviews the pull request, marks the ticket as \u00abAccepted\u00bb, \u00abneeds\n+ tests\u00bb, and \u00abpatch needs improvement\u00bb, and leaves a comment telling Alice\n how the patch could be improved.\n * Alice updates the pull request, adding tests (but not changing the\n implementation). She removes the two flags.\n- * Charlie reviews the pull request and resets the \u201cpatch needs improvement\u201d\n+ * Charlie reviews the pull request and resets the \u00abpatch needs improvement\u00bb\n flag with another comment about improving the implementation.\n * Alice updates the pull request, fixing the implementation. She removes\n- the \u201cpatch needs improvement\u201d flag.\n- * Daisy reviews the pull request and marks the ticket as \u201cReady for\n- checkin\u201d.\n+ the \u00abpatch needs improvement\u00bb flag.\n+ * Daisy reviews the pull request and marks the ticket as \u00abReady for\n+ checkin\u00bb.\n * Jacob, a _\bm_\be_\br_\bg_\be_\br, reviews the pull request and merges it.\n Some tickets require much less feedback than this, but then again some tickets\n require much much more.\n *\b**\b**\b**\b**\b* T\bTr\bri\bia\bag\bge\be s\bst\bta\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Below we describe in more detail the various stages that a ticket may flow\n through during its lifetime.\n *\b**\b**\b**\b* U\bUn\bnr\bre\bev\bvi\bie\bew\bwe\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n The ticket has not been reviewed by anyone who felt qualified to make a\n judgment about whether the ticket contained a valid issue, a viable feature, or\n ought to be closed for any of the various reasons.\n *\b**\b**\b**\b* A\bAc\bcc\bce\bep\bpt\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n-The big gray area! The absolute meaning of \u201caccepted\u201d is that the issue\n+The big gray area! The absolute meaning of \u00abaccepted\u00bb is that the issue\n described in the ticket is valid and is in some stage of being worked on.\n Beyond that there are several considerations:\n * A\bAc\bcc\bce\bep\bpt\bte\bed\bd +\b+ N\bNo\bo F\bFl\bla\bag\bgs\bs\n The ticket is valid, but no one has submitted a patch for it yet. Often\n this means you could safely start writing a fix for it. This is generally\n more true for the case of accepted bugs than accepted features. A ticket\n for a bug that has been accepted means that the issue has been verified\n@@ -85,16 +85,16 @@\n * A\bAc\bcc\bce\bep\bpt\bte\bed\bd +\b+ H\bHa\bas\bs P\bPa\bat\btc\bch\bh\n The ticket is waiting for people to review the supplied solution. This\n means downloading the patch and trying it out, verifying that it contains\n tests and docs, running the test suite with the included patch, and\n leaving feedback on the ticket.\n * A\bAc\bcc\bce\bep\bpt\bte\bed\bd +\b+ H\bHa\bas\bs P\bPa\bat\btc\bch\bh +\b+ N\bNe\bee\bed\bds\bs ?\b\u2026\n This means the ticket has been reviewed, and has been found to need\n- further work. \u201cNeeds tests\u201d and \u201cNeeds documentation\u201d are self-\n- explanatory. \u201cPatch needs improvement\u201d will generally be accompanied by a\n+ further work. \u00abNeeds tests\u00bb and \u00abNeeds documentation\u00bb are self-\n+ explanatory. \u00abPatch needs improvement\u00bb will generally be accompanied by a\n comment on the ticket explaining what is needed to improve the code.\n *\b**\b**\b**\b* R\bRe\bea\bad\bdy\by F\bFo\bor\br C\bCh\bhe\bec\bck\bki\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n The ticket was reviewed by any member of the community other than the person\n who supplied the patch and found to meet all the requirements for a commit-\n ready contribution. A _\bm_\be_\br_\bg_\be_\br now needs to give a final review prior to being\n committed.\n There are a lot of pull requests. It can take a while for your patch to get\n@@ -140,15 +140,15 @@\n Django codebase they belong to. This makes tickets better organized and easier\n to find.\n *\b**\b**\b**\b* S\bSe\bev\bve\ber\bri\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b*\n The s\bse\bev\bve\ber\bri\bit\bty\by attribute is used to identify blockers, that is, issues that\n should get fixed before releasing the next version of Django. Typically those\n issues are bugs causing regressions from earlier versions or potentially\n causing severe data losses. This attribute is quite rarely used and the vast\n-majority of tickets have a severity of \u201cNormal\u201d.\n+majority of tickets have a severity of \u00abNormal\u00bb.\n *\b**\b**\b**\b* V\bVe\ber\brs\bsi\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n It is possible to use the v\bve\ber\brs\bsi\bio\bon\bn attribute to indicate in which version the\n reported bug was identified.\n *\b**\b**\b**\b* U\bUI\bI/\b/U\bUX\bX_\b?\b\u00b6 *\b**\b**\b**\b*\n This flag is used for tickets that relate to User Interface and User\n Experiences questions. For example, this flag would be appropriate for user-\n facing features in forms or the admin interface.\n@@ -156,16 +156,16 @@\n You may add your username or email address to this field to be notified when\n new contributions are made to the ticket.\n *\b**\b**\b**\b* K\bKe\bey\byw\bwo\bor\brd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n With this field you may label a ticket with multiple keywords. This can be\n useful, for example, to group several tickets on the same theme. Keywords can\n either be comma or space separated. Keyword search finds the keyword string\n anywhere in the keywords. For example, clicking on a ticket with the keyword\n-\u201cform\u201d will yield similar tickets tagged with keywords containing strings such\n-as \u201cformset\u201d, \u201cmodelformset\u201d, and \u201cManagementForm\u201d.\n+\u00abform\u00bb will yield similar tickets tagged with keywords containing strings such\n+as \u00abformset\u00bb, \u00abmodelformset\u00bb, and \u00abManagementForm\u00bb.\n *\b**\b**\b**\b**\b* C\bCl\blo\bos\bsi\bin\bng\bg T\bTi\bic\bck\bke\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When a ticket has completed its useful lifecycle, it\u2019s time for it to be\n closed. Closing a ticket is a big responsibility, though. You have to be sure\n that the issue is really resolved, and you need to keep in mind that the\n reporter of the ticket may not be happy to have their ticket closed (unless\n it\u2019s fixed!). If you\u2019re not certain about closing a ticket, leave a comment\n with your thoughts instead.\n@@ -191,76 +191,76 @@\n Used if the ticket is found to be incorrect. This means that the\n issue in the ticket is actually the result of a user error, or\n describes a problem with something other than Django, or isn\u2019t a\n bug report or feature request at all (for example, some new users\n submit support queries as tickets).\n * wontfix\n Used when someone decides that the request isn\u2019t appropriate for\n- consideration in Django. Sometimes a ticket is closed as \u201cwontfix\u201d\n+ consideration in Django. Sometimes a ticket is closed as \u00abwontfix\u00bb\n with a request for the reporter to start a discussion on the _\bD_\bj_\ba_\bn_\bg_\bo\n _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs mailing list if they feel differently\n from the rationale provided by the person who closed the ticket.\n Other times, a discussion precedes the decision to close a ticket.\n Always use the forum or mailing list to get a consensus before\n- reopening tickets closed as \u201cwontfix\u201d.\n+ reopening tickets closed as \u00abwontfix\u00bb.\n * duplicate\n Used when another ticket covers the same issue. By closing\n duplicate tickets, we keep all the discussion in one place, which\n helps everyone.\n * worksforme\n Used when the ticket doesn\u2019t contain enough detail to replicate the\n original bug.\n * needsinfo\n Used when the ticket does not contain enough information to\n replicate the reported issue but is potentially still valid. The\n ticket should be reopened when more information is supplied.\n If you believe that the ticket was closed in error \u2013 because you\u2019re still\n having the issue, or it\u2019s popped up somewhere else, or the triagers have made a\n mistake \u2013 please reopen the ticket and provide further information. Again,\n-please do not reopen tickets that have been marked as \u201cwontfix\u201d and bring the\n+please do not reopen tickets that have been marked as \u00abwontfix\u00bb and bring the\n issue to the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs instead.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw c\bca\ban\bn I\bI h\bhe\bel\blp\bp w\bwi\bit\bth\bh t\btr\bri\bia\bag\bgi\bin\bng\bg?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The triage process is primarily driven by community members. Really, A\bAN\bNY\bYO\bON\bNE\bE can\n help.\n To get involved, start by _\bc_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\ba_\bn_\b _\ba_\bc_\bc_\bo_\bu_\bn_\bt_\b _\bo_\bn_\b _\bT_\br_\ba_\bc. If you have an account\n but have forgotten your password, you can reset it using the _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\br_\be_\bs_\be_\bt\n _\bp_\ba_\bg_\be.\n Then, you can help out by:\n- * Closing \u201cUnreviewed\u201d tickets as \u201cinvalid\u201d, \u201cworksforme\u201d, or \u201cduplicate\u201d,\n- or \u201cwontfix\u201d.\n- * Closing \u201cUnreviewed\u201d tickets as \u201cneedsinfo\u201d when the description is too\n+ * Closing \u00abUnreviewed\u00bb tickets as \u00abinvalid\u00bb, \u00abworksforme\u00bb, or \u00abduplicate\u00bb,\n+ or \u00abwontfix\u00bb.\n+ * Closing \u00abUnreviewed\u00bb tickets as \u00abneedsinfo\u00bb when the description is too\n sparse to be actionable, or when they\u2019re feature requests requiring a\n discussion on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs.\n- * Correcting the \u201cNeeds tests\u201d, \u201cNeeds documentation\u201d, or \u201cHas patch\u201d flags\n+ * Correcting the \u00abNeeds tests\u00bb, \u00abNeeds documentation\u00bb, or \u00abHas patch\u00bb flags\n for tickets where they are incorrectly set.\n- * Setting the \u201c_\bE_\ba_\bs_\by_\b _\bp_\bi_\bc_\bk_\bi_\bn_\bg_\bs\u201d flag for tickets that are small and\n+ * Setting the \u00ab_\bE_\ba_\bs_\by_\b _\bp_\bi_\bc_\bk_\bi_\bn_\bg_\bs\u00bb flag for tickets that are small and\n relatively straightforward.\n * Set the t\bty\byp\bpe\be of tickets that are still uncategorized.\n * Checking that old tickets are still valid. If a ticket hasn\u2019t seen any\n activity in a long time, it\u2019s possible that the problem has been fixed\n but the ticket hasn\u2019t yet been closed.\n * Identifying trends and themes in the tickets. If there are a lot of bug\n reports about a particular part of Django, it may indicate we should\n consider refactoring that part of the code. If a trend is emerging, you\n should raise it for discussion (referencing the relevant tickets) on the\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs.\n * Verify if solutions submitted by others are correct. If they are correct\n and also contain appropriate documentation and tests then move them to\n- the \u201cReady for Checkin\u201d stage. If they are not correct then leave a\n- comment to explain why and set the corresponding flags (\u201cPatch needs\n- improvement\u201d, \u201cNeeds tests\u201d etc.).\n-Note\n+ the \u00abReady for Checkin\u00bb stage. If they are not correct then leave a\n+ comment to explain why and set the corresponding flags (\u00abPatch needs\n+ improvement\u00bb, \u00abNeeds tests\u00bb etc.).\n+Nota\n The _\bR_\be_\bp_\bo_\br_\bt_\bs_\b _\bp_\ba_\bg_\be contains links to many useful Trac queries, including several\n that are useful for triaging tickets and reviewing proposals as suggested\n above.\n You can also find more _\bA_\bd_\bv_\bi_\bc_\be_\b _\bf_\bo_\br_\b _\bn_\be_\bw_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs.\n However, we do ask the following of all general community members working in\n the ticket database:\n- * Please d\bdo\bon\bn?\b\u2019t\bt promote your own tickets to \u201cReady for checkin\u201d. You may\n- mark other people\u2019s tickets that you\u2019ve reviewed as \u201cReady for checkin\u201d,\n+ * Please d\bdo\bon\bn?\b\u2019t\bt promote your own tickets to \u00abReady for checkin\u00bb. You may\n+ mark other people\u2019s tickets that you\u2019ve reviewed as \u00abReady for checkin\u00bb,\n but you should get at minimum one other community member to review a\n patch that you submit.\n * Please d\bdo\bon\bn?\b\u2019t\bt reverse a decision without posting a message to the _\bD_\bj_\ba_\bn_\bg_\bo\n _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs to find consensus.\n * If you\u2019re unsure if you should be making a change, don\u2019t make the change\n but instead leave a comment with your concerns on the ticket, or post a\n message to the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm or _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs. It\u2019s okay to be unsure,\n@@ -273,32 +273,32 @@\n inadvertent side-effect. Here\u2019s how you can determine this.\n Begin by writing a regression test for Django\u2019s test suite for the issue. For\n example, we\u2019ll pretend we\u2019re debugging a regression in migrations. After you\u2019ve\n written the test and confirmed that it fails on the latest main branch, put it\n in a separate file that you can run standalone. For our example, we\u2019ll pretend\n we created tests/migrations/test_regression.py, which can be run with:\n $ ./runtests.py migrations.test_regression\n-Next, we mark the current point in history as being \u201cbad\u201d since the test fails:\n+Next, we mark the current point in history as being \u00abbad\u00bb since the test fails:\n $ git bisect bad\n You need to start by \"git bisect start\"\n Do you want me to do it for you [Y/n]? y\n Now, we need to find a point in git history before the regression was\n introduced (i.e. a point where the test passes). Use something like git\n checkout HEAD~100 to check out an earlier revision (100 commits earlier, in\n-this case). Check if the test fails. If so, mark that point as \u201cbad\u201d (git\n+this case). Check if the test fails. If so, mark that point as \u00abbad\u00bb (git\n bisect bad), then check out an earlier revision and recheck. Once you find a\n-revision where your test passes, mark it as \u201cgood\u201d:\n+revision where your test passes, mark it as \u00abgood\u00bb:\n $ git bisect good\n Bisecting: X revisions left to test after this (roughly Y steps)\n ...\n Now we\u2019re ready for the fun part: using git bisect run to automate the rest of\n the process:\n $ git bisect run tests/runtests.py migrations.test_regression\n You should see git bisect use a binary search to automatically checkout\n-revisions between the good and bad commits until it finds the first \u201cbad\u201d\n+revisions between the good and bad commits until it finds the first \u00abbad\u00bb\n commit where the test fails.\n Now, report your results on the Trac ticket, and please include the regression\n test as an attachment. When someone writes a fix for the bug, they\u2019ll already\n have your test as a starting point.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\br_\bi_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n o _\bT_\br_\bi_\ba_\bg_\be_\b _\bw_\bo_\br_\bk_\bf_\bl_\bo_\bw\n@@ -319,16 +319,16 @@\n # _\bV_\be_\br_\bs_\bi_\bo_\bn\n # _\bU_\bI_\b/_\bU_\bX\n # _\bC_\bc\n # _\bK_\be_\by_\bw_\bo_\br_\bd_\bs\n o _\bC_\bl_\bo_\bs_\bi_\bn_\bg_\b _\bT_\bi_\bc_\bk_\be_\bt_\bs\n o _\bH_\bo_\bw_\b _\bc_\ba_\bn_\b _\bI_\b _\bh_\be_\bl_\bp_\b _\bw_\bi_\bt_\bh_\b _\bt_\br_\bi_\ba_\bg_\bi_\bn_\bg_\b?\n o _\bB_\bi_\bs_\be_\bc_\bt_\bi_\bn_\bg_\b _\ba_\b _\br_\be_\bg_\br_\be_\bs_\bs_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bg_\bs_\b _\ba_\bn_\bd_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bl_\bi_\bs_\bt_\bs_\b _\ba_\bn_\bd_\b _\bF_\bo_\br_\bu_\bm\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Coding style — Django 5.1.4 documentation\n+ Coding style — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -173,15 +174,15 @@\n
    \n

    f-strings should not be used for any string that may require translation,\n including error and logging messages. In general format() is more\n verbose, so the other formatting methods are preferred.

    \n

    Don\u2019t waste time doing unrelated refactoring of existing code to adjust the\n formatting method.

    \n \n-
  • Avoid use of \u201cwe\u201d in comments, e.g. \u201cLoop over\u201d rather than \u201cWe loop over\u201d.

  • \n+
  • Avoid use of \u00abwe\u00bb in comments, e.g. \u00abLoop over\u00bb rather than \u00abWe loop over\u00bb.

  • \n
  • Use underscores, not camelCase, for variable, function and method names\n (i.e. poll.get_unique_voters(), not poll.getUniqueVoters()).

  • \n
  • Use InitialCaps for class names (or for factory functions that\n return classes).

  • \n
  • In docstrings, follow the style of existing docstrings and PEP 257.

  • \n
  • In tests, use\n assertRaisesMessage() and\n@@ -193,15 +194,15 @@\n expression matching.

    \n

    Use assertIs(\u2026, True/False) for testing\n boolean values, rather than assertTrue() and\n assertFalse(), so you can check the actual boolean\n value, not the truthiness of the expression.

    \n
  • \n
  • In test docstrings, state the expected behavior that each test demonstrates.\n-Don\u2019t include preambles such as \u201cTests that\u201d or \u201cEnsures that\u201d.

    \n+Don\u2019t include preambles such as \u00abTests that\u00bb or \u00abEnsures that\u00bb.

    \n

    Reserve ticket references for obscure issues where the ticket has additional\n details that can\u2019t be easily described in docstrings or comments. Include the\n ticket number at the end of a sentence like this:

    \n
    def test_foo():\n     """\n     A test docstring looks like this (#123456).\n     """\n@@ -553,15 +554,15 @@\n silence the flake8 warning.

  • \n
  • Systematically remove all trailing whitespaces from your code as those\n add unnecessary bytes, add visual clutter to the patches and can also\n occasionally cause unnecessary merge conflicts. Some IDE\u2019s can be\n configured to automatically remove them and most VCS tools can be set to\n highlight them in diff outputs.

  • \n
  • Please don\u2019t put your name in the code you contribute. Our policy is to\n-keep contributors\u2019 names in the AUTHORS file distributed with Django\n+keep contributors\u201d names in the AUTHORS file distributed with Django\n \u2013 not scattered throughout the codebase itself. Feel free to include a\n change to the AUTHORS file in your patch if you make more than a\n single trivial change.

  • \n \n \n
    \n

    JavaScript style\u00b6

    \n@@ -595,37 +596,37 @@\n
  • JavaScript style
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Working with Git and GitHub

    \n+ title=\"capitolo precedente\">Working with Git and GitHub

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    JavaScript code

    \n+ title=\"capitolo successivo\">JavaScript code

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bod\bdi\bin\bng\bg s\bst\bty\byl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Please follow these coding standards when writing code for inclusion in Django.\n *\b**\b**\b**\b**\b* P\bPr\bre\be-\b-c\bco\bom\bmm\bmi\bit\bt c\bch\bhe\bec\bck\bks\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bp_\br_\be_\b-_\bc_\bo_\bm_\bm_\bi_\bt is a framework for managing pre-commit hooks. These hooks help to\n identify simple issues before committing code for review. By checking for these\n@@ -61,31 +61,31 @@\n user_days_old = user.age * 365.25\n f\"you are {user_days_old} days old\"\n f-strings should not be used for any string that may require translation,\n including error and logging messages. In general format() is more\n verbose, so the other formatting methods are preferred.\n Don\u2019t waste time doing unrelated refactoring of existing code to adjust\n the formatting method.\n- * Avoid use of \u201cwe\u201d in comments, e.g. \u201cLoop over\u201d rather than \u201cWe loop\n- over\u201d.\n+ * Avoid use of \u00abwe\u00bb in comments, e.g. \u00abLoop over\u00bb rather than \u00abWe loop\n+ over\u00bb.\n * Use underscores, not camelCase, for variable, function and method names\n (i.e. poll.get_unique_voters(), not poll.getUniqueVoters()).\n * Use InitialCaps for class names (or for factory functions that return\n classes).\n * In docstrings, follow the style of existing docstrings and _\bP\bP_\bE\bE_\bP\bP_\b _\b2\b2_\b5\b5_\b7\b7.\n * In tests, use _\ba_\bs_\bs_\be_\br_\bt_\bR_\ba_\bi_\bs_\be_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\b(_\b) and _\ba_\bs_\bs_\be_\br_\bt_\bW_\ba_\br_\bn_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\b(_\b) instead of\n _\ba_\bs_\bs_\be_\br_\bt_\bR_\ba_\bi_\bs_\be_\bs_\b(_\b) and _\ba_\bs_\bs_\be_\br_\bt_\bW_\ba_\br_\bn_\bs_\b(_\b) so you can check the exception or\n warning message. Use _\ba_\bs_\bs_\be_\br_\bt_\bR_\ba_\bi_\bs_\be_\bs_\bR_\be_\bg_\be_\bx_\b(_\b) and _\ba_\bs_\bs_\be_\br_\bt_\bW_\ba_\br_\bn_\bs_\bR_\be_\bg_\be_\bx_\b(_\b) only if\n you need regular expression matching.\n Use _\ba_\bs_\bs_\be_\br_\bt_\bI_\bs_\b(_\b\u2026_\b,_\b _\bT_\br_\bu_\be_\b/_\bF_\ba_\bl_\bs_\be_\b) for testing boolean values, rather than\n _\ba_\bs_\bs_\be_\br_\bt_\bT_\br_\bu_\be_\b(_\b) and _\ba_\bs_\bs_\be_\br_\bt_\bF_\ba_\bl_\bs_\be_\b(_\b), so you can check the actual boolean\n value, not the truthiness of the expression.\n * In test docstrings, state the expected behavior that each test\n- demonstrates. Don\u2019t include preambles such as \u201cTests that\u201d or \u201cEnsures\n- that\u201d.\n+ demonstrates. Don\u2019t include preambles such as \u00abTests that\u00bb or \u00abEnsures\n+ that\u00bb.\n Reserve ticket references for obscure issues where the ticket has\n additional details that can\u2019t be easily described in docstrings or\n comments. Include the ticket number at the end of a sentence like this:\n def test_foo():\n \"\"\"\n A test docstring looks like this (#123456).\n \"\"\"\n@@ -325,15 +325,15 @@\n silence the flake8 warning.\n * Systematically remove all trailing whitespaces from your code as those\n add unnecessary bytes, add visual clutter to the patches and can also\n occasionally cause unnecessary merge conflicts. Some IDE\u2019s can be\n configured to automatically remove them and most VCS tools can be set to\n highlight them in diff outputs.\n * Please don\u2019t put your name in the code you contribute. Our policy is to\n- keep contributors\u2019 names in the AUTHORS file distributed with Django \u2013\n+ keep contributors\u201d names in the AUTHORS file distributed with Django \u2013\n not scattered throughout the codebase itself. Feel free to include a\n change to the AUTHORS file in your patch if you make more than a single\n trivial change.\n *\b**\b**\b**\b**\b* J\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt s\bst\bty\byl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n For details about the JavaScript code style used by Django, see _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt\n _\bc_\bo_\bd_\be.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n@@ -343,16 +343,16 @@\n o _\bI_\bm_\bp_\bo_\br_\bt_\bs\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bs_\bt_\by_\bl_\be\n o _\bV_\bi_\be_\bw_\b _\bs_\bt_\by_\bl_\be\n o _\bM_\bo_\bd_\be_\bl_\b _\bs_\bt_\by_\bl_\be\n o _\bU_\bs_\be_\b _\bo_\bf_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs\n o _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n o _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bs_\bt_\by_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Contributing code — Django 5.1.4 documentation\n+ Contributing code — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -111,15 +112,15 @@\n \n
    \n

    We maintain a curated list of small issues suited to first-time or less\n-experienced contributors, using the \u201ceasy pickings\u201d filter. These are strongly\n+experienced contributors, using the \u00abeasy pickings\u00bb filter. These are strongly\n recommended for those contributors looking to make a contribution.

    \n \n \n \n \n@@ -142,37 +143,37 @@\n
  • Related topics
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Advice for new contributors

    \n+ title=\"capitolo precedente\">Advice for new contributors

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Submitting contributions

    \n+ title=\"capitolo successivo\">Submitting contributions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bon\bnt\btr\bri\bib\bbu\but\bti\bin\bng\bg c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n So you\u2019d like to write some code, documentation or tests to improve Django?\n There are several ways you can help Django\u2019s development.\n *\b**\b**\b**\b**\b* T\bTu\but\bto\bor\bri\bia\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The Django tutorial contains a whole section that walks you step-by-step\n@@ -17,24 +17,24 @@\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\bo_\br_\bk_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb\n *\b**\b**\b**\b**\b* R\bRe\bel\bla\bat\bte\bed\bd t\bto\bop\bpi\bic\bcs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n It\u2019s important to understand how we work and the conventions we adopt.\n * _\bC_\bo_\bd_\bi_\bn_\bg_\b _\bs_\bt_\by_\bl_\be\n * _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bo_\bd_\be\n * _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n We maintain a curated list of small issues suited to first-time or less\n-experienced contributors, using the \u201ceasy pickings\u201d filter. These are strongly\n+experienced contributors, using the \u00abeasy pickings\u00bb filter. These are strongly\n recommended for those contributors looking to make a contribution.\n * Browse _\be_\ba_\bs_\by_\b _\bp_\bi_\bc_\bk_\bi_\bn_\bg_\bs tickets.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n o _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\bs\n o _\bH_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs\n o _\bR_\be_\bl_\ba_\bt_\be_\bd_\b _\bt_\bo_\bp_\bi_\bc_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bd_\bv_\bi_\bc_\be_\b _\bf_\bo_\br_\b _\bn_\be_\bw_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\bu_\bb_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- JavaScript code — Django 5.1.4 documentation\n+ JavaScript code — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -239,37 +240,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Coding style

    \n+ title=\"capitolo precedente\">Coding style

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Committing code

    \n+ title=\"capitolo successivo\">Committing code

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* J\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n While most of Django core is Python, the admin and gis contrib apps contain\n JavaScript code.\n Please follow these coding standards when writing JavaScript code for inclusion\n in Django.\n@@ -81,16 +81,16 @@\n o _\bC_\bo_\bd_\be_\b _\bs_\bt_\by_\bl_\be\n o _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bp_\ba_\bt_\bc_\bh_\be_\bs\n o _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bt_\be_\bs_\bt_\bs\n # _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bt_\be_\bs_\bt_\bs\n # _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bt_\be_\bs_\bt_\bs\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\ba_\b _\bw_\be_\bb_\b _\bb_\br_\bo_\bw_\bs_\be_\br\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\bt_\bh_\be_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bl_\bi_\bn_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bd_\bi_\bn_\bg_\b _\bs_\bt_\by_\bl_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Submitting contributions — Django 5.1.4 documentation\n+ Submitting contributions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -86,53 +87,53 @@\n

    Typo fixes and trivial documentation changes\u00b6

    \n

    If you are fixing a really trivial issue, for example changing a word in the\n documentation, the preferred way to provide the patch is using GitHub pull\n requests without a Trac ticket.

    \n

    See the Working with Git and GitHub for more details on how to use pull requests.

    \n \n
    \n-

    \u201cClaiming\u201d tickets\u00b6

    \n+

    \u00abClaiming\u00bb tickets\u00b6

    \n

    In an open-source project with hundreds of contributors around the world, it\u2019s\n important to manage communication efficiently so that work doesn\u2019t get\n duplicated and contributors can be as effective as possible.

    \n-

    Hence, our policy is for contributors to \u201cclaim\u201d tickets in order to let other\n+

    Hence, our policy is for contributors to \u00abclaim\u00bb tickets in order to let other\n developers know that a particular bug or feature is being worked on.

    \n

    If you have identified a contribution you want to make and you\u2019re capable of\n fixing it (as measured by your coding ability, knowledge of Django internals\n and time availability), claim it by following these steps:

    \n
      \n
    • Login using your GitHub account or create an account in our ticket\n system. If you have an account but have forgotten your password, you can\n reset it using the password reset page.

    • \n
    • If a ticket for this issue doesn\u2019t exist yet, create one in our\n ticket tracker.

    • \n
    • If a ticket for this issue already exists, make sure nobody else has\n-claimed it. To do this, look at the \u201cOwned by\u201d section of the ticket.\n-If it\u2019s assigned to \u201cnobody,\u201d then it\u2019s available to be claimed.\n+claimed it. To do this, look at the \u00abOwned by\u00bb section of the ticket.\n+If it\u2019s assigned to \u00abnobody,\u00bb then it\u2019s available to be claimed.\n Otherwise, somebody else may be working on this ticket. Either find another\n bug/feature to work on, or contact the developer working on the ticket to\n offer your help. If a ticket has been assigned for weeks or months without\n any activity, it\u2019s probably safe to reassign it to yourself.

    • \n-
    • Log into your account, if you haven\u2019t already, by clicking \u201cGitHub Login\u201d\n-or \u201cDjangoProject Login\u201d in the upper left of the ticket page. Once logged\n-in, you can then click the \u201cModify Ticket\u201d button near the bottom of the\n+

    • Log into your account, if you haven\u2019t already, by clicking \u00abGitHub Login\u00bb\n+or \u00abDjangoProject Login\u00bb in the upper left of the ticket page. Once logged\n+in, you can then click the \u00abModify Ticket\u00bb button near the bottom of the\n page.

    • \n-
    • Claim the ticket by clicking the \u201cassign to\u201d radio button in the \u201cAction\u201d\n+

    • Claim the ticket by clicking the \u00abassign to\u00bb radio button in the \u00abAction\u00bb\n section. Your username will be filled in the text box by default.

    • \n-
    • Finally click the \u201cSubmit changes\u201d button at the bottom to save.

    • \n+
    • Finally click the \u00abSubmit changes\u00bb button at the bottom to save.

    • \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The Django software foundation requests that anyone contributing more than\n a trivial change to Django sign and submit a Contributor License\n Agreement, this ensures that the Django Software Foundation has clear\n license to all contributions allowing for a clear license for all users.

    \n
    \n
    \n-

    Ticket claimers\u2019 responsibility\u00b6

    \n+

    Ticket claimers\u201d responsibility\u00b6

    \n

    Once you\u2019ve claimed a ticket, you have a responsibility to work on that ticket\n in a reasonably timely fashion. If you don\u2019t have time to work on it, either\n unclaim it or don\u2019t claim it in the first place!

    \n

    If there\u2019s no sign of progress on a particular claimed ticket for a week or\n two, another developer may ask you to relinquish the ticket claim so that it\u2019s\n no longer monopolized and somebody else can claim it.

    \n

    If you\u2019ve claimed a ticket and it\u2019s taking a long time (days or weeks) to code,\n@@ -168,27 +169,27 @@\n \n

    When you think your work is ready to be reviewed, send a GitHub pull\n request.\n If you can\u2019t send a pull request for some reason, you can also use patches in\n Trac. When using this style, follow these guidelines.

    \n
      \n
    • Submit patches in the format returned by the git diff command.

    • \n-
    • Attach patches to a ticket in the ticket tracker, using the \u201cattach\n-file\u201d button. Please don\u2019t put the patch in the ticket description\n+

    • Attach patches to a ticket in the ticket tracker, using the \u00abattach\n+file\u00bb button. Please don\u2019t put the patch in the ticket description\n or comment unless it\u2019s a single line patch.

    • \n
    • Name the patch file with a .diff extension; this will let the ticket\n tracker apply correct syntax highlighting, which is quite helpful.

    • \n
    \n

    Regardless of the way you submit your work, follow these steps.

    \n
      \n
    • Make sure your code fulfills the requirements in our contribution\n checklist.

    • \n-
    • Check the \u201cHas patch\u201d box on the ticket and make sure the \u201cNeeds\n-documentation\u201d, \u201cNeeds tests\u201d, and \u201cPatch needs improvement\u201d boxes aren\u2019t\n-checked. This makes the ticket appear in the \u201cPatches needing review\u201d queue\n+

    • Check the \u00abHas patch\u00bb box on the ticket and make sure the \u00abNeeds\n+documentation\u00bb, \u00abNeeds tests\u00bb, and \u00abPatch needs improvement\u00bb boxes aren\u2019t\n+checked. This makes the ticket appear in the \u00abPatches needing review\u00bb queue\n on the Development dashboard.

    • \n
    \n
    \n
    \n

    Contributions which require community feedback\u00b6

    \n

    A wider community discussion is required when a patch introduces new Django\n functionality and makes some sort of design decision. This is especially\n@@ -319,15 +320,15 @@\n

    Finally, there are a couple of updates to Django\u2019s documentation to make:

    \n
      \n
    1. If the existing feature is documented, mark it deprecated in documentation\n using the .. deprecated:: A.B annotation. Include a short description\n and a note about the upgrade path if applicable.

    2. \n
    3. Add a description of the deprecated behavior, and the upgrade path if\n applicable, to the current release notes (docs/releases/A.B.txt) under\n-the \u201cFeatures deprecated in A.B\u201d heading.

    4. \n+the \u00abFeatures deprecated in A.B\u00bb heading.

      \n
    5. Add an entry in the deprecation timeline (docs/internals/deprecation.txt)\n under the appropriate version describing what code will be removed.

    6. \n
    \n

    Once you have completed these steps, you are finished with the deprecation.\n In each feature release, all\n RemovedInDjangoXXWarnings matching the new version are removed.

    \n
    \n@@ -348,23 +349,23 @@\n benchmark. Adding to these benchmarks is highly encouraged.

    \n
    \n \n
    \n

    Contribution checklist\u00b6

    \n

    Use this checklist to review a pull request. If you are reviewing a pull\n request that is not your own and it passes all the criteria below, please set\n-the \u201cTriage Stage\u201d on the corresponding Trac ticket to \u201cReady for checkin\u201d.\n+the \u00abTriage Stage\u00bb on the corresponding Trac ticket to \u00abReady for checkin\u00bb.\n If you\u2019ve left comments for improvement on the pull request, please tick the\n appropriate flags on the Trac ticket based on the results of your review:\n-\u201cPatch needs improvement\u201d, \u201cNeeds documentation\u201d, and/or \u201cNeeds tests\u201d. As time\n-and interest permits, mergers do final reviews of \u201cReady for checkin\u201d tickets\n-and will either commit the changes or bump it back to \u201cAccepted\u201d if further\n+\u00abPatch needs improvement\u00bb, \u00abNeeds documentation\u00bb, and/or \u00abNeeds tests\u00bb. As time\n+and interest permits, mergers do final reviews of \u00abReady for checkin\u00bb tickets\n+and will either commit the changes or bump it back to \u00abAccepted\u00bb if further\n work needs to be done. If you\u2019re looking to become a merger, doing thorough\n reviews of contributions is a great way to earn trust.

    \n-

    Looking for a patch to review? Check out the \u201cPatches needing review\u201d section\n+

    Looking for a patch to review? Check out the \u00abPatches needing review\u00bb section\n of the Django Development Dashboard.

    \n

    Looking to get your pull request reviewed? Ensure the Trac flags on the ticket\n are set so that the ticket appears in that queue.

    \n
    \n

    Documentation\u00b6

    \n
      \n
    • Does the documentation build without any errors (make html, or\n@@ -384,15 +385,15 @@\n docs/releases/A.B.C.txt? Bug fixes that will be applied only to the main\n branch don\u2019t need a release note.

    • \n
    \n
    \n
    \n

    New Features\u00b6

    \n
      \n-
    • Are there tests to \u201cexercise\u201d all of the new code?

    • \n+
    • Are there tests to \u00abexercise\u00bb all of the new code?

    • \n
    • Is there a release note in docs/releases/A.B.txt?

    • \n
    • Is there documentation for the feature and is it annotated\n appropriately with\n .. versionadded:: A.B or .. versionchanged:: A.B?

    • \n
    \n
    \n
    \n@@ -433,16 +434,16 @@\n
    \n
    \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Contributing code

    \n+ title=\"capitolo precedente\">Contributing code

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Unit tests

    \n+ title=\"capitolo successivo\">Unit tests

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,54 +1,54 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSu\bub\bbm\bmi\bit\btt\bti\bin\bng\bg c\bco\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n We\u2019re always grateful for contributions to Django\u2019s code. Indeed, bug reports\n with associated contributions will get fixed f\bfa\bar\br more quickly than those\n without a solution.\n *\b**\b**\b**\b**\b* T\bTy\byp\bpo\bo f\bfi\bix\bxe\bes\bs a\ban\bnd\bd t\btr\bri\biv\bvi\bia\bal\bl d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you are fixing a really trivial issue, for example changing a word in the\n documentation, the preferred way to provide the patch is using GitHub pull\n requests without a Trac ticket.\n See the _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb for more details on how to use pull\n requests.\n-*\b**\b**\b**\b**\b* ?\b\u201cC\bCl\bla\bai\bim\bmi\bin\bng\bg?\b\u201d t\bti\bic\bck\bke\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b* ?\b\u00abC\bCl\bla\bai\bim\bmi\bin\bng\bg?\b\u00bb t\bti\bic\bck\bke\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In an open-source project with hundreds of contributors around the world, it\u2019s\n important to manage communication efficiently so that work doesn\u2019t get\n duplicated and contributors can be as effective as possible.\n-Hence, our policy is for contributors to \u201cclaim\u201d tickets in order to let other\n+Hence, our policy is for contributors to \u00abclaim\u00bb tickets in order to let other\n developers know that a particular bug or feature is being worked on.\n If you have identified a contribution you want to make and you\u2019re capable of\n fixing it (as measured by your coding ability, knowledge of Django internals\n and time availability), claim it by following these steps:\n * _\bL_\bo_\bg_\bi_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bG_\bi_\bt_\bH_\bu_\bb_\b _\ba_\bc_\bc_\bo_\bu_\bn_\bt or _\bc_\br_\be_\ba_\bt_\be_\b _\ba_\bn_\b _\ba_\bc_\bc_\bo_\bu_\bn_\bt in our ticket\n system. If you have an account but have forgotten your password, you can\n reset it using the _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\br_\be_\bs_\be_\bt_\b _\bp_\ba_\bg_\be.\n * If a ticket for this issue doesn\u2019t exist yet, create one in our _\bt_\bi_\bc_\bk_\be_\bt\n _\bt_\br_\ba_\bc_\bk_\be_\br.\n * If a ticket for this issue already exists, make sure nobody else has\n- claimed it. To do this, look at the \u201cOwned by\u201d section of the ticket. If\n- it\u2019s assigned to \u201cnobody,\u201d then it\u2019s available to be claimed. Otherwise,\n+ claimed it. To do this, look at the \u00abOwned by\u00bb section of the ticket. If\n+ it\u2019s assigned to \u00abnobody,\u00bb then it\u2019s available to be claimed. Otherwise,\n somebody else may be working on this ticket. Either find another bug/\n feature to work on, or contact the developer working on the ticket to\n offer your help. If a ticket has been assigned for weeks or months\n without any activity, it\u2019s probably safe to reassign it to yourself.\n- * Log into your account, if you haven\u2019t already, by clicking \u201cGitHub Login\u201d\n- or \u201cDjangoProject Login\u201d in the upper left of the ticket page. Once\n- logged in, you can then click the \u201cModify Ticket\u201d button near the bottom\n+ * Log into your account, if you haven\u2019t already, by clicking \u00abGitHub Login\u00bb\n+ or \u00abDjangoProject Login\u00bb in the upper left of the ticket page. Once\n+ logged in, you can then click the \u00abModify Ticket\u00bb button near the bottom\n of the page.\n- * Claim the ticket by clicking the \u201cassign to\u201d radio button in the \u201cAction\u201d\n+ * Claim the ticket by clicking the \u00abassign to\u00bb radio button in the \u00abAction\u00bb\n section. Your username will be filled in the text box by default.\n- * Finally click the \u201cSubmit changes\u201d button at the bottom to save.\n-Note\n+ * Finally click the \u00abSubmit changes\u00bb button at the bottom to save.\n+Nota\n The Django software foundation requests that anyone contributing more than a\n trivial change to Django sign and submit a _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\b _\bL_\bi_\bc_\be_\bn_\bs_\be_\b _\bA_\bg_\br_\be_\be_\bm_\be_\bn_\bt, this\n ensures that the Django Software Foundation has clear license to all\n contributions allowing for a clear license for all users.\n-*\b**\b**\b**\b* T\bTi\bic\bck\bke\bet\bt c\bcl\bla\bai\bim\bme\ber\brs\bs?\b\u2019 r\bre\bes\bsp\bpo\bon\bns\bsi\bib\bbi\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b*\n+*\b**\b**\b**\b* T\bTi\bic\bck\bke\bet\bt c\bcl\bla\bai\bim\bme\ber\brs\bs?\b\u201d r\bre\bes\bsp\bpo\bon\bns\bsi\bib\bbi\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b*\n Once you\u2019ve claimed a ticket, you have a responsibility to work on that ticket\n in a reasonably timely fashion. If you don\u2019t have time to work on it, either\n unclaim it or don\u2019t claim it in the first place!\n If there\u2019s no sign of progress on a particular claimed ticket for a week or\n two, another developer may ask you to relinquish the ticket claim so that it\u2019s\n no longer monopolized and somebody else can claim it.\n If you\u2019ve claimed a ticket and it\u2019s taking a long time (days or weeks) to code,\n@@ -75,25 +75,25 @@\n discussions after your patch gets committed, and the tickets get closed.\n * If the code adds a new feature, or modifies the behavior of an existing\n feature, the change should also contain documentation.\n When you think your work is ready to be reviewed, send _\ba_\b _\bG_\bi_\bt_\bH_\bu_\bb_\b _\bp_\bu_\bl_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt.\n If you can\u2019t send a pull request for some reason, you can also use patches in\n Trac. When using this style, follow these guidelines.\n * Submit patches in the format returned by the git diff command.\n- * Attach patches to a ticket in the _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br, using the \u201cattach file\u201d\n+ * Attach patches to a ticket in the _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br, using the \u00abattach file\u00bb\n button. Please d\bdo\bon\bn?\b\u2019t\bt put the patch in the ticket description or comment\n unless it\u2019s a single line patch.\n * Name the patch file with a .diff extension; this will let the ticket\n tracker apply correct syntax highlighting, which is quite helpful.\n Regardless of the way you submit your work, follow these steps.\n * Make sure your code fulfills the requirements in our _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn\n _\bc_\bh_\be_\bc_\bk_\bl_\bi_\bs_\bt.\n- * Check the \u201cHas patch\u201d box on the ticket and make sure the \u201cNeeds\n- documentation\u201d, \u201cNeeds tests\u201d, and \u201cPatch needs improvement\u201d boxes aren\u2019t\n- checked. This makes the ticket appear in the \u201cPatches needing review\u201d\n+ * Check the \u00abHas patch\u00bb box on the ticket and make sure the \u00abNeeds\n+ documentation\u00bb, \u00abNeeds tests\u00bb, and \u00abPatch needs improvement\u00bb boxes aren\u2019t\n+ checked. This makes the ticket appear in the \u00abPatches needing review\u00bb\n queue on the _\bD_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bd_\ba_\bs_\bh_\bb_\bo_\ba_\br_\bd.\n *\b**\b**\b**\b**\b* C\bCo\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bns\bs w\bwh\bhi\bic\bch\bh r\bre\beq\bqu\bui\bir\bre\be c\bco\bom\bmm\bmu\bun\bni\bit\bty\by f\bfe\bee\bed\bdb\bba\bac\bck\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A wider community discussion is required when a patch introduces new Django\n functionality and makes some sort of design decision. This is especially\n important if the approach involves a _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn or introduces breaking\n changes.\n The following are different approaches for gaining feedback from the community.\n@@ -194,15 +194,15 @@\n ...\n Finally, there are a couple of updates to Django\u2019s documentation to make:\n 1. If the existing feature is documented, mark it deprecated in\n documentation using the .. deprecated:: A.B annotation. Include a short\n description and a note about the upgrade path if applicable.\n 2. Add a description of the deprecated behavior, and the upgrade path if\n applicable, to the current release notes (docs/releases/A.B.txt) under\n- the \u201cFeatures deprecated in A.B\u201d heading.\n+ the \u00abFeatures deprecated in A.B\u00bb heading.\n 3. Add an entry in the deprecation timeline (docs/internals/deprecation.txt)\n under the appropriate version describing what code will be removed.\n Once you have completed these steps, you are finished with the deprecation. In\n each _\bf_\be_\ba_\bt_\bu_\br_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be, all RemovedInDjangoXXWarnings matching the new version\n are removed.\n *\b**\b**\b**\b**\b* J\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt c\bco\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n For information on JavaScript contributions, see the _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bp_\ba_\bt_\bc_\bh_\be_\bs\n@@ -214,23 +214,23 @@\n *\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo-\b-a\bas\bsv\bv b\bbe\ben\bnc\bch\bhm\bma\bar\brk\bks\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bs_\bv monitors the performance of Django code over time. These benchmarks\n can be run on a pull request by labeling the pull request with benchmark.\n Adding to these benchmarks is highly encouraged.\n *\b**\b**\b**\b**\b* C\bCo\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bn c\bch\bhe\bec\bck\bkl\bli\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Use this checklist to review a pull request. If you are reviewing a pull\n request that is not your own and it passes all the criteria below, please set\n-the \u201cTriage Stage\u201d on the corresponding Trac ticket to \u201cReady for checkin\u201d. If\n+the \u00abTriage Stage\u00bb on the corresponding Trac ticket to \u00abReady for checkin\u00bb. If\n you\u2019ve left comments for improvement on the pull request, please tick the\n appropriate flags on the Trac ticket based on the results of your review:\n-\u201cPatch needs improvement\u201d, \u201cNeeds documentation\u201d, and/or \u201cNeeds tests\u201d. As time\n-and interest permits, mergers do final reviews of \u201cReady for checkin\u201d tickets\n-and will either commit the changes or bump it back to \u201cAccepted\u201d if further\n+\u00abPatch needs improvement\u00bb, \u00abNeeds documentation\u00bb, and/or \u00abNeeds tests\u00bb. As time\n+and interest permits, mergers do final reviews of \u00abReady for checkin\u00bb tickets\n+and will either commit the changes or bump it back to \u00abAccepted\u00bb if further\n work needs to be done. If you\u2019re looking to become a merger, doing thorough\n reviews of contributions is a great way to earn trust.\n-Looking for a patch to review? Check out the \u201cPatches needing review\u201d section\n+Looking for a patch to review? Check out the \u00abPatches needing review\u00bb section\n of the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bD_\ba_\bs_\bh_\bb_\bo_\ba_\br_\bd.\n Looking to get your pull request reviewed? Ensure the Trac flags on the ticket\n are set so that the ticket appears in that queue.\n *\b**\b**\b**\b* D\bDo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n * Does the documentation build without any errors (make html, or make.bat\n html on Windows, from the docs directory)?\n * Does the documentation follow the writing style guidelines in _\bW_\br_\bi_\bt_\bi_\bn_\bg\n@@ -239,15 +239,15 @@\n *\b**\b**\b**\b* B\bBu\bug\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n * Is there a proper regression test (the test should fail before the fix is\n applied)?\n * If it\u2019s a bug that _\bq_\bu_\ba_\bl_\bi_\bf_\bi_\be_\bs_\b _\bf_\bo_\br_\b _\ba_\b _\bb_\ba_\bc_\bk_\bp_\bo_\br_\bt to the stable version of\n Django, is there a release note in docs/releases/A.B.C.txt? Bug fixes\n that will be applied only to the main branch don\u2019t need a release note.\n *\b**\b**\b**\b* N\bNe\bew\bw F\bFe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- * Are there tests to \u201cexercise\u201d all of the new code?\n+ * Are there tests to \u00abexercise\u00bb all of the new code?\n * Is there a release note in docs/releases/A.B.txt?\n * Is there documentation for the feature and is it _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\bd_\b _\ba_\bp_\bp_\br_\bo_\bp_\br_\bi_\ba_\bt_\be_\bl_\by\n with .. versionadded:: A.B or .. versionchanged:: A.B?\n *\b**\b**\b**\b* D\bDe\bep\bpr\bre\bec\bca\bat\bti\bin\bng\bg a\ba f\bfe\bea\bat\btu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n See the _\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bf_\be_\ba_\bt_\bu_\br_\be guide.\n *\b**\b**\b**\b* A\bAl\bll\bl c\bco\bod\bde\be c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n * Does the _\bc_\bo_\bd_\bi_\bn_\bg_\b _\bs_\bt_\by_\bl_\be conform to our guidelines? Are there any black,\n@@ -260,16 +260,16 @@\n * Is the pull request a single squashed commit with a message that follows\n our _\bc_\bo_\bm_\bm_\bi_\bt_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bf_\bo_\br_\bm_\ba_\bt?\n * Are you the patch author and a new contributor? Please add yourself to\n the _\bA_\bU_\bT_\bH_\bO_\bR_\bS file and submit a _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\b _\bL_\bi_\bc_\be_\bn_\bs_\be_\b _\bA_\bg_\br_\be_\be_\bm_\be_\bn_\bt.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bS_\bu_\bb_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs\n o _\bT_\by_\bp_\bo_\b _\bf_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bt_\br_\bi_\bv_\bi_\ba_\bl_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n- o _\b\u201c_\bC_\bl_\ba_\bi_\bm_\bi_\bn_\bg_\b\u201d_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n- # _\bT_\bi_\bc_\bk_\be_\bt_\b _\bc_\bl_\ba_\bi_\bm_\be_\br_\bs_\b\u2019_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by\n+ o _\b\u00ab_\bC_\bl_\ba_\bi_\bm_\bi_\bn_\bg_\b\u00bb_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n+ # _\bT_\bi_\bc_\bk_\be_\bt_\b _\bc_\bl_\ba_\bi_\bm_\be_\br_\bs_\b\u201d_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by\n # _\bW_\bh_\bi_\bc_\bh_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b _\bs_\bh_\bo_\bu_\bl_\bd_\b _\bb_\be_\b _\bc_\bl_\ba_\bi_\bm_\be_\bd_\b?\n o _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bs_\bt_\by_\bl_\be\n o _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs_\b _\bw_\bh_\bi_\bc_\bh_\b _\br_\be_\bq_\bu_\bi_\br_\be_\b _\bc_\bo_\bm_\bm_\bu_\bn_\bi_\bt_\by_\b _\bf_\be_\be_\bd_\bb_\ba_\bc_\bk\n # _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm_\b _\bo_\br_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs_\b _\bm_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bl_\bi_\bs_\bt\n # _\bT_\bh_\bi_\br_\bd_\b _\bp_\ba_\br_\bt_\by_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be\n # _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bE_\bn_\bh_\ba_\bn_\bc_\be_\bm_\be_\bn_\bt_\b _\bP_\br_\bo_\bp_\bo_\bs_\ba_\bl_\b _\b(_\bD_\bE_\bP_\b)\n o _\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n@@ -279,16 +279,16 @@\n o _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bc_\bh_\be_\bc_\bk_\bl_\bi_\bs_\bt\n # _\bD_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n # _\bB_\bu_\bg_\bs\n # _\bN_\be_\bw_\b _\bF_\be_\ba_\bt_\bu_\br_\be_\bs\n # _\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n # _\bA_\bl_\bl_\b _\bc_\bo_\bd_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bA_\bl_\bl_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bU_\bn_\bi_\bt_\b _\bt_\be_\bs_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Unit tests — Django 5.1.4 documentation\n+ Unit tests — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -868,37 +869,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Submitting contributions

    \n+ title=\"capitolo precedente\">Submitting contributions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Working with Git and GitHub

    \n+ title=\"capitolo successivo\">Working with Git and GitHub

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* U\bUn\bni\bit\bt t\bte\bes\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django comes with a test suite of its own, in the tests directory of the code\n base. It\u2019s our policy to make sure all tests pass at all times.\n We appreciate any and all contributions to the test suite!\n The Django tests all use the testing infrastructure that ships with Django for\n@@ -419,16 +419,16 @@\n # _\bT_\be_\bs_\bt_\b _\bs_\bu_\bi_\bt_\be_\b _\bh_\ba_\bn_\bg_\bs_\b _\bo_\br_\b _\bs_\bh_\bo_\bw_\bs_\b _\bf_\ba_\bi_\bl_\bu_\br_\be_\bs_\b _\bo_\bn_\b _\bm_\ba_\bi_\bn_\b _\bb_\br_\ba_\bn_\bc_\bh\n # _\bM_\ba_\bn_\by_\b _\bt_\be_\bs_\bt_\b _\bf_\ba_\bi_\bl_\bu_\br_\be_\bs_\b _\bw_\bi_\bt_\bh_\b _\bU_\bn_\bi_\bc_\bo_\bd_\be_\bE_\bn_\bc_\bo_\bd_\be_\bE_\br_\br_\bo_\br\n # _\bT_\be_\bs_\bt_\bs_\b _\bt_\bh_\ba_\bt_\b _\bo_\bn_\bl_\by_\b _\bf_\ba_\bi_\bl_\b _\bi_\bn_\b _\bc_\bo_\bm_\bb_\bi_\bn_\ba_\bt_\bi_\bo_\bn\n # _\bS_\be_\be_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bS_\bQ_\bL_\b _\bq_\bu_\be_\br_\bi_\be_\bs_\b _\br_\bu_\bn_\b _\bd_\bu_\br_\bi_\bn_\bg_\b _\ba_\b _\bt_\be_\bs_\bt\n # _\bS_\be_\be_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bf_\bu_\bl_\bl_\b _\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b _\bo_\bf_\b _\ba_\b _\bt_\be_\bs_\bt_\b _\bf_\ba_\bi_\bl_\bu_\br_\be\n o _\bT_\bi_\bp_\bs_\b _\bf_\bo_\br_\b _\bw_\br_\bi_\bt_\bi_\bn_\bg_\b _\bt_\be_\bs_\bt_\bs\n # _\bI_\bs_\bo_\bl_\ba_\bt_\bi_\bn_\bg_\b _\bm_\bo_\bd_\be_\bl_\b _\br_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\bu_\bb_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Working with Git and GitHub — Django 5.1.4 documentation\n+ Working with Git and GitHub — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -102,28 +103,28 @@\n
    \n

    Note that user.name should be your real name, not your GitHub nick. GitHub\n should know the email you use in the user.email field, as this will be\n used to associate your commits with your GitHub account.

    \n \n
    \n

    Setting up local repository\u00b6

    \n-

    When you have created your GitHub account, with the nick \u201cGitHub_nick\u201d, and\n+

    When you have created your GitHub account, with the nick \u00abGitHub_nick\u00bb, and\n forked Django\u2019s repository,\n create a local copy of your fork:

    \n
    git clone https://github.com/GitHub_nick/django.git\n 
    \n
    \n-

    This will create a new directory \u201cdjango\u201d, containing a clone of your GitHub\n+

    This will create a new directory \u00abdjango\u00bb, containing a clone of your GitHub\n repository. The rest of the git commands on this page need to be run within the\n cloned directory, so switch to it now:

    \n
    cd django\n 
    \n
    \n-

    Your GitHub repository will be called \u201corigin\u201d in Git.

    \n-

    You should also set up django/django as an \u201cupstream\u201d remote (that is, tell\n+

    Your GitHub repository will be called \u00aborigin\u00bb in Git.

    \n+

    You should also set up django/django as an \u00abupstream\u00bb remote (that is, tell\n git that the reference Django repository was the source of your fork of it):

    \n
    git remote add upstream https://github.com/django/django.git\n git fetch upstream\n 
    \n
    \n

    You can add other remotes similarly, for example:

    \n
    git remote add akaariai https://github.com/akaariai/django.git\n@@ -163,19 +164,19 @@\n 
    git push origin ticket_xxxxx\n 
    \n
    \n

    When you go to your GitHub page, you will notice a new branch has been created.

    \n

    If you are working on a Trac ticket, you should mention in the ticket that\n your work is available from branch ticket_xxxxx of your GitHub repo. Include a\n link to your branch.

    \n-

    Note that the above branch is called a \u201ctopic branch\u201d in Git parlance. You are\n+

    Note that the above branch is called a \u00abtopic branch\u00bb in Git parlance. You are\n free to rewrite the history of this branch, by using git rebase for\n example. Other people shouldn\u2019t base their work on such a branch, because\n their clone would become corrupt when you edit commits.

    \n-

    There are also \u201cpublic branches\u201d. These are branches other people are supposed\n+

    There are also \u00abpublic branches\u00bb. These are branches other people are supposed\n to fork, so the history of these branches should never change. Good examples\n of public branches are the main and stable/A.B.x branches in the\n django/django repository.

    \n

    When you think your work is ready to be pulled into Django, you should create\n a pull request at GitHub. A good pull request means:

    \n
      \n
    • commits with one logical change in each, following the\n@@ -184,40 +185,40 @@\n wrapped at 72 characters thereafter \u2013 see the committing guidelines for more details,

    • \n
    • documentation and tests, if needed \u2013 actually tests are always needed,\n except for documentation changes.

    • \n
    \n

    The test suite must pass and the documentation must build without warnings.

    \n

    Once you have created your pull request, you should add a comment in the\n related Trac ticket explaining what you\u2019ve done. In particular, you should note\n-the environment in which you ran the tests, for instance: \u201call tests pass\n-under SQLite and MySQL\u201d.

    \n+the environment in which you ran the tests, for instance: \u00aball tests pass\n+under SQLite and MySQL\u00bb.

    \n

    Pull requests at GitHub have only two states: open and closed. The merger who\n will deal with your pull request has only two options: merge it or close it.\n For this reason, it isn\u2019t useful to make a pull request until the code is ready\n for merging \u2013 or sufficiently close that a merger will finish it themselves.

    \n
    \n
    \n

    Rebasing branches\u00b6

    \n-

    In the example above, you created two commits, the \u201cFixed ticket_xxxxx\u201d commit\n-and \u201cAdded two more tests\u201d commit.

    \n+

    In the example above, you created two commits, the \u00abFixed ticket_xxxxx\u00bb commit\n+and \u00abAdded two more tests\u00bb commit.

    \n

    We do not want to have the entire history of your working process in your\n-repository. Your commit \u201cAdded two more tests\u201d would be unhelpful noise.\n+repository. Your commit \u00abAdded two more tests\u00bb would be unhelpful noise.\n Instead, we would rather only have one commit containing all your work.

    \n

    To rework the history of your branch you can squash the commits into one by\n using interactive rebase:

    \n
    git rebase -i HEAD~2\n 
    \n
    \n

    The HEAD~2 above is shorthand for two latest commits. The above command\n-will open an editor showing the two commits, prefixed with the word \u201cpick\u201d.

    \n-

    Change \u201cpick\u201d on the second line to \u201csquash\u201d instead. This will keep the\n+will open an editor showing the two commits, prefixed with the word \u00abpick\u00bb.

    \n+

    Change \u00abpick\u00bb on the second line to \u00absquash\u00bb instead. This will keep the\n first commit, and squash the second commit into the first one. Save and quit\n the editor. A second editor window should open, so you can reword the\n commit message for the commit now that it includes both your steps.

    \n-

    You can also use the \u201cedit\u201d option in rebase. This way you can change a single\n+

    You can also use the \u00abedit\u00bb option in rebase. This way you can change a single\n commit, for example to fix a typo in a docstring:

    \n
    git rebase -i HEAD~3\n # Choose edit, pick, pick for the commits\n # Now you are able to rework the commit (use git add normally to add changes)\n # When finished, commit work with "--amend" and continue\n git commit --amend\n # Reword the commit message if needed\n@@ -342,37 +343,37 @@\n 
  • Summary
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Unit tests

    \n+ title=\"capitolo precedente\">Unit tests

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Coding style

    \n+ title=\"capitolo successivo\">Coding style

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWo\bor\brk\bki\bin\bng\bg w\bwi\bit\bth\bh G\bGi\bit\bt a\ban\bnd\bd G\bGi\bit\btH\bHu\bub\bb_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This section explains how the community can contribute code to Django via pull\n requests. If you\u2019re interested in how _\bm_\be_\br_\bg_\be_\br_\bs handle them, see _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be.\n Below, we are going to show how to create a GitHub pull request containing the\n changes for Trac ticket #xxxxx. By creating a fully-ready pull request, you\n@@ -19,23 +19,23 @@\n email:\n $ git config --global user.name \"Your Real Name\"\n $ git config --global user.email \"you@email.com\"\n Note that user.name should be your real name, not your GitHub nick. GitHub\n should know the email you use in the user.email field, as this will be used to\n associate your commits with your GitHub account.\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp l\blo\boc\bca\bal\bl r\bre\bep\bpo\bos\bsi\bit\bto\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-When you have created your GitHub account, with the nick \u201cGitHub_nick\u201d, and\n+When you have created your GitHub account, with the nick \u00abGitHub_nick\u00bb, and\n _\bf_\bo_\br_\bk_\be_\bd_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\br_\be_\bp_\bo_\bs_\bi_\bt_\bo_\br_\by, create a local copy of your fork:\n git clone https://github.com/GitHub_nick/django.git\n-This will create a new directory \u201cdjango\u201d, containing a clone of your GitHub\n+This will create a new directory \u00abdjango\u00bb, containing a clone of your GitHub\n repository. The rest of the git commands on this page need to be run within the\n cloned directory, so switch to it now:\n cd django\n-Your GitHub repository will be called \u201corigin\u201d in Git.\n-You should also set up django/django as an \u201cupstream\u201d remote (that is, tell git\n+Your GitHub repository will be called \u00aborigin\u00bb in Git.\n+You should also set up django/django as an \u00abupstream\u00bb remote (that is, tell git\n that the reference Django repository was the source of your fork of it):\n git remote add upstream https://github.com/django/django.git\n git fetch upstream\n You can add other remotes similarly, for example:\n git remote add akaariai https://github.com/akaariai/django.git\n *\b**\b**\b**\b**\b* W\bWo\bor\brk\bki\bin\bng\bg o\bon\bn a\ba t\bti\bic\bck\bke\bet\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When working on a ticket, create a new branch for the work, and base that work\n@@ -56,55 +56,55 @@\n *\b**\b**\b**\b* P\bPu\bub\bbl\bli\bis\bsh\bhi\bin\bng\bg w\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n You can publish your work on GitHub by running:\n git push origin ticket_xxxxx\n When you go to your GitHub page, you will notice a new branch has been created.\n If you are working on a Trac ticket, you should mention in the ticket that your\n work is available from branch ticket_xxxxx of your GitHub repo. Include a link\n to your branch.\n-Note that the above branch is called a \u201ctopic branch\u201d in Git parlance. You are\n+Note that the above branch is called a \u00abtopic branch\u00bb in Git parlance. You are\n free to rewrite the history of this branch, by using git rebase for example.\n Other people shouldn\u2019t base their work on such a branch, because their clone\n would become corrupt when you edit commits.\n-There are also \u201cpublic branches\u201d. These are branches other people are supposed\n+There are also \u00abpublic branches\u00bb. These are branches other people are supposed\n to fork, so the history of these branches should never change. Good examples of\n public branches are the main and stable/A.B.x branches in the django/django\n repository.\n When you think your work is ready to be pulled into Django, you should create a\n pull request at GitHub. A good pull request means:\n * commits with one logical change in each, following the _\bc_\bo_\bd_\bi_\bn_\bg_\b _\bs_\bt_\by_\bl_\be,\n * well-formed messages for each commit: a summary line and then paragraphs\n wrapped at 72 characters thereafter \u2013 see the _\bc_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bg_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs for\n more details,\n * documentation and tests, if needed \u2013 actually tests are always needed,\n except for documentation changes.\n The test suite must pass and the documentation must build without warnings.\n Once you have created your pull request, you should add a comment in the\n related Trac ticket explaining what you\u2019ve done. In particular, you should note\n-the environment in which you ran the tests, for instance: \u201call tests pass under\n-SQLite and MySQL\u201d.\n+the environment in which you ran the tests, for instance: \u00aball tests pass under\n+SQLite and MySQL\u00bb.\n Pull requests at GitHub have only two states: open and closed. The merger who\n will deal with your pull request has only two options: merge it or close it.\n For this reason, it isn\u2019t useful to make a pull request until the code is ready\n for merging \u2013 or sufficiently close that a merger will finish it themselves.\n *\b**\b**\b**\b* R\bRe\beb\bba\bas\bsi\bin\bng\bg b\bbr\bra\ban\bnc\bch\bhe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-In the example above, you created two commits, the \u201cFixed ticket_xxxxx\u201d commit\n-and \u201cAdded two more tests\u201d commit.\n+In the example above, you created two commits, the \u00abFixed ticket_xxxxx\u00bb commit\n+and \u00abAdded two more tests\u00bb commit.\n We do not want to have the entire history of your working process in your\n-repository. Your commit \u201cAdded two more tests\u201d would be unhelpful noise.\n+repository. Your commit \u00abAdded two more tests\u00bb would be unhelpful noise.\n Instead, we would rather only have one commit containing all your work.\n To rework the history of your branch you can squash the commits into one by\n using interactive rebase:\n git rebase -i HEAD~2\n The HEAD~2 above is shorthand for two latest commits. The above command will\n-open an editor showing the two commits, prefixed with the word \u201cpick\u201d.\n-Change \u201cpick\u201d on the second line to \u201csquash\u201d instead. This will keep the first\n+open an editor showing the two commits, prefixed with the word \u00abpick\u00bb.\n+Change \u00abpick\u00bb on the second line to \u00absquash\u00bb instead. This will keep the first\n commit, and squash the second commit into the first one. Save and quit the\n editor. A second editor window should open, so you can reword the commit\n message for the commit now that it includes both your steps.\n-You can also use the \u201cedit\u201d option in rebase. This way you can change a single\n+You can also use the \u00abedit\u00bb option in rebase. This way you can change a single\n commit, for example to fix a typo in a docstring:\n git rebase -i HEAD~3\n # Choose edit, pick, pick for the commits\n # Now you are able to rework the commit (use git add normally to add changes)\n # When finished, commit work with \"--amend\" and continue\n git commit --amend\n # Reword the commit message if needed\n@@ -180,16 +180,16 @@\n o _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bo_\bn_\b _\ba_\b _\bt_\bi_\bc_\bk_\be_\bt\n # _\bP_\bu_\bb_\bl_\bi_\bs_\bh_\bi_\bn_\bg_\b _\bw_\bo_\br_\bk\n # _\bR_\be_\bb_\ba_\bs_\bi_\bn_\bg_\b _\bb_\br_\ba_\bn_\bc_\bh_\be_\bs\n # _\bA_\bf_\bt_\be_\br_\b _\bu_\bp_\bs_\bt_\br_\be_\ba_\bm_\b _\bh_\ba_\bs_\b _\bc_\bh_\ba_\bn_\bg_\be_\bd\n # _\bA_\bf_\bt_\be_\br_\b _\br_\be_\bv_\bi_\be_\bw\n o _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bo_\bn_\b _\ba_\b _\bp_\ba_\bt_\bc_\bh\n o _\bS_\bu_\bm_\bm_\ba_\br_\by\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bU_\bn_\bi_\bt_\b _\bt_\be_\bs_\bt_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bd_\bi_\bn_\bg_\b _\bs_\bt_\by_\bl_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html", "source2": "./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing documentation — Django 5.1.4 documentation\n+ Writing documentation — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -257,73 +258,73 @@\n \n \n
    \n

    Writing style\u00b6

    \n-

    When using pronouns in reference to a hypothetical person, such as \u201ca user with\n-a session cookie\u201d, gender-neutral pronouns (they/their/them) should be used.\n+

    When using pronouns in reference to a hypothetical person, such as \u00aba user with\n+a session cookie\u00bb, gender-neutral pronouns (they/their/them) should be used.\n Instead of:

    \n
      \n
    • he or she\u2026 use they.

    • \n
    • him or her\u2026 use them.

    • \n
    • his or her\u2026 use their.

    • \n
    • his or hers\u2026 use theirs.

    • \n
    • himself or herself\u2026 use themselves.

    • \n
    \n

    Try to avoid using words that minimize the difficulty involved in a task or\n-operation, such as \u201ceasily\u201d, \u201csimply\u201d, \u201cjust\u201d, \u201cmerely\u201d, \u201cstraightforward\u201d, and\n+operation, such as \u00abeasily\u00bb, \u00absimply\u00bb, \u00abjust\u00bb, \u00abmerely\u00bb, \u00abstraightforward\u00bb, and\n so on. People\u2019s experience may not match your expectations, and they may become\n-frustrated when they do not find a step as \u201cstraightforward\u201d or \u201csimple\u201d as it\n+frustrated when they do not find a step as \u00abstraightforward\u00bb or \u00absimple\u00bb as it\n is implied to be.

    \n
    \n
    \n

    Commonly used terms\u00b6

    \n

    Here are some style guidelines on commonly used terms throughout the\n documentation:

    \n
      \n
    • Django \u2013 when referring to the framework, capitalize Django. It is\n lowercase only in Python code and in the djangoproject.com logo.

    • \n
    • email \u2013 no hyphen.

    • \n-
    • HTTP \u2013 the expected pronunciation is \u201cAitch Tee Tee Pee\u201d and therefore\n-should be preceded by \u201can\u201d and not \u201ca\u201d.

    • \n+
    • HTTP \u2013 the expected pronunciation is \u00abAitch Tee Tee Pee\u00bb and therefore\n+should be preceded by \u00aban\u00bb and not \u00aba\u00bb.

    • \n
    • MySQL, PostgreSQL, SQLite

    • \n
    • SQL \u2013 when referring to SQL, the expected pronunciation should be\n-\u201cEss Queue Ell\u201d and not \u201csequel\u201d. Thus in a phrase like \u201cReturns an\n-SQL expression\u201d, \u201cSQL\u201d should be preceded by \u201can\u201d and not \u201ca\u201d.

    • \n+\u00abEss Queue Ell\u00bb and not \u00absequel\u00bb. Thus in a phrase like \u00abReturns an\n+SQL expression\u00bb, \u00abSQL\u00bb should be preceded by \u00aban\u00bb and not \u00aba\u00bb.

      \n
    • Python \u2013 when referring to the language, capitalize Python.

    • \n
    • realize, customize, initialize, etc. \u2013 use the American\n-\u201cize\u201d suffix, not \u201cise.\u201d

    • \n+\u00abize\u00bb suffix, not \u00abise.\u00bb

      \n
    • subclass \u2013 it\u2019s a single word without a hyphen, both as a verb\n-(\u201csubclass that model\u201d) and as a noun (\u201ccreate a subclass\u201d).

    • \n+(\u00absubclass that model\u00bb) and as a noun (\u00abcreate a subclass\u00bb).

      \n
    • the web, web framework \u2013 it\u2019s not capitalized.

    • \n
    • website \u2013 use one word, without capitalization.

    • \n
    \n
    \n
    \n

    Django-specific terminology\u00b6

    \n
      \n
    • model \u2013 it\u2019s not capitalized.

    • \n
    • template \u2013 it\u2019s not capitalized.

    • \n
    • URLconf \u2013 use three capitalized letters, with no space before\n-\u201cconf.\u201d

    • \n+\u00abconf.\u00bb

      \n
    • view \u2013 it\u2019s not capitalized.

    • \n
    \n
    \n
    \n

    Guidelines for reStructuredText files\u00b6

    \n

    These guidelines regulate the format of our reST (reStructuredText)\n documentation:

    \n@@ -340,20 +341,20 @@\n

    Isn\u2019t nearly as helpful as:

    \n
    Add :mod:`django.contrib.auth` to your :setting:`INSTALLED_APPS`...\n 
    \n
    \n

    This is because Sphinx will generate proper links for the latter, which\n greatly helps readers.

    \n

    You can prefix the target with a ~ (that\u2019s a tilde) to get only the\n-\u201clast bit\u201d of that path. So :mod:`~django.contrib.auth` will\n-display a link with the title \u201cauth\u201d.

    \n+\u00ablast bit\u00bb of that path. So :mod:`~django.contrib.auth` will\n+display a link with the title \u00abauth\u00bb.

    \n \n
  • All Python code blocks should be formatted using the blacken-docs\n auto-formatter. This will be run by pre-commit if that is configured.

  • \n-
  • Use intersphinx to reference Python\u2019s and Sphinx\u2019\n+

  • Use intersphinx to reference Python\u2019s and Sphinx\u201d\n documentation.

  • \n
  • Add .. code-block:: <lang> to literal blocks so that they get\n highlighted. Prefer relying on automatic highlighting using ::\n (two colons). This has the benefit that if the code contains some invalid\n syntax, it won\u2019t be highlighted. Adding .. code-block:: python, for\n example, will force highlighting despite invalid syntax.

  • \n
  • To improve readability, use .. admonition:: Descriptive title rather than\n@@ -482,21 +483,21 @@\n

    Our policy for new features is:

    \n
    \n

    All documentation of new features should be written in a way that\n clearly designates the features that are only available in the Django\n development version. Assume documentation readers are using the latest\n release, not the development version.

    \n
    \n-

    Our preferred way for marking new features is by prefacing the features\u2019\n-documentation with: \u201c.. versionadded:: X.Y\u201d, followed by a mandatory\n+

    Our preferred way for marking new features is by prefacing the features\u201d\n+documentation with: \u00ab.. versionadded:: X.Y\u00bb, followed by a mandatory\n blank line and an optional description (indented).

    \n

    General improvements or other changes to the APIs that should be emphasized\n-should use the \u201c.. versionchanged:: X.Y\u201d directive (with the same format\n+should use the \u00ab.. versionchanged:: X.Y\u00bb directive (with the same format\n as the versionadded mentioned above.

    \n-

    These versionadded and versionchanged blocks should be \u201cself-contained.\u201d\n+

    These versionadded and versionchanged blocks should be \u00abself-contained.\u00bb\n In other words, since we only keep these annotations around for two releases,\n it\u2019s nice to be able to remove the annotation and its contents without having\n to reflow, reindent, or edit the surrounding text. For example, instead of\n putting the entire description of a new or changed feature in a block, do\n something like this:

    \n
    .. class:: Author(first_name, last_name, middle_name=None)\n \n@@ -512,16 +513,16 @@\n \n         The ``middle_name`` argument was added.\n 
    \n
    \n

    Put the changed annotation notes at the bottom of a section, not the top.

    \n

    Also, avoid referring to a specific version of Django outside a\n versionadded or versionchanged block. Even inside a block, it\u2019s often\n-redundant to do so as these annotations render as \u201cNew in Django A.B:\u201d and\n-\u201cChanged in Django A.B\u201d, respectively.

    \n+redundant to do so as these annotations render as \u00abNew in Django A.B:\u00bb and\n+\u00abChanged in Django A.B\u00bb, respectively.

    \n

    If a function, attribute, etc. is added, it\u2019s also okay to use a\n versionadded annotation like this:

    \n
    .. attribute:: Author.middle_name\n \n     .. versionadded:: A.B\n \n     An author's middle name.\n@@ -600,15 +601,15 @@\n \n     [("John", "john@example.com"), ("Mary", "mary@example.com")]\n \n Note that Django will email *all* of these people whenever an error happens.\n See :doc:`/howto/error-reporting` for more information.\n 
    \n
    \n-

    This marks up the following header as the \u201ccanonical\u201d target for the\n+

    This marks up the following header as the \u00abcanonical\u00bb target for the\n setting ADMINS. This means any time I talk about ADMINS,\n I can reference it using :setting:`ADMINS`.

    \n
  • \n \n

    That\u2019s basically how everything fits together.

    \n
    \n
    \n@@ -667,37 +668,37 @@\n
  • django-admin man page
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Committing code

    \n+ title=\"capitolo precedente\">Committing code

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Localizing Django

    \n+ title=\"capitolo successivo\">Localizing Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n We place high importance on the consistency and readability of documentation.\n After all, Django was created in a journalism environment! So we treat our\n documentation like we treat our code: we aim to improve it as often as\n possible.\n@@ -110,59 +110,59 @@\n to docs/spelling_wordlist (please keep the list in alphabetical order).\n *\b**\b**\b**\b* L\bLi\bin\bnk\bk c\bch\bhe\bec\bck\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n Links in documentation can become broken or changed such that they are no\n longer the canonical link. Sphinx provides a builder that can check whether the\n links in the documentation are working. From the docs directory, run make\n linkcheck. Output is printed to the terminal, but can also be found in _build/\n linkcheck/output.txt and _build/linkcheck/output.json.\n-Entries that have a status of \u201cworking\u201d are fine, those that are \u201cunchecked\u201d or\n-\u201cignored\u201d have been skipped because they either cannot be checked or have\n+Entries that have a status of \u00abworking\u00bb are fine, those that are \u00abunchecked\u00bb or\n+\u00abignored\u00bb have been skipped because they either cannot be checked or have\n matched ignore rules in the configuration.\n-Entries that have a status of \u201cbroken\u201d need to be fixed. Those that have a\n-status of \u201credirected\u201d may need to be updated to point to the canonical\n+Entries that have a status of \u00abbroken\u00bb need to be fixed. Those that have a\n+status of \u00abredirected\u00bb may need to be updated to point to the canonical\n location, e.g. the scheme has changed http:// \u2192 https://. In certain cases, we\n-do not want to update a \u201credirected\u201d link, e.g. a rewrite to always point to\n+do not want to update a \u00abredirected\u00bb link, e.g. a rewrite to always point to\n the latest or stable version of the documentation, e.g. /en/stable/ \u2192 /en/3.2/.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg s\bst\bty\byl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-When using pronouns in reference to a hypothetical person, such as \u201ca user with\n-a session cookie\u201d, gender-neutral pronouns (they/their/them) should be used.\n+When using pronouns in reference to a hypothetical person, such as \u00aba user with\n+a session cookie\u00bb, gender-neutral pronouns (they/their/them) should be used.\n Instead of:\n * he or she\u2026 use they.\n * him or her\u2026 use them.\n * his or her\u2026 use their.\n * his or hers\u2026 use theirs.\n * himself or herself\u2026 use themselves.\n Try to avoid using words that minimize the difficulty involved in a task or\n-operation, such as \u201ceasily\u201d, \u201csimply\u201d, \u201cjust\u201d, \u201cmerely\u201d, \u201cstraightforward\u201d, and\n+operation, such as \u00abeasily\u00bb, \u00absimply\u00bb, \u00abjust\u00bb, \u00abmerely\u00bb, \u00abstraightforward\u00bb, and\n so on. People\u2019s experience may not match your expectations, and they may become\n-frustrated when they do not find a step as \u201cstraightforward\u201d or \u201csimple\u201d as it\n+frustrated when they do not find a step as \u00abstraightforward\u00bb or \u00absimple\u00bb as it\n is implied to be.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bmo\bon\bnl\bly\by u\bus\bse\bed\bd t\bte\ber\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Here are some style guidelines on commonly used terms throughout the\n documentation:\n * D\bDj\bja\ban\bng\bgo\bo \u2013 when referring to the framework, capitalize Django. It is\n lowercase only in Python code and in the djangoproject.com logo.\n * e\bem\bma\bai\bil\bl \u2013 no hyphen.\n- * H\bHT\bTT\bTP\bP \u2013 the expected pronunciation is \u201cAitch Tee Tee Pee\u201d and therefore\n- should be preceded by \u201can\u201d and not \u201ca\u201d.\n+ * H\bHT\bTT\bTP\bP \u2013 the expected pronunciation is \u00abAitch Tee Tee Pee\u00bb and therefore\n+ should be preceded by \u00aban\u00bb and not \u00aba\u00bb.\n * M\bMy\byS\bSQ\bQL\bL, P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL, S\bSQ\bQL\bLi\bit\bte\be\n- * S\bSQ\bQL\bL \u2013 when referring to SQL, the expected pronunciation should be \u201cEss\n- Queue Ell\u201d and not \u201csequel\u201d. Thus in a phrase like \u201cReturns an SQL\n- expression\u201d, \u201cSQL\u201d should be preceded by \u201can\u201d and not \u201ca\u201d.\n+ * S\bSQ\bQL\bL \u2013 when referring to SQL, the expected pronunciation should be \u00abEss\n+ Queue Ell\u00bb and not \u00absequel\u00bb. Thus in a phrase like \u00abReturns an SQL\n+ expression\u00bb, \u00abSQL\u00bb should be preceded by \u00aban\u00bb and not \u00aba\u00bb.\n * P\bPy\byt\bth\bho\bon\bn \u2013 when referring to the language, capitalize Python.\n- * r\bre\bea\bal\bli\biz\bze\be, c\bcu\bus\bst\bto\bom\bmi\biz\bze\be, i\bin\bni\bit\bti\bia\bal\bli\biz\bze\be, etc. \u2013 use the American \u201cize\u201d suffix, not\n- \u201cise.\u201d\n- * s\bsu\bub\bbc\bcl\bla\bas\bss\bs \u2013 it\u2019s a single word without a hyphen, both as a verb (\u201csubclass\n- that model\u201d) and as a noun (\u201ccreate a subclass\u201d).\n+ * r\bre\bea\bal\bli\biz\bze\be, c\bcu\bus\bst\bto\bom\bmi\biz\bze\be, i\bin\bni\bit\bti\bia\bal\bli\biz\bze\be, etc. \u2013 use the American \u00abize\u00bb suffix, not\n+ \u00abise.\u00bb\n+ * s\bsu\bub\bbc\bcl\bla\bas\bss\bs \u2013 it\u2019s a single word without a hyphen, both as a verb (\u00absubclass\n+ that model\u00bb) and as a noun (\u00abcreate a subclass\u00bb).\n * t\bth\bhe\be w\bwe\beb\bb, w\bwe\beb\bb f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk \u2013 it\u2019s not capitalized.\n * w\bwe\beb\bbs\bsi\bit\bte\be \u2013 use one word, without capitalization.\n *\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo-\b-s\bsp\bpe\bec\bci\bif\bfi\bic\bc t\bte\ber\brm\bmi\bin\bno\bol\blo\bog\bgy\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * m\bmo\bod\bde\bel\bl \u2013 it\u2019s not capitalized.\n * t\bte\bem\bmp\bpl\bla\bat\bte\be \u2013 it\u2019s not capitalized.\n- * U\bUR\bRL\bLc\bco\bon\bnf\bf \u2013 use three capitalized letters, with no space before \u201cconf.\u201d\n+ * U\bUR\bRL\bLc\bco\bon\bnf\bf \u2013 use three capitalized letters, with no space before \u00abconf.\u00bb\n * v\bvi\bie\bew\bw \u2013 it\u2019s not capitalized.\n *\b**\b**\b**\b**\b* G\bGu\bui\bid\bde\bel\bli\bin\bne\bes\bs f\bfo\bor\br r\bre\beS\bSt\btr\bru\buc\bct\btu\bur\bre\bed\bdT\bTe\bex\bxt\bt f\bfi\bil\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n These guidelines regulate the format of our reST (reStructuredText)\n documentation:\n * In section titles, capitalize only initial words and proper nouns.\n * Wrap the documentation at 80 characters wide, unless a code example is\n significantly less readable when split over two lines, or for another\n@@ -170,20 +170,20 @@\n * The main thing to keep in mind as you write and edit docs is that the\n more semantic markup you can add the better. So:\n Add ``django.contrib.auth`` to your ``INSTALLED_APPS``...\n Isn\u2019t nearly as helpful as:\n Add :mod:`django.contrib.auth` to your :setting:`INSTALLED_APPS`...\n This is because Sphinx will generate proper links for the latter, which\n greatly helps readers.\n- You can prefix the target with a ~ (that\u2019s a tilde) to get only the \u201clast\n- bit\u201d of that path. So :mod:`~django.contrib.auth` will display a link\n- with the title \u201cauth\u201d.\n+ You can prefix the target with a ~ (that\u2019s a tilde) to get only the \u00ablast\n+ bit\u00bb of that path. So :mod:`~django.contrib.auth` will display a link\n+ with the title \u00abauth\u00bb.\n * All Python code blocks should be formatted using the _\bb_\bl_\ba_\bc_\bk_\be_\bn_\b-_\bd_\bo_\bc_\bs auto-\n formatter. This will be run by pre-commit if that is configured.\n- * Use intersphinx to reference Python\u2019s and Sphinx\u2019 documentation.\n+ * Use intersphinx to reference Python\u2019s and Sphinx\u201d documentation.\n * Add .. code-block:: to literal blocks so that they get\n highlighted. Prefer relying on automatic highlighting using :: (two\n colons). This has the benefit that if the code contains some invalid\n syntax, it won\u2019t be highlighted. Adding .. code-block:: python, for\n example, will force highlighting despite invalid syntax.\n * To improve readability, use .. admonition:: Descriptive title rather than\n .. note::. Use these boxes sparingly.\n@@ -268,21 +268,21 @@\n ...\\> py manage.py shell\n *\b**\b**\b**\b**\b* D\bDo\boc\bcu\bum\bme\ben\bnt\bti\bin\bng\bg n\bne\bew\bw f\bfe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Our policy for new features is:\n All documentation of new features should be written in a way that\n clearly designates the features that are only available in the Django\n development version. Assume documentation readers are using the\n latest release, not the development version.\n-Our preferred way for marking new features is by prefacing the features\u2019\n-documentation with: \u201c.. versionadded:: X.Y\u201d, followed by a mandatory blank line\n+Our preferred way for marking new features is by prefacing the features\u201d\n+documentation with: \u00ab.. versionadded:: X.Y\u00bb, followed by a mandatory blank line\n and an optional description (indented).\n General improvements or other changes to the APIs that should be emphasized\n-should use the \u201c.. versionchanged:: X.Y\u201d directive (with the same format as the\n+should use the \u00ab.. versionchanged:: X.Y\u00bb directive (with the same format as the\n versionadded mentioned above.\n-These versionadded and versionchanged blocks should be \u201cself-contained.\u201d In\n+These versionadded and versionchanged blocks should be \u00abself-contained.\u00bb In\n other words, since we only keep these annotations around for two releases, it\u2019s\n nice to be able to remove the annotation and its contents without having to\n reflow, reindent, or edit the surrounding text. For example, instead of putting\n the entire description of a new or changed feature in a block, do something\n like this:\n .. class:: Author(first_name, last_name, middle_name=None)\n \n@@ -296,15 +296,15 @@\n \n .. versionchanged:: A.B\n \n The ``middle_name`` argument was added.\n Put the changed annotation notes at the bottom of a section, not the top.\n Also, avoid referring to a specific version of Django outside a versionadded or\n versionchanged block. Even inside a block, it\u2019s often redundant to do so as\n-these annotations render as \u201cNew in Django A.B:\u201d and \u201cChanged in Django A.B\u201d,\n+these annotations render as \u00abNew in Django A.B:\u00bb and \u00abChanged in Django A.B\u00bb,\n respectively.\n If a function, attribute, etc. is added, it\u2019s also okay to use a versionadded\n annotation like this:\n .. attribute:: Author.middle_name\n \n .. versionadded:: A.B\n \n@@ -370,15 +370,15 @@\n of (Full name, email address). Example::\n \n [(\"John\", \"john@example.com\"), (\"Mary\", \"mary@example.com\")]\n \n Note that Django will email *all* of these people whenever an error\n happens.\n See :doc:`/howto/error-reporting` for more information.\n- This marks up the following header as the \u201ccanonical\u201d target for the\n+ This marks up the following header as the \u00abcanonical\u00bb target for the\n setting ADMINS. This means any time I talk about ADMINS, I can reference\n it using :setting:`ADMINS`.\n That\u2019s basically how everything fits together.\n *\b**\b**\b**\b**\b* T\bTr\bra\ban\bns\bsl\bla\bat\bti\bin\bng\bg d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n See _\bL_\bo_\bc_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn if you\u2019d like to help translate the\n documentation into another language.\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo-\b-a\bad\bdm\bmi\bin\bn m\bma\ban\bn p\bpa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -406,16 +406,16 @@\n o _\bG_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs_\b _\bf_\bo_\br_\b _\br_\be_\bS_\bt_\br_\bu_\bc_\bt_\bu_\br_\be_\bd_\bT_\be_\bx_\bt_\b _\bf_\bi_\bl_\be_\bs\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bm_\ba_\br_\bk_\bu_\bp\n o _\bD_\bo_\bc_\bu_\bm_\be_\bn_\bt_\bi_\bn_\bg_\b _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bM_\bi_\bn_\bi_\bm_\bi_\bz_\bi_\bn_\bg_\b _\bi_\bm_\ba_\bg_\be_\bs\n o _\bA_\bn_\b _\be_\bx_\ba_\bm_\bp_\bl_\be\n o _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bm_\ba_\bn_\b _\bp_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bL_\bo_\bc_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/deprecation.html", "source2": "./usr/share/doc/python-django-doc/html/internals/deprecation.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django Deprecation Timeline — Django 5.1.4 documentation\n+ Django Deprecation Timeline — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -390,15 +391,15 @@\n
  • DatabaseIntrospection.get_indexes() will be removed.

  • \n
  • The authenticate() method of authentication backends will require\n request as the first positional argument.

  • \n
  • The django.db.models.permalink() decorator will be removed.

  • \n
  • The USE_ETAGS setting will be removed. CommonMiddleware and\n django.utils.cache.patch_response_headers() will no longer set ETags.

  • \n
  • The Model._meta.has_auto_field attribute will be removed.

  • \n-
  • url()\u2019s support for inline flags in regular expression groups ((?i),\n+

  • url()\u201ds support for inline flags in regular expression groups ((?i),\n (?L), (?m), (?s), and (?u)) will be removed.

  • \n
  • Support for Widget.render() methods without the renderer argument\n will be removed.

  • \n \n \n
    \n

    2.0\u00b6

    \n@@ -811,15 +812,15 @@\n django.forms.widgets.RadioChoiceInput.

    \n
  • The module django.test.simple and the class\n django.test.simple.DjangoTestSuiteRunner will be removed. Instead use\n django.test.runner.DiscoverRunner.

  • \n
  • The module django.test._doctest will be removed. Instead use the doctest\n module from the Python standard library.

  • \n
  • The CACHE_MIDDLEWARE_ANONYMOUS_ONLY setting will be removed.

  • \n-
  • Usage of the hard-coded Hold down \u201cControl\u201d, or \u201cCommand\u201d on a Mac, to select\n+

  • Usage of the hard-coded Hold down \u00abControl\u00bb, or \u00abCommand\u00bb on a Mac, to select\n more than one. string to override or append to user-provided help_text in\n forms for ManyToMany model fields will not be performed by Django anymore\n either at the model or forms layer.

  • \n
  • The Model._meta.get_(add|change|delete)_permission methods will\n be removed.

  • \n
  • The session key django_language will no longer be read for backwards\n compatibility.

  • \n@@ -1134,37 +1135,37 @@\n
  • 1.3
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django\u2019s release process

    \n+ title=\"capitolo precedente\">Django\u2019s release process

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The Django source code repository

    \n+ title=\"capitolo successivo\">The Django source code repository

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo D\bDe\bep\bpr\bre\bec\bca\bat\bti\bio\bon\bn T\bTi\bim\bme\bel\bli\bin\bne\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document outlines when various pieces of Django will be removed or altered\n in a backward incompatible way, following their deprecation, as per the\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bo_\bl_\bi_\bc_\by. More details about each item can often be found in the\n release notes of two versions prior.\n@@ -254,15 +254,15 @@\n * DatabaseIntrospection.get_indexes() will be removed.\n * The authenticate() method of authentication backends will require request\n as the first positional argument.\n * The django.db.models.permalink() decorator will be removed.\n * The USE_ETAGS setting will be removed. CommonMiddleware and\n django.utils.cache.patch_response_headers() will no longer set ETags.\n * The Model._meta.has_auto_field attribute will be removed.\n- * url()\u2019s support for inline flags in regular expression groups ((?i),\n+ * url()\u201ds support for inline flags in regular expression groups ((?i),\n (?L), (?m), (?s), and (?u)) will be removed.\n * Support for Widget.render() methods without the renderer argument will be\n removed.\n *\b**\b**\b**\b**\b* 2\b2.\b.0\b0_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n See the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs for more details on these changes.\n * The weak argument to django.dispatch.signals.Signal.disconnect() will be\n removed.\n@@ -608,15 +608,15 @@\n django.forms.widgets.RadioChoiceInput.\n * The module django.test.simple and the class\n django.test.simple.DjangoTestSuiteRunner will be removed. Instead use\n django.test.runner.DiscoverRunner.\n * The module django.test._doctest will be removed. Instead use the doctest\n module from the Python standard library.\n * The CACHE_MIDDLEWARE_ANONYMOUS_ONLY setting will be removed.\n- * Usage of the hard-coded H\bHo\bol\bld\bd d\bdo\bow\bwn\bn ?\b\u201cC\bCo\bon\bnt\btr\bro\bol\bl?\b\u201d,\b, o\bor\br ?\b\u201cC\bCo\bom\bmm\bma\ban\bnd\bd?\b\u201d o\bon\bn a\ba M\bMa\bac\bc,\b, t\bto\bo\n+ * Usage of the hard-coded H\bHo\bol\bld\bd d\bdo\bow\bwn\bn ?\b\u00abC\bCo\bon\bnt\btr\bro\bol\bl?\b\u00bb,\b, o\bor\br ?\b\u00abC\bCo\bom\bmm\bma\ban\bnd\bd?\b\u00bb o\bon\bn a\ba M\bMa\bac\bc,\b, t\bto\bo\n s\bse\bel\ble\bec\bct\bt m\bmo\bor\bre\be t\bth\bha\ban\bn o\bon\bne\be.\b. string to override or append to user-provided\n help_text in forms for ManyToMany model fields will not be performed by\n Django anymore either at the model or forms layer.\n * The Model._meta.get_(add|change|delete)_permission methods will be\n removed.\n * The session key django_language will no longer be read for backwards\n compatibility.\n@@ -865,16 +865,16 @@\n o _\b1_\b._\b9\n o _\b1_\b._\b8\n o _\b1_\b._\b7\n o _\b1_\b._\b6\n o _\b1_\b._\b5\n o _\b1_\b._\b4\n o _\b1_\b._\b3\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bo_\bu_\br_\bc_\be_\b _\bc_\bo_\bd_\be_\b _\br_\be_\bp_\bo_\bs_\bi_\bt_\bo_\br_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/git.html", "source2": "./usr/share/doc/python-django-doc/html/internals/git.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The Django source code repository — Django 5.1.4 documentation\n+ The Django source code repository — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -114,15 +115,15 @@\n \n
    \n

    The main branch\u00b6

    \n

    If you\u2019d like to try out the in-development code for the next release of\n Django, or if you\u2019d like to contribute to Django by fixing bugs or developing\n new features, you\u2019ll want to get the code from the main branch.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Prior to March 2021, the main branch was called master.

    \n
    \n

    Note that this will get all of Django: in addition to the top-level\n django module containing Python code, you\u2019ll also get a copy of Django\u2019s\n documentation, test suite, packaging scripts and other miscellaneous bits.\n Django\u2019s code will be present in your clone as a directory named\n django.

    \n@@ -269,37 +270,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django Deprecation Timeline

    \n+ title=\"capitolo precedente\">Django Deprecation Timeline

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    How is Django Formed?

    \n+ title=\"capitolo successivo\">How is Django Formed?

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be D\bDj\bja\ban\bng\bgo\bo s\bso\bou\bur\brc\bce\be c\bco\bod\bde\be r\bre\bep\bpo\bos\bsi\bit\bto\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n When deploying a Django application into a real production environment, you\n will almost always want to use _\ba_\bn_\b _\bo_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bd_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo.\n However, if you\u2019d like to try out in-development code from an upcoming release\n or contribute to the development of Django, you\u2019ll need to obtain a clone of\n@@ -31,15 +31,15 @@\n A number of tags also exist under the archive/ prefix for _\ba_\br_\bc_\bh_\bi_\bv_\be_\bd_\b _\bw_\bo_\br_\bk.\n The source code for the _\bD_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm website can be found at _\bg_\bi_\bt_\bh_\bu_\bb_\b._\bc_\bo_\bm_\b/\n _\bd_\bj_\ba_\bn_\bg_\bo_\b/_\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm.\n *\b**\b**\b**\b**\b* T\bTh\bhe\be m\bma\bai\bin\bn b\bbr\bra\ban\bnc\bch\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you\u2019d like to try out the in-development code for the next release of\n Django, or if you\u2019d like to contribute to Django by fixing bugs or developing\n new features, you\u2019ll want to get the code from the main branch.\n-Note\n+Nota\n Prior to March 2021, the main branch was called master.\n Note that this will get a\bal\bll\bl of Django: in addition to the top-level django\n module containing Python code, you\u2019ll also get a copy of Django\u2019s\n documentation, test suite, packaging scripts and other miscellaneous bits.\n Django\u2019s code will be present in your clone as a directory named django.\n To try out the in-development code with your own applications, place the\n directory containing your clone on your Python import path. Then import\n@@ -140,16 +140,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bo_\bu_\br_\bc_\be_\b _\bc_\bo_\bd_\be_\b _\br_\be_\bp_\bo_\bs_\bi_\bt_\bo_\br_\by\n o _\bH_\bi_\bg_\bh_\b-_\bl_\be_\bv_\be_\bl_\b _\bo_\bv_\be_\br_\bv_\bi_\be_\bw\n o _\bT_\bh_\be_\b _\bm_\ba_\bi_\bn_\b _\bb_\br_\ba_\bn_\bc_\bh\n o _\bS_\bt_\ba_\bb_\bl_\be_\b _\bb_\br_\ba_\bn_\bc_\bh_\be_\bs\n o _\bT_\ba_\bg_\bs\n # _\bA_\br_\bc_\bh_\bi_\bv_\be_\bd_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bw_\bo_\br_\bk\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bT_\bi_\bm_\be_\bl_\bi_\bn_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bH_\bo_\bw_\b _\bi_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bm_\be_\bd_\b?\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/howto-release-django.html", "source2": "./usr/share/doc/python-django-doc/html/internals/howto-release-django.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- How is Django Formed? — Django 5.1.4 documentation\n+ How is Django Formed? — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -126,15 +127,15 @@\n Linux, or md5 and shasum on macOS)

    \n
  • python

  • \n
  • ssh

  • \n \n \n
  • A GPG key pair. Ensure that the private part of this key is securely stored.\n The public part needs to be uploaded to your GitHub account, and also to the\n-Jenkins server running the \u201cconfirm release\u201d job.

    \n+Jenkins server running the \u00abconfirm release\u00bb job.

    \n
    \n

    More than one GPG key

    \n

    If the key you want to use is not your default signing key, you\u2019ll need to\n add -u you@example.com to every GPG signing command shown below, where\n you@example.com is the email address associated with the key you want\n to use.

    \n
    \n@@ -177,15 +178,15 @@\n rest_hostname = https://rest.api.transifex.com\n token = # API token\n
  • \n
    \n
    \n \n
  • Access to the djangoproject.com server to upload files (using scp).

  • \n-
  • Access to the Django admin on djangoproject.com as a \u201cSite maintainer\u201d.

  • \n+
  • Access to the Django admin on djangoproject.com as a \u00abSite maintainer\u00bb.

  • \n
  • Access to create a post in the Django Forum - Announcements category and to send emails to\n the following mailing lists:

    \n \n@@ -272,15 +273,15 @@\n POT-Creation-Date. You can use a command similar to this to bulk update\n all the .po files (compare the diff against the relevant stable branch):

    \n
    $ git diff --name-only stable/5.0.x | grep "\\.po"  | xargs sed -ri "s/PO-Revision-Date: [0-9\\-]+ /PO-Revision-Date: $(date -I) /g"\n 
    \n
    \n

    All the new .po files should be manually and carefully inspected to\n avoid committing a change in a file without any new translations. Also,\n-there shouldn\u2019t be any changes in the \u201cplural forms\u201d: if there are any\n+there shouldn\u2019t be any changes in the \u00abplural forms\u00bb: if there are any\n (usually Spanish and French report changes for this) those will need\n reverting.

    \n

    Lastly, commit the changed/added files (both .po and .mo) and create\n a new PR targeting the stable branch of the corresponding release (example\n PR updating translations for 4.2).

    \n
  • \n
  • Update the django-admin manual page:

    \n@@ -299,15 +300,15 @@\n
  • \n
    \n

    At the same time, update the django_next_version variable in\n docs/conf.py on the stable release branch to point to the new\n development version. For example, when creating stable/4.2.x, set\n django_next_version to '5.0' on the new branch.

    \n \n-
  • If this is the \u201cdot zero\u201d release of a new series, create a new branch from\n+

  • If this is the \u00abdot zero\u00bb release of a new series, create a new branch from\n the current stable branch in the django-docs-translations repository. For\n example, when releasing Django 4.2:

    \n
    $ git checkout -b stable/4.2.x origin/stable/4.1.x\n $ git push origin stable/4.2.x:stable/4.2.x\n 
    \n
    \n
  • \n@@ -365,15 +366,15 @@\n that the commit is a security fix and that an announcement will follow\n (example security commit).

    \n \n
  • Update the version number in django/__init__.py for the release.\n Please see notes on setting the VERSION tuple below for details\n on VERSION (example commit).

    \n
      \n-
    1. If this is a pre-release package also update the \u201cDevelopment Status\u201d\n+

    2. If this is a pre-release package also update the \u00abDevelopment Status\u00bb\n trove classifier in pyproject.toml to reflect this. An rc\n pre-release should not change the trove classifier (example\n commit for alpha release,\n example commit for beta release).

    3. \n
    4. Otherwise, make sure the classifier is set to\n Development Status :: 5 - Production/Stable.

    5. \n
    \n@@ -397,15 +398,15 @@\n
    $ cd dist\n $ md5sum *\n $ sha1sum *\n $ sha256sum *\n 
    \n
    \n
  • \n-
  • Create a \u201cchecksums\u201d file, Django-<<VERSION>>.checksum.txt containing\n+

  • Create a \u00abchecksums\u00bb file, Django-<<VERSION>>.checksum.txt containing\n the hashes and release information. Start with this template and insert the\n correct version, date, GPG key ID (from\n gpg --list-keys --keyid-format LONG), release manager\u2019s GitHub username,\n release URL, and checksums:

    \n
    This file contains MD5, SHA1, and SHA256 checksums for the source-code\n tarball and wheel files of Django <<VERSION>>, released <<DATE>>.\n \n@@ -522,15 +523,15 @@\n file):

    \n
    $ twine upload dist/*\n 
    \n
    \n
  • \n
  • Go to the Add release page in the admin, enter the new release number\n exactly as it appears in the name of the tarball\n-(Django-<version>.tar.gz). So for example enter \u201c4.1.1\u201d or \u201c4.2rc1\u201d,\n+(Django-<version>.tar.gz). So for example enter \u00ab4.1.1\u00bb or \u00ab4.2rc1\u00bb,\n etc. If the release is part of an LTS branch, mark it so.

    \n

    If this is the alpha release of a new series, also create a Release object\n for the final release, ensuring that the Release date field is blank,\n thus marking it as unreleased. For example, when creating the Release\n object for 4.2a1, also create 4.2 with the Release date field blank.

    \n
  • \n
  • Make the blog post announcing the release live.

  • \n@@ -552,15 +553,15 @@\n
    \n \n
  • Post the release announcement to the django-announce, django-developers,\n django-users mailing lists, and the Django Forum. This should include a\n link to the announcement blog post.

  • \n
  • If this is a security release, send a separate email to\n oss-security@lists.openwall.com. Provide a descriptive subject, for example,\n-\u201cDjango\u201d plus the issue title from the release notes (including CVE ID). The\n+\u00abDjango\u00bb plus the issue title from the release notes (including CVE ID). The\n message body should include the vulnerability details, for example, the\n announcement blog post text. Include a link to the announcement blog post.

  • \n
  • Add a link to the blog post in the topic of the #django IRC channel:\n /msg chanserv TOPIC #django new topic goes here.

  • \n \n \n
    \n@@ -571,15 +572,15 @@\n incrementing to whatever the next expected release will be. For\n example, after releasing 4.1.1, update VERSION to\n VERSION = (4, 1, 2, 'alpha', 0).

    \n
  • Add the release in Trac\u2019s versions list if necessary (and make it the\n default by changing the default_version setting in the\n code.djangoproject.com\u2019s trac.ini, if it\u2019s a final release). The new X.Y\n version should be added after the alpha release and the default version\n-should be updated after \u201cdot zero\u201d release.

    \n+should be updated after \u00abdot zero\u00bb release.

    \n
  • \n
  • If this was a final release:

    \n
      \n
    1. Update the current stable branch and remove the pre-release branch in the\n Django release process on Trac.

    2. \n
    3. Update djangoproject.com\u2019s download page (example PR).

    4. \n
    \n@@ -605,22 +606,22 @@\n
  • Increase the default PBKDF2 iterations in\n django.contrib.auth.hashers.PBKDF2PasswordHasher by about 20%\n (pick a round number). Run the tests, and update the 3 failing\n hasher tests with the new values. Make sure this gets noted in the\n release notes (see the 4.1 release notes for an example).

  • \n
  • Remove features that have reached the end of their deprecation cycle. Each\n removal should be done in a separate commit for clarity. In the commit\n-message, add a \u201crefs #XXXX\u201d to the original ticket where the deprecation\n+message, add a \u00abrefs #XXXX\u00bb to the original ticket where the deprecation\n began if possible.

  • \n
  • Remove .. versionadded::, .. versionchanged::, and\n .. deprecated:: annotations in the documentation from two releases ago.\n For example, in Django 4.2, notes for 4.0 will be removed.

  • \n
  • Add the new branch to Read the Docs. Since the automatically\n-generated version names (\u201cstable-A.B.x\u201d) differ from the version names\n-used in Read the Docs (\u201cA.B.x\u201d), create a ticket requesting\n+generated version names (\u00abstable-A.B.x\u00bb) differ from the version names\n+used in Read the Docs (\u00abA.B.x\u00bb), create a ticket requesting\n the new version.

  • \n
  • Request the new classifier on PyPI. For example\n Framework :: Django :: 3.1.

  • \n
  • Update the current branch under active development and add pre-release\n branch in the Django release process on Trac.

  • \n \n
    \n@@ -629,26 +630,26 @@\n

    Django\u2019s version reporting is controlled by the VERSION tuple in\n django/__init__.py. This is a five-element tuple, whose elements\n are:

    \n
      \n
    1. Major version.

    2. \n
    3. Minor version.

    4. \n
    5. Micro version.

    6. \n-
    7. Status \u2013 can be one of \u201calpha\u201d, \u201cbeta\u201d, \u201crc\u201d or \u201cfinal\u201d.

    8. \n+
    9. Status \u2013 can be one of \u00abalpha\u00bb, \u00abbeta\u00bb, \u00abrc\u00bb or \u00abfinal\u00bb.

    10. \n
    11. Series number, for alpha/beta/RC packages which run in sequence\n-(allowing, for example, \u201cbeta 1\u201d, \u201cbeta 2\u201d, etc.).

    12. \n+(allowing, for example, \u00abbeta 1\u00bb, \u00abbeta 2\u00bb, etc.).

      \n
    \n-

    For a final release, the status is always \u201cfinal\u201d and the series\n-number is always 0. A series number of 0 with an \u201calpha\u201d status will\n-be reported as \u201cpre-alpha\u201d.

    \n+

    For a final release, the status is always \u00abfinal\u00bb and the series\n+number is always 0. A series number of 0 with an \u00abalpha\u00bb status will\n+be reported as \u00abpre-alpha\u00bb.

    \n

    Some examples:

    \n
      \n-
    • (4, 1, 1, "final", 0) \u2192 \u201c4.1.1\u201d

    • \n-
    • (4, 2, 0, "alpha", 0) \u2192 \u201c4.2 pre-alpha\u201d

    • \n-
    • (4, 2, 0, "beta", 1) \u2192 \u201c4.2 beta 1\u201d

    • \n+
    • (4, 1, 1, "final", 0) \u2192 \u00ab4.1.1\u00bb

    • \n+
    • (4, 2, 0, "alpha", 0) \u2192 \u00ab4.2 pre-alpha\u00bb

    • \n+
    • (4, 2, 0, "beta", 1) \u2192 \u00ab4.2 beta 1\u00bb

    • \n
    \n \n \n \n \n
    \n
    \n@@ -678,32 +679,32 @@\n
  • Notes on setting the VERSION tuple
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The Django source code repository

    \n+ title=\"capitolo precedente\">The Django source code repository

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp\n *\b**\b**\b**\b**\b**\b* H\bHo\bow\bw i\bis\bs D\bDj\bja\ban\bng\bgo\bo F\bFo\bor\brm\bme\bed\bd?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains how to release Django.\n P\bPl\ble\bea\bas\bse\be,\b, k\bke\bee\bep\bp t\bth\bhe\bes\bse\be i\bin\bns\bst\btr\bru\buc\bct\bti\bio\bon\bns\bs u\bup\bp-\b-t\bto\bo-\b-d\bda\bat\bte\be i\bif\bf y\byo\bou\bu m\bma\bak\bke\be c\bch\bha\ban\bng\bge\bes\bs!\b! The point here\n is to be descriptive, not prescriptive, so feel free to streamline or otherwise\n make changes, but u\bup\bpd\bda\bat\bte\be t\bth\bhi\bis\bs d\bdo\boc\bcu\bum\bme\ben\bnt\bt a\bac\bcc\bco\bor\brd\bdi\bin\bng\bgl\bly\by!\b!\n@@ -41,15 +41,15 @@\n o man\n o hashing tools (typically md5sum, sha1sum, and sha256sum on Linux,\n or md5 and shasum on macOS)\n o python\n o ssh\n * A GPG key pair. Ensure that the private part of this key is securely\n stored. The public part needs to be uploaded to your GitHub account, and\n- also to the Jenkins server running the \u201cconfirm release\u201d job.\n+ also to the Jenkins server running the \u00abconfirm release\u00bb job.\n More than one GPG key\n If the key you want to use is not your default signing key, you\u2019ll need\n to add -u you@example.com to every GPG signing command shown below, where\n you@example.com is the email address associated with the key you want to\n use.\n * A clean Python virtual environment per Django version being released,\n with these required Python packages installed:\n@@ -77,15 +77,15 @@\n API Token in the _\bu_\bs_\be_\br_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b _\bs_\be_\bc_\bt_\bi_\bo_\bn and set up your $HOME/.transifexrc\n file like this:\n ~/.transifexrc_\b\u00b6\n [https://www.transifex.com]\n rest_hostname = https://rest.api.transifex.com\n token = # API token\n * Access to the djangoproject.com server to upload files (using scp).\n- * Access to the Django admin on djangoproject.com as a \u201cSite maintainer\u201d.\n+ * Access to the Django admin on djangoproject.com as a \u00abSite maintainer\u00bb.\n * Access to create a post in the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm_\b _\b-_\b _\bA_\bn_\bn_\bo_\bu_\bn_\bc_\be_\bm_\be_\bn_\bt_\bs_\b _\bc_\ba_\bt_\be_\bg_\bo_\br_\by and\n to send emails to the following mailing lists:\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bn_\bn_\bo_\bu_\bn_\bc_\be\n * Access to the django-security repo in GitHub. Among other things, this\n provides access to the pre-notification distribution list (needed for\n@@ -147,15 +147,15 @@\n all, the PO-Revision-Date values must be manually bumped to be later than\n POT-Creation-Date. You can use a command similar to this to bulk update\n all the .po files (compare the diff against the relevant stable branch):\n $ git diff --name-only stable/5.0.x | grep \"\\.po\" | xargs sed -ri \"s/PO-\n Revision-Date: [0-9\\-]+ /PO-Revision-Date: $(date -I) /g\"\n All the new .po files should be manually and carefully inspected to avoid\n committing a change in a file without any new translations. Also, there\n- shouldn\u2019t be any changes in the \u201cplural forms\u201d: if there are any (usually\n+ shouldn\u2019t be any changes in the \u00abplural forms\u00bb: if there are any (usually\n Spanish and French report changes for this) those will need reverting.\n Lastly, commit the changed/added files (both .po and .mo) and create a\n new PR targeting the stable branch of the corresponding release (example\n _\bP_\bR_\b _\bu_\bp_\bd_\ba_\bt_\bi_\bn_\bg_\b _\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\b4_\b._\b2).\n 7. _\bU_\bp_\bd_\ba_\bt_\be_\b _\bt_\bh_\be_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bm_\ba_\bn_\bu_\ba_\bl_\b _\bp_\ba_\bg_\be:\n $ cd docs\n $ make man\n@@ -166,15 +166,15 @@\n from main. For example, when releasing Django 4.2:\n $ git checkout -b stable/4.2.x origin/main\n $ git push origin -u stable/4.2.x:stable/4.2.x\n At the same time, update the django_next_version variable in docs/conf.py\n on the stable release branch to point to the new development version. For\n example, when creating stable/4.2.x, set django_next_version to '5.0' on\n the new branch.\n- 9. If this is the \u201cdot zero\u201d release of a new series, create a new branch\n+ 9. If this is the \u00abdot zero\u00bb release of a new series, create a new branch\n from the current stable branch in the _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\bo_\bc_\bs_\b-_\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n repository. For example, when releasing Django 4.2:\n $ git checkout -b stable/4.2.x origin/stable/4.1.x\n $ git push origin stable/4.2.x:stable/4.2.x\n 10. Write the announcement blog post for the release. You can enter it into\n the admin at any time and mark it as inactive. Here are a few examples:\n _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\ba_\bn_\bn_\bo_\bu_\bn_\bc_\be_\bm_\be_\bn_\bt, _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\br_\be_\bg_\bu_\bl_\ba_\br_\b _\br_\be_\bl_\be_\ba_\bs_\be\n@@ -214,16 +214,16 @@\n checkout security/4.1.x; git rebase stable/4.1.x) and then switch back\n and do the merge. Make sure the commit message for each security fix\n explains that the commit is a security fix and that an announcement will\n follow (_\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bc_\bo_\bm_\bm_\bi_\bt).\n 5. Update the version number in django/__init__.py for the release. Please\n see _\bn_\bo_\bt_\be_\bs_\b _\bo_\bn_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bV_\bE_\bR_\bS_\bI_\bO_\bN_\b _\bt_\bu_\bp_\bl_\be below for details on VERSION\n (_\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bc_\bo_\bm_\bm_\bi_\bt).\n- 1. If this is a pre-release package also update the \u201cDevelopment\n- Status\u201d trove classifier in pyproject.toml to reflect this. An rc\n+ 1. If this is a pre-release package also update the \u00abDevelopment\n+ Status\u00bb trove classifier in pyproject.toml to reflect this. An rc\n pre-release should not change the trove classifier (_\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bc_\bo_\bm_\bm_\bi_\bt\n _\bf_\bo_\br_\b _\ba_\bl_\bp_\bh_\ba_\b _\br_\be_\bl_\be_\ba_\bs_\be, _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bc_\bo_\bm_\bm_\bi_\bt_\b _\bf_\bo_\br_\b _\bb_\be_\bt_\ba_\b _\br_\be_\bl_\be_\ba_\bs_\be).\n 2. Otherwise, make sure the classifier is set to Development Status ::\n 5 - Production/Stable.\n 6. Tag the release using git tag. For example:\n $ git tag --sign --message=\"Tag 4.1.1\" 4.1.1\n You can check your work running git tag --verify .\n@@ -234,15 +234,15 @@\n 9. Run python -m build to generate the release packages. This will create\n the release packages in a dist/ directory.\n 10. Generate the hashes of the release packages:\n $ cd dist\n $ md5sum *\n $ sha1sum *\n $ sha256sum *\n- 11. Create a \u201cchecksums\u201d file, Django-<>.checksum.txt containing the\n+ 11. Create a \u00abchecksums\u00bb file, Django-<>.checksum.txt containing the\n hashes and release information. Start with this template and insert the\n correct version, date, GPG key ID (from gpg --list-keys --keyid-format\n LONG), release manager\u2019s GitHub username, release URL, and checksums:\n This file contains MD5, SHA1, and SHA256 checksums for the source-code\n tarball and wheel files of Django <>, released <>.\n \n To use this file, you will need a working install of PGP or other\n@@ -344,15 +344,15 @@\n (e.g. use 4.2rc1 for _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bm_\be_\bd_\bi_\ba_\b._\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm_\b/_\bp_\bg_\bp_\b/_\bD_\bj_\ba_\bn_\bg_\bo_\b-\n _\b4_\b._\b2_\br_\bc_\b1_\b._\bc_\bh_\be_\bc_\bk_\bs_\bu_\bm_\b._\bt_\bx_\bt).\n 5. Upload the release packages to PyPI (for pre-releases, only upload the\n wheel file):\n $ twine upload dist/*\n 6. Go to the _\bA_\bd_\bd_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\ba_\bg_\be_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn, enter the new release number\n exactly as it appears in the name of the tarball (Django-\n- .tar.gz). So for example enter \u201c4.1.1\u201d or \u201c4.2rc1\u201d, etc. If the\n+ .tar.gz). So for example enter \u00ab4.1.1\u00bb or \u00ab4.2rc1\u00bb, etc. If the\n release is part of an LTS branch, mark it so.\n If this is the alpha release of a new series, also create a Release\n object for the f\bfi\bin\bna\bal\bl release, ensuring that the R\bRe\bel\ble\bea\bas\bse\be d\bda\bat\bte\be field is\n blank, thus marking it as u\bun\bnr\bre\bel\ble\bea\bas\bse\bed\bd. For example, when creating the\n Release object for 4.2a1, also create 4.2 with the Release date field\n blank.\n 7. Make the blog post announcing the release live.\n@@ -371,30 +371,30 @@\n $ git pull\n $ python manage_translations.py robots_txt\n 9. Post the release announcement to the _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bn_\bn_\bo_\bu_\bn_\bc_\be, _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs,\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs mailing lists, and the Django Forum. This should include a\n link to the announcement blog post.\n 10. If this is a security release, send a separate email to _\bo_\bs_\bs_\b-\n _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b@_\bl_\bi_\bs_\bt_\bs_\b._\bo_\bp_\be_\bn_\bw_\ba_\bl_\bl_\b._\bc_\bo_\bm. Provide a descriptive subject, for example,\n- \u201cDjango\u201d plus the issue title from the release notes (including CVE ID).\n+ \u00abDjango\u00bb plus the issue title from the release notes (including CVE ID).\n The message body should include the vulnerability details, for example,\n the announcement blog post text. Include a link to the announcement blog\n post.\n 11. Add a link to the blog post in the topic of the #django IRC channel: /msg\n chanserv TOPIC #django new topic goes here.\n *\b**\b**\b**\b**\b* P\bPo\bos\bst\bt-\b-r\bre\bel\ble\bea\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You\u2019re almost done! All that\u2019s left to do now is:\n 1. Update the VERSION tuple in django/__init__.py again, incrementing to\n whatever the next expected release will be. For example, after releasing\n 4.1.1, update VERSION to VERSION = (4, 1, 2, 'alpha', 0).\n 2. Add the release in _\bT_\br_\ba_\bc_\b\u2019_\bs_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs_\b _\bl_\bi_\bs_\bt if necessary (and make it the\n default by changing the default_version setting in the\n code.djangoproject.com\u2019s _\bt_\br_\ba_\bc_\b._\bi_\bn_\bi, if it\u2019s a final release). The new X.Y\n version should be added after the alpha release and the default version\n- should be updated after \u201cdot zero\u201d release.\n+ should be updated after \u00abdot zero\u00bb release.\n 3. If this was a final release:\n 1. Update the current stable branch and remove the pre-release branch\n in the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs on Trac.\n 2. Update djangoproject.com\u2019s download page (_\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bP_\bR).\n 4. If this was a security release, update _\bA_\br_\bc_\bh_\bi_\bv_\be_\b _\bo_\bf_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bi_\bs_\bs_\bu_\be_\bs with\n details of the issues addressed.\n *\b**\b**\b**\b**\b* N\bNe\bew\bw s\bst\bta\bab\bbl\ble\be b\bbr\bra\ban\bnc\bch\bh t\bta\bas\bsk\bks\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -413,55 +413,55 @@\n 3. Increase the default PBKDF2 iterations in\n django.contrib.auth.hashers.PBKDF2PasswordHasher by about 20% (pick a\n round number). Run the tests, and update the 3 failing hasher tests with\n the new values. Make sure this gets noted in the release notes (see the\n 4.1 release notes for an example).\n 4. Remove features that have reached the end of their deprecation cycle.\n Each removal should be done in a separate commit for clarity. In the\n- commit message, add a \u201crefs #XXXX\u201d to the original ticket where the\n+ commit message, add a \u00abrefs #XXXX\u00bb to the original ticket where the\n deprecation began if possible.\n 5. Remove .. versionadded::, .. versionchanged::, and .. deprecated::\n annotations in the documentation from two releases ago. For example, in\n Django 4.2, notes for 4.0 will be removed.\n 6. Add the new branch to _\bR_\be_\ba_\bd_\b _\bt_\bh_\be_\b _\bD_\bo_\bc_\bs. Since the automatically generated\n- version names (\u201cstable-A.B.x\u201d) differ from the version names used in Read\n- the Docs (\u201cA.B.x\u201d), _\bc_\br_\be_\ba_\bt_\be_\b _\ba_\b _\bt_\bi_\bc_\bk_\be_\bt requesting the new version.\n+ version names (\u00abstable-A.B.x\u00bb) differ from the version names used in Read\n+ the Docs (\u00abA.B.x\u00bb), _\bc_\br_\be_\ba_\bt_\be_\b _\ba_\b _\bt_\bi_\bc_\bk_\be_\bt requesting the new version.\n 7. _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bt_\bh_\be_\b _\bn_\be_\bw_\b _\bc_\bl_\ba_\bs_\bs_\bi_\bf_\bi_\be_\br_\b _\bo_\bn_\b _\bP_\by_\bP_\bI. For example Framework :: Django ::\n 3.1.\n 8. Update the current branch under active development and add pre-release\n branch in the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs on Trac.\n *\b**\b**\b**\b**\b* N\bNo\bot\bte\bes\bs o\bon\bn s\bse\bet\btt\bti\bin\bng\bg t\bth\bhe\be V\bVE\bER\bRS\bSI\bIO\bON\bN t\btu\bup\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django\u2019s version reporting is controlled by the VERSION tuple in django/\n __init__.py. This is a five-element tuple, whose elements are:\n 1. Major version.\n 2. Minor version.\n 3. Micro version.\n- 4. Status \u2013 can be one of \u201calpha\u201d, \u201cbeta\u201d, \u201crc\u201d or \u201cfinal\u201d.\n+ 4. Status \u2013 can be one of \u00abalpha\u00bb, \u00abbeta\u00bb, \u00abrc\u00bb or \u00abfinal\u00bb.\n 5. Series number, for alpha/beta/RC packages which run in sequence\n- (allowing, for example, \u201cbeta 1\u201d, \u201cbeta 2\u201d, etc.).\n-For a final release, the status is always \u201cfinal\u201d and the series number is\n-always 0. A series number of 0 with an \u201calpha\u201d status will be reported as \u201cpre-\n-alpha\u201d.\n+ (allowing, for example, \u00abbeta 1\u00bb, \u00abbeta 2\u00bb, etc.).\n+For a final release, the status is always \u00abfinal\u00bb and the series number is\n+always 0. A series number of 0 with an \u00abalpha\u00bb status will be reported as \u00abpre-\n+alpha\u00bb.\n Some examples:\n- * (4, 1, 1, \"final\", 0) \u2192 \u201c4.1.1\u201d\n- * (4, 2, 0, \"alpha\", 0) \u2192 \u201c4.2 pre-alpha\u201d\n- * (4, 2, 0, \"beta\", 1) \u2192 \u201c4.2 beta 1\u201d\n+ * (4, 1, 1, \"final\", 0) \u2192 \u00ab4.1.1\u00bb\n+ * (4, 2, 0, \"alpha\", 0) \u2192 \u00ab4.2 pre-alpha\u00bb\n+ * (4, 2, 0, \"beta\", 1) \u2192 \u00ab4.2 beta 1\u00bb\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bH_\bo_\bw_\b _\bi_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bm_\be_\bd_\b?\n o _\bO_\bv_\be_\br_\bv_\bi_\be_\bw\n o _\bP_\br_\be_\br_\be_\bq_\bu_\bi_\bs_\bi_\bt_\be_\bs\n o _\bP_\br_\be_\b-_\br_\be_\bl_\be_\ba_\bs_\be_\b _\bt_\ba_\bs_\bk_\bs\n # _\b1_\b0_\b _\b(_\bo_\br_\b _\bm_\bo_\br_\be_\b)_\b _\bd_\ba_\by_\bs_\b _\bb_\be_\bf_\bo_\br_\be_\b _\ba_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\br_\be_\bl_\be_\ba_\bs_\be\n # _\bA_\b _\bw_\be_\be_\bk_\b _\bb_\be_\bf_\bo_\br_\be_\b _\ba_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\br_\be_\bl_\be_\ba_\bs_\be\n # _\bA_\b _\bf_\be_\bw_\b _\bd_\ba_\by_\bs_\b _\bb_\be_\bf_\bo_\br_\be_\b _\ba_\bn_\by_\b _\br_\be_\bl_\be_\ba_\bs_\be\n o _\bA_\bc_\bt_\bu_\ba_\bl_\bl_\by_\b _\br_\bo_\bl_\bl_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be\n o _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b(_\bs_\b)_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bp_\bu_\bb_\bl_\bi_\bc\n o _\bP_\bo_\bs_\bt_\b-_\br_\be_\bl_\be_\ba_\bs_\be\n o _\bN_\be_\bw_\b _\bs_\bt_\ba_\bb_\bl_\be_\b _\bb_\br_\ba_\bn_\bc_\bh_\b _\bt_\ba_\bs_\bk_\bs\n o _\bN_\bo_\bt_\be_\bs_\b _\bo_\bn_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bV_\bE_\bR_\bS_\bI_\bO_\bN_\b _\bt_\bu_\bp_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\bo_\bu_\br_\bc_\be_\b _\bc_\bo_\bd_\be_\b _\br_\be_\bp_\bo_\bs_\bi_\bt_\bo_\br_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/index.html", "source2": "./usr/share/doc/python-django-doc/html/internals/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django internals — Django 5.1.4 documentation\n+ Django internals — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -172,47 +173,47 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Archive of security issues

    \n+ title=\"capitolo precedente\">Archive of security issues

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Contributing to Django

    \n+ title=\"capitolo successivo\">Contributing to Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo i\bin\bnt\bte\ber\brn\bna\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Documentation for people hacking on Django itself. This is the place to go if\n you\u2019d like to help improve Django or learn about how Django is managed.\n * _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bC_\bo_\bm_\bm_\bu_\bn_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bc_\bh_\ba_\bn_\bn_\be_\bl_\bs\n@@ -62,16 +62,16 @@\n o _\bP_\br_\be_\br_\be_\bq_\bu_\bi_\bs_\bi_\bt_\be_\bs\n o _\bP_\br_\be_\b-_\br_\be_\bl_\be_\ba_\bs_\be_\b _\bt_\ba_\bs_\bk_\bs\n o _\bA_\bc_\bt_\bu_\ba_\bl_\bl_\by_\b _\br_\bo_\bl_\bl_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be\n o _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b(_\bs_\b)_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\bp_\bu_\bb_\bl_\bi_\bc\n o _\bP_\bo_\bs_\bt_\b-_\br_\be_\bl_\be_\ba_\bs_\be\n o _\bN_\be_\bw_\b _\bs_\bt_\ba_\bb_\bl_\be_\b _\bb_\br_\ba_\bn_\bc_\bh_\b _\bt_\ba_\bs_\bk_\bs\n o _\bN_\bo_\bt_\be_\bs_\b _\bo_\bn_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bV_\bE_\bR_\bS_\bI_\bO_\bN_\b _\bt_\bu_\bp_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\br_\bc_\bh_\bi_\bv_\be_\b _\bo_\bf_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bi_\bs_\bs_\bu_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/mailing-lists.html", "source2": "./usr/share/doc/python-django-doc/html/internals/mailing-lists.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Mailing lists and Forum — Django 5.1.4 documentation\n+ Mailing lists and Forum — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Mailing lists and Forum\u00b6

    \n
    \n-

    Important

    \n+

    Importante

    \n

    Please report security issues only to\n security@djangoproject.com. This is a private list only open to\n long-time, highly trusted Django developers, and its archives are\n not public. For further details, please see our security\n policies.

    \n
    \n
    \n@@ -98,44 +99,44 @@\n \n

    In addition, Django has several official mailing lists on Google Groups that\n are open to anyone.

    \n
    \n
    \n

    django-users\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The Using Django category of the official Forum is now the preferred\n venue for asking usage questions.

    \n
    \n

    This is the right place if you are looking to ask any question regarding the\n installation, usage, or debugging of Django.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If it\u2019s the first time you send an email to this list, your email must be\n accepted first so don\u2019t worry if your message does not appear instantly.

    \n
    \n \n
    \n
    \n

    django-developers\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The Internals category of the official Forum is now the preferred\n venue for discussing the development of Django.

    \n
    \n

    The discussion about the development of Django itself takes place here.

    \n

    Before asking a question about how to contribute, read\n Contributing to Django. Many frequently asked questions are\n answered there.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Please make use of\n django-users mailing list if you want\n to ask for tech support, doing so in this list is inappropriate.

    \n
    \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Triaging tickets

    \n+ title=\"capitolo precedente\">Triaging tickets

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Organization of the Django Project

    \n+ title=\"capitolo successivo\">Organization of the Django Project

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,43 +1,43 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMa\bai\bil\bli\bin\bng\bg l\bli\bis\bst\bts\bs a\ban\bnd\bd F\bFo\bor\bru\bum\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Important\n+Importante\n Please report security issues o\bon\bnl\bly\by to _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b@_\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm. This is a\n private list only open to long-time, highly trusted Django developers, and its\n archives are not public. For further details, please see _\bo_\bu_\br_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\bi_\be_\bs.\n *\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo F\bFo\bor\bru\bum\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django has an _\bo_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\bF_\bo_\br_\bu_\bm where you can input and ask questions.\n There are several categories of discussion including:\n * _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo: to ask any question regarding the installation, usage, or\n debugging of Django.\n * _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bs: for discussion of the development of Django itself.\n In addition, Django has several official mailing lists on Google Groups that\n are open to anyone.\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo-\b-u\bus\bse\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Note\n+Nota\n The _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo category of the _\bo_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\bF_\bo_\br_\bu_\bm is now the preferred venue for\n asking usage questions.\n This is the right place if you are looking to ask any question regarding the\n installation, usage, or debugging of Django.\n-Note\n+Nota\n If it\u2019s the first time you send an email to this list, your email must be\n accepted first so don\u2019t worry if _\by_\bo_\bu_\br_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bd_\bo_\be_\bs_\b _\bn_\bo_\bt_\b _\ba_\bp_\bp_\be_\ba_\br instantly.\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs_\b _\bm_\ba_\bi_\bl_\bi_\bn_\bg_\b _\ba_\br_\bc_\bh_\bi_\bv_\be\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs_\b _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b _\be_\bm_\ba_\bi_\bl_\b _\ba_\bd_\bd_\br_\be_\bs_\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs_\b _\bp_\bo_\bs_\bt_\bi_\bn_\bg_\b _\be_\bm_\ba_\bi_\bl\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo-\b-d\bde\bev\bve\bel\blo\bop\bpe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Note\n+Nota\n The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bs category of the _\bo_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\bF_\bo_\br_\bu_\bm is now the preferred venue for\n discussing the development of Django.\n The discussion about the development of Django itself takes place here.\n Before asking a question about how to contribute, read _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bD_\bj_\ba_\bn_\bg_\bo.\n Many frequently asked questions are answered there.\n-Note\n+Nota\n Please make use of _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs_\b _\bm_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bl_\bi_\bs_\bt if you want to ask for tech\n support, doing so in this list is inappropriate.\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs_\b _\bm_\ba_\bi_\bl_\bi_\bn_\bg_\b _\ba_\br_\bc_\bh_\bi_\bv_\be\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs_\b _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b _\be_\bm_\ba_\bi_\bl_\b _\ba_\bd_\bd_\br_\be_\bs_\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs_\b _\bp_\bo_\bs_\bt_\bi_\bn_\bg_\b _\be_\bm_\ba_\bi_\bl\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo-\b-a\ban\bnn\bno\bou\bun\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A (very) low-traffic list for announcing _\bu_\bp_\bc_\bo_\bm_\bi_\bn_\bg_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\br_\be_\bl_\be_\ba_\bs_\be_\bs, new\n@@ -54,16 +54,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bl_\bi_\bs_\bt_\bs_\b _\ba_\bn_\bd_\b _\bF_\bo_\br_\bu_\bm\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bu_\bm\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bs_\be_\br_\bs\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bn_\bn_\bo_\bu_\bn_\bc_\be\n o _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bu_\bp_\bd_\ba_\bt_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\br_\bi_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bO_\br_\bg_\ba_\bn_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bP_\br_\bo_\bj_\be_\bc_\bt\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/organization.html", "source2": "./usr/share/doc/python-django-doc/html/internals/organization.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Organization of the Django Project — Django 5.1.4 documentation\n+ Organization of the Django Project — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -321,15 +322,15 @@\n
  • Becoming disqualified due to actions taken by the Code of Conduct committee\n of the Django Software Foundation.

  • \n
  • Determining that they did not possess the qualifications of a member of the\n steering council. This determination must be made jointly by the other members\n of the steering council, and the DSF Board. A valid determination of\n ineligibility requires that all other members of the steering council and all\n members of the DSF Board vote who can vote on the issue (the affected person,\n-if a DSF Board member, must not vote) vote \u201cyes\u201d on a motion that the person\n+if a DSF Board member, must not vote) vote \u00abyes\u00bb on a motion that the person\n in question is ineligible.

  • \n \n \n \n
    \n

    Changing the organization\u00b6

    \n

    Changes to this document require the use of the DEP process, with\n@@ -373,37 +374,37 @@\n

  • Changing the organization
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Mailing lists and Forum

    \n+ title=\"capitolo precedente\">Mailing lists and Forum

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django\u2019s security policies

    \n+ title=\"capitolo successivo\">Django\u2019s security policies

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* O\bOr\brg\bga\ban\bni\biz\bza\bat\bti\bio\bon\bn o\bof\bf t\bth\bhe\be D\bDj\bja\ban\bng\bgo\bo P\bPr\bro\boj\bje\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* P\bPr\bri\bin\bnc\bci\bip\bpl\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The Django Project is managed by a team of volunteers pursuing three goals:\n * Driving the development of the Django web framework,\n * Fostering the ecosystem of Django-related software,\n@@ -195,15 +195,15 @@\n committee of the Django Software Foundation.\n * Determining that they did not possess the qualifications of a member of\n the steering council. This determination must be made jointly by the\n other members of the steering council, and the _\bD_\bS_\bF_\b _\bB_\bo_\ba_\br_\bd. A valid\n determination of ineligibility requires that all other members of the\n steering council and all members of the DSF Board vote who can vote on\n the issue (the affected person, if a DSF Board member, must not vote)\n- vote \u201cyes\u201d on a motion that the person in question is ineligible.\n+ vote \u00abyes\u00bb on a motion that the person in question is ineligible.\n *\b**\b**\b**\b**\b* C\bCh\bha\ban\bng\bgi\bin\bng\bg t\bth\bhe\be o\bor\brg\bga\ban\bni\biz\bza\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Changes to this document require the use of the _\bD_\bE_\bP_\b _\bp_\br_\bo_\bc_\be_\bs_\bs, with modifications\n described in _\bD_\bE_\bP_\b _\b0_\b0_\b1_\b0.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bO_\br_\bg_\ba_\bn_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bP_\br_\bo_\bj_\be_\bc_\bt\n o _\bP_\br_\bi_\bn_\bc_\bi_\bp_\bl_\be_\bs\n o _\bM_\be_\br_\bg_\be_\br_\bs\n@@ -215,16 +215,16 @@\n # _\bP_\br_\be_\br_\bo_\bg_\ba_\bt_\bi_\bv_\be_\bs\n # _\bM_\be_\bm_\bb_\be_\br_\bs_\bh_\bi_\bp\n o _\bS_\bt_\be_\be_\br_\bi_\bn_\bg_\b _\bc_\bo_\bu_\bn_\bc_\bi_\bl\n # _\bR_\bo_\bl_\be\n # _\bP_\br_\be_\br_\bo_\bg_\ba_\bt_\bi_\bv_\be_\bs\n # _\bM_\be_\bm_\bb_\be_\br_\bs_\bh_\bi_\bp\n o _\bC_\bh_\ba_\bn_\bg_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bo_\br_\bg_\ba_\bn_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bl_\bi_\bs_\bt_\bs_\b _\ba_\bn_\bd_\b _\bF_\bo_\br_\bu_\bm\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\bi_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/release-process.html", "source2": "./usr/share/doc/python-django-doc/html/internals/release-process.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django\u2019s release process — Django 5.1.4 documentation\n+ Django\u2019s release process — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,30 +108,30 @@\n \u2013 see release process for details. These releases will contain new\n features, improvements to existing features, and such.

    \n \n
    Patch release\u00b6

    Patch releases (A.B.C, A.B.C+1, etc.) will be issued as needed, to fix\n bugs and/or security issues.

    \n

    These releases will be 100% compatible with the associated feature release,\n unless this is impossible for security reasons or to prevent data loss.\n-So the answer to \u201cshould I upgrade to the latest patch release?\u201d will always\n-be \u201cyes.\u201d

    \n+So the answer to \u00abshould I upgrade to the latest patch release?\u00bb will always\n+be \u00abyes.\u00bb

    \n
    \n
    Long-term support release\u00b6

    Certain feature releases will be designated as long-term support (LTS)\n releases. These releases will get security and data loss fixes applied for\n a guaranteed period of time, typically three years.

    \n

    See the download page for the releases that have been designated for\n long-term support.

    \n
    \n \n \n
    \n

    Release cadence\u00b6

    \n

    Starting with Django 2.0, version numbers will use a loose form of semantic\n versioning such that each version following an LTS will\n-bump to the next \u201cdot zero\u201d version. For example: 2.0, 2.1, 2.2 (LTS), 3.0,\n+bump to the next \u00abdot zero\u00bb version. For example: 2.0, 2.1, 2.2 (LTS), 3.0,\n 3.1, 3.2 (LTS), etc.

    \n

    SemVer makes it easier to see at a glance how compatible releases are with each\n other. It also helps to anticipate when compatibility shims will be removed.\n It\u2019s not a pure form of SemVer as each feature release will continue to have a\n few documented backwards incompatibilities where a deprecation path isn\u2019t\n possible or not worth the cost. Also, deprecations started in an LTS release\n (X.2) will be dropped in a non-dot-zero release (Y.1) to accommodate our policy\n@@ -231,15 +232,15 @@\n features to include in the next version. This should include a good deal of\n preliminary work on those features \u2013 working code trumps grand design.

    \n

    Major features for an upcoming release will be added to the wiki roadmap page,\n e.g. https://code.djangoproject.com/wiki/Version1.11Roadmap.

    \n
    \n
    \n

    Phase two: development\u00b6

    \n-

    The second part of the release schedule is the \u201cheads-down\u201d working period.\n+

    The second part of the release schedule is the \u00abheads-down\u00bb working period.\n Using the roadmap produced at the end of phase one, we\u2019ll all work very hard to\n get everything on it done.

    \n

    At the end of phase two, any unfinished features will be postponed until the\n next release.

    \n

    Phase two will culminate with an alpha release. At this point, the\n stable/A.B.x branch will be forked from main.

    \n
    \n@@ -301,37 +302,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django\u2019s security policies

    \n+ title=\"capitolo precedente\">Django\u2019s security policies

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django Deprecation Timeline

    \n+ title=\"capitolo successivo\">Django Deprecation Timeline

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs r\bre\bel\ble\bea\bas\bse\be p\bpr\bro\boc\bce\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* O\bOf\bff\bfi\bic\bci\bia\bal\bl r\bre\bel\ble\bea\bas\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Since version 1.0, Django\u2019s release numbering works as follows:\n * Versions are numbered in the form A.B or A.B.C.\n * A.B is the f\bfe\bea\bat\btu\bur\bre\be r\bre\bel\ble\bea\bas\bse\be version number. Each version will be mostly\n@@ -28,26 +28,26 @@\n months \u2013 see _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs for details. These releases will contain new\n features, improvements to existing features, and such.\n Patch release_\b\u00b6\n Patch releases (A.B.C, A.B.C+1, etc.) will be issued as needed, to fix\n bugs and/or security issues.\n These releases will be 100% compatible with the associated feature\n release, unless this is impossible for security reasons or to prevent\n- data loss. So the answer to \u201cshould I upgrade to the latest patch\n- release?\u201d will always be \u201cyes.\u201d\n+ data loss. So the answer to \u00abshould I upgrade to the latest patch\n+ release?\u00bb will always be \u00abyes.\u00bb\n Long-term support release_\b\u00b6\n Certain feature releases will be designated as long-term support (LTS)\n releases. These releases will get security and data loss fixes applied\n for a guaranteed period of time, typically three years.\n See _\bt_\bh_\be_\b _\bd_\bo_\bw_\bn_\bl_\bo_\ba_\bd_\b _\bp_\ba_\bg_\be for the releases that have been designated for\n long-term support.\n *\b**\b**\b**\b**\b* R\bRe\bel\ble\bea\bas\bse\be c\bca\bad\bde\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Starting with Django 2.0, version numbers will use a loose form of _\bs_\be_\bm_\ba_\bn_\bt_\bi_\bc\n-_\bv_\be_\br_\bs_\bi_\bo_\bn_\bi_\bn_\bg such that each version following an LTS will bump to the next \u201cdot\n-zero\u201d version. For example: 2.0, 2.1, 2.2 (LTS), 3.0, 3.1, 3.2 (LTS), etc.\n+_\bv_\be_\br_\bs_\bi_\bo_\bn_\bi_\bn_\bg such that each version following an LTS will bump to the next \u00abdot\n+zero\u00bb version. For example: 2.0, 2.1, 2.2 (LTS), 3.0, 3.1, 3.2 (LTS), etc.\n SemVer makes it easier to see at a glance how compatible releases are with each\n other. It also helps to anticipate when compatibility shims will be removed.\n It\u2019s not a pure form of SemVer as each feature release will continue to have a\n few documented backwards incompatibilities where a deprecation path isn\u2019t\n possible or not worth the cost. Also, deprecations started in an LTS release\n (X.2) will be dropped in a non-dot-zero release (Y.1) to accommodate our policy\n of keeping deprecation shims for at least two feature releases. Read on to the\n@@ -126,15 +126,15 @@\n *\b**\b**\b* P\bPh\bha\bas\bse\be o\bon\bne\be:\b: f\bfe\bea\bat\btu\bur\bre\be p\bpr\bro\bop\bpo\bos\bsa\bal\bl_\b?\b\u00b6 *\b**\b**\b*\n The first phase of the release process will include figuring out what major\n features to include in the next version. This should include a good deal of\n preliminary work on those features \u2013 working code trumps grand design.\n Major features for an upcoming release will be added to the wiki roadmap page,\n e.g. _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bc_\bo_\bd_\be_\b._\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm_\b/_\bw_\bi_\bk_\bi_\b/_\bV_\be_\br_\bs_\bi_\bo_\bn_\b1_\b._\b1_\b1_\bR_\bo_\ba_\bd_\bm_\ba_\bp.\n *\b**\b**\b* P\bPh\bha\bas\bse\be t\btw\bwo\bo:\b: d\bde\bev\bve\bel\blo\bop\bpm\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b*\n-The second part of the release schedule is the \u201cheads-down\u201d working period.\n+The second part of the release schedule is the \u00abheads-down\u00bb working period.\n Using the roadmap produced at the end of phase one, we\u2019ll all work very hard to\n get everything on it done.\n At the end of phase two, any unfinished features will be postponed until the\n next release.\n Phase two will culminate with an alpha release. At this point, the stable/A.B.x\n branch will be forked from main.\n *\b**\b**\b* P\bPh\bha\bas\bse\be t\bth\bhr\bre\bee\be:\b: b\bbu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n@@ -165,16 +165,16 @@\n o _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs\n o _\bR_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs\n # _\bR_\be_\bl_\be_\ba_\bs_\be_\b _\bc_\by_\bc_\bl_\be\n # _\bP_\bh_\ba_\bs_\be_\b _\bo_\bn_\be_\b:_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\b _\bp_\br_\bo_\bp_\bo_\bs_\ba_\bl\n # _\bP_\bh_\ba_\bs_\be_\b _\bt_\bw_\bo_\b:_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n # _\bP_\bh_\ba_\bs_\be_\b _\bt_\bh_\br_\be_\be_\b:_\b _\bb_\bu_\bg_\bf_\bi_\bx_\be_\bs\n # _\bB_\bu_\bg_\b-_\bf_\bi_\bx_\b _\br_\be_\bl_\be_\ba_\bs_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\bi_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bT_\bi_\bm_\be_\bl_\bi_\bn_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/internals/security.html", "source2": "./usr/share/doc/python-django-doc/html/internals/security.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django\u2019s security policies — Django 5.1.4 documentation\n+ Django\u2019s security policies — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -266,16 +267,16 @@\n
    \n \n
    \n

    Requesting notifications\u00b6

    \n

    If you believe that you, or an organization you are authorized to\n represent, fall into one of the groups listed above, you can ask to be\n added to Django\u2019s notification list by emailing\n-security@djangoproject.com. Please use the subject line \u201cSecurity\n-notification request\u201d.

    \n+security@djangoproject.com. Please use the subject line \u00abSecurity\n+notification request\u00bb.

    \n

    Your request must include the following information:

    \n
      \n
    • Your full, real name and the name of the organization you represent,\n if applicable, as well as your role within that organization.

    • \n
    • A detailed explanation of how you or your organization fit at least\n one set of criteria listed above.

    • \n
    • A detailed explanation of why you are requesting security notifications.\n@@ -332,37 +333,37 @@\n

    • Requesting notifications
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Organization of the Django Project

    \n+ title=\"capitolo precedente\">Organization of the Django Project

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django\u2019s release process

    \n+ title=\"capitolo successivo\">Django\u2019s release process

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs s\bse\bec\bcu\bur\bri\bit\bty\by p\bpo\bol\bli\bic\bci\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django\u2019s development team is strongly committed to responsible reporting and\n disclosure of security-related issues. As such, we\u2019ve adopted and follow a set\n of policies which conform to that ideal and are geared toward allowing us to\n deliver timely security updates to the official distribution of Django, as well\n@@ -143,15 +143,15 @@\n responsibly receive, keep confidential and act on these notifications.\n Security audit and scanning entities\n As a policy, we do not add these types of entities to the notification list.\n *\b**\b**\b**\b**\b* R\bRe\beq\bqu\bue\bes\bst\bti\bin\bng\bg n\bno\bot\bti\bif\bfi\bic\bca\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you believe that you, or an organization you are authorized to represent,\n fall into one of the groups listed above, you can ask to be added to Django\u2019s\n notification list by emailing security@djangoproject.com. Please use the\n-subject line \u201cSecurity notification request\u201d.\n+subject line \u00abSecurity notification request\u00bb.\n Your request m\bmu\bus\bst\bt include the following information:\n * Your full, real name and the name of the organization you represent, if\n applicable, as well as your role within that organization.\n * A detailed explanation of how you or your organization fit at least one\n set of criteria listed above.\n * A detailed explanation of why you are requesting security notifications.\n Again, please keep in mind that this is n\bno\bot\bt simply a list for users of\n@@ -181,16 +181,16 @@\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\bi_\be_\bs\n o _\bR_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bi_\bs_\bs_\bu_\be_\bs\n o _\bH_\bo_\bw_\b _\bd_\bo_\be_\bs_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\be_\bv_\ba_\bl_\bu_\ba_\bt_\be_\b _\ba_\b _\br_\be_\bp_\bo_\br_\bt\n o _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs\n o _\bH_\bo_\bw_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bi_\bs_\bc_\bl_\bo_\bs_\be_\bs_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bi_\bs_\bs_\bu_\be_\bs\n o _\bW_\bh_\bo_\b _\br_\be_\bc_\be_\bi_\bv_\be_\bs_\b _\ba_\bd_\bv_\ba_\bn_\bc_\be_\b _\bn_\bo_\bt_\bi_\bf_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n o _\bR_\be_\bq_\bu_\be_\bs_\bt_\bi_\bn_\bg_\b _\bn_\bo_\bt_\bi_\bf_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bO_\br_\bg_\ba_\bn_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bP_\br_\bo_\bj_\be_\bc_\bt\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/contributing.html", "source2": "./usr/share/doc/python-django-doc/html/intro/contributing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first contribution for Django — Django 5.1.4 documentation\n+ Writing your first contribution for Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -100,15 +101,15 @@\n

    Contributing back to Django itself is the best way to see your own concerns\n addressed. This may seem daunting at first, but it\u2019s a well-traveled path with\n documentation, tooling, and a community to support you. We\u2019ll walk you through\n the entire process, so you can learn by example.

    \n
    \n

    Who\u2019s this tutorial for?\u00b6

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    If you are looking for a reference on the details of making code\n contributions, see the Contributing code\n documentation.

    \n
    \n

    For this tutorial, we expect that you have at least a basic understanding of\n how Django works. This means you should be comfortable going through the\n existing tutorials on writing your first Django app.\n@@ -345,31 +346,31 @@\n is the database backend for the default settings. To run the tests using a\n different backend, see Using another settings module.

    \n

    Once the tests complete, you should be greeted with a message informing you\n whether the test suite passed or failed. Since you haven\u2019t yet made any changes\n to Django\u2019s code, the entire test suite should pass. If you get failures or\n errors make sure you\u2019ve followed all of the previous steps properly. See\n Running the unit tests for more information.

    \n-

    Note that the latest Django \u201cmain\u201d branch may not always be stable. When\n-developing against \u201cmain\u201d, you can check Django\u2019s continuous integration\n+

    Note that the latest Django \u00abmain\u00bb branch may not always be stable. When\n+developing against \u00abmain\u00bb, you can check Django\u2019s continuous integration\n builds to determine if the failures are specific to your machine or if they\n are also present in Django\u2019s official builds. If you click to view a particular\n-build, you can view the \u201cConfiguration Matrix\u201d which shows failures broken down\n+build, you can view the \u00abConfiguration Matrix\u00bb which shows failures broken down\n by Python version and database backend.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    For this tutorial and the ticket we\u2019re working on, testing against SQLite\n is sufficient, however, it\u2019s possible (and sometimes necessary) to\n run the tests using a different database. When making UI changes, you will need to\n run the Selenium tests.

    \n
    \n
    \n
    \n

    Working on a feature\u00b6

    \n-

    For this tutorial, we\u2019ll work on a \u201cfake ticket\u201d as a case study. Here are the\n+

    For this tutorial, we\u2019ll work on a \u00abfake ticket\u00bb as a case study. Here are the\n imaginary details:

    \n
    \n

    Ticket #99999 \u2013 Allow making toast

    \n

    Django should provide a function django.shortcuts.make_toast() that\n returns 'toast'.

    \n
    \n

    We\u2019ll now implement this feature and associated tests.

    \n@@ -388,15 +389,15 @@\n
    \n \n
    \n
    ...\\> git checkout -b ticket_99999\n 
    \n
    \n
    \n-

    You can choose any name that you want for the branch, \u201cticket_99999\u201d is an\n+

    You can choose any name that you want for the branch, \u00abticket_99999\u00bb is an\n example. All changes made in this branch will be specific to the ticket and\n won\u2019t affect the main copy of the code that we cloned earlier.

    \n \n
    \n

    Writing some tests for your ticket\u00b6

    \n

    In most cases, for a contribution to be accepted into Django it has to include\n tests. For bug fix contributions, this means writing a regression test to\n@@ -545,15 +546,15 @@\n \n Returns ``'toast'``.\n

    \n
    \n

    Since this new feature will be in an upcoming release it is also added to the\n release notes for the next version of Django. Open the release notes for the\n latest version in docs/releases/, which at time of writing is 2.2.txt.\n-Add a note under the \u201cMinor Features\u201d header:

    \n+Add a note under the \u00abMinor Features\u00bb header:

    \n
    :mod:`django.shortcuts`\n ~~~~~~~~~~~~~~~~~~~~~~~\n \n * The new :func:`django.shortcuts.make_toast` function returns ``'toast'``.\n 
    \n
    \n

    For more information on writing documentation, including an explanation of what\n@@ -686,15 +687,15 @@\n

    Fixed #99999 -- Added a shortcut function to make toast.\n 
    \n
    \n \n
    \n

    Pushing the commit and making a pull request\u00b6

    \n

    After committing the changes, send it to your fork on GitHub (substitute\n-\u201cticket_99999\u201d with the name of your branch if it\u2019s different):

    \n+\u00abticket_99999\u00bb with the name of your branch if it\u2019s different):

    \n
    \n \n \n \n \n
    \n
    $ git push origin ticket_99999\n@@ -702,18 +703,18 @@\n 
    \n
    \n
    \n
    ...\\> git push origin ticket_99999\n 
    \n
    \n
    \n-

    You can create a pull request by visiting the Django GitHub page. You\u2019ll see your branch under \u201cYour\n-recently pushed branches\u201d. Click \u201cCompare & pull request\u201d next to it.

    \n+

    You can create a pull request by visiting the Django GitHub page. You\u2019ll see your branch under \u00abYour\n+recently pushed branches\u00bb. Click \u00abCompare & pull request\u00bb next to it.

    \n

    Please don\u2019t do it for this tutorial, but on the next page that displays a\n-preview of the changes, you would click \u201cCreate pull request\u201d.

    \n+preview of the changes, you would click \u00abCreate pull request\u00bb.

    \n
    \n
    \n

    Next steps\u00b6

    \n

    Congratulations, you\u2019ve learned how to make a pull request to Django! Details\n of more advanced techniques you may need are in\n Working with Git and GitHub.

    \n

    Now you can put those skills to good use by helping to improve Django\u2019s\n@@ -738,15 +739,15 @@\n for answering any questions you might have.

    \n \n
    \n
    \n

    Finding your first real ticket\u00b6

    \n

    Once you\u2019ve looked through some of that information, you\u2019ll be ready to go out\n and find a ticket of your own to contribute to. Pay special attention to\n-tickets with the \u201ceasy pickings\u201d criterion. These tickets are often much\n+tickets with the \u00abeasy pickings\u00bb criterion. These tickets are often much\n simpler in nature and are great for first time contributors. Once you\u2019re\n familiar with contributing to Django, you can start working on more difficult\n and complicated tickets.

    \n

    If you just want to get started already (and nobody would blame you!), try\n taking a look at the list of easy tickets without a branch and the\n easy tickets that have branches which need improvement. If you\u2019re familiar\n with writing tests, you can also look at the list of\n@@ -754,15 +755,15 @@\n claiming tickets that were mentioned in the link to Django\u2019s documentation on\n claiming tickets and submitting branches.

    \n
    \n
    \n

    What\u2019s next after creating a pull request?\u00b6

    \n

    After a ticket has a branch, it needs to be reviewed by a second set of eyes.\n After submitting a pull request, update the ticket metadata by setting the\n-flags on the ticket to say \u201chas patch\u201d, \u201cdoesn\u2019t need tests\u201d, etc, so others\n+flags on the ticket to say \u00abhas patch\u00bb, \u00abdoesn\u2019t need tests\u00bb, etc, so others\n can find it for review. Contributing doesn\u2019t necessarily always mean writing\n code from scratch. Reviewing open pull requests is also a very helpful\n contribution. See Triaging tickets for details.

    \n
    \n \n \n \n@@ -813,37 +814,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    What to read next

    \n+ title=\"capitolo precedente\">What to read next

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Using Django

    \n+ title=\"capitolo successivo\">Using Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt c\bco\bon\bnt\btr\bri\bib\bbu\but\bti\bio\bon\bn f\bfo\bor\br D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* I\bIn\bnt\btr\bro\bod\bdu\buc\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Interested in giving back to the community a little? Maybe you\u2019ve found a bug\n in Django that you\u2019d like to see fixed, or maybe there\u2019s a small feature you\n want added.\n Contributing back to Django itself is the best way to see your own concerns\n addressed. This may seem daunting at first, but it\u2019s a well-traveled path with\n documentation, tooling, and a community to support you. We\u2019ll walk you through\n the entire process, so you can learn by example.\n *\b**\b**\b**\b* W\bWh\bho\bo?\b\u2019s\bs t\bth\bhi\bis\bs t\btu\but\bto\bor\bri\bia\bal\bl f\bfo\bor\br?\b?_\b?\b\u00b6 *\b**\b**\b**\b*\n-See also\n+Vedi anche\n If you are looking for a reference on the details of making code contributions,\n see the _\bC_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg_\b _\bc_\bo_\bd_\be documentation.\n For this tutorial, we expect that you have at least a basic understanding of\n how Django works. This means you should be comfortable going through the\n existing tutorials on _\bw_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp. In addition, you should\n have a good understanding of Python itself. But if you don\u2019t, _\bD_\bi_\bv_\be_\b _\bI_\bn_\bt_\bo_\b _\bP_\by_\bt_\bh_\bo_\bn\n is a fantastic (and free) online book for beginning Python programmers.\n@@ -151,38 +151,38 @@\n backend for the default settings. To run the tests using a different backend,\n see _\bU_\bs_\bi_\bn_\bg_\b _\ba_\bn_\bo_\bt_\bh_\be_\br_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bm_\bo_\bd_\bu_\bl_\be.\n Once the tests complete, you should be greeted with a message informing you\n whether the test suite passed or failed. Since you haven\u2019t yet made any changes\n to Django\u2019s code, the entire test suite s\bsh\bho\bou\bul\bld\bd pass. If you get failures or\n errors make sure you\u2019ve followed all of the previous steps properly. See\n _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bu_\bn_\bi_\bt_\b _\bt_\be_\bs_\bt_\bs for more information.\n-Note that the latest Django \u201cmain\u201d branch may not always be stable. When\n-developing against \u201cmain\u201d, you can check _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bc_\bo_\bn_\bt_\bi_\bn_\bu_\bo_\bu_\bs_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bb_\bu_\bi_\bl_\bd_\bs\n+Note that the latest Django \u00abmain\u00bb branch may not always be stable. When\n+developing against \u00abmain\u00bb, you can check _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bc_\bo_\bn_\bt_\bi_\bn_\bu_\bo_\bu_\bs_\b _\bi_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bb_\bu_\bi_\bl_\bd_\bs\n to determine if the failures are specific to your machine or if they are also\n present in Django\u2019s official builds. If you click to view a particular build,\n-you can view the \u201cConfiguration Matrix\u201d which shows failures broken down by\n+you can view the \u00abConfiguration Matrix\u00bb which shows failures broken down by\n Python version and database backend.\n-Note\n+Nota\n For this tutorial and the ticket we\u2019re working on, testing against SQLite is\n sufficient, however, it\u2019s possible (and sometimes necessary) to _\br_\bu_\bn_\b _\bt_\bh_\be_\b _\bt_\be_\bs_\bt_\bs\n _\bu_\bs_\bi_\bn_\bg_\b _\ba_\b _\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bt_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be. When making UI changes, you will need to _\br_\bu_\bn_\b _\bt_\bh_\be\n _\bS_\be_\bl_\be_\bn_\bi_\bu_\bm_\b _\bt_\be_\bs_\bt_\bs.\n *\b**\b**\b**\b**\b* W\bWo\bor\brk\bki\bin\bng\bg o\bon\bn a\ba f\bfe\bea\bat\btu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-For this tutorial, we\u2019ll work on a \u201cfake ticket\u201d as a case study. Here are the\n+For this tutorial, we\u2019ll work on a \u00abfake ticket\u00bb as a case study. Here are the\n imaginary details:\n Ticket #99999 \u2013 Allow making toast\n Django should provide a function django.shortcuts.make_toast() that returns\n 'toast'.\n We\u2019ll now implement this feature and associated tests.\n *\b**\b**\b**\b**\b* C\bCr\bre\bea\bat\bti\bin\bng\bg a\ba b\bbr\bra\ban\bnc\bch\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Before making any changes, create a new branch for the ticket:\n #\uf17c/\uf179 o\uf17a\n $ git checkout -b ticket_99999\n ...\\> git checkout -b ticket_99999\n-You can choose any name that you want for the branch, \u201cticket_99999\u201d is an\n+You can choose any name that you want for the branch, \u00abticket_99999\u00bb is an\n example. All changes made in this branch will be specific to the ticket and\n won\u2019t affect the main copy of the code that we cloned earlier.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg s\bso\bom\bme\be t\bte\bes\bst\bts\bs f\bfo\bor\br y\byo\bou\bur\br t\bti\bic\bck\bke\bet\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In most cases, for a contribution to be accepted into Django it has to include\n tests. For bug fix contributions, this means writing a regression test to\n ensure that the bug is never reintroduced into Django later on. A regression\n test should be written in such a way that it will fail while the bug still\n@@ -270,15 +270,15 @@\n \n .. versionadded:: 2.2\n \n Returns ``'toast'``.\n Since this new feature will be in an upcoming release it is also added to the\n release notes for the next version of Django. Open the release notes for the\n latest version in docs/releases/, which at time of writing is 2.2.txt. Add a\n-note under the \u201cMinor Features\u201d header:\n+note under the \u00abMinor Features\u00bb header:\n :mod:`django.shortcuts`\n ~~~~~~~~~~~~~~~~~~~~~~~\n \n * The new :func:`django.shortcuts.make_toast` function returns ``'toast'``.\n For more information on writing documentation, including an explanation of what\n the versionadded bit is all about, see _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn. That page also\n includes an explanation of how to build a copy of the documentation locally, so\n@@ -364,23 +364,23 @@\n $ git commit\n ...\\> git commit\n This opens up a text editor to type the commit message. Follow the _\bc_\bo_\bm_\bm_\bi_\bt\n _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bg_\bu_\bi_\bd_\be_\bl_\bi_\bn_\be_\bs and write a message like:\n Fixed #99999 -- Added a shortcut function to make toast.\n *\b**\b**\b**\b**\b* P\bPu\bus\bsh\bhi\bin\bng\bg t\bth\bhe\be c\bco\bom\bmm\bmi\bit\bt a\ban\bnd\bd m\bma\bak\bki\bin\bng\bg a\ba p\bpu\bul\bll\bl r\bre\beq\bqu\bue\bes\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n After committing the changes, send it to your fork on GitHub (substitute\n-\u201cticket_99999\u201d with the name of your branch if it\u2019s different):\n+\u00abticket_99999\u00bb with the name of your branch if it\u2019s different):\n #\uf17c/\uf179 o\uf17a\n $ git push origin ticket_99999\n ...\\> git push origin ticket_99999\n You can create a pull request by visiting the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bG_\bi_\bt_\bH_\bu_\bb_\b _\bp_\ba_\bg_\be. You\u2019ll see\n-your branch under \u201cYour recently pushed branches\u201d. Click \u201cCompare & pull\n-request\u201d next to it.\n+your branch under \u00abYour recently pushed branches\u00bb. Click \u00abCompare & pull\n+request\u00bb next to it.\n Please don\u2019t do it for this tutorial, but on the next page that displays a\n-preview of the changes, you would click \u201cCreate pull request\u201d.\n+preview of the changes, you would click \u00abCreate pull request\u00bb.\n *\b**\b**\b**\b**\b* N\bNe\bex\bxt\bt s\bst\bte\bep\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Congratulations, you\u2019ve learned how to make a pull request to Django! Details\n of more advanced techniques you may need are in _\bW_\bo_\br_\bk_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bG_\bi_\bt_\b _\ba_\bn_\bd_\b _\bG_\bi_\bt_\bH_\bu_\bb.\n Now you can put those skills to good use by helping to improve Django\u2019s\n codebase.\n *\b**\b**\b**\b* M\bMo\bor\bre\be i\bin\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn f\bfo\bor\br n\bne\bew\bw c\bco\bon\bnt\btr\bri\bib\bbu\but\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Before you get too into contributing to Django, there\u2019s a little more\n@@ -396,28 +396,28 @@\n contributing, you can always browse through the rest of _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bn_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bn_\bg. It contains a ton of useful information\n and should be your first source for answering any questions you might\n have.\n *\b**\b**\b**\b* F\bFi\bin\bnd\bdi\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt r\bre\bea\bal\bl t\bti\bic\bck\bke\bet\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Once you\u2019ve looked through some of that information, you\u2019ll be ready to go out\n and find a ticket of your own to contribute to. Pay special attention to\n-tickets with the \u201ceasy pickings\u201d criterion. These tickets are often much\n+tickets with the \u00abeasy pickings\u00bb criterion. These tickets are often much\n simpler in nature and are great for first time contributors. Once you\u2019re\n familiar with contributing to Django, you can start working on more difficult\n and complicated tickets.\n If you just want to get started already (and nobody would blame you!), try\n taking a look at the list of _\be_\ba_\bs_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b _\bw_\bi_\bt_\bh_\bo_\bu_\bt_\b _\ba_\b _\bb_\br_\ba_\bn_\bc_\bh and the _\be_\ba_\bs_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs\n _\bt_\bh_\ba_\bt_\b _\bh_\ba_\bv_\be_\b _\bb_\br_\ba_\bn_\bc_\bh_\be_\bs_\b _\bw_\bh_\bi_\bc_\bh_\b _\bn_\be_\be_\bd_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt. If you\u2019re familiar with writing\n tests, you can also look at the list of _\be_\ba_\bs_\by_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b _\bt_\bh_\ba_\bt_\b _\bn_\be_\be_\bd_\b _\bt_\be_\bs_\bt_\bs. Remember\n to follow the guidelines about claiming tickets that were mentioned in the link\n to Django\u2019s documentation on _\bc_\bl_\ba_\bi_\bm_\bi_\bn_\bg_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs_\b _\ba_\bn_\bd_\b _\bs_\bu_\bb_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bb_\br_\ba_\bn_\bc_\bh_\be_\bs.\n *\b**\b**\b**\b* W\bWh\bha\bat\bt?\b\u2019s\bs n\bne\bex\bxt\bt a\baf\bft\bte\ber\br c\bcr\bre\bea\bat\bti\bin\bng\bg a\ba p\bpu\bul\bll\bl r\bre\beq\bqu\bue\bes\bst\bt?\b?_\b?\b\u00b6 *\b**\b**\b**\b*\n After a ticket has a branch, it needs to be reviewed by a second set of eyes.\n After submitting a pull request, update the ticket metadata by setting the\n-flags on the ticket to say \u201chas patch\u201d, \u201cdoesn\u2019t need tests\u201d, etc, so others\n+flags on the ticket to say \u00abhas patch\u00bb, \u00abdoesn\u2019t need tests\u00bb, etc, so others\n can find it for review. Contributing doesn\u2019t necessarily always mean writing\n code from scratch. Reviewing open pull requests is also a very helpful\n contribution. See _\bT_\br_\bi_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bi_\bc_\bk_\be_\bt_\bs for details.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn\n # _\bW_\bh_\bo_\b\u2019_\bs_\b _\bt_\bh_\bi_\bs_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\bf_\bo_\br_\b?\n@@ -438,16 +438,16 @@\n o _\bP_\br_\be_\bv_\bi_\be_\bw_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n o _\bC_\bo_\bm_\bm_\bi_\bt_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n o _\bP_\bu_\bs_\bh_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bc_\bo_\bm_\bm_\bi_\bt_\b _\ba_\bn_\bd_\b _\bm_\ba_\bk_\bi_\bn_\bg_\b _\ba_\b _\bp_\bu_\bl_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt\n o _\bN_\be_\bx_\bt_\b _\bs_\bt_\be_\bp_\bs\n # _\bM_\bo_\br_\be_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bn_\be_\bw_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs\n # _\bF_\bi_\bn_\bd_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\br_\be_\ba_\bl_\b _\bt_\bi_\bc_\bk_\be_\bt\n # _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bx_\bt_\b _\ba_\bf_\bt_\be_\br_\b _\bc_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bp_\bu_\bl_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\bh_\ba_\bt_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bn_\be_\bx_\bt\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bU_\bs_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/index.html", "source2": "./usr/share/doc/python-django-doc/html/intro/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Getting started — Django 5.1.4 documentation\n+ Getting started — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    If you\u2019re new to Python, you might want to start by getting an idea of what\n the language is like. Django is 100% Python, so if you\u2019ve got minimal\n comfort with Python you\u2019ll probably get a lot more out of Django.

    \n

    If you\u2019re new to programming entirely, you might want to start with this\n list of Python resources for non-programmers

    \n

    If you already know a few other languages and want to get up to speed with\n Python quickly, we recommend referring the official\n@@ -120,47 +121,47 @@\n \n \n

    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django documentation

    \n+ title=\"capitolo precedente\">Django documentation

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django at a glance

    \n+ title=\"capitolo successivo\">Django at a glance

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\bet\btt\bti\bin\bng\bg s\bst\bta\bar\brt\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n New to Django? Or to web development in general? Well, you came to the right\n place: read this material to quickly get up and running.\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bt_\b _\ba_\b _\bg_\bl_\ba_\bn_\bc_\be\n * _\bQ_\bu_\bi_\bc_\bk_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bg_\bu_\bi_\bd_\be\n@@ -13,26 +13,26 @@\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b5\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b6\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b7\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b8\n * _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b:_\b _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs\n * _\bW_\bh_\ba_\bt_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bn_\be_\bx_\bt\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-See also\n+Vedi anche\n If you\u2019re new to _\bP_\by_\bt_\bh_\bo_\bn, you might want to start by getting an idea of what the\n language is like. Django is 100% Python, so if you\u2019ve got minimal comfort with\n Python you\u2019ll probably get a lot more out of Django.\n If you\u2019re new to programming entirely, you might want to start with this _\bl_\bi_\bs_\bt\n _\bo_\bf_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\br_\be_\bs_\bo_\bu_\br_\bc_\be_\bs_\b _\bf_\bo_\br_\b _\bn_\bo_\bn_\b-_\bp_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br_\bs\n If you already know a few other languages and want to get up to speed with\n Python quickly, we recommend referring the official _\bP_\by_\bt_\bh_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn, which\n provides comprehensive and authoritative information about the language, as\n well as links to other resources such as a list of _\bb_\bo_\bo_\bk_\bs_\b _\ba_\bb_\bo_\bu_\bt_\b _\bP_\by_\bt_\bh_\bo_\bn.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bt_\b _\ba_\b _\bg_\bl_\ba_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/install.html", "source2": "./usr/share/doc/python-django-doc/html/intro/install.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Quick install guide — Django 5.1.4 documentation\n+ Quick install guide — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -97,15 +98,15 @@\n Type "help", "copyright", "credits" or "license" for more information.\n >>>\n
    \n
    \n \n
    \n

    Set up a database\u00b6

    \n-

    This step is only necessary if you\u2019d like to work with a \u201clarge\u201d database engine\n+

    This step is only necessary if you\u2019d like to work with a \u00ablarge\u00bb database engine\n like PostgreSQL, MariaDB, MySQL, or Oracle. To install such a database, consult\n the database installation information.

    \n
    \n
    \n

    Install Django\u00b6

    \n

    You\u2019ve got three options to install Django:

    \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django at a glance

    \n+ title=\"capitolo precedente\">Django at a glance

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 1

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 1

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk i\bin\bns\bst\bta\bal\bll\bl g\bgu\bui\bid\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Before you can use Django, you\u2019ll need to get it installed. We have a _\bc_\bo_\bm_\bp_\bl_\be_\bt_\be\n _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bg_\bu_\bi_\bd_\be that covers all the possibilities; this guide will guide you\n to a minimal installation that\u2019ll work while you walk through the introduction.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bl P\bPy\byt\bth\bho\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -14,15 +14,15 @@\n You can verify that Python is installed by typing python from your shell; you\n should see something like:\n Python 3.x.y\n [GCC 4.x] on linux\n Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n >>>\n *\b**\b**\b**\b**\b* S\bSe\bet\bt u\bup\bp a\ba d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-This step is only necessary if you\u2019d like to work with a \u201clarge\u201d database\n+This step is only necessary if you\u2019d like to work with a \u00ablarge\u00bb database\n engine like PostgreSQL, MariaDB, MySQL, or Oracle. To install such a database,\n consult the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bl D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You\u2019ve got three options to install Django:\n * _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\ba_\bn_\b _\bo_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\br_\be_\bl_\be_\ba_\bs_\be. This is the best approach for most users.\n * Install a version of Django _\bp_\br_\bo_\bv_\bi_\bd_\be_\bd_\b _\bb_\by_\b _\by_\bo_\bu_\br_\b _\bo_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg_\b _\bs_\by_\bs_\bt_\be_\bm\n _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn.\n@@ -50,16 +50,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bQ_\bu_\bi_\bc_\bk_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bg_\bu_\bi_\bd_\be\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bP_\by_\bt_\bh_\bo_\bn\n o _\bS_\be_\bt_\b _\bu_\bp_\b _\ba_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bV_\be_\br_\bi_\bf_\by_\bi_\bn_\bg\n o _\bT_\bh_\ba_\bt_\b\u2019_\bs_\b _\bi_\bt_\b!\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bt_\b _\ba_\b _\bg_\bl_\ba_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b1\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/overview.html", "source2": "./usr/share/doc/python-django-doc/html/intro/overview.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django at a glance — Django 5.1.4 documentation\n+ Django at a glance — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -102,15 +103,15 @@\n detailed documentation.

    \n
    \n

    Design your model\u00b6

    \n

    Although you can use Django without a database, it comes with an\n object-relational mapper in which you describe your database layout in Python\n code.

    \n

    The data-model syntax offers many rich ways of\n-representing your models \u2013 so far, it\u2019s been solving many years\u2019 worth of\n+representing your models \u2013 so far, it\u2019s been solving many years\u201d worth of\n database-schema problems. Here\u2019s a quick example:

    \n
    \n
    news/models.py\u00b6
    \n
    from django.db import models\n \n \n class Reporter(models.Model):\n@@ -291,24 +292,24 @@\n     path("articles/<int:year>/", views.year_archive),\n     path("articles/<int:year>/<int:month>/", views.month_archive),\n     path("articles/<int:year>/<int:month>/<int:pk>/", views.article_detail),\n ]\n 
    \n
    \n
    \n-

    The code above maps URL paths to Python callback functions (\u201cviews\u201d). The path\n-strings use parameter tags to \u201ccapture\u201d values from the URLs. When a user\n+

    The code above maps URL paths to Python callback functions (\u00abviews\u00bb). The path\n+strings use parameter tags to \u00abcapture\u00bb values from the URLs. When a user\n requests a page, Django runs through each path, in order, and stops at the\n first one that matches the requested URL. (If none of them matches, Django\n calls a special-case 404 view.) This is blazingly fast, because the paths are\n compiled into regular expressions at load time.

    \n

    Once one of the URL patterns matches, Django calls the given view, which is a\n Python function. Each view gets passed a request object \u2013 which contains\n request metadata \u2013 and the values captured in the pattern.

    \n-

    For example, if a user requested the URL \u201c/articles/2005/05/39323/\u201d, Django\n+

    For example, if a user requested the URL \u00ab/articles/2005/05/39323/\u00bb, Django\n would call the function news.views.article_detail(request,\n year=2005, month=5, pk=39323).

    \n
    \n
    \n

    Write your views\u00b6

    \n

    Each view is responsible for doing one of two things: Returning an\n HttpResponse object containing the content for the\n@@ -359,31 +360,31 @@\n <p>Published {{ article.pub_date|date:"F j, Y" }}</p>\n {% endfor %}\n {% endblock %}\n

    \n
    \n
    \n

    Variables are surrounded by double-curly braces. {{ article.headline }}\n-means \u201cOutput the value of the article\u2019s headline attribute.\u201d But dots aren\u2019t\n+means \u00abOutput the value of the article\u2019s headline attribute.\u00bb But dots aren\u2019t\n used only for attribute lookup. They also can do dictionary-key lookup, index\n lookup and function calls.

    \n-

    Note {{ article.pub_date|date:"F j, Y" }} uses a Unix-style \u201cpipe\u201d (the \u201c|\u201d\n+

    Note {{ article.pub_date|date:"F j, Y" }} uses a Unix-style \u00abpipe\u00bb (the \u00ab|\u00bb\n character). This is called a template filter, and it\u2019s a way to filter the value\n of a variable. In this case, the date filter formats a Python datetime object in\n the given format (as found in PHP\u2019s date function).

    \n

    You can chain together as many filters as you\u2019d like. You can write custom\n template filters. You can write\n custom template tags, which run custom\n Python code behind the scenes.

    \n-

    Finally, Django uses the concept of \u201ctemplate inheritance\u201d. That\u2019s what the\n-{% extends "base.html" %} does. It means \u201cFirst load the template called\n-\u2018base\u2019, which has defined a bunch of blocks, and fill the blocks with the\n-following blocks.\u201d In short, that lets you dramatically cut down on redundancy\n+

    Finally, Django uses the concept of \u00abtemplate inheritance\u00bb. That\u2019s what the\n+{% extends "base.html" %} does. It means \u00abFirst load the template called\n+\u201cbase\u201d, which has defined a bunch of blocks, and fill the blocks with the\n+following blocks.\u00bb In short, that lets you dramatically cut down on redundancy\n in templates: each template has to define only what\u2019s unique to that template.

    \n-

    Here\u2019s what the \u201cbase.html\u201d template, including the use of static files, might look like:

    \n+

    Here\u2019s what the \u00abbase.html\u00bb template, including the use of static files, might look like:

    \n
    \n
    templates/base.html\u00b6
    \n
    {% load static %}\n <html lang="en">\n <head>\n     <title>{% block title %}{% endblock %}</title>\n </head>\n@@ -392,15 +393,15 @@\n     {% block content %}{% endblock %}\n </body>\n </html>\n 
    \n
    \n
    \n

    Simplistically, it defines the look-and-feel of the site (with the site\u2019s logo),\n-and provides \u201choles\u201d for child templates to fill. This means that a site redesign\n+and provides \u00abholes\u00bb for child templates to fill. This means that a site redesign\n can be done by changing a single file \u2013 the base template.

    \n

    It also lets you create multiple versions of a site, with different base\n templates, while reusing child templates. Django\u2019s creators have used this\n technique to create strikingly different mobile versions of sites by only\n creating a new base template.

    \n

    Note that you don\u2019t have to use Django\u2019s template system if you prefer another\n system. While Django\u2019s template system is particularly well-integrated with\n@@ -450,37 +451,37 @@\n

  • This is just the surface
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Getting started

    \n+ title=\"capitolo precedente\">Getting started

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Quick install guide

    \n+ title=\"capitolo successivo\">Quick install guide

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo a\bat\bt a\ba g\bgl\bla\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Because Django was developed in a fast-paced newsroom environment, it was\n designed to make common web development tasks fast and easy. Here\u2019s an informal\n overview of how to write a database-driven web app with Django.\n The goal of this document is to give you enough technical specifics to\n understand how Django works, but this isn\u2019t intended to be a tutorial or\n reference \u2013 but we\u2019ve got both! When you\u2019re ready to start a project, you can\n _\bs_\bt_\ba_\br_\bt_\b _\bw_\bi_\bt_\bh_\b _\bt_\bh_\be_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl or _\bd_\bi_\bv_\be_\b _\br_\bi_\bg_\bh_\bt_\b _\bi_\bn_\bt_\bo_\b _\bm_\bo_\br_\be_\b _\bd_\be_\bt_\ba_\bi_\bl_\be_\bd_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* D\bDe\bes\bsi\big\bgn\bn y\byo\bou\bur\br m\bmo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Although you can use Django without a database, it comes with an _\bo_\bb_\bj_\be_\bc_\bt_\b-\n _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bm_\ba_\bp_\bp_\be_\br in which you describe your database layout in Python code.\n The _\bd_\ba_\bt_\ba_\b-_\bm_\bo_\bd_\be_\bl_\b _\bs_\by_\bn_\bt_\ba_\bx offers many rich ways of representing your models \u2013 so\n-far, it\u2019s been solving many years\u2019 worth of database-schema problems. Here\u2019s a\n+far, it\u2019s been solving many years\u201d worth of database-schema problems. Here\u2019s a\n quick example:\n news/models.py_\b\u00b6\n from django.db import models\n \n \n class Reporter(models.Model):\n full_name = models.CharField(max_length=70)\n@@ -160,24 +160,24 @@\n from . import views\n \n urlpatterns = [\n path(\"articles//\", views.year_archive),\n path(\"articles///\", views.month_archive),\n path(\"articles////\", views.article_detail),\n ]\n-The code above maps URL paths to Python callback functions (\u201cviews\u201d). The path\n-strings use parameter tags to \u201ccapture\u201d values from the URLs. When a user\n+The code above maps URL paths to Python callback functions (\u00abviews\u00bb). The path\n+strings use parameter tags to \u00abcapture\u00bb values from the URLs. When a user\n requests a page, Django runs through each path, in order, and stops at the\n first one that matches the requested URL. (If none of them matches, Django\n calls a special-case 404 view.) This is blazingly fast, because the paths are\n compiled into regular expressions at load time.\n Once one of the URL patterns matches, Django calls the given view, which is a\n Python function. Each view gets passed a request object \u2013 which contains\n request metadata \u2013 and the values captured in the pattern.\n-For example, if a user requested the URL \u201c/articles/2005/05/39323/\u201d, Django\n+For example, if a user requested the URL \u00ab/articles/2005/05/39323/\u00bb, Django\n would call the function news.views.article_detail(request, year=2005, month=5,\n pk=39323).\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bte\be y\byo\bou\bur\br v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Each view is responsible for doing one of two things: Returning an _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n object containing the content for the requested page, or raising an exception\n such as _\bH_\bt_\bt_\bp_\b4_\b0_\b4. The rest is up to you.\n Generally, a view retrieves data according to the parameters, loads a template\n@@ -214,44 +214,44 @@\n {% for article in article_list %}\n

    {{ article.headline }}

    \n

    By {{ article.reporter.full_name }}

    \n

    Published {{ article.pub_date|date:\"F j, Y\" }}

    \n {% endfor %}\n {% endblock %}\n Variables are surrounded by double-curly braces. {{ article.headline }} means\n-\u201cOutput the value of the article\u2019s headline attribute.\u201d But dots aren\u2019t used\n+\u00abOutput the value of the article\u2019s headline attribute.\u00bb But dots aren\u2019t used\n only for attribute lookup. They also can do dictionary-key lookup, index lookup\n and function calls.\n-Note {{ article.pub_date|date:\"F j, Y\" }} uses a Unix-style \u201cpipe\u201d (the \u201c|\u201d\n+Note {{ article.pub_date|date:\"F j, Y\" }} uses a Unix-style \u00abpipe\u00bb (the \u00ab|\u00bb\n character). This is called a template filter, and it\u2019s a way to filter the\n value of a variable. In this case, the date filter formats a Python datetime\n object in the given format (as found in PHP\u2019s date function).\n You can chain together as many filters as you\u2019d like. You can write _\bc_\bu_\bs_\bt_\bo_\bm\n _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\bs. You can write _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs, which run custom Python\n code behind the scenes.\n-Finally, Django uses the concept of \u201ctemplate inheritance\u201d. That\u2019s what the {%\n-extends \"base.html\" %} does. It means \u201cFirst load the template called \u2018base\u2019,\n+Finally, Django uses the concept of \u00abtemplate inheritance\u00bb. That\u2019s what the {%\n+extends \"base.html\" %} does. It means \u00abFirst load the template called \u201cbase\u201d,\n which has defined a bunch of blocks, and fill the blocks with the following\n-blocks.\u201d In short, that lets you dramatically cut down on redundancy in\n+blocks.\u00bb In short, that lets you dramatically cut down on redundancy in\n templates: each template has to define only what\u2019s unique to that template.\n-Here\u2019s what the \u201cbase.html\u201d template, including the use of _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs, might\n+Here\u2019s what the \u00abbase.html\u00bb template, including the use of _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs, might\n look like:\n templates/base.html_\b\u00b6\n {% load static %}\n \n \n {% block title %}{% endblock %}\n \n \n \"Logo\"\n {% block content %}{% endblock %}\n \n \n Simplistically, it defines the look-and-feel of the site (with the site\u2019s\n-logo), and provides \u201choles\u201d for child templates to fill. This means that a site\n+logo), and provides \u00abholes\u00bb for child templates to fill. This means that a site\n redesign can be done by changing a single file \u2013 the base template.\n It also lets you create multiple versions of a site, with different base\n templates, while reusing child templates. Django\u2019s creators have used this\n technique to create strikingly different mobile versions of sites by only\n creating a new base template.\n Note that you don\u2019t have to use Django\u2019s template system if you prefer another\n system. While Django\u2019s template system is particularly well-integrated with\n@@ -277,16 +277,16 @@\n o _\bE_\bn_\bj_\bo_\by_\b _\bt_\bh_\be_\b _\bf_\br_\be_\be_\b _\bA_\bP_\bI\n o _\bA_\b _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be_\b:_\b _\bi_\bt_\b\u2019_\bs_\b _\bn_\bo_\bt_\b _\bj_\bu_\bs_\bt_\b _\bs_\bc_\ba_\bf_\bf_\bo_\bl_\bd_\bi_\bn_\bg_\b _\b\u2013_\b _\bi_\bt_\b\u2019_\bs_\b _\bt_\bh_\be\n _\bw_\bh_\bo_\bl_\be_\b _\bh_\bo_\bu_\bs_\be\n o _\bD_\be_\bs_\bi_\bg_\bn_\b _\by_\bo_\bu_\br_\b _\bU_\bR_\bL_\bs\n o _\bW_\br_\bi_\bt_\be_\b _\by_\bo_\bu_\br_\b _\bv_\bi_\be_\bw_\bs\n o _\bD_\be_\bs_\bi_\bg_\bn_\b _\by_\bo_\bu_\br_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bT_\bh_\bi_\bs_\b _\bi_\bs_\b _\bj_\bu_\bs_\bt_\b _\bt_\bh_\be_\b _\bs_\bu_\br_\bf_\ba_\bc_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bs_\bt_\ba_\br_\bt_\be_\bd\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bQ_\bu_\bi_\bc_\bk_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bg_\bu_\bi_\bd_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/reusable-apps.html", "source2": "./usr/share/doc/python-django-doc/html/intro/reusable-apps.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Advanced tutorial: How to write reusable apps — Django 5.1.4 documentation\n+ Advanced tutorial: How to write reusable apps — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -101,15 +102,15 @@\n could decouple polls from the project-level URLconf using an include.\n In this tutorial, we\u2019ll take further steps to make the app easy to use in new\n projects and ready to publish for others to install and use.

    \n
    \n

    Package? App?

    \n

    A Python package provides a way of grouping related Python code for\n easy reuse. A package contains one or more files of Python code (also known\n-as \u201cmodules\u201d).

    \n+as \u00abmodules\u00bb).

    \n

    A package can be imported with import foo.bar or from foo import\n bar. For a directory (like polls) to form a package, it must contain\n a special file __init__.py, even if this file is empty.

    \n

    A Django application is a Python package that is specifically intended\n for use in a Django project. An application may use common Django\n conventions, such as having models, tests, urls, and views\n submodules.

    \n@@ -422,37 +423,37 @@\n
  • Installing Python packages with a virtual environment
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 8

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 8

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    What to read next

    \n+ title=\"capitolo successivo\">What to read next

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAd\bdv\bva\ban\bnc\bce\bed\bd t\btu\but\bto\bor\bri\bia\bal\bl:\b: H\bHo\bow\bw t\bto\bo w\bwr\bri\bit\bte\be r\bre\beu\bus\bsa\bab\bbl\ble\be a\bap\bpp\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This advanced tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b8 left off. We\u2019ll be turning our\n web-poll into a standalone Python package you can reuse in new projects and\n share with other people.\n If you haven\u2019t recently completed Tutorials 1\u20138, we encourage you to review\n@@ -21,15 +21,15 @@\n we\u2019ve been working on. How do you make this app reusable? Luckily, you\u2019re well\n on the way already. In _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b1, we saw how we could decouple polls from the\n project-level URLconf using an include. In this tutorial, we\u2019ll take further\n steps to make the app easy to use in new projects and ready to publish for\n others to install and use.\n Package? App?\n A Python _\bp_\ba_\bc_\bk_\ba_\bg_\be provides a way of grouping related Python code for easy reuse.\n-A package contains one or more files of Python code (also known as \u201cmodules\u201d).\n+A package contains one or more files of Python code (also known as \u00abmodules\u00bb).\n A package can be imported with import foo.bar or from foo import bar. For a\n directory (like polls) to form a package, it must contain a special file\n __init__.py, even if this file is empty.\n A Django a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn is a Python package that is specifically intended for use\n in a Django project. An application may use common Django conventions, such as\n having models, tests, urls, and views submodules.\n Later on we use the term p\bpa\bac\bck\bka\bag\bgi\bin\bng\bg to describe the process of making a Python\n@@ -257,16 +257,16 @@\n o _\bR_\be_\bu_\bs_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bm_\ba_\bt_\bt_\be_\br_\bs\n o _\bY_\bo_\bu_\br_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\ba_\bn_\bd_\b _\by_\bo_\bu_\br_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bs_\bo_\bm_\be_\b _\bp_\br_\be_\br_\be_\bq_\bu_\bi_\bs_\bi_\bt_\be_\bs\n o _\bP_\ba_\bc_\bk_\ba_\bg_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\ba_\bp_\bp\n o _\bU_\bs_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be\n o _\bP_\bu_\bb_\bl_\bi_\bs_\bh_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\ba_\bp_\bp\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bv_\bi_\br_\bt_\bu_\ba_\bl_\b _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b8\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\bh_\ba_\bt_\b _\bt_\bo_\b _\br_\be_\ba_\bd_\b _\bn_\be_\bx_\bt\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial01.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial01.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 1 — Django 5.1.4 documentation\n+ Writing your first Django app, part 1 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -115,15 +116,15 @@\n \n
    \n
    ...\\> py -m django --version\n 
    \n
    \n
    \n

    If Django is installed, you should see the version of your installation. If it\n-isn\u2019t, you\u2019ll get an error telling \u201cNo module named django\u201d.

    \n+isn\u2019t, you\u2019ll get an error telling \u00abNo module named django\u00bb.

    \n

    This tutorial is written for Django 5.1, which supports Python 3.10 and\n later. If the Django version doesn\u2019t match, you can refer to the tutorial for\n your version of Django by using the version switcher at the bottom right corner\n of this page, or update Django to the newest version. If you\u2019re using an older\n version of Python, check What Python version can I use with Django? to find a compatible\n version of Django.

    \n
    \n@@ -171,15 +172,15 @@\n
    ...\\> django-admin startproject mysite djangotutorial\n 
    \n \n
    \n

    This will create a project called mysite inside the djangotutorial\n directory. If it didn\u2019t work, see Problems running django-admin.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    You\u2019ll need to avoid naming projects after built-in Python or Django\n components. In particular, this means you should avoid using names like\n django (which will conflict with Django itself) or test (which\n conflicts with a built-in Python package).

    \n
    \n

    Let\u2019s look at what startproject created:

    \n
    djangotutorial/\n@@ -203,15 +204,15 @@\n 
  • mysite/__init__.py: An empty file that tells Python that this\n directory should be considered a Python package. If you\u2019re a Python beginner,\n read more about packages in the official Python docs.

  • \n
  • mysite/settings.py: Settings/configuration for this Django\n project. Django settings will tell you all about how settings\n work.

  • \n
  • mysite/urls.py: The URL declarations for this Django project; a\n-\u201ctable of contents\u201d of your Django-powered site. You can read more about\n+\u00abtable of contents\u00bb of your Django-powered site. You can read more about\n URLs in URL dispatcher.

  • \n
  • mysite/asgi.py: An entry-point for ASGI-compatible web servers to\n serve your project. See How to deploy with ASGI for more details.

  • \n
  • mysite/wsgi.py: An entry-point for WSGI-compatible web servers to\n serve your project. See How to deploy with WSGI for more details.

  • \n \n \n@@ -238,25 +239,25 @@\n
    Performing system checks...\n \n System check identified no issues (0 silenced).\n \n You have unapplied migrations; your app may not work properly until they are applied.\n Run 'python manage.py migrate' to apply them.\n \n-December 04, 2024 - 15:50:53\n+dicembre 04, 2024 - 15:50:53\n Django version 5.1, using settings 'mysite.settings'\n Starting development server at http://127.0.0.1:8000/\n Quit the server with CONTROL-C.
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Ignore the warning about unapplied database migrations for now; we\u2019ll deal\n with the database shortly.

    \n
    \n

    Now that the server\u2019s running, visit http://127.0.0.1:8000/ with your web\n-browser. You\u2019ll see a \u201cCongratulations!\u201d page, with a rocket taking off.\n+browser. You\u2019ll see a \u00abCongratulations!\u00bb page, with a rocket taking off.\n It worked!

    \n

    You\u2019ve started the Django development server, a lightweight web server written\n purely in Python. We\u2019ve included this with Django so you can develop things\n rapidly, without having to deal with configuring a production server \u2013 such as\n Apache \u2013 until you\u2019re ready for production.

    \n

    Now\u2019s a good time to note: don\u2019t use this server in anything resembling a\n production environment. It\u2019s intended only for use while developing. (We\u2019re in\n@@ -268,15 +269,15 @@\n as needed. You don\u2019t need to restart the server for code changes to take\n effect. However, some actions like adding files don\u2019t trigger a restart,\n so you\u2019ll have to restart the server in these cases.

    \n
    \n \n
    \n

    Creating the Polls app\u00b6

    \n-

    Now that your environment \u2013 a \u201cproject\u201d \u2013 is set up, you\u2019re set to start\n+

    Now that your environment \u2013 a \u00abproject\u00bb \u2013 is set up, you\u2019re set to start\n doing work.

    \n

    Each application you write in Django consists of a Python package that follows\n a certain convention. Django comes with a utility that automatically generates\n the basic directory structure of an app, so you can focus on writing code\n rather than creating directories.

    \n
    \n

    Projects vs. apps

    \n@@ -331,15 +332,15 @@\n def index(request):\n return HttpResponse("Hello, world. You're at the polls index.")\n
    \n
    \n
    \n

    This is the most basic view possible in Django. To access it in a browser, we\n need to map it to a URL - and for this we need to define a URL configuration,\n-or \u201cURLconf\u201d for short. These URL configurations are defined inside each\n+or \u00abURLconf\u00bb for short. These URL configurations are defined inside each\n Django app, and they are Python files named urls.py.

    \n

    To define a URLconf for the polls app, create a file polls/urls.py\n with the following content:

    \n
    \n
    polls/urls.py\u00b6
    \n
    from django.urls import path\n \n@@ -384,16 +385,16 @@\n route and view.\n The include() function allows referencing other URLconfs.\n Whenever Django encounters include(), it chops off whatever\n part of the URL matched up to that point and sends the remaining string to the\n included URLconf for further processing.

    \n

    The idea behind include() is to make it easy to\n plug-and-play URLs. Since polls are in their own URLconf\n-(polls/urls.py), they can be placed under \u201c/polls/\u201d, or under\n-\u201c/fun_polls/\u201d, or under \u201c/content/polls/\u201d, or any other path root, and the\n+(polls/urls.py), they can be placed under \u00ab/polls/\u00bb, or under\n+\u00ab/fun_polls/\u00bb, or under \u00ab/content/polls/\u00bb, or any other path root, and the\n app will still work.

    \n
    \n

    When to use include()

    \n

    You should always use include() when you include other URL patterns.\n The only exception is admin.site.urls, which is a pre-built URLconf\n provided by Django for the default admin site.

    \n
    \n@@ -411,15 +412,15 @@\n \n
    \n
    ...\\> py manage.py runserver\n 
    \n
    \n
    \n

    Go to http://localhost:8000/polls/ in your browser, and you should see the\n-text \u201cHello, world. You\u2019re at the polls index.\u201d, which you defined in the\n+text \u00abHello, world. You\u2019re at the polls index.\u00bb, which you defined in the\n index view.

    \n
    \n

    Page not found?

    \n

    If you get an error page here, check that you\u2019re going to\n http://localhost:8000/polls/ and not http://localhost:8000/.

    \n
    \n

    When you\u2019re comfortable with the basic request and response flow, read\n@@ -448,37 +449,37 @@\n

  • Write your first view
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Quick install guide

    \n+ title=\"capitolo precedente\">Quick install guide

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 2

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 2

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 1\b1_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Let\u2019s learn by example.\n Throughout this tutorial, we\u2019ll walk you through the creation of a basic poll\n application.\n It\u2019ll consist of two parts:\n@@ -11,15 +11,15 @@\n We\u2019ll assume you have _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\bd already. You can tell Django is\n installed and which version by running the following command in a shell prompt\n (indicated by the $ prefix):\n #\uf17c/\uf179 o\uf17a\n $ python -m django --version\n ...\\> py -m django --version\n If Django is installed, you should see the version of your installation. If it\n-isn\u2019t, you\u2019ll get an error telling \u201cNo module named django\u201d.\n+isn\u2019t, you\u2019ll get an error telling \u00abNo module named django\u00bb.\n This tutorial is written for Django 5.1, which supports Python 3.10 and later.\n If the Django version doesn\u2019t match, you can refer to the tutorial for your\n version of Django by using the version switcher at the bottom right corner of\n this page, or update Django to the newest version. If you\u2019re using an older\n version of Python, check _\bW_\bh_\ba_\bt_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\bc_\ba_\bn_\b _\bI_\b _\bu_\bs_\be_\b _\bw_\bi_\bt_\bh_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b? to find a\n compatible version of Django.\n Where to get help:\n@@ -39,15 +39,15 @@\n ...\\> mkdir djangotutorial\n Then, run the following command to bootstrap a new Django project:\n #\uf17c/\uf179 o\uf17a\n $ django-admin startproject mysite djangotutorial\n ...\\> django-admin startproject mysite djangotutorial\n This will create a project called mysite inside the djangotutorial directory.\n If it didn\u2019t work, see _\bP_\br_\bo_\bb_\bl_\be_\bm_\bs_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn.\n-Note\n+Nota\n You\u2019ll need to avoid naming projects after built-in Python or Django\n components. In particular, this means you should avoid using names like django\n (which will conflict with Django itself) or test (which conflicts with a built-\n in Python package).\n Let\u2019s look at what _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt created:\n djangotutorial/\n manage.py\n@@ -65,16 +65,16 @@\n Its name is the Python package name you\u2019ll need to use to import anything\n inside it (e.g. mysite.urls).\n * mysite/__init__.py: An empty file that tells Python that this directory\n should be considered a Python package. If you\u2019re a Python beginner, read\n _\bm_\bo_\br_\be_\b _\ba_\bb_\bo_\bu_\bt_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs in the official Python docs.\n * mysite/settings.py: Settings/configuration for this Django project.\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs will tell you all about how settings work.\n- * mysite/urls.py: The URL declarations for this Django project; a \u201ctable of\n- contents\u201d of your Django-powered site. You can read more about URLs in\n+ * mysite/urls.py: The URL declarations for this Django project; a \u00abtable of\n+ contents\u00bb of your Django-powered site. You can read more about URLs in\n _\bU_\bR_\bL_\b _\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br.\n * mysite/asgi.py: An entry-point for ASGI-compatible web servers to serve\n your project. See _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bA_\bS_\bG_\bI for more details.\n * mysite/wsgi.py: An entry-point for WSGI-compatible web servers to serve\n your project. See _\bH_\bo_\bw_\b _\bt_\bo_\b _\bd_\be_\bp_\bl_\bo_\by_\b _\bw_\bi_\bt_\bh_\b _\bW_\bS_\bG_\bI for more details.\n *\b**\b**\b**\b**\b* T\bTh\bhe\be d\bde\bev\bve\bel\blo\bop\bpm\bme\ben\bnt\bt s\bse\ber\brv\bve\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Let\u2019s verify your Django project works. Change into the djangotutorial\n@@ -87,23 +87,23 @@\n \n System check identified no issues (0 silenced).\n \n You have unapplied migrations; your app may not work properly until they are\n applied.\n Run 'python manage.py migrate' to apply them.\n \n-December 04, 2024 - 15:50:53\n+dicembre 04, 2024 - 15:50:53\n Django version 5.1, using settings 'mysite.settings'\n Starting development server at _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\b1_\b2_\b7_\b._\b0_\b._\b0_\b._\b1_\b:_\b8_\b0_\b0_\b0_\b/\n Quit the server with CONTROL-C.\n-Note\n+Nota\n Ignore the warning about unapplied database migrations for now; we\u2019ll deal with\n the database shortly.\n Now that the server\u2019s running, visit _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\b1_\b2_\b7_\b._\b0_\b._\b0_\b._\b1_\b:_\b8_\b0_\b0_\b0_\b/ with your web\n-browser. You\u2019ll see a \u201cCongratulations!\u201d page, with a rocket taking off. It\n+browser. You\u2019ll see a \u00abCongratulations!\u00bb page, with a rocket taking off. It\n worked!\n You\u2019ve started the Django development server, a lightweight web server written\n purely in Python. We\u2019ve included this with Django so you can develop things\n rapidly, without having to deal with configuring a production server \u2013 such as\n Apache \u2013 until you\u2019re ready for production.\n Now\u2019s a good time to note: d\bdo\bon\bn?\b\u2019t\bt use this server in anything resembling a\n production environment. It\u2019s intended only for use while developing. (We\u2019re in\n@@ -111,15 +111,15 @@\n (To serve the site on a different port, see the _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br reference.)\n Automatic reloading of _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br\n The development server automatically reloads Python code for each request as\n needed. You don\u2019t need to restart the server for code changes to take effect.\n However, some actions like adding files don\u2019t trigger a restart, so you\u2019ll have\n to restart the server in these cases.\n *\b**\b**\b**\b**\b* C\bCr\bre\bea\bat\bti\bin\bng\bg t\bth\bhe\be P\bPo\bol\bll\bls\bs a\bap\bpp\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Now that your environment \u2013 a \u201cproject\u201d \u2013 is set up, you\u2019re set to start doing\n+Now that your environment \u2013 a \u00abproject\u00bb \u2013 is set up, you\u2019re set to start doing\n work.\n Each application you write in Django consists of a Python package that follows\n a certain convention. Django comes with a utility that automatically generates\n the basic directory structure of an app, so you can focus on writing code\n rather than creating directories.\n Projects vs. apps\n What\u2019s the difference between a project and an app? An app is a web application\n@@ -152,15 +152,15 @@\n from django.http import HttpResponse\n \n \n def index(request):\n return HttpResponse(\"Hello, world. You're at the polls index.\")\n This is the most basic view possible in Django. To access it in a browser, we\n need to map it to a URL - and for this we need to define a URL configuration,\n-or \u201cURLconf\u201d for short. These URL configurations are defined inside each Django\n+or \u00abURLconf\u00bb for short. These URL configurations are defined inside each Django\n app, and they are Python files named urls.py.\n To define a URLconf for the polls app, create a file polls/urls.py with the\n following content:\n polls/urls.py_\b\u00b6\n from django.urls import path\n \n from . import views\n@@ -192,42 +192,42 @@\n path(\"admin/\", admin.site.urls),\n ]\n The _\bp_\ba_\bt_\bh_\b(_\b) function expects at least two arguments: route and view. The _\bi_\bn_\bc_\bl_\bu_\bd_\be\n _\b(_\b) function allows referencing other URLconfs. Whenever Django encounters\n _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b), it chops off whatever part of the URL matched up to that point and\n sends the remaining string to the included URLconf for further processing.\n The idea behind _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b) is to make it easy to plug-and-play URLs. Since polls\n-are in their own URLconf (polls/urls.py), they can be placed under \u201c/polls/\u201d,\n-or under \u201c/fun_polls/\u201d, or under \u201c/content/polls/\u201d, or any other path root, and\n+are in their own URLconf (polls/urls.py), they can be placed under \u00ab/polls/\u00bb,\n+or under \u00ab/fun_polls/\u00bb, or under \u00ab/content/polls/\u00bb, or any other path root, and\n the app will still work.\n When to use _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b)\n You should always use include() when you include other URL patterns. The only\n exception is admin.site.urls, which is a pre-built URLconf provided by Django\n for the default admin site.\n You have now wired an index view into the URLconf. Verify it\u2019s working with the\n following command:\n #\uf17c/\uf179 o\uf17a\n $ python manage.py runserver\n ...\\> py manage.py runserver\n Go to _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bl_\bo_\bc_\ba_\bl_\bh_\bo_\bs_\bt_\b:_\b8_\b0_\b0_\b0_\b/_\bp_\bo_\bl_\bl_\bs_\b/ in your browser, and you should see the text\n-\u201cH\bHe\bel\bll\blo\bo,\b, w\bwo\bor\brl\bld\bd.\b. Y\bYo\bou\bu?\b\u2019r\bre\be a\bat\bt t\bth\bhe\be p\bpo\bol\bll\bls\bs i\bin\bnd\bde\bex\bx.\b.\u201d, which you defined in the index\n+\u00abH\bHe\bel\bll\blo\bo,\b, w\bwo\bor\brl\bld\bd.\b. Y\bYo\bou\bu?\b\u2019r\bre\be a\bat\bt t\bth\bhe\be p\bpo\bol\bll\bls\bs i\bin\bnd\bde\bex\bx.\b.\u00bb, which you defined in the index\n view.\n Page not found?\n If you get an error page here, check that you\u2019re going to _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bl_\bo_\bc_\ba_\bl_\bh_\bo_\bs_\bt_\b:\n _\b8_\b0_\b0_\b0_\b/_\bp_\bo_\bl_\bl_\bs_\b/ and not _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bl_\bo_\bc_\ba_\bl_\bh_\bo_\bs_\bt_\b:_\b8_\b0_\b0_\b0_\b/.\n When you\u2019re comfortable with the basic request and response flow, read _\bp_\ba_\br_\bt_\b _\b2\n _\bo_\bf_\b _\bt_\bh_\bi_\bs_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl to start working with the database.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b1\n o _\bC_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bp_\br_\bo_\bj_\be_\bc_\bt\n o _\bT_\bh_\be_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bs_\be_\br_\bv_\be_\br\n o _\bC_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bP_\bo_\bl_\bl_\bs_\b _\ba_\bp_\bp\n o _\bW_\br_\bi_\bt_\be_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bv_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bQ_\bu_\bi_\bc_\bk_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bg_\bu_\bi_\bd_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b2\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial02.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial02.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 2 — Django 5.1.4 documentation\n+ Writing your first Django app, part 2 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -241,15 +242,15 @@\n
      \n
    • Create a database schema (CREATE TABLE statements) for this app.

    • \n
    • Create a Python database-access API for accessing Question and Choice objects.

    • \n
    \n

    But first we need to tell our project that the polls app is installed.

    \n
    \n

    Philosophy

    \n-

    Django apps are \u201cpluggable\u201d: You can use an app in multiple projects, and\n+

    Django apps are \u00abpluggable\u00bb: You can use an app in multiple projects, and\n you can distribute apps, because they don\u2019t have to be tied to a given\n Django installation.

    \n
    \n

    To include the app in our project, we need to add a reference to its\n configuration class in the INSTALLED_APPS setting. The\n PollsConfig class is in the polls/apps.py file, so its dotted path\n is 'polls.apps.PollsConfig'. Edit the mysite/settings.py file and\n@@ -442,15 +443,15 @@\n

    \n \n
    \n
    ...\\> py manage.py shell\n 
    \n
    \n
    \n-

    We\u2019re using this instead of simply typing \u201cpython\u201d, because manage.py\n+

    We\u2019re using this instead of simply typing \u00abpython\u00bb, because manage.py\n sets the DJANGO_SETTINGS_MODULE environment variable, which gives\n Django the Python import path to your mysite/settings.py file.

    \n

    Once you\u2019re in the shell, explore the database API:

    \n
    >>> from polls.models import Choice, Question  # Import the model classes we just wrote.\n \n # No questions are in the system yet.\n >>> Question.objects.all()\n@@ -506,15 +507,15 @@\n     def __str__(self):\n         return self.choice_text\n 
    \n
    \n
    \n

    It\u2019s important to add __str__() methods to your\n models, not only for your own convenience when dealing with the interactive\n-prompt, but also because objects\u2019 representations are used throughout Django\u2019s\n+prompt, but also because objects\u201d representations are used throughout Django\u2019s\n automatically-generated admin.

    \n

    Let\u2019s also add a custom method to this model:

    \n
    \n
    polls/models.py\u00b6
    \n
    import datetime\n \n from django.db import models\n@@ -620,15 +621,15 @@\n 

    Introducing the Django Admin\u00b6

    \n
    \n

    Philosophy

    \n

    Generating admin sites for your staff or clients to add, change, and delete\n content is tedious work that doesn\u2019t require much creativity. For that\n reason, Django entirely automates creation of admin interfaces for models.

    \n

    Django was written in a newsroom environment, with a very clear separation\n-between \u201ccontent publishers\u201d and the \u201cpublic\u201d site. Site managers use the\n+between \u00abcontent publishers\u00bb and the \u00abpublic\u00bb site. Site managers use the\n system to add news stories, events, sports scores, etc., and that content is\n displayed on the public site. Django solves the problem of creating a\n unified interface for site administrators to edit content.

    \n

    The admin isn\u2019t intended to be used by site visitors. It\u2019s for site\n managers.

    \n
    \n
    \n@@ -682,15 +683,15 @@\n
    \n \n
    \n
    ...\\> py manage.py runserver\n 
    \n
    \n
    \n-

    Now, open a web browser and go to \u201c/admin/\u201d on your local domain \u2013 e.g.,\n+

    Now, open a web browser and go to \u00ab/admin/\u00bb on your local domain \u2013 e.g.,\n http://127.0.0.1:8000/admin/. You should see the admin\u2019s login screen:

    \n \"Django\n

    Since translation is turned on by default, if\n you set LANGUAGE_CODE, the login screen will be displayed in the\n given language (if Django has appropriate translations).

    \n \n
    \n@@ -720,47 +721,47 @@\n
    \n \n
    \n

    Explore the free admin functionality\u00b6

    \n

    Now that we\u2019ve registered Question, Django knows that it should be displayed on\n the admin index page:

    \n \"Django\n-

    Click \u201cQuestions\u201d. Now you\u2019re at the \u201cchange list\u201d page for questions. This page\n+

    Click \u00abQuestions\u00bb. Now you\u2019re at the \u00abchange list\u00bb page for questions. This page\n displays all the questions in the database and lets you choose one to change it.\n-There\u2019s the \u201cWhat\u2019s up?\u201d question we created earlier:

    \n+There\u2019s the \u00abWhat\u2019s up?\u00bb question we created earlier:

    \n \"Polls\n-

    Click the \u201cWhat\u2019s up?\u201d question to edit it:

    \n+

    Click the \u00abWhat\u2019s up?\u00bb question to edit it:

    \n \"Editing\n

    Things to note here:

    \n
      \n
    • The form is automatically generated from the Question model.

    • \n
    • The different model field types (DateTimeField,\n CharField) correspond to the appropriate HTML\n input widget. Each type of field knows how to display itself in the Django\n admin.

    • \n
    • Each DateTimeField gets free JavaScript\n-shortcuts. Dates get a \u201cToday\u201d shortcut and calendar popup, and times get\n-a \u201cNow\u201d shortcut and a convenient popup that lists commonly entered times.

    • \n+shortcuts. Dates get a \u00abToday\u00bb shortcut and calendar popup, and times get\n+a \u00abNow\u00bb shortcut and a convenient popup that lists commonly entered times.

      \n
    \n

    The bottom part of the page gives you a couple of options:

    \n
      \n
    • Save \u2013 Saves changes and returns to the change-list page for this type of\n object.

    • \n
    • Save and continue editing \u2013 Saves changes and reloads the admin page for\n this object.

    • \n
    • Save and add another \u2013 Saves changes and loads a new, blank form for this\n type of object.

    • \n
    • Delete \u2013 Displays a delete confirmation page.

    • \n
    \n-

    If the value of \u201cDate published\u201d doesn\u2019t match the time when you created the\n+

    If the value of \u00abDate published\u00bb doesn\u2019t match the time when you created the\n question in Tutorial 1, it probably\n means you forgot to set the correct value for the TIME_ZONE setting.\n Change it, reload the page and check that the correct value appears.

    \n-

    Change the \u201cDate published\u201d by clicking the \u201cToday\u201d and \u201cNow\u201d shortcuts. Then\n-click \u201cSave and continue editing.\u201d Then click \u201cHistory\u201d in the upper right.\n+

    Change the \u00abDate published\u00bb by clicking the \u00abToday\u00bb and \u00abNow\u00bb shortcuts. Then\n+click \u00abSave and continue editing.\u00bb Then click \u00abHistory\u00bb in the upper right.\n You\u2019ll see a page listing all changes made to this object via the Django admin,\n with the timestamp and username of the person who made the change:

    \n \"History\n

    When you\u2019re comfortable with the models API and have familiarized yourself with\n the admin site, read part 3 of this tutorial to learn\n about how to add more views to our polls app.

    \n
    \n@@ -795,37 +796,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 1

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 1

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 3

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 3

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 2\b2_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b1 left off. We\u2019ll set up the database,\n create your first model, and get a quick introduction to Django\u2019s\n automatically-generated admin site.\n Where to get help:\n@@ -110,15 +110,15 @@\n That small bit of model code gives Django a lot of information. With it, Django\n is able to:\n * Create a database schema (CREATE TABLE statements) for this app.\n * Create a Python database-access API for accessing Question and Choice\n objects.\n But first we need to tell our project that the polls app is installed.\n Philosophy\n-Django apps are \u201cpluggable\u201d: You can use an app in multiple projects, and you\n+Django apps are \u00abpluggable\u00bb: You can use an app in multiple projects, and you\n can distribute apps, because they don\u2019t have to be tied to a given Django\n installation.\n To include the app in our project, we need to add a reference to its\n configuration class in the _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting. The PollsConfig class is in\n the polls/apps.py file, so its dotted path is 'polls.apps.PollsConfig'. Edit\n the mysite/settings.py file and add that dotted path to the _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS\n setting. It\u2019ll look like this:\n@@ -248,15 +248,15 @@\n utility can do.\n *\b**\b**\b**\b**\b* P\bPl\bla\bay\byi\bin\bng\bg w\bwi\bit\bth\bh t\bth\bhe\be A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Now, let\u2019s hop into the interactive Python shell and play around with the free\n API Django gives you. To invoke the Python shell, use this command:\n #\uf17c/\uf179 o\uf17a\n $ python manage.py shell\n ...\\> py manage.py shell\n-We\u2019re using this instead of simply typing \u201cpython\u201d, because manage.py sets the\n+We\u2019re using this instead of simply typing \u00abpython\u00bb, because manage.py sets the\n _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE environment variable, which gives Django the Python\n import path to your mysite/settings.py file.\n Once you\u2019re in the shell, explore the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI:\n >>> from polls.models import Choice, Question # Import the model classes we\n just wrote.\n \n # No questions are in the system yet.\n@@ -304,15 +304,15 @@\n \n \n class Choice(models.Model):\n # ...\n def __str__(self):\n return self.choice_text\n It\u2019s important to add _\b__\b__\bs_\bt_\br_\b__\b__\b(_\b) methods to your models, not only for your own\n-convenience when dealing with the interactive prompt, but also because objects\u2019\n+convenience when dealing with the interactive prompt, but also because objects\u201d\n representations are used throughout Django\u2019s automatically-generated admin.\n Let\u2019s also add a custom method to this model:\n polls/models.py_\b\u00b6\n import datetime\n \n from django.db import models\n from django.utils import timezone\n@@ -411,15 +411,15 @@\n _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be.\n *\b**\b**\b**\b**\b* I\bIn\bnt\btr\bro\bod\bdu\buc\bci\bin\bng\bg t\bth\bhe\be D\bDj\bja\ban\bng\bgo\bo A\bAd\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Philosophy\n Generating admin sites for your staff or clients to add, change, and delete\n content is tedious work that doesn\u2019t require much creativity. For that reason,\n Django entirely automates creation of admin interfaces for models.\n Django was written in a newsroom environment, with a very clear separation\n-between \u201ccontent publishers\u201d and the \u201cpublic\u201d site. Site managers use the\n+between \u00abcontent publishers\u00bb and the \u00abpublic\u00bb site. Site managers use the\n system to add news stories, events, sports scores, etc., and that content is\n displayed on the public site. Django solves the problem of creating a unified\n interface for site administrators to edit content.\n The admin isn\u2019t intended to be used by site visitors. It\u2019s for site managers.\n *\b**\b**\b**\b* C\bCr\bre\bea\bat\bti\bin\bng\bg a\ban\bn a\bad\bdm\bmi\bin\bn u\bus\bse\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n First we\u2019ll need to create a user who can login to the admin site. Run the\n following command:\n@@ -438,15 +438,15 @@\n *\b**\b**\b**\b* S\bSt\bta\bar\brt\bt t\bth\bhe\be d\bde\bev\bve\bel\blo\bop\bpm\bme\ben\bnt\bt s\bse\ber\brv\bve\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n The Django admin site is activated by default. Let\u2019s start the development\n server and explore it.\n If the server is not running start it like so:\n #\uf17c/\uf179 o\uf17a\n $ python manage.py runserver\n ...\\> py manage.py runserver\n-Now, open a web browser and go to \u201c/admin/\u201d on your local domain \u2013 e.g., _\bh_\bt_\bt_\bp_\b:_\b/\n+Now, open a web browser and go to \u00ab/admin/\u00bb on your local domain \u2013 e.g., _\bh_\bt_\bt_\bp_\b:_\b/\n _\b/_\b1_\b2_\b7_\b._\b0_\b._\b0_\b._\b1_\b:_\b8_\b0_\b0_\b0_\b/_\ba_\bd_\bm_\bi_\bn_\b/. You should see the admin\u2019s login screen:\n [Django admin login screen]\n Since _\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn is turned on by default, if you set _\bL_\bA_\bN_\bG_\bU_\bA_\bG_\bE_\b__\bC_\bO_\bD_\bE, the login\n screen will be displayed in the given language (if Django has appropriate\n translations).\n *\b**\b**\b**\b* E\bEn\bnt\bte\ber\br t\bth\bhe\be a\bad\bdm\bmi\bin\bn s\bsi\bit\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Now, try logging in with the superuser account you created in the previous\n@@ -466,42 +466,42 @@\n from .models import Question\n \n admin.site.register(Question)\n *\b**\b**\b**\b* E\bEx\bxp\bpl\blo\bor\bre\be t\bth\bhe\be f\bfr\bre\bee\be a\bad\bdm\bmi\bin\bn f\bfu\bun\bnc\bct\bti\bio\bon\bna\bal\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b*\n Now that we\u2019ve registered Question, Django knows that it should be displayed on\n the admin index page:\n [Django admin index page, now with polls displayed]\n-Click \u201cQuestions\u201d. Now you\u2019re at the \u201cchange list\u201d page for questions. This\n+Click \u00abQuestions\u00bb. Now you\u2019re at the \u00abchange list\u00bb page for questions. This\n page displays all the questions in the database and lets you choose one to\n-change it. There\u2019s the \u201cWhat\u2019s up?\u201d question we created earlier:\n+change it. There\u2019s the \u00abWhat\u2019s up?\u00bb question we created earlier:\n [Polls change list page]\n-Click the \u201cWhat\u2019s up?\u201d question to edit it:\n+Click the \u00abWhat\u2019s up?\u00bb question to edit it:\n [Editing form for question object]\n Things to note here:\n * The form is automatically generated from the Question model.\n * The different model field types (_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd, _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd) correspond to\n the appropriate HTML input widget. Each type of field knows how to\n display itself in the Django admin.\n- * Each _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd gets free JavaScript shortcuts. Dates get a \u201cToday\u201d\n- shortcut and calendar popup, and times get a \u201cNow\u201d shortcut and a\n+ * Each _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd gets free JavaScript shortcuts. Dates get a \u00abToday\u00bb\n+ shortcut and calendar popup, and times get a \u00abNow\u00bb shortcut and a\n convenient popup that lists commonly entered times.\n The bottom part of the page gives you a couple of options:\n * Save \u2013 Saves changes and returns to the change-list page for this type of\n object.\n * Save and continue editing \u2013 Saves changes and reloads the admin page for\n this object.\n * Save and add another \u2013 Saves changes and loads a new, blank form for this\n type of object.\n * Delete \u2013 Displays a delete confirmation page.\n-If the value of \u201cDate published\u201d doesn\u2019t match the time when you created the\n+If the value of \u00abDate published\u00bb doesn\u2019t match the time when you created the\n question in _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b1, it probably means you forgot to set the correct value\n for the _\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE setting. Change it, reload the page and check that the\n correct value appears.\n-Change the \u201cDate published\u201d by clicking the \u201cToday\u201d and \u201cNow\u201d shortcuts. Then\n-click \u201cSave and continue editing.\u201d Then click \u201cHistory\u201d in the upper right.\n+Change the \u00abDate published\u00bb by clicking the \u00abToday\u00bb and \u00abNow\u00bb shortcuts. Then\n+click \u00abSave and continue editing.\u00bb Then click \u00abHistory\u00bb in the upper right.\n You\u2019ll see a page listing all changes made to this object via the Django admin,\n with the timestamp and username of the person who made the change:\n [History page for question object]\n When you\u2019re comfortable with the models API and have familiarized yourself with\n the admin site, read _\bp_\ba_\br_\bt_\b _\b3_\b _\bo_\bf_\b _\bt_\bh_\bi_\bs_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl to learn about how to add more\n views to our polls app.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n@@ -512,16 +512,16 @@\n o _\bP_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bt_\bh_\be_\b _\bA_\bP_\bI\n o _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bA_\bd_\bm_\bi_\bn\n # _\bC_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\ba_\bn_\b _\ba_\bd_\bm_\bi_\bn_\b _\bu_\bs_\be_\br\n # _\bS_\bt_\ba_\br_\bt_\b _\bt_\bh_\be_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt_\b _\bs_\be_\br_\bv_\be_\br\n # _\bE_\bn_\bt_\be_\br_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n # _\bM_\ba_\bk_\be_\b _\bt_\bh_\be_\b _\bp_\bo_\bl_\bl_\b _\ba_\bp_\bp_\b _\bm_\bo_\bd_\bi_\bf_\bi_\ba_\bb_\bl_\be_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n # _\bE_\bx_\bp_\bl_\bo_\br_\be_\b _\bt_\bh_\be_\b _\bf_\br_\be_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bt_\by\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b1\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b3\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial03.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial03.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 3 — Django 5.1.4 documentation\n+ Writing your first Django app, part 3 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -77,55 +78,55 @@\n
    \n
    \n \n
    \n

    Writing your first Django app, part 3\u00b6

    \n

    This tutorial begins where Tutorial 2 left off. We\u2019re\n continuing the web-poll application and will focus on creating the public\n-interface \u2013 \u201cviews.\u201d

    \n+interface \u2013 \u00abviews.\u00bb

    \n
    \n

    Where to get help:

    \n

    If you\u2019re having trouble going through this tutorial, please head over to\n the Getting Help section of the FAQ.

    \n
    \n
    \n

    Overview\u00b6

    \n-

    A view is a \u201ctype\u201d of web page in your Django application that generally serves\n+

    A view is a \u00abtype\u00bb of web page in your Django application that generally serves\n a specific function and has a specific template. For example, in a blog\n application, you might have the following views:

    \n
      \n
    • Blog homepage \u2013 displays the latest few entries.

    • \n-
    • Entry \u201cdetail\u201d page \u2013 permalink page for a single entry.

    • \n+
    • Entry \u00abdetail\u00bb page \u2013 permalink page for a single entry.

    • \n
    • Year-based archive page \u2013 displays all months with entries in the\n given year.

    • \n
    • Month-based archive page \u2013 displays all days with entries in the\n given month.

    • \n
    • Day-based archive page \u2013 displays all entries in the given day.

    • \n
    • Comment action \u2013 handles posting comments to a given entry.

    • \n
    \n

    In our poll application, we\u2019ll have the following four views:

    \n
      \n-
    • Question \u201cindex\u201d page \u2013 displays the latest few questions.

    • \n-
    • Question \u201cdetail\u201d page \u2013 displays a question text, with no results but\n+

    • Question \u00abindex\u00bb page \u2013 displays the latest few questions.

    • \n+
    • Question \u00abdetail\u00bb page \u2013 displays a question text, with no results but\n with a form to vote.

    • \n-
    • Question \u201cresults\u201d page \u2013 displays results for a particular question.

    • \n+
    • Question \u00abresults\u00bb page \u2013 displays results for a particular question.

    • \n
    • Vote action \u2013 handles voting for a particular choice in a particular\n question.

    • \n
    \n

    In Django, web pages and other content are delivered by views. Each view is\n represented by a Python function (or method, in the case of class-based views).\n Django will choose a view by examining the URL that\u2019s requested (to be precise,\n the part of the URL after the domain name).

    \n

    Now in your time on the web you may have come across such beauties as\n ME2/Sites/dirmod.htm?sid=&type=gen&mod=Core+Pages&gid=A6CD4967199A42D9B65B1B.\n You will be pleased to know that Django allows us much more elegant\n URL patterns than that.

    \n

    A URL pattern is the general form of a URL - for example:\n /newsarchive/<year>/<month>/.

    \n-

    To get from a URL to a view, Django uses what are known as \u2018URLconfs\u2019. A\n+

    To get from a URL to a view, Django uses what are known as \u201cURLconfs\u201d. A\n URLconf maps URL patterns to views.

    \n

    This tutorial provides basic instruction in the use of URLconfs, and you can\n refer to URL dispatcher for more information.

    \n
    \n
    \n

    Writing more views\u00b6

    \n

    Now let\u2019s add a few more views to polls/views.py. These views are\n@@ -163,31 +164,31 @@\n path("<int:question_id>/results/", views.results, name="results"),\n # ex: /polls/5/vote/\n path("<int:question_id>/vote/", views.vote, name="vote"),\n ]\n

    \n
    \n
    \n-

    Take a look in your browser, at \u201c/polls/34/\u201d. It\u2019ll run the detail()\n+

    Take a look in your browser, at \u00ab/polls/34/\u00bb. It\u2019ll run the detail()\n function and display whatever ID you provide in the URL. Try\n-\u201c/polls/34/results/\u201d and \u201c/polls/34/vote/\u201d too \u2013 these will display the\n+\u00ab/polls/34/results/\u00bb and \u00ab/polls/34/vote/\u00bb too \u2013 these will display the\n placeholder results and voting pages.

    \n-

    When somebody requests a page from your website \u2013 say, \u201c/polls/34/\u201d, Django\n+

    When somebody requests a page from your website \u2013 say, \u00ab/polls/34/\u00bb, Django\n will load the mysite.urls Python module because it\u2019s pointed to by the\n ROOT_URLCONF setting. It finds the variable named urlpatterns\n and traverses the patterns in order. After finding the match at 'polls/',\n it strips off the matching text ("polls/") and sends the remaining text \u2013\n-"34/" \u2013 to the \u2018polls.urls\u2019 URLconf for further processing. There it\n+"34/" \u2013 to the \u201cpolls.urls\u201d URLconf for further processing. There it\n matches '<int:question_id>/', resulting in a call to the detail() view\n like so:

    \n
    detail(request=<HttpRequest object>, question_id=34)\n 
    \n
    \n

    The question_id=34 part comes from <int:question_id>. Using angle\n-brackets \u201ccaptures\u201d part of the URL and sends it as a keyword argument to the\n+brackets \u00abcaptures\u00bb part of the URL and sends it as a keyword argument to the\n view function. The question_id part of the string defines the name that\n will be used to identify the matched pattern, and the int part is a\n converter that determines what patterns should match this part of the URL path.\n The colon (:) separates the converter and pattern name.

    \n \n
    \n

    Write views that actually do something\u00b6

    \n@@ -226,15 +227,15 @@\n So let\u2019s use Django\u2019s template system to separate the design from Python by\n creating a template that the view can use.

    \n

    First, create a directory called templates in your polls directory.\n Django will look for templates in there.

    \n

    Your project\u2019s TEMPLATES setting describes how Django will load and\n render templates. The default settings file configures a DjangoTemplates\n backend whose APP_DIRS option is set to\n-True. By convention DjangoTemplates looks for a \u201ctemplates\u201d\n+True. By convention DjangoTemplates looks for a \u00abtemplates\u00bb\n subdirectory in each of the INSTALLED_APPS.

    \n

    Within the templates directory you have just created, create another\n directory called polls, and within that create a file called\n index.html. In other words, your template should be at\n polls/templates/polls/index.html. Because of how the app_directories\n template loader works as described above, you can refer to this template within\n Django as polls/index.html.

    \n@@ -261,15 +262,15 @@\n {% else %}\n <p>No polls are available.</p>\n {% endif %}\n
    \n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    To make the tutorial shorter, all template examples use incomplete HTML. In\n your own projects you should use complete HTML documents.

    \n
    \n

    Now let\u2019s update our index view in polls/views.py to use the template:

    \n
    \n
    polls/views.py\u00b6
    \n
    from django.http import HttpResponse\n@@ -287,16 +288,16 @@\n     return HttpResponse(template.render(context, request))\n 
    \n
    \n
    \n

    That code loads the template called polls/index.html and passes it a\n context. The context is a dictionary mapping template variable names to Python\n objects.

    \n-

    Load the page by pointing your browser at \u201c/polls/\u201d, and you should see a\n-bulleted-list containing the \u201cWhat\u2019s up\u201d question from Tutorial 2. The link points to the question\u2019s detail page.

    \n+

    Load the page by pointing your browser at \u00ab/polls/\u00bb, and you should see a\n+bulleted-list containing the \u00abWhat\u2019s up\u00bb question from Tutorial 2. The link points to the question\u2019s detail page.

    \n
    \n

    A shortcut: render()\u00b6

    \n

    It\u2019s a very common idiom to load a template, fill a context and return an\n HttpResponse object with the result of the rendered\n template. Django provides a shortcut. Here\u2019s the full index() view,\n rewritten:

    \n
    \n@@ -438,15 +439,15 @@\n you defined the name argument in the path() functions in\n the polls.urls module, you can remove a reliance on specific URL paths\n defined in your url configurations by using the {% url %} template tag:

    \n
    <li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>\n 
    \n
    \n

    The way this works is by looking up the URL definition as specified in the\n-polls.urls module. You can see exactly where the URL name of \u2018detail\u2019 is\n+polls.urls module. You can see exactly where the URL name of \u201cdetail\u201d is\n defined below:

    \n
    ...\n # the 'name' value as called by the {% url %} template tag\n path("<int:question_id>/", views.detail, name="detail"),\n ...\n 
    \n
    \n@@ -534,37 +535,37 @@\n
  • Namespacing URL names
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 2

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 2

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 4

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 4

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,46 +1,46 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 3\b3_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b2 left off. We\u2019re continuing the web-poll\n-application and will focus on creating the public interface \u2013 \u201cviews.\u201d\n+application and will focus on creating the public interface \u2013 \u00abviews.\u00bb\n Where to get help:\n If you\u2019re having trouble going through this tutorial, please head over to the\n _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp section of the FAQ.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-A view is a \u201ctype\u201d of web page in your Django application that generally serves\n+A view is a \u00abtype\u00bb of web page in your Django application that generally serves\n a specific function and has a specific template. For example, in a blog\n application, you might have the following views:\n * Blog homepage \u2013 displays the latest few entries.\n- * Entry \u201cdetail\u201d page \u2013 permalink page for a single entry.\n+ * Entry \u00abdetail\u00bb page \u2013 permalink page for a single entry.\n * Year-based archive page \u2013 displays all months with entries in the given\n year.\n * Month-based archive page \u2013 displays all days with entries in the given\n month.\n * Day-based archive page \u2013 displays all entries in the given day.\n * Comment action \u2013 handles posting comments to a given entry.\n In our poll application, we\u2019ll have the following four views:\n- * Question \u201cindex\u201d page \u2013 displays the latest few questions.\n- * Question \u201cdetail\u201d page \u2013 displays a question text, with no results but\n+ * Question \u00abindex\u00bb page \u2013 displays the latest few questions.\n+ * Question \u00abdetail\u00bb page \u2013 displays a question text, with no results but\n with a form to vote.\n- * Question \u201cresults\u201d page \u2013 displays results for a particular question.\n+ * Question \u00abresults\u00bb page \u2013 displays results for a particular question.\n * Vote action \u2013 handles voting for a particular choice in a particular\n question.\n In Django, web pages and other content are delivered by views. Each view is\n represented by a Python function (or method, in the case of class-based views).\n Django will choose a view by examining the URL that\u2019s requested (to be precise,\n the part of the URL after the domain name).\n Now in your time on the web you may have come across such beauties as ME2/\n Sites/dirmod.htm?sid=&type=gen&mod=Core+Pages&gid=A6CD4967199A42D9B65B1B. You\n will be pleased to know that Django allows us much more elegant U\bUR\bRL\bL p\bpa\bat\btt\bte\ber\brn\bns\bs\n than that.\n A URL pattern is the general form of a URL - for example: /newsarchive//\n /.\n-To get from a URL to a view, Django uses what are known as \u2018URLconfs\u2019. A\n+To get from a URL to a view, Django uses what are known as \u201cURLconfs\u201d. A\n URLconf maps URL patterns to views.\n This tutorial provides basic instruction in the use of URLconfs, and you can\n refer to _\bU_\bR_\bL_\b _\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br for more information.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg m\bmo\bor\bre\be v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Now let\u2019s add a few more views to polls/views.py. These views are slightly\n different, because they take an argument:\n polls/views.py_\b\u00b6\n@@ -68,28 +68,28 @@\n # ex: /polls/5/\n path(\"/\", views.detail, name=\"detail\"),\n # ex: /polls/5/results/\n path(\"/results/\", views.results, name=\"results\"),\n # ex: /polls/5/vote/\n path(\"/vote/\", views.vote, name=\"vote\"),\n ]\n-Take a look in your browser, at \u201c/polls/34/\u201d. It\u2019ll run the detail() function\n-and display whatever ID you provide in the URL. Try \u201c/polls/34/results/\u201d and \u201c/\n-polls/34/vote/\u201d too \u2013 these will display the placeholder results and voting\n+Take a look in your browser, at \u00ab/polls/34/\u00bb. It\u2019ll run the detail() function\n+and display whatever ID you provide in the URL. Try \u00ab/polls/34/results/\u00bb and \u00ab/\n+polls/34/vote/\u00bb too \u2013 these will display the placeholder results and voting\n pages.\n-When somebody requests a page from your website \u2013 say, \u201c/polls/34/\u201d, Django\n+When somebody requests a page from your website \u2013 say, \u00ab/polls/34/\u00bb, Django\n will load the mysite.urls Python module because it\u2019s pointed to by the\n _\bR_\bO_\bO_\bT_\b__\bU_\bR_\bL_\bC_\bO_\bN_\bF setting. It finds the variable named urlpatterns and traverses the\n patterns in order. After finding the match at 'polls/', it strips off the\n matching text (\"polls/\") and sends the remaining text \u2013 \"34/\" \u2013 to the\n-\u2018polls.urls\u2019 URLconf for further processing. There it matches '/', resulting in a call to the detail() view like so:\n detail(request=, question_id=34)\n The question_id=34 part comes from . Using angle brackets\n-\u201ccaptures\u201d part of the URL and sends it as a keyword argument to the view\n+\u00abcaptures\u00bb part of the URL and sends it as a keyword argument to the view\n function. The question_id part of the string defines the name that will be used\n to identify the matched pattern, and the int part is a converter that\n determines what patterns should match this part of the URL path. The colon (:\n ) separates the converter and pattern name.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bte\be v\bvi\bie\bew\bws\bs t\bth\bha\bat\bt a\bac\bct\btu\bua\bal\bll\bly\by d\bdo\bo s\bso\bom\bme\bet\bth\bhi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Each view is responsible for doing one of two things: returning an _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n object containing the content for the requested page, or raising an exception\n@@ -121,15 +121,15 @@\n code. So let\u2019s use Django\u2019s template system to separate the design from Python\n by creating a template that the view can use.\n First, create a directory called templates in your polls directory. Django will\n look for templates in there.\n Your project\u2019s _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS setting describes how Django will load and render\n templates. The default settings file configures a DjangoTemplates backend whose\n _\bA_\bP_\bP_\b__\bD_\bI_\bR_\bS option is set to True. By convention DjangoTemplates looks for a\n-\u201ctemplates\u201d subdirectory in each of the _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n+\u00abtemplates\u00bb subdirectory in each of the _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n Within the templates directory you have just created, create another directory\n called polls, and within that create a file called index.html. In other words,\n your template should be at polls/templates/polls/index.html. Because of how the\n app_directories template loader works as described above, you can refer to this\n template within Django as polls/index.html.\n Template namespacing\n Now we m\bmi\big\bgh\bht\bt be able to get away with putting our templates directly in polls/\n@@ -148,15 +148,15 @@\n
  • {{ question.question_text }}
  • \n {% endfor %}\n \n {% else %}\n

    No polls are available.

    \n {% endif %}\n-Note\n+Nota\n To make the tutorial shorter, all template examples use incomplete HTML. In\n your own projects you should use _\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b _\bH_\bT_\bM_\bL_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\bs.\n Now let\u2019s update our index view in polls/views.py to use the template:\n polls/views.py_\b\u00b6\n from django.http import HttpResponse\n from django.template import loader\n \n@@ -168,16 +168,16 @@\n template = loader.get_template(\"polls/index.html\")\n context = {\n \"latest_question_list\": latest_question_list,\n }\n return HttpResponse(template.render(context, request))\n That code loads the template called polls/index.html and passes it a context.\n The context is a dictionary mapping template variable names to Python objects.\n-Load the page by pointing your browser at \u201c/polls/\u201d, and you should see a\n-bulleted-list containing the \u201cWhat\u2019s up\u201d question from _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b2. The link\n+Load the page by pointing your browser at \u00ab/polls/\u00bb, and you should see a\n+bulleted-list containing the \u00abWhat\u2019s up\u00bb question from _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b2. The link\n points to the question\u2019s detail page.\n *\b**\b**\b**\b* A\bA s\bsh\bho\bor\brt\btc\bcu\but\bt:\b: _\br\br_\be\be_\bn\bn_\bd\bd_\be\be_\br\br_\b(\b(_\b)\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n It\u2019s a very common idiom to load a template, fill a context and return an\n _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be object with the result of the rendered template. Django provides a\n shortcut. Here\u2019s the full index() view, rewritten:\n polls/views.py_\b\u00b6\n from django.shortcuts import render\n@@ -274,15 +274,15 @@\n challenging to change URLs on projects with a lot of templates. However, since\n you defined the name argument in the _\bp_\ba_\bt_\bh_\b(_\b) functions in the polls.urls module,\n you can remove a reliance on specific URL paths defined in your url\n configurations by using the {% url %} template tag:\n
  • {{ question.question_text }}\n The way this works is by looking up the URL definition as specified in the\n-polls.urls module. You can see exactly where the URL name of \u2018detail\u2019 is\n+polls.urls module. You can see exactly where the URL name of \u201cdetail\u201d is\n defined below:\n ...\n # the 'name' value as called by the {% url %} template tag\n path(\"/\", views.detail, name=\"detail\"),\n ...\n If you want to change the URL of the polls detail view to something else,\n perhaps to something like polls/specifics/12/ instead of doing it in the\n@@ -329,16 +329,16 @@\n o _\bW_\br_\bi_\bt_\be_\b _\bv_\bi_\be_\bw_\bs_\b _\bt_\bh_\ba_\bt_\b _\ba_\bc_\bt_\bu_\ba_\bl_\bl_\by_\b _\bd_\bo_\b _\bs_\bo_\bm_\be_\bt_\bh_\bi_\bn_\bg\n # _\bA_\b _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\b:_\b _\br_\be_\bn_\bd_\be_\br_\b(_\b)\n o _\bR_\ba_\bi_\bs_\bi_\bn_\bg_\b _\ba_\b _\b4_\b0_\b4_\b _\be_\br_\br_\bo_\br\n # _\bA_\b _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\b:_\b _\bg_\be_\bt_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bo_\br_\b__\b4_\b0_\b4_\b(_\b)\n o _\bU_\bs_\be_\b _\bt_\bh_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bs_\by_\bs_\bt_\be_\bm\n o _\bR_\be_\bm_\bo_\bv_\bi_\bn_\bg_\b _\bh_\ba_\br_\bd_\bc_\bo_\bd_\be_\bd_\b _\bU_\bR_\bL_\bs_\b _\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bN_\ba_\bm_\be_\bs_\bp_\ba_\bc_\bi_\bn_\bg_\b _\bU_\bR_\bL_\b _\bn_\ba_\bm_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b2\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b4\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial04.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial04.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 4 — Django 5.1.4 documentation\n+ Writing your first Django app, part 4 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -85,15 +86,15 @@\n
    \n

    Where to get help:

    \n

    If you\u2019re having trouble going through this tutorial, please head over to\n the Getting Help section of the FAQ.

    \n
    \n
    \n

    Write a minimal form\u00b6

    \n-

    Let\u2019s update our poll detail template (\u201cpolls/detail.html\u201d) from the last\n+

    Let\u2019s update our poll detail template (\u00abpolls/detail.html\u00bb) from the last\n tutorial, so that the template contains an HTML <form> element:

    \n
    \n
    polls/templates/polls/detail.html\u00b6
    \n
    <form action="{% url 'polls:vote' question.id %}" method="post">\n {% csrf_token %}\n <fieldset>\n     <legend><h1>{{ question.question_text }}</h1></legend>\n@@ -260,36 +261,36 @@\n 

    Use generic views: Less code is better\u00b6

    \n

    The detail() (from Tutorial 3) and results()\n views are very short \u2013 and, as mentioned above, redundant. The index()\n view, which displays a list of polls, is similar.

    \n

    These views represent a common case of basic web development: getting data from\n the database according to a parameter passed in the URL, loading a template and\n returning the rendered template. Because this is so common, Django provides a\n-shortcut, called the \u201cgeneric views\u201d system.

    \n+shortcut, called the \u00abgeneric views\u00bb system.

    \n

    Generic views abstract common patterns to the point where you don\u2019t even need to\n write Python code to write an app. For example, the\n ListView and\n DetailView generic views\n-abstract the concepts of \u201cdisplay a list of objects\u201d and\n-\u201cdisplay a detail page for a particular type of object\u201d respectively.

    \n+abstract the concepts of \u00abdisplay a list of objects\u00bb and\n+\u00abdisplay a detail page for a particular type of object\u00bb respectively.

    \n

    Let\u2019s convert our poll app to use the generic views system, so we can delete a\n bunch of our own code. We\u2019ll have to take a few steps to make the conversion.\n We will:

    \n
      \n
    1. Convert the URLconf.

    2. \n
    3. Delete some of the old, unneeded views.

    4. \n
    5. Introduce new views based on Django\u2019s generic views.

    6. \n
    \n

    Read on for details.

    \n
    \n

    Why the code-shuffle?

    \n

    Generally, when writing a Django app, you\u2019ll evaluate whether generic views\n are a good fit for your problem, and you\u2019ll use them from the beginning,\n rather than refactoring your code halfway through. But this tutorial\n-intentionally has focused on writing the views \u201cthe hard way\u201d until now, to\n+intentionally has focused on writing the views \u00abthe hard way\u00bb until now, to\n focus on core concepts.

    \n

    You should know basic math before you start using a calculator.

    \n
    \n
    \n

    Amend URLconf\u00b6

    \n

    First, open the polls/urls.py URLconf and change it like so:

    \n
    \n@@ -416,37 +417,37 @@\n
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 3

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 3

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 5

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 5

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 4\b4_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b3 left off. We\u2019re continuing the web-poll\n application and will focus on form processing and cutting down our code.\n Where to get help:\n If you\u2019re having trouble going through this tutorial, please head over to the\n _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp section of the FAQ.\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bte\be a\ba m\bmi\bin\bni\bim\bma\bal\bl f\bfo\bor\brm\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Let\u2019s update our poll detail template (\u201cpolls/detail.html\u201d) from the last\n+Let\u2019s update our poll detail template (\u00abpolls/detail.html\u00bb) from the last\n tutorial, so that the template contains an HTML
    element:\n polls/templates/polls/detail.html_\b\u00b6\n \n {% csrf_token %}\n
    \n

    {{ question.question_text }}

    \n {% if error_message %}

    {{ error_message }}

    {% endif\n@@ -144,31 +144,31 @@\n *\b**\b**\b**\b**\b* U\bUs\bse\be g\bge\ben\bne\ber\bri\bic\bc v\bvi\bie\bew\bws\bs:\b: L\bLe\bes\bss\bs c\bco\bod\bde\be i\bis\bs b\bbe\bet\btt\bte\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The detail() (from _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b3) and results() views are very short \u2013 and, as\n mentioned above, redundant. The index() view, which displays a list of polls,\n is similar.\n These views represent a common case of basic web development: getting data from\n the database according to a parameter passed in the URL, loading a template and\n returning the rendered template. Because this is so common, Django provides a\n-shortcut, called the \u201cgeneric views\u201d system.\n+shortcut, called the \u00abgeneric views\u00bb system.\n Generic views abstract common patterns to the point where you don\u2019t even need\n to write Python code to write an app. For example, the _\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw and _\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n-generic views abstract the concepts of \u201cdisplay a list of objects\u201d and \u201cdisplay\n-a detail page for a particular type of object\u201d respectively.\n+generic views abstract the concepts of \u00abdisplay a list of objects\u00bb and \u00abdisplay\n+a detail page for a particular type of object\u00bb respectively.\n Let\u2019s convert our poll app to use the generic views system, so we can delete a\n bunch of our own code. We\u2019ll have to take a few steps to make the conversion.\n We will:\n 1. Convert the URLconf.\n 2. Delete some of the old, unneeded views.\n 3. Introduce new views based on Django\u2019s generic views.\n Read on for details.\n Why the code-shuffle?\n Generally, when writing a Django app, you\u2019ll evaluate whether generic views are\n a good fit for your problem, and you\u2019ll use them from the beginning, rather\n than refactoring your code halfway through. But this tutorial intentionally has\n-focused on writing the views \u201cthe hard way\u201d until now, to focus on core\n+focused on writing the views \u00abthe hard way\u00bb until now, to focus on core\n concepts.\n You should know basic math before you start using a calculator.\n *\b**\b**\b**\b* A\bAm\bme\ben\bnd\bd U\bUR\bRL\bLc\bco\bon\bnf\bf_\b?\b\u00b6 *\b**\b**\b**\b*\n First, open the polls/urls.py URLconf and change it like so:\n polls/urls.py_\b\u00b6\n from django.urls import path\n \n@@ -252,16 +252,16 @@\n _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl to learn about testing our polls app.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b4\n o _\bW_\br_\bi_\bt_\be_\b _\ba_\b _\bm_\bi_\bn_\bi_\bm_\ba_\bl_\b _\bf_\bo_\br_\bm\n o _\bU_\bs_\be_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\bv_\bi_\be_\bw_\bs_\b:_\b _\bL_\be_\bs_\bs_\b _\bc_\bo_\bd_\be_\b _\bi_\bs_\b _\bb_\be_\bt_\bt_\be_\br\n # _\bA_\bm_\be_\bn_\bd_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf\n # _\bA_\bm_\be_\bn_\bd_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b3\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b5\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial05.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial05.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 5 — Django 5.1.4 documentation\n+ Writing your first Django app, part 5 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -126,19 +127,19 @@\n working quite happily now; going through the trouble of creating automated\n tests is not going to make it work any better. If creating the polls\n application is the last bit of Django programming you will ever do, then true,\n you don\u2019t need to know how to create automated tests. But, if that\u2019s not the\n case, now is an excellent time to learn.

    \n
    \n

    Tests will save you time\u00b6

    \n-

    Up to a certain point, \u2018checking that it seems to work\u2019 will be a satisfactory\n+

    Up to a certain point, \u201cchecking that it seems to work\u201d will be a satisfactory\n test. In a more sophisticated application, you might have dozens of complex\n interactions between components.

    \n

    A change in any of those components could have unexpected consequences on the\n-application\u2019s behavior. Checking that it still \u2018seems to work\u2019 could mean\n+application\u2019s behavior. Checking that it still \u201cseems to work\u201d could mean\n running through your code\u2019s functionality with twenty different variations of\n your test data to make sure you haven\u2019t broken something - not a good use\n of your time.

    \n

    That\u2019s especially true when automated tests could do this for you in seconds.\n If something\u2019s gone wrong, tests will also assist in identifying the code\n that\u2019s causing the unexpected behavior.

    \n

    Sometimes it may seem a chore to tear yourself away from your productive,\n@@ -159,15 +160,15 @@\n hadn\u2019t even realized it had gone wrong.

    \n
    \n
    \n

    Tests make your code more attractive\u00b6

    \n

    You might have created a brilliant piece of software, but you will find that\n many other developers will refuse to look at it because it lacks tests; without\n tests, they won\u2019t trust it. Jacob Kaplan-Moss, one of Django\u2019s original\n-developers, says \u201cCode without tests is broken by design.\u201d

    \n+developers, says \u00abCode without tests is broken by design.\u00bb

    \n

    That other developers want to see tests in your software before they take it\n seriously is yet another reason for you to start writing tests.

    \n
    \n
    \n

    Tests help teams work together\u00b6

    \n

    The previous points are written from the point of view of a single developer\n maintaining an application. Complex applications will be maintained by teams.\n@@ -176,15 +177,15 @@\n Django programmer, you must be good at writing tests!

    \n
    \n \n \n
    \n

    Basic testing strategies\u00b6

    \n

    There are many ways to approach writing tests.

    \n-

    Some programmers follow a discipline called \u201ctest-driven development\u201d; they\n+

    Some programmers follow a discipline called \u00abtest-driven development\u00bb; they\n actually write their tests before they write their code. This might seem\n counterintuitive, but in fact it\u2019s similar to what most people will often do\n anyway: they describe a problem, then create some code to solve it. Test-driven\n development formalizes the problem in a Python test case.

    \n

    More often, a newcomer to testing will create some code and later decide that\n it should have some tests. Perhaps it would have been better to write some\n tests earlier, but it\u2019s never too late to get started.

    \n@@ -225,15 +226,15 @@\n >>> # create a Question instance with pub_date 30 days in the future\n >>> future_question = Question(pub_date=timezone.now() + datetime.timedelta(days=30))\n >>> # was it published recently?\n >>> future_question.was_published_recently()\n True\n
    \n
    \n-

    Since things in the future are not \u2018recent\u2019, this is clearly wrong.

    \n+

    Since things in the future are not \u201crecent\u201d, this is clearly wrong.

    \n \n
    \n

    Create a test to expose the bug\u00b6

    \n

    What we\u2019ve just done in the shell to test for the problem is exactly\n what we can do in an automated test, so let\u2019s turn that into an automated test.

    \n

    A conventional place for an application\u2019s tests is in the application\u2019s\n tests.py file; the testing system will automatically find tests in any file\n@@ -607,15 +608,15 @@\n

    \n
    \n
    \n

    Let\u2019s look at some of these more closely.

    \n

    First is a question shortcut function, create_question, to take some\n repetition out of the process of creating questions.

    \n

    test_no_questions doesn\u2019t create any questions, but checks the message:\n-\u201cNo polls are available.\u201d and verifies the latest_question_list is empty.\n+\u00abNo polls are available.\u00bb and verifies the latest_question_list is empty.\n Note that the django.test.TestCase class provides some additional\n assertion methods. In these examples, we use\n assertContains() and\n assertQuerySetEqual().

    \n

    In test_past_question, we create a question and verify that it appears in\n the list.

    \n

    In test_future_question, we create a question with a pub_date in the\n@@ -717,15 +718,15 @@\n \n

    \n

    Further testing\u00b6

    \n

    This tutorial only introduces some of the basics of testing. There\u2019s a great\n deal more you can do, and a number of very useful tools at your disposal to\n achieve some very clever things.

    \n

    For example, while our tests here have covered some of the internal logic of a\n-model and the way our views publish information, you can use an \u201cin-browser\u201d\n+model and the way our views publish information, you can use an \u00abin-browser\u00bb\n framework such as Selenium to test the way your HTML actually renders in a\n browser. These tools allow you to check not just the behavior of your Django\n code, but also, for example, of your JavaScript. It\u2019s quite something to see\n the tests launch a browser, and start interacting with your site, as if a human\n being were driving it! Django includes LiveServerTestCase\n to facilitate integration with tools like Selenium.

    \n

    If you have a complex application, you may want to run tests automatically\n@@ -796,37 +797,37 @@\n

  • What\u2019s next?
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 4

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 4

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 6

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 6

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 5\b5_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b4 left off. We\u2019ve built a web-poll\n application, and we\u2019ll now create some automated tests for it.\n Where to get help:\n If you\u2019re having trouble going through this tutorial, please head over to the\n@@ -28,19 +28,19 @@\n perhaps unnecessary. After all, our polls application is working quite happily\n now; going through the trouble of creating automated tests is not going to make\n it work any better. If creating the polls application is the last bit of Django\n programming you will ever do, then true, you don\u2019t need to know how to create\n automated tests. But, if that\u2019s not the case, now is an excellent time to\n learn.\n *\b**\b**\b* T\bTe\bes\bst\bts\bs w\bwi\bil\bll\bl s\bsa\bav\bve\be y\byo\bou\bu t\bti\bim\bme\be_\b?\b\u00b6 *\b**\b**\b*\n-Up to a certain point, \u2018checking that it seems to work\u2019 will be a satisfactory\n+Up to a certain point, \u201cchecking that it seems to work\u201d will be a satisfactory\n test. In a more sophisticated application, you might have dozens of complex\n interactions between components.\n A change in any of those components could have unexpected consequences on the\n-application\u2019s behavior. Checking that it still \u2018seems to work\u2019 could mean\n+application\u2019s behavior. Checking that it still \u201cseems to work\u201d could mean\n running through your code\u2019s functionality with twenty different variations of\n your test data to make sure you haven\u2019t broken something - not a good use of\n your time.\n That\u2019s especially true when automated tests could do this for you in seconds.\n If something\u2019s gone wrong, tests will also assist in identifying the code\n that\u2019s causing the unexpected behavior.\n Sometimes it may seem a chore to tear yourself away from your productive,\n@@ -57,26 +57,26 @@\n Tests change that; they light up your code from the inside, and when something\n goes wrong, they focus light on the part that has gone wrong - e\bev\bve\ben\bn i\bif\bf y\byo\bou\bu\n h\bha\bad\bdn\bn?\b\u2019t\bt e\bev\bve\ben\bn r\bre\bea\bal\bli\biz\bze\bed\bd i\bit\bt h\bha\bad\bd g\bgo\bon\bne\be w\bwr\bro\bon\bng\bg.\n *\b**\b**\b* T\bTe\bes\bst\bts\bs m\bma\bak\bke\be y\byo\bou\bur\br c\bco\bod\bde\be m\bmo\bor\bre\be a\bat\btt\btr\bra\bac\bct\bti\biv\bve\be_\b?\b\u00b6 *\b**\b**\b*\n You might have created a brilliant piece of software, but you will find that\n many other developers will refuse to look at it because it lacks tests; without\n tests, they won\u2019t trust it. Jacob Kaplan-Moss, one of Django\u2019s original\n-developers, says \u201cCode without tests is broken by design.\u201d\n+developers, says \u00abCode without tests is broken by design.\u00bb\n That other developers want to see tests in your software before they take it\n seriously is yet another reason for you to start writing tests.\n *\b**\b**\b* T\bTe\bes\bst\bts\bs h\bhe\bel\blp\bp t\bte\bea\bam\bms\bs w\bwo\bor\brk\bk t\bto\bog\bge\bet\bth\bhe\ber\br_\b?\b\u00b6 *\b**\b**\b*\n The previous points are written from the point of view of a single developer\n maintaining an application. Complex applications will be maintained by teams.\n Tests guarantee that colleagues don\u2019t inadvertently break your code (and that\n you don\u2019t break theirs without knowing). If you want to make a living as a\n Django programmer, you must be good at writing tests!\n *\b**\b**\b**\b**\b* B\bBa\bas\bsi\bic\bc t\bte\bes\bst\bti\bin\bng\bg s\bst\btr\bra\bat\bte\beg\bgi\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There are many ways to approach writing tests.\n-Some programmers follow a discipline called \u201c_\bt_\be_\bs_\bt_\b-_\bd_\br_\bi_\bv_\be_\bn_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\u201d; they\n+Some programmers follow a discipline called \u00ab_\bt_\be_\bs_\bt_\b-_\bd_\br_\bi_\bv_\be_\bn_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\u00bb; they\n actually write their tests before they write their code. This might seem\n counterintuitive, but in fact it\u2019s similar to what most people will often do\n anyway: they describe a problem, then create some code to solve it. Test-driven\n development formalizes the problem in a Python test case.\n More often, a newcomer to testing will create some code and later decide that\n it should have some tests. Perhaps it would have been better to write some\n tests earlier, but it\u2019s never too late to get started.\n@@ -102,15 +102,15 @@\n >>> from polls.models import Question\n >>> # create a Question instance with pub_date 30 days in the future\n >>> future_question = Question(pub_date=timezone.now() + datetime.timedelta\n (days=30))\n >>> # was it published recently?\n >>> future_question.was_published_recently()\n True\n-Since things in the future are not \u2018recent\u2019, this is clearly wrong.\n+Since things in the future are not \u201crecent\u201d, this is clearly wrong.\n *\b**\b**\b**\b* C\bCr\bre\bea\bat\bte\be a\ba t\bte\bes\bst\bt t\bto\bo e\bex\bxp\bpo\bos\bse\be t\bth\bhe\be b\bbu\bug\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n What we\u2019ve just done in the _\bs_\bh_\be_\bl_\bl to test for the problem is exactly what we\n can do in an automated test, so let\u2019s turn that into an automated test.\n A conventional place for an application\u2019s tests is in the application\u2019s\n tests.py file; the testing system will automatically find tests in any file\n whose name begins with test.\n Put the following in the tests.py file in the polls application:\n@@ -394,16 +394,16 @@\n self.assertQuerySetEqual(\n response.context[\"latest_question_list\"],\n [question2, question1],\n )\n Let\u2019s look at some of these more closely.\n First is a question shortcut function, create_question, to take some repetition\n out of the process of creating questions.\n-test_no_questions doesn\u2019t create any questions, but checks the message: \u201cNo\n-polls are available.\u201d and verifies the latest_question_list is empty. Note that\n+test_no_questions doesn\u2019t create any questions, but checks the message: \u00abNo\n+polls are available.\u00bb and verifies the latest_question_list is empty. Note that\n the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bT_\be_\bs_\bt_\bC_\ba_\bs_\be class provides some additional assertion methods. In\n these examples, we use _\ba_\bs_\bs_\be_\br_\bt_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b(_\b) and _\ba_\bs_\bs_\be_\br_\bt_\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\bE_\bq_\bu_\ba_\bl_\b(_\b).\n In test_past_question, we create a question and verify that it appears in the\n list.\n In test_future_question, we create a question with a pub_date in the future.\n The database is reset for each test method, so the first question is no longer\n there, and so again the index shouldn\u2019t have any questions in it.\n@@ -485,15 +485,15 @@\n * a separate test method for each set of conditions you want to test\n * test method names that describe their function\n *\b**\b**\b**\b**\b* F\bFu\bur\brt\bth\bhe\ber\br t\bte\bes\bst\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n This tutorial only introduces some of the basics of testing. There\u2019s a great\n deal more you can do, and a number of very useful tools at your disposal to\n achieve some very clever things.\n For example, while our tests here have covered some of the internal logic of a\n-model and the way our views publish information, you can use an \u201cin-browser\u201d\n+model and the way our views publish information, you can use an \u00abin-browser\u00bb\n framework such as _\bS_\be_\bl_\be_\bn_\bi_\bu_\bm to test the way your HTML actually renders in a\n browser. These tools allow you to check not just the behavior of your Django\n code, but also, for example, of your JavaScript. It\u2019s quite something to see\n the tests launch a browser, and start interacting with your site, as if a human\n being were driving it! Django includes _\bL_\bi_\bv_\be_\bS_\be_\br_\bv_\be_\br_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be to facilitate\n integration with tools like Selenium.\n If you have a complex application, you may want to run tests automatically with\n@@ -531,16 +531,16 @@\n # _\bI_\bm_\bp_\br_\bo_\bv_\bi_\bn_\bg_\b _\bo_\bu_\br_\b _\bv_\bi_\be_\bw\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bo_\bu_\br_\b _\bn_\be_\bw_\b _\bv_\bi_\be_\bw\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n # _\bI_\bd_\be_\ba_\bs_\b _\bf_\bo_\br_\b _\bm_\bo_\br_\be_\b _\bt_\be_\bs_\bt_\bs\n o _\bW_\bh_\be_\bn_\b _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b,_\b _\bm_\bo_\br_\be_\b _\bi_\bs_\b _\bb_\be_\bt_\bt_\be_\br\n o _\bF_\bu_\br_\bt_\bh_\be_\br_\b _\bt_\be_\bs_\bt_\bi_\bn_\bg\n o _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bx_\bt_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b4\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b6\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial06.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial06.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 6 — Django 5.1.4 documentation\n+ Writing your first Django app, part 6 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -93,16 +94,16 @@\n
    \n

    Writing your first Django app, part 6\u00b6

    \n

    This tutorial begins where Tutorial 5 left off.\n We\u2019ve built a tested web-poll application, and we\u2019ll now add a stylesheet and\n an image.

    \n

    Aside from the HTML generated by the server, web applications generally need\n to serve additional files \u2014 such as images, JavaScript, or CSS \u2014 necessary to\n-render the complete web page. In Django, we refer to these files as \u201cstatic\n-files\u201d.

    \n+render the complete web page. In Django, we refer to these files as \u00abstatic\n+files\u00bb.

    \n

    For small projects, this isn\u2019t a big deal, because you can keep the static\n files somewhere your web server can find it. However, in bigger projects \u2013\n especially those comprised of multiple apps \u2013 dealing with the multiple sets\n of static files provided by each application starts to get tricky.

    \n

    That\u2019s what django.contrib.staticfiles is for: it collects static files\n from each of your applications (and any other places you specify) into a\n single location that can easily be served in production.

    \n@@ -115,15 +116,15 @@\n

    Customize your app\u2019s look and feel\u00b6

    \n

    First, create a directory called static in your polls directory. Django\n will look for static files there, similarly to how Django finds templates\n inside polls/templates/.

    \n

    Django\u2019s STATICFILES_FINDERS setting contains a list\n of finders that know how to discover static files from various\n sources. One of the defaults is AppDirectoriesFinder which\n-looks for a \u201cstatic\u201d subdirectory in each of the\n+looks for a \u00abstatic\u00bb subdirectory in each of the\n INSTALLED_APPS, like the one in polls we just created. The admin\n site uses the same directory structure for its static files.

    \n

    Within the static directory you have just created, create another directory\n called polls and within that create a file called style.css. In other\n words, your stylesheet should be at polls/static/polls/style.css. Because\n of how the AppDirectoriesFinder staticfile finder works, you can refer to\n this static file in Django as polls/style.css, similar to how you reference\n@@ -196,15 +197,15 @@\n }\n

    \n
    \n
    \n

    Reload http://localhost:8000/polls/ and you should see the background\n loaded in the top left of the screen.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    The {% static %} template tag is not available for use in static files\n which aren\u2019t generated by Django, like your stylesheet. You should always\n use relative paths to link your static files between each other,\n because then you can change STATIC_URL (used by the\n static template tag to generate its URLs) without having to modify\n a bunch of paths in your static files as well.

    \n
    \n@@ -238,37 +239,37 @@\n
  • Adding a background-image
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 5

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 5

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 7

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 7

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,17 +1,17 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 6\b6_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b5 left off. We\u2019ve built a tested web-poll\n application, and we\u2019ll now add a stylesheet and an image.\n Aside from the HTML generated by the server, web applications generally need to\n serve additional files \u2014 such as images, JavaScript, or CSS \u2014 necessary to\n-render the complete web page. In Django, we refer to these files as \u201cstatic\n-files\u201d.\n+render the complete web page. In Django, we refer to these files as \u00abstatic\n+files\u00bb.\n For small projects, this isn\u2019t a big deal, because you can keep the static\n files somewhere your web server can find it. However, in bigger projects \u2013\n especially those comprised of multiple apps \u2013 dealing with the multiple sets of\n static files provided by each application starts to get tricky.\n That\u2019s what django.contrib.staticfiles is for: it collects static files from\n each of your applications (and any other places you specify) into a single\n location that can easily be served in production.\n@@ -20,15 +20,15 @@\n _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bH_\be_\bl_\bp section of the FAQ.\n *\b**\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bmi\biz\bze\be y\byo\bou\bur\br a\bap\bpp\bp?\b\u2019s\bs l\blo\boo\bok\bk a\ban\bnd\bd f\bfe\bee\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n First, create a directory called static in your polls directory. Django will\n look for static files there, similarly to how Django finds templates inside\n polls/templates/.\n Django\u2019s _\bS_\bT_\bA_\bT_\bI_\bC_\bF_\bI_\bL_\bE_\bS_\b__\bF_\bI_\bN_\bD_\bE_\bR_\bS setting contains a list of finders that know how\n to discover static files from various sources. One of the defaults is\n-AppDirectoriesFinder which looks for a \u201cstatic\u201d subdirectory in each of the\n+AppDirectoriesFinder which looks for a \u00abstatic\u00bb subdirectory in each of the\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS, like the one in polls we just created. The admin site uses the\n same directory structure for its static files.\n Within the static directory you have just created, create another directory\n called polls and within that create a file called style.css. In other words,\n your stylesheet should be at polls/static/polls/style.css. Because of how the\n AppDirectoriesFinder staticfile finder works, you can refer to this static file\n in Django as polls/style.css, similar to how you reference the path for\n@@ -70,31 +70,31 @@\n style.css):\n polls/static/polls/style.css_\b\u00b6\n body {\n background: white url(\"images/background.png\") no-repeat;\n }\n Reload http://localhost:8000/polls/ and you should see the background loaded in\n the top left of the screen.\n-Warning\n+Avvertimento\n The {% static %} template tag is not available for use in static files which\n aren\u2019t generated by Django, like your stylesheet. You should always use\n r\bre\bel\bla\bat\bti\biv\bve\be p\bpa\bat\bth\bhs\bs to link your static files between each other, because then you\n can change _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL (used by the _\bs_\bt_\ba_\bt_\bi_\bc template tag to generate its URLs)\n without having to modify a bunch of paths in your static files as well.\n These are the b\bba\bas\bsi\bic\bcs\bs. For more details on settings and other bits included with\n the framework see _\bt_\bh_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bh_\bo_\bw_\bt_\bo and _\bt_\bh_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be.\n _\bD_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs discusses how to use static files on a real server.\n When you\u2019re comfortable with the static files, read _\bp_\ba_\br_\bt_\b _\b7_\b _\bo_\bf_\b _\bt_\bh_\bi_\bs_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl to\n learn how to customize Django\u2019s automatically-generated admin site.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b6\n o _\bC_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\be_\b _\by_\bo_\bu_\br_\b _\ba\ba_\bp\bp_\bp\bp_\b?\b\u2019_\bs\bs_\b _\bl_\bo_\bo_\bk_\b _\ba_\bn_\bd_\b _\bf_\be_\be_\bl\n o _\bA_\bd_\bd_\bi_\bn_\bg_\b _\ba_\b _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd_\b-_\bi_\bm_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b5\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b7\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/tutorial07.html", "source2": "./usr/share/doc/python-django-doc/html/intro/tutorial07.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Writing your first Django app, part 7 — Django 5.1.4 documentation\n+ Writing your first Django app, part 7 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -122,16 +123,16 @@\n admin.site.register(Question, QuestionAdmin)\n
    \n
    \n
    \n

    You\u2019ll follow this pattern \u2013 create a model admin class, then pass it as the\n second argument to admin.site.register() \u2013 any time you need to change the\n admin options for a model.

    \n-

    This particular change above makes the \u201cPublication date\u201d come before the\n-\u201cQuestion\u201d field:

    \n+

    This particular change above makes the \u00abPublication date\u00bb come before the\n+\u00abQuestion\u00bb field:

    \n \"Fields\n

    This isn\u2019t impressive with only two fields, but for admin forms with dozens\n of fields, choosing an intuitive order is an important usability detail.

    \n

    And speaking of forms with dozens of fields, you might want to split the form\n up into fieldsets:

    \n
    \n
    polls/admin.py\u00b6
    \n@@ -170,27 +171,27 @@\n from .models import Choice, Question\n \n # ...\n admin.site.register(Choice)\n
    \n
    \n
    \n-

    Now \u201cChoices\u201d is an available option in the Django admin. The \u201cAdd choice\u201d form\n+

    Now \u00abChoices\u00bb is an available option in the Django admin. The \u00abAdd choice\u00bb form\n looks like this:

    \n \"Choice\n-

    In that form, the \u201cQuestion\u201d field is a select box containing every question in the\n+

    In that form, the \u00abQuestion\u00bb field is a select box containing every question in the\n database. Django knows that a ForeignKey should be\n represented in the admin as a <select> box. In our case, only one question\n exists at this point.

    \n-

    Also note the \u201cAdd another question\u201d link next to \u201cQuestion.\u201d Every object with\n+

    Also note the \u00abAdd another question\u00bb link next to \u00abQuestion.\u00bb Every object with\n a ForeignKey relationship to another gets this for free. When you click\n-\u201cAdd another question\u201d, you\u2019ll get a popup window with the \u201cAdd question\u201d form.\n-If you add a question in that window and click \u201cSave\u201d, Django will save the\n+\u00abAdd another question\u00bb, you\u2019ll get a popup window with the \u00abAdd question\u00bb form.\n+If you add a question in that window and click \u00abSave\u00bb, Django will save the\n question to the database and dynamically add it as the selected choice on the\n-\u201cAdd choice\u201d form you\u2019re looking at.

    \n+\u00abAdd choice\u00bb form you\u2019re looking at.

    \n

    But, really, this is an inefficient way of adding Choice objects to the system.\n It\u2019d be better if you could add a bunch of Choices directly when you create the\n Question object. Let\u2019s make that happen.

    \n

    Remove the register() call for the Choice model. Then, edit the Question\n registration code to read:

    \n
    \n
    polls/admin.py\u00b6
    \n@@ -212,22 +213,22 @@\n inlines = [ChoiceInline]\n \n \n admin.site.register(Question, QuestionAdmin)\n
    \n
    \n
    \n-

    This tells Django: \u201cChoice objects are edited on the Question admin page. By\n-default, provide enough fields for 3 choices.\u201d

    \n-

    Load the \u201cAdd question\u201d page to see how that looks:

    \n+

    This tells Django: \u00abChoice objects are edited on the Question admin page. By\n+default, provide enough fields for 3 choices.\u00bb

    \n+

    Load the \u00abAdd question\u00bb page to see how that looks:

    \n \"Add\n

    It works like this: There are three slots for related Choices \u2013 as specified\n-by extra \u2013 and each time you come back to the \u201cChange\u201d page for an\n+by extra \u2013 and each time you come back to the \u00abChange\u00bb page for an\n already-created object, you get another three extra slots.

    \n-

    At the end of the three current slots you will find an \u201cAdd another Choice\u201d\n+

    At the end of the three current slots you will find an \u00abAdd another Choice\u00bb\n link. If you click on it, a new slot will be added. If you want to remove the\n added slot, you can click on the X to the top right of the added slot. This\n image shows an added slot:

    \n \"Additional\n

    One small problem, though. It takes a lot of screen space to display all the\n fields for entering related Choice objects. For that reason, Django offers a\n tabular way of displaying inline related objects. To use it, change the\n@@ -237,21 +238,21 @@\n

    class ChoiceInline(admin.TabularInline): ...\n 
    \n
    \n
    \n

    With that TabularInline (instead of StackedInline), the\n related objects are displayed in a more compact, table-based format:

    \n \"Add\n-

    Note that there is an extra \u201cDelete?\u201d column that allows removing rows added\n-using the \u201cAdd another Choice\u201d button and rows that have already been saved.

    \n+

    Note that there is an extra \u00abDelete?\u00bb column that allows removing rows added\n+using the \u00abAdd another Choice\u00bb button and rows that have already been saved.

    \n \n
    \n

    Customize the admin change list\u00b6

    \n

    Now that the Question admin page is looking good, let\u2019s make some tweaks to the\n-\u201cchange list\u201d page \u2013 the one that displays all the questions in the system.

    \n+\u00abchange list\u00bb page \u2013 the one that displays all the questions in the system.

    \n

    Here\u2019s what it looks like at this point:

    \n \"Polls\n

    By default, Django displays the str() of each object. But sometimes it\u2019d be\n more helpful if we could display individual fields. To do that, use the\n list_display admin option, which is a\n list of field names to display, as columns, on the change list page for the\n object:

    \n@@ -307,21 +308,21 @@\n

    Edit your polls/admin.py file again and add an improvement to the\n Question change list page: filters using the\n list_filter. Add the following line to\n QuestionAdmin:

    \n
    list_filter = ["pub_date"]\n 
    \n
    \n-

    That adds a \u201cFilter\u201d sidebar that lets people filter the change list by the\n+

    That adds a \u00abFilter\u00bb sidebar that lets people filter the change list by the\n pub_date field:

    \n \"Polls\n

    The type of filter displayed depends on the type of field you\u2019re filtering on.\n Because pub_date is a DateTimeField, Django\n-knows to give appropriate filter options: \u201cAny date\u201d, \u201cToday\u201d, \u201cPast 7 days\u201d,\n-\u201cThis month\u201d, \u201cThis year\u201d.

    \n+knows to give appropriate filter options: \u00abAny date\u00bb, \u00abToday\u00bb, \u00abPast 7 days\u00bb,\n+\u00abThis month\u00bb, \u00abThis year\u00bb.

    \n

    This is shaping up well. Let\u2019s add some search capability:

    \n
    search_fields = ["question_text"]\n 
    \n
    \n

    That adds a search box at the top of the change list. When somebody enters\n search terms, Django will search the question_text field. You can use as many\n fields as you\u2019d like \u2013 although because it uses a LIKE query behind the\n@@ -330,15 +331,15 @@\n

    Now\u2019s also a good time to note that change lists give you free pagination. The\n default is to display 100 items per page. Change list pagination, search boxes, filters, date-hierarchies, and\n column-header-ordering\n all work together like you think they should.

    \n
    \n
    \n

    Customize the admin look and feel\u00b6

    \n-

    Clearly, having \u201cDjango administration\u201d at the top of each admin page is\n+

    Clearly, having \u00abDjango administration\u00bb at the top of each admin page is\n ridiculous. It\u2019s just placeholder text.

    \n

    You can change it, though, using Django\u2019s template system. The Django admin is\n powered by Django itself, and its interfaces use Django\u2019s own template system.

    \n
    \n

    Customizing your project\u2019s templates\u00b6

    \n

    Create a templates directory in your djangotutorial directory.\n Templates can live anywhere on your filesystem that Django can access. (Django\n@@ -488,37 +489,37 @@\n

  • Customize the admin index page
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Writing your first Django app, part 6

    \n+ title=\"capitolo precedente\">Writing your first Django app, part 6

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first Django app, part 8

    \n+ title=\"capitolo successivo\">Writing your first Django app, part 8

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 7\b7_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b6 left off. We\u2019re continuing the web-poll\n application and will focus on customizing Django\u2019s automatically-generated\n admin site that we first explored in _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b2.\n Where to get help:\n@@ -25,16 +25,16 @@\n fields = [\"pub_date\", \"question_text\"]\n \n \n admin.site.register(Question, QuestionAdmin)\n You\u2019ll follow this pattern \u2013 create a model admin class, then pass it as the\n second argument to admin.site.register() \u2013 any time you need to change the\n admin options for a model.\n-This particular change above makes the \u201cPublication date\u201d come before the\n-\u201cQuestion\u201d field:\n+This particular change above makes the \u00abPublication date\u00bb come before the\n+\u00abQuestion\u00bb field:\n [Fields have been reordered]\n This isn\u2019t impressive with only two fields, but for admin forms with dozens of\n fields, choosing an intuitive order is an important usability detail.\n And speaking of forms with dozens of fields, you might want to split the form\n up into fieldsets:\n polls/admin.py_\b\u00b6\n from django.contrib import admin\n@@ -62,26 +62,26 @@\n polls/admin.py_\b\u00b6\n from django.contrib import admin\n \n from .models import Choice, Question\n \n # ...\n admin.site.register(Choice)\n-Now \u201cChoices\u201d is an available option in the Django admin. The \u201cAdd choice\u201d form\n+Now \u00abChoices\u00bb is an available option in the Django admin. The \u00abAdd choice\u00bb form\n looks like this:\n [Choice admin page]\n-In that form, the \u201cQuestion\u201d field is a select box containing every question in\n+In that form, the \u00abQuestion\u00bb field is a select box containing every question in\n the database. Django knows that a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by should be represented in the admin\n as a \n- \n+ \n \n
    \n \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg y\byo\bou\bur\br f\bfi\bir\brs\bst\bt D\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bp,\b, p\bpa\bar\brt\bt 8\b8_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This tutorial begins where _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b7 left off. We\u2019ve built our web-poll\n application and will now look at third-party packages. One of Django\u2019s\n strengths is the rich ecosystem of third-party packages. They\u2019re community\n developed packages that can be used to quickly improve the feature set of an\n@@ -28,15 +28,15 @@\n Third-party packages that integrate with Django need some post-installation\n setup to integrate them with your project. Often you will need to add the\n package\u2019s Django app to your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting. Some packages need other\n changes, like additions to your URLconf (urls.py).\n Django Debug Toolbar requires several setup steps. Follow them in _\bi_\bt_\bs\n _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bg_\bu_\bi_\bd_\be. The steps are not duplicated in this tutorial, because as a\n third-party package, it may change separately to Django\u2019s schedule.\n-Once installed, you should be able to see the DjDT \u201chandle\u201d on the right side\n+Once installed, you should be able to see the DjDT \u00abhandle\u00bb on the right side\n of the browser window when you browse to http://localhost:8000/admin/. Click it\n to open the debug toolbar and use the tools in each panel. See the _\bp_\ba_\bn_\be_\bl_\bs\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bp_\ba_\bg_\be for more information on what the panels show.\n *\b**\b**\b**\b**\b* G\bGe\bet\btt\bti\bin\bng\bg h\bhe\bel\blp\bp f\bfr\bro\bom\bm o\bot\bth\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n At some point you will run into a problem, for example the toolbar may not\n render. When this happens and you\u2019re unable to resolve the issue yourself,\n there are options available to you.\n@@ -52,32 +52,32 @@\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg o\bot\bth\bhe\ber\br t\bth\bhi\bir\brd\bd-\b-p\bpa\bar\brt\bty\by p\bpa\bac\bck\bka\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There are many more third-party packages, which you can find using the\n fantastic Django resource, _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bP_\ba_\bc_\bk_\ba_\bg_\be_\bs.\n It can be difficult to know what third-party packages you should use. This\n depends on your needs and goals. Sometimes it\u2019s fine to use a package that\u2019s in\n its alpha state. Other times, you need to know it\u2019s production ready. _\bA_\bd_\ba_\bm\n _\bJ_\bo_\bh_\bn_\bs_\bo_\bn_\b _\bh_\ba_\bs_\b _\ba_\b _\bb_\bl_\bo_\bg_\b _\bp_\bo_\bs_\bt that outlines a set of characteristics that qualifies a\n-package as \u201cwell maintained\u201d. Django Packages shows data for some of these\n+package as \u00abwell maintained\u00bb. Django Packages shows data for some of these\n characteristics, such as when the package was last updated.\n As Adam points out in his post, when the answer to one of the questions is\n-\u201cno\u201d, that\u2019s an opportunity to contribute.\n+\u00abno\u00bb, that\u2019s an opportunity to contribute.\n *\b**\b**\b**\b**\b* W\bWh\bha\bat\bt?\b\u2019s\bs n\bne\bex\bxt\bt?\b?_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The beginner tutorial ends here. In the meantime, you might want to check out\n some pointers on _\bw_\bh_\be_\br_\be_\b _\bt_\bo_\b _\bg_\bo_\b _\bf_\br_\bo_\bm_\b _\bh_\be_\br_\be.\n If you are familiar with Python packaging and interested in learning how to\n-turn polls into a \u201creusable app\u201d, check out _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b:_\b _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be\n+turn polls into a \u00abreusable app\u00bb, check out _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b:_\b _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be\n _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b8\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\be_\bb_\bu_\bg_\b _\bT_\bo_\bo_\bl_\bb_\ba_\br\n o _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\bh_\be_\bl_\bp_\b _\bf_\br_\bo_\bm_\b _\bo_\bt_\bh_\be_\br_\bs\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bo_\bt_\bh_\be_\br_\b _\bt_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs\n o _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bx_\bt_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\b,_\b _\bp_\ba_\br_\bt_\b _\b7\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b:_\b _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/intro/whatsnext.html", "source2": "./usr/share/doc/python-django-doc/html/intro/whatsnext.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- What to read next — Django 5.1.4 documentation\n+ What to read next — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -105,52 +106,52 @@\n documentation works so that you can get the most out of it.

    \n

    (Yes, this is documentation about documentation. Rest assured we have no plans\n to write a document about how to read the document about documentation.)

    \n
    \n

    Finding documentation\u00b6

    \n

    Django\u2019s got a lot of documentation \u2013 almost 450,000 words and counting \u2013\n so finding what you need can sometimes be tricky. A good place to start\n-is the Index. We also recommend using the builtin search feature.

    \n+is the Indice. We also recommend using the builtin search feature.

    \n

    Or you can just browse around!

    \n
    \n
    \n

    How the documentation is organized\u00b6

    \n-

    Django\u2019s main documentation is broken up into \u201cchunks\u201d designed to fill\n+

    Django\u2019s main documentation is broken up into \u00abchunks\u00bb designed to fill\n different needs:

    \n
      \n
    • The introductory material is designed for people new\n to Django \u2013 or to web development in general. It doesn\u2019t cover anything\n in depth, but instead gives a high-level overview of how developing in\n-Django \u201cfeels\u201d.

    • \n+Django \u00abfeels\u00bb.

      \n
    • The topic guides, on the other hand, dive deep into\n individual parts of Django. There are complete guides to Django\u2019s\n model system, template engine, forms framework, and much\n more.

      \n

      This is probably where you\u2019ll want to spend most of your time; if you work\n your way through these guides you should come out knowing pretty much\n everything there is to know about Django.

      \n
    • \n
    • Web development is often broad, not deep \u2013 problems span many domains.\n We\u2019ve written a set of how-to guides that answer\n-common \u201cHow do I \u2026?\u201d questions. Here you\u2019ll find information about\n+common \u00abHow do I \u2026?\u00bb questions. Here you\u2019ll find information about\n generating PDFs with Django, writing\n custom template tags, and more.

      \n

      Answers to really common questions can also be found in the FAQ.

      \n
    • \n
    • The guides and how-to\u2019s don\u2019t cover every single class, function, and\n method available in Django \u2013 that would be overwhelming when you\u2019re\n trying to learn. Instead, details about individual classes, functions,\n methods, and modules are kept in the reference. This is\n where you\u2019ll turn to find the details of a particular function or\n whatever you need.

    • \n
    • If you are interested in deploying a project for public use, our docs have\n several guides for various deployment\n setups as well as a deployment checklist\n for some things you\u2019ll need to think about.

    • \n-
    • Finally, there\u2019s some \u201cspecialized\u201d documentation not usually relevant to\n+

    • Finally, there\u2019s some \u00abspecialized\u00bb documentation not usually relevant to\n most developers. This includes the release notes and\n internals documentation for those who want to add\n code to Django itself, and a few other things that don\u2019t fit elsewhere.

    • \n
    \n
    \n
    \n

    How documentation is updated\u00b6

    \n@@ -175,15 +176,15 @@\n

    You can read Django documentation in several ways. They are, in order of\n preference:

    \n
    \n

    On the web\u00b6

    \n

    The most recent version of the Django documentation lives at\n https://docs.djangoproject.com/en/dev/. These HTML pages are generated\n automatically from the text files in source control. That means they reflect the\n-\u201clatest and greatest\u201d in Django \u2013 they include the very latest corrections and\n+\u00ablatest and greatest\u00bb in Django \u2013 they include the very latest corrections and\n additions, and they discuss the latest Django features, which may only be\n available to users of the Django development version. (See\n Differences between versions below.)

    \n

    We encourage you to help improve the docs by submitting changes, corrections and\n suggestions in the ticket system. The Django developers actively monitor the\n ticket system and use your feedback to improve the documentation for everybody.

    \n

    Note, however, that tickets should explicitly relate to the documentation,\n@@ -199,15 +200,15 @@\n the code includes a docs/ directory, which contains all the documentation\n for that release.

    \n

    If you\u2019re using the development version of Django (aka the main branch), the\n docs/ directory contains all of the documentation. You can update your\n Git checkout to get the latest changes.

    \n

    One low-tech way of taking advantage of the text documentation is by using the\n Unix grep utility to search for a phrase in all of the documentation. For\n-example, this will show you each mention of the phrase \u201cmax_length\u201d in any\n+example, this will show you each mention of the phrase \u00abmax_length\u00bb in any\n Django document:

    \n
    \n \n \n \n \n
    \n@@ -259,28 +260,28 @@\n
  • The HTML documentation will be placed in docs/_build/html.

  • \n \n
    \n
    \n
    \n

    Differences between versions\u00b6

    \n

    The text documentation in the main branch of the Git repository contains the\n-\u201clatest and greatest\u201d changes and additions. These changes include\n+\u00ablatest and greatest\u00bb changes and additions. These changes include\n documentation of new features targeted for Django\u2019s next feature\n release. For that reason, it\u2019s worth pointing out our policy\n to highlight recent changes and additions to Django.

    \n

    We follow this policy:

    \n
      \n
    • The development documentation at https://docs.djangoproject.com/en/dev/ is\n from the main branch. These docs correspond to the latest feature release,\n plus whatever features have been added/changed in the framework since then.

    • \n
    • As we add features to Django\u2019s development version, we update the\n documentation in the same Git commit transaction.

    • \n
    • To distinguish feature changes/additions in the docs, we use the phrase:\n-\u201cNew in Django Development version\u201d for the version of Django that hasn\u2019t\n-been released yet, or \u201cNew in version X.Y\u201d for released versions.

    • \n+\u00abNew in Django Development version\u00bb for the version of Django that hasn\u2019t\n+been released yet, or \u00abNew in version X.Y\u00bb for released versions.

      \n
    • Documentation fixes and improvements may be backported to the last release\n branch, at the discretion of the merger, however, once a version of Django is\n no longer supported, that version of the\n docs won\u2019t get any further updates.

    • \n
    • The main documentation web page includes links to documentation for\n previous versions. Be sure you are using the version of the docs\n corresponding to the version of Django you are using!

    • \n@@ -314,37 +315,37 @@\n
    • Differences between versions
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Advanced tutorial: How to write reusable apps

    \n+ title=\"capitolo precedente\">Advanced tutorial: How to write reusable apps

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Writing your first contribution for Django

    \n+ title=\"capitolo successivo\">Writing your first contribution for Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* W\bWh\bha\bat\bt t\bto\bo r\bre\bea\bad\bd n\bne\bex\bxt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n So you\u2019ve read all the _\bi_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bo_\br_\by_\b _\bm_\ba_\bt_\be_\br_\bi_\ba_\bl and have decided you\u2019d like to\n keep using Django. We\u2019ve only just scratched the surface with this intro (in\n fact, if you\u2019ve read every single word, you\u2019ve read about 5% of the overall\n documentation).\n@@ -14,42 +14,42 @@\n as complete as possible. The rest of this document explains more about how the\n documentation works so that you can get the most out of it.\n (Yes, this is documentation about documentation. Rest assured we have no plans\n to write a document about how to read the document about documentation.)\n *\b**\b**\b**\b**\b* F\bFi\bin\bnd\bdi\bin\bng\bg d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django\u2019s got a l\blo\bot\bt of documentation \u2013 almost 450,000 words and counting \u2013 so\n finding what you need can sometimes be tricky. A good place to start is the\n-_\bI_\bn_\bd_\be_\bx. We also recommend using the builtin search feature.\n+_\bI_\bn_\bd_\bi_\bc_\be. We also recommend using the builtin search feature.\n Or you can just browse around!\n *\b**\b**\b**\b**\b* H\bHo\bow\bw t\bth\bhe\be d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn i\bis\bs o\bor\brg\bga\ban\bni\biz\bze\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Django\u2019s main documentation is broken up into \u201cchunks\u201d designed to fill\n+Django\u2019s main documentation is broken up into \u00abchunks\u00bb designed to fill\n different needs:\n * The _\bi_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bo_\br_\by_\b _\bm_\ba_\bt_\be_\br_\bi_\ba_\bl is designed for people new to Django \u2013 or to\n web development in general. It doesn\u2019t cover anything in depth, but\n- instead gives a high-level overview of how developing in Django \u201cfeels\u201d.\n+ instead gives a high-level overview of how developing in Django \u00abfeels\u00bb.\n * The _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be_\bs, on the other hand, dive deep into individual parts of\n Django. There are complete guides to Django\u2019s _\bm_\bo_\bd_\be_\bl_\b _\bs_\by_\bs_\bt_\be_\bm, _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n _\be_\bn_\bg_\bi_\bn_\be, _\bf_\bo_\br_\bm_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk, and much more.\n This is probably where you\u2019ll want to spend most of your time; if you\n work your way through these guides you should come out knowing pretty\n much everything there is to know about Django.\n * Web development is often broad, not deep \u2013 problems span many domains.\n- We\u2019ve written a set of _\bh_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs that answer common \u201cHow do I \u2026?\u201d\n+ We\u2019ve written a set of _\bh_\bo_\bw_\b-_\bt_\bo_\b _\bg_\bu_\bi_\bd_\be_\bs that answer common \u00abHow do I \u2026?\u00bb\n questions. Here you\u2019ll find information about _\bg_\be_\bn_\be_\br_\ba_\bt_\bi_\bn_\bg_\b _\bP_\bD_\bF_\bs_\b _\bw_\bi_\bt_\bh\n _\bD_\bj_\ba_\bn_\bg_\bo, _\bw_\br_\bi_\bt_\bi_\bn_\bg_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs, and more.\n Answers to really common questions can also be found in the _\bF_\bA_\bQ.\n * The guides and how-to\u2019s don\u2019t cover every single class, function, and\n method available in Django \u2013 that would be overwhelming when you\u2019re\n trying to learn. Instead, details about individual classes, functions,\n methods, and modules are kept in the _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be. This is where you\u2019ll turn\n to find the details of a particular function or whatever you need.\n * If you are interested in deploying a project for public use, our docs\n have _\bs_\be_\bv_\be_\br_\ba_\bl_\b _\bg_\bu_\bi_\bd_\be_\bs for various deployment setups as well as a _\bd_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt\n _\bc_\bh_\be_\bc_\bk_\bl_\bi_\bs_\bt for some things you\u2019ll need to think about.\n- * Finally, there\u2019s some \u201cspecialized\u201d documentation not usually relevant to\n+ * Finally, there\u2019s some \u00abspecialized\u00bb documentation not usually relevant to\n most developers. This includes the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs and _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\bs\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for those who want to add code to Django itself, and a _\bf_\be_\bw\n _\bo_\bt_\bh_\be_\br_\b _\bt_\bh_\bi_\bn_\bg_\bs_\b _\bt_\bh_\ba_\bt_\b _\bd_\bo_\bn_\b\u2019_\bt_\b _\bf_\bi_\bt_\b _\be_\bl_\bs_\be_\bw_\bh_\be_\br_\be.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn i\bis\bs u\bup\bpd\bda\bat\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Just as the Django code base is developed and improved on a daily basis, our\n documentation is consistently improving. We improve documentation for several\n reasons:\n@@ -65,16 +65,16 @@\n separate text file in the repository.\n *\b**\b**\b**\b**\b* W\bWh\bhe\ber\bre\be t\bto\bo g\bge\bet\bt i\bit\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You can read Django documentation in several ways. They are, in order of\n preference:\n *\b**\b**\b**\b* O\bOn\bn t\bth\bhe\be w\bwe\beb\bb_\b?\b\u00b6 *\b**\b**\b**\b*\n The most recent version of the Django documentation lives at _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/\n _\bd_\bo_\bc_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm_\b/_\be_\bn_\b/_\bd_\be_\bv_\b/. These HTML pages are generated automatically\n-from the text files in source control. That means they reflect the \u201clatest and\n-greatest\u201d in Django \u2013 they include the very latest corrections and additions,\n+from the text files in source control. That means they reflect the \u00ablatest and\n+greatest\u00bb in Django \u2013 they include the very latest corrections and additions,\n and they discuss the latest Django features, which may only be available to\n users of the Django development version. (See _\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\bs_\b _\bb_\be_\bt_\bw_\be_\be_\bn_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs\n below.)\n We encourage you to help improve the docs by submitting changes, corrections\n and suggestions in the _\bt_\bi_\bc_\bk_\be_\bt_\b _\bs_\by_\bs_\bt_\be_\bm. The Django developers actively monitor\n the ticket system and use your feedback to improve the documentation for\n everybody.\n@@ -89,15 +89,15 @@\n the code includes a docs/ directory, which contains all the documentation for\n that release.\n If you\u2019re using the development version of Django (aka the main branch), the\n docs/ directory contains all of the documentation. You can update your Git\n checkout to get the latest changes.\n One low-tech way of taking advantage of the text documentation is by using the\n Unix grep utility to search for a phrase in all of the documentation. For\n-example, this will show you each mention of the phrase \u201cmax_length\u201d in any\n+example, this will show you each mention of the phrase \u00abmax_length\u00bb in any\n Django document:\n #\uf17c/\uf179 o\uf17a\n $ grep -r max_length /path/to/django/docs/\n ...\\> grep -r max_length \\path\\to\\django\\docs\\\n *\b**\b**\b**\b* A\bAs\bs H\bHT\bTM\bML\bL,\b, l\blo\boc\bca\bal\bll\bly\by_\b?\b\u00b6 *\b**\b**\b**\b*\n You can get a local copy of the HTML documentation following a few steps:\n * Django\u2019s documentation uses a system called _\bS_\bp_\bh_\bi_\bn_\bx to convert from plain\n@@ -112,28 +112,28 @@\n You\u2019ll need _\bG_\bN_\bU_\b _\bM_\ba_\bk_\be installed for this.\n If you\u2019re on Windows you can alternatively use the included batch file:\n cd path\\to\\django\\docs\n make.bat html\n * The HTML documentation will be placed in docs/_build/html.\n *\b**\b**\b**\b**\b* D\bDi\bif\bff\bfe\ber\bre\ben\bnc\bce\bes\bs b\bbe\bet\btw\bwe\bee\ben\bn v\bve\ber\brs\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The text documentation in the main branch of the Git repository contains the\n-\u201clatest and greatest\u201d changes and additions. These changes include\n+\u00ablatest and greatest\u00bb changes and additions. These changes include\n documentation of new features targeted for Django\u2019s next _\bf_\be_\ba_\bt_\bu_\br_\be_\b _\br_\be_\bl_\be_\ba_\bs_\be. For\n that reason, it\u2019s worth pointing out our policy to highlight recent changes and\n additions to Django.\n We follow this policy:\n * The development documentation at _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bd_\bo_\bc_\bs_\b._\bd_\bj_\ba_\bn_\bg_\bo_\bp_\br_\bo_\bj_\be_\bc_\bt_\b._\bc_\bo_\bm_\b/_\be_\bn_\b/_\bd_\be_\bv_\b/\n is from the main branch. These docs correspond to the latest feature\n release, plus whatever features have been added/changed in the framework\n since then.\n * As we add features to Django\u2019s development version, we update the\n documentation in the same Git commit transaction.\n * To distinguish feature changes/additions in the docs, we use the phrase:\n- \u201cNew in Django Development version\u201d for the version of Django that hasn\u2019t\n- been released yet, or \u201cNew in version X.Y\u201d for released versions.\n+ \u00abNew in Django Development version\u00bb for the version of Django that hasn\u2019t\n+ been released yet, or \u00abNew in version X.Y\u00bb for released versions.\n * Documentation fixes and improvements may be backported to the last\n release branch, at the discretion of the merger, however, once a version\n of Django is _\bn_\bo_\b _\bl_\bo_\bn_\bg_\be_\br_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd, that version of the docs won\u2019t get any\n further updates.\n * The _\bm_\ba_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bw_\be_\bb_\b _\bp_\ba_\bg_\be includes links to documentation for\n previous versions. Be sure you are using the version of the docs\n corresponding to the version of Django you are using!\n@@ -143,16 +143,16 @@\n o _\bH_\bo_\bw_\b _\bt_\bh_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bs_\b _\bo_\br_\bg_\ba_\bn_\bi_\bz_\be_\bd\n o _\bH_\bo_\bw_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bs_\b _\bu_\bp_\bd_\ba_\bt_\be_\bd\n o _\bW_\bh_\be_\br_\be_\b _\bt_\bo_\b _\bg_\be_\bt_\b _\bi_\bt\n # _\bO_\bn_\b _\bt_\bh_\be_\b _\bw_\be_\bb\n # _\bI_\bn_\b _\bp_\bl_\ba_\bi_\bn_\b _\bt_\be_\bx_\bt\n # _\bA_\bs_\b _\bH_\bT_\bM_\bL_\b,_\b _\bl_\bo_\bc_\ba_\bl_\bl_\by\n o _\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\bs_\b _\bb_\be_\bt_\bw_\be_\be_\bn_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b:_\b _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/misc/api-stability.html", "source2": "./usr/share/doc/python-django-doc/html/misc/api-stability.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- API stability — Django 5.1.4 documentation\n+ API stability — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,34 +79,34 @@\n
    \n \n
    \n

    API stability\u00b6

    \n

    Django is committed to API stability and forwards-compatibility. In a nutshell,\n this means that code you develop against a version of Django will continue to\n work with future releases. You may need to make minor changes when upgrading\n-the version of Django your project uses: see the \u201cBackwards incompatible\n-changes\u201d section of the release note for the version\n+the version of Django your project uses: see the \u00abBackwards incompatible\n+changes\u00bb section of the release note for the version\n or versions to which you are upgrading.

    \n

    At the same time as making API stability a very high priority, Django is also\n-committed to continual improvement, along with aiming for \u201cone way to do it\u201d\n+committed to continual improvement, along with aiming for \u00abone way to do it\u00bb\n (eventually) in the APIs we provide. This means that when we discover clearly\n superior ways to do things, we will deprecate and eventually remove the old\n ways. Our aim is to provide a modern, dependable web framework of the highest\n quality that encourages best practices in all projects that use it. By using\n incremental improvements, we try to avoid both stagnation and large breaking\n upgrades.

    \n
    \n-

    What \u201cstable\u201d means\u00b6

    \n+

    What \u00abstable\u00bb means\u00b6

    \n

    In this context, stable means:

    \n
      \n
    • All the public APIs (everything in this documentation) will not be moved\n or renamed without providing backwards-compatible aliases.

    • \n
    • If new features are added to these APIs \u2013 which is quite possible \u2013\n they will not break or change the meaning of existing methods. In other\n-words, \u201cstable\u201d does not (necessarily) mean \u201ccomplete.\u201d

    • \n+words, \u00abstable\u00bb does not (necessarily) mean \u00abcomplete.\u00bb

      \n
    • If, for some reason, an API declared stable must be removed or replaced, it\n will be declared deprecated but will remain in the API for at least two\n feature releases. Warnings will be issued when the deprecated method is\n called.

      \n

      See Official releases for more details on how Django\u2019s version\n numbering scheme works, and how features will be deprecated.

      \n
    • \n@@ -127,15 +128,15 @@\n

      If we become aware of a security problem \u2013 hopefully by someone following our\n security reporting policy \u2013 we\u2019ll do\n everything necessary to fix it. This might mean breaking backwards\n compatibility; security trumps the compatibility guarantee.

      \n
    \n
    \n

    APIs marked as internal\u00b6

    \n-

    Certain APIs are explicitly marked as \u201cinternal\u201d in a couple of ways:

    \n+

    Certain APIs are explicitly marked as \u00abinternal\u00bb in a couple of ways:

    \n
      \n
    • Some documentation refers to internals and mentions them as such. If the\n documentation says that something is internal, we reserve the right to\n change it.

    • \n
    • Functions, methods, and other objects prefixed by a leading underscore\n (_). This is the standard Python way of indicating that something is\n private; if any method starts with a single _, it\u2019s an internal API.

    • \n@@ -154,50 +155,50 @@\n \n
      \n
      \n \n
      \n-

      Previous topic

      \n+

      Argomento precedente

      \n

      Meta-documentation and miscellany

      \n+ title=\"capitolo precedente\">Meta-documentation and miscellany

      \n
      \n
      \n-

      Next topic

      \n+

      Argomento successivo

      \n

      Design philosophies

      \n+ title=\"capitolo successivo\">Design philosophies

      \n
      \n \n-

      Quick search

      \n+

      Ricerca veloce

      \n
      \n
      \n \n- \n+ \n
      \n
      \n
      \n \n
      \n
      \n

      Last update:

      \n-

      Dec 04, 2024

      \n+

      dic 04, 2024

      \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,32 +1,32 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAP\bPI\bI s\bst\bta\bab\bbi\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django is committed to API stability and forwards-compatibility. In a nutshell,\n this means that code you develop against a version of Django will continue to\n work with future releases. You may need to make minor changes when upgrading\n-the version of Django your project uses: see the \u201cBackwards incompatible\n-changes\u201d section of the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be for the version or versions to which you\n+the version of Django your project uses: see the \u00abBackwards incompatible\n+changes\u00bb section of the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be for the version or versions to which you\n are upgrading.\n At the same time as making API stability a very high priority, Django is also\n-committed to continual improvement, along with aiming for \u201cone way to do it\u201d\n+committed to continual improvement, along with aiming for \u00abone way to do it\u00bb\n (eventually) in the APIs we provide. This means that when we discover clearly\n superior ways to do things, we will deprecate and eventually remove the old\n ways. Our aim is to provide a modern, dependable web framework of the highest\n quality that encourages best practices in all projects that use it. By using\n incremental improvements, we try to avoid both stagnation and large breaking\n upgrades.\n-*\b**\b**\b**\b**\b* W\bWh\bha\bat\bt ?\b\u201cs\bst\bta\bab\bbl\ble\be?\b\u201d m\bme\bea\ban\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b* W\bWh\bha\bat\bt ?\b\u00abs\bst\bta\bab\bbl\ble\be?\b\u00bb m\bme\bea\ban\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In this context, stable means:\n * All the public APIs (everything in this documentation) will not be moved\n or renamed without providing backwards-compatible aliases.\n * If new features are added to these APIs \u2013 which is quite possible \u2013 they\n will not break or change the meaning of existing methods. In other words,\n- \u201cstable\u201d does not (necessarily) mean \u201ccomplete.\u201d\n+ \u00abstable\u00bb does not (necessarily) mean \u00abcomplete.\u00bb\n * If, for some reason, an API declared stable must be removed or replaced,\n it will be declared deprecated but will remain in the API for at least\n two feature releases. Warnings will be issued when the deprecated method\n is called.\n See _\bO_\bf_\bf_\bi_\bc_\bi_\ba_\bl_\b _\br_\be_\bl_\be_\ba_\bs_\be_\bs for more details on how Django\u2019s version numbering\n scheme works, and how features will be deprecated.\n * We\u2019ll only break backwards compatibility of these APIs without a\n@@ -40,30 +40,30 @@\n promise.\n *\b**\b**\b**\b* S\bSe\bec\bcu\bur\bri\bit\bty\by f\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n If we become aware of a security problem \u2013 hopefully by someone following our\n _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bp_\bo_\bl_\bi_\bc_\by \u2013 we\u2019ll do everything necessary to fix it. This might\n mean breaking backwards compatibility; security trumps the compatibility\n guarantee.\n *\b**\b**\b**\b* A\bAP\bPI\bIs\bs m\bma\bar\brk\bke\bed\bd a\bas\bs i\bin\bnt\bte\ber\brn\bna\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n-Certain APIs are explicitly marked as \u201cinternal\u201d in a couple of ways:\n+Certain APIs are explicitly marked as \u00abinternal\u00bb in a couple of ways:\n * Some documentation refers to internals and mentions them as such. If the\n documentation says that something is internal, we reserve the right to\n change it.\n * Functions, methods, and other objects prefixed by a leading underscore\n (_). This is the standard Python way of indicating that something is\n private; if any method starts with a single _, it\u2019s an internal API.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n- o _\bW_\bh_\ba_\bt_\b _\b\u201c_\bs_\bt_\ba_\bb_\bl_\be_\b\u201d_\b _\bm_\be_\ba_\bn_\bs\n+ o _\bW_\bh_\ba_\bt_\b _\b\u00ab_\bs_\bt_\ba_\bb_\bl_\be_\b\u00bb_\b _\bm_\be_\ba_\bn_\bs\n o _\bS_\bt_\ba_\bb_\bl_\be_\b _\bA_\bP_\bI_\bs\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n # _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bf_\bi_\bx_\be_\bs\n # _\bA_\bP_\bI_\bs_\b _\bm_\ba_\br_\bk_\be_\bd_\b _\ba_\bs_\b _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\be_\bt_\ba_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bn_\bd_\b _\bm_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\by\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\be_\bs_\bi_\bg_\bn_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\bi_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/misc/design-philosophies.html", "source2": "./usr/share/doc/python-django-doc/html/misc/design-philosophies.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Design philosophies — Django 5.1.4 documentation\n+ Design philosophies — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -83,15 +84,15 @@\n have used in creating the framework. Its goal is to explain the past and guide\n the future.

    \n
    \n

    Overall\u00b6

    \n
    \n

    Loose coupling\u00b6

    \n

    A fundamental goal of Django\u2019s stack is loose coupling and tight cohesion.\n-The various layers of the framework shouldn\u2019t \u201cknow\u201d about each other unless\n+The various layers of the framework shouldn\u2019t \u00abknow\u00bb about each other unless\n absolutely necessary.

    \n

    For example, the template system knows nothing about web requests, the database\n layer knows nothing about data display and the view system doesn\u2019t care which\n template system a programmer uses.

    \n

    Although Django comes with a full stack for convenience, the pieces of the\n stack are independent of another wherever possible.

    \n
    \n@@ -110,45 +111,45 @@\n
    \n

    Don\u2019t repeat yourself (DRY)\u00b6

    \n

    Every distinct concept and/or piece of data should live in one, and only one,\n place. Redundancy is bad. Normalization is good.

    \n

    The framework, within reason, should deduce as much as possible from as little\n as possible.

    \n \n
    \n
    \n

    Explicit is better than implicit\u00b6

    \n

    This is a core Python principle listed in PEP 20, and it means Django\n-shouldn\u2019t do too much \u201cmagic.\u201d Magic shouldn\u2019t happen unless there\u2019s a really\n+shouldn\u2019t do too much \u00abmagic.\u00bb Magic shouldn\u2019t happen unless there\u2019s a really\n good reason for it. Magic is worth using only if it creates a huge convenience\n unattainable in other ways, and it isn\u2019t implemented in a way that confuses\n developers who are trying to learn how to use the feature.

    \n
    \n
    \n

    Consistency\u00b6

    \n

    The framework should be consistent at all levels. Consistency applies to\n everything from low-level (the Python coding style used) to high-level (the\n-\u201cexperience\u201d of using Django).

    \n+\u00abexperience\u00bb of using Django).

    \n
    \n
    \n
    \n

    Models\u00b6

    \n
    \n

    Explicit is better than implicit\u00b6

    \n

    Fields shouldn\u2019t assume certain behaviors based solely on the name of the\n field. This requires too much knowledge of the system and is prone to errors.\n Instead, behaviors should be based on keyword arguments and, in some cases, on\n the type of the field.

    \n
    \n
    \n

    Include all relevant domain logic\u00b6

    \n-

    Models should encapsulate every aspect of an \u201cobject,\u201d following Martin\n+

    Models should encapsulate every aspect of an \u00abobject,\u00bb following Martin\n Fowler\u2019s Active Record design pattern.

    \n

    This is why both the data represented by a model and information about\n it (its human-readable name, options like default ordering, etc.) are\n defined in the model class; all the information needed to understand a\n given model should be stored in the model.

    \n
    \n
    \n@@ -158,16 +159,16 @@\n
    \n

    SQL efficiency\u00b6

    \n

    It should execute SQL statements as few times as possible, and it should\n optimize statements internally.

    \n

    This is why developers need to call save() explicitly, rather than the\n framework saving things behind the scenes silently.

    \n

    This is also why the select_related() QuerySet method exists. It\u2019s an\n-optional performance booster for the common case of selecting \u201cevery related\n-object.\u201d

    \n+optional performance booster for the common case of selecting \u00abevery related\n+object.\u00bb

    \n
    \n
    \n

    Terse, powerful syntax\u00b6

    \n

    The database API should allow rich, expressive statements in as little syntax\n as possible. It should not rely on importing other modules or helper objects.

    \n

    Joins should be performed automatically, behind the scenes, when necessary.

    \n

    Every object should be able to access every related object, systemwide. This\n@@ -202,15 +203,15 @@\n

    File extensions in web-page URLs should be avoided.

    \n

    Vignette-style commas in URLs deserve severe punishment.

    \n
    \n
    \n

    Definitive URLs\u00b6

    \n

    Technically, foo.com/bar and foo.com/bar/ are two different URLs, and\n search-engine robots (and some web traffic-analyzing tools) would treat them as\n-separate pages. Django should make an effort to \u201cnormalize\u201d URLs so that\n+separate pages. Django should make an effort to \u00abnormalize\u00bb URLs so that\n search-engine robots don\u2019t get confused.

    \n

    This is the reasoning behind the APPEND_SLASH setting.

    \n
    \n \n
    \n

    Template system\u00b6

    \n
    \n@@ -282,15 +283,15 @@\n
    \n
    \n

    Use request objects\u00b6

    \n

    Views should have access to a request object \u2013 an object that stores metadata\n about the current request. The object should be passed directly to a view\n function, rather than the view function having to access the request data from\n a global variable. This makes it light, clean and easy to test views by passing\n-in \u201cfake\u201d request objects.

    \n+in \u00abfake\u00bb request objects.

    \n
    \n
    \n

    Loose coupling\u00b6

    \n

    A view shouldn\u2019t care about which template system the developer uses \u2013 or even\n whether a template system is used at all.

    \n
    \n
    \n@@ -389,37 +390,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    API stability

    \n+ title=\"capitolo precedente\">API stability

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Third-party distributions of Django

    \n+ title=\"capitolo successivo\">Third-party distributions of Django

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDe\bes\bsi\big\bgn\bn p\bph\bhi\bil\blo\bos\bso\bop\bph\bhi\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains some of the fundamental philosophies Django\u2019s developers\n have used in creating the framework. Its goal is to explain the past and guide\n the future.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\bra\bal\bll\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* L\bLo\boo\bos\bse\be c\bco\bou\bup\bpl\bli\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n A fundamental goal of Django\u2019s stack is _\bl_\bo_\bo_\bs_\be_\b _\bc_\bo_\bu_\bp_\bl_\bi_\bn_\bg_\b _\ba_\bn_\bd_\b _\bt_\bi_\bg_\bh_\bt_\b _\bc_\bo_\bh_\be_\bs_\bi_\bo_\bn. The\n-various layers of the framework shouldn\u2019t \u201cknow\u201d about each other unless\n+various layers of the framework shouldn\u2019t \u00abknow\u00bb about each other unless\n absolutely necessary.\n For example, the template system knows nothing about web requests, the database\n layer knows nothing about data display and the view system doesn\u2019t care which\n template system a programmer uses.\n Although Django comes with a full stack for convenience, the pieces of the\n stack are independent of another wherever possible.\n *\b**\b**\b**\b* L\bLe\bes\bss\bs c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -24,48 +24,48 @@\n of web development fast. Django should allow for incredibly quick web\n development.\n *\b**\b**\b**\b* D\bDo\bon\bn?\b\u2019t\bt r\bre\bep\bpe\bea\bat\bt y\byo\bou\bur\brs\bse\bel\blf\bf (\b(D\bDR\bRY\bY)\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n Every distinct concept and/or piece of data should live in one, and only one,\n place. Redundancy is bad. Normalization is good.\n The framework, within reason, should deduce as much as possible from as little\n as possible.\n-See also\n+Vedi anche\n The _\bd_\bi_\bs_\bc_\bu_\bs_\bs_\bi_\bo_\bn_\b _\bo_\bf_\b _\bD_\bR_\bY_\b _\bo_\bn_\b _\bt_\bh_\be_\b _\bP_\bo_\br_\bt_\bl_\ba_\bn_\bd_\b _\bP_\ba_\bt_\bt_\be_\br_\bn_\b _\bR_\be_\bp_\bo_\bs_\bi_\bt_\bo_\br_\by\n *\b**\b**\b**\b* E\bEx\bxp\bpl\bli\bic\bci\bit\bt i\bis\bs b\bbe\bet\btt\bte\ber\br t\bth\bha\ban\bn i\bim\bmp\bpl\bli\bic\bci\bit\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n This is a core Python principle listed in _\bP\bP_\bE\bE_\bP\bP_\b _\b2\b2_\b0\b0, and it means Django shouldn\u2019t\n-do too much \u201cmagic.\u201d Magic shouldn\u2019t happen unless there\u2019s a really good reason\n+do too much \u00abmagic.\u00bb Magic shouldn\u2019t happen unless there\u2019s a really good reason\n for it. Magic is worth using only if it creates a huge convenience unattainable\n in other ways, and it isn\u2019t implemented in a way that confuses developers who\n are trying to learn how to use the feature.\n *\b**\b**\b**\b* C\bCo\bon\bns\bsi\bis\bst\bte\ben\bnc\bcy\by_\b?\b\u00b6 *\b**\b**\b**\b*\n The framework should be consistent at all levels. Consistency applies to\n everything from low-level (the Python coding style used) to high-level (the\n-\u201cexperience\u201d of using Django).\n+\u00abexperience\u00bb of using Django).\n *\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* E\bEx\bxp\bpl\bli\bic\bci\bit\bt i\bis\bs b\bbe\bet\btt\bte\ber\br t\bth\bha\ban\bn i\bim\bmp\bpl\bli\bic\bci\bit\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Fields shouldn\u2019t assume certain behaviors based solely on the name of the\n field. This requires too much knowledge of the system and is prone to errors.\n Instead, behaviors should be based on keyword arguments and, in some cases, on\n the type of the field.\n *\b**\b**\b**\b* I\bIn\bnc\bcl\blu\bud\bde\be a\bal\bll\bl r\bre\bel\ble\bev\bva\ban\bnt\bt d\bdo\bom\bma\bai\bin\bn l\blo\bog\bgi\bic\bc_\b?\b\u00b6 *\b**\b**\b**\b*\n-Models should encapsulate every aspect of an \u201cobject,\u201d following Martin\n+Models should encapsulate every aspect of an \u00abobject,\u00bb following Martin\n Fowler\u2019s _\bA_\bc_\bt_\bi_\bv_\be_\b _\bR_\be_\bc_\bo_\br_\bd design pattern.\n This is why both the data represented by a model and information about it (its\n human-readable name, options like default ordering, etc.) are defined in the\n model class; all the information needed to understand a given model should be\n stored i\bin\bn the model.\n *\b**\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The core goals of the database API are:\n *\b**\b**\b**\b* S\bSQ\bQL\bL e\bef\bff\bfi\bic\bci\bie\ben\bnc\bcy\by_\b?\b\u00b6 *\b**\b**\b**\b*\n It should execute SQL statements as few times as possible, and it should\n optimize statements internally.\n This is why developers need to call save() explicitly, rather than the\n framework saving things behind the scenes silently.\n This is also why the select_related() QuerySet method exists. It\u2019s an optional\n-performance booster for the common case of selecting \u201cevery related object.\u201d\n+performance booster for the common case of selecting \u00abevery related object.\u00bb\n *\b**\b**\b**\b* T\bTe\ber\brs\bse\be,\b, p\bpo\bow\bwe\ber\brf\bfu\bul\bl s\bsy\byn\bnt\bta\bax\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n The database API should allow rich, expressive statements in as little syntax\n as possible. It should not rely on importing other modules or helper objects.\n Joins should be performed automatically, behind the scenes, when necessary.\n Every object should be able to access every related object, systemwide. This\n access should work both ways.\n *\b**\b**\b**\b* O\bOp\bpt\bti\bio\bon\bn t\bto\bo d\bdr\bro\bop\bp i\bin\bnt\bto\bo r\bra\baw\bw S\bSQ\bQL\bL e\bea\bas\bsi\bil\bly\by,\b, w\bwh\bhe\ben\bn n\bne\bee\bed\bde\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -86,15 +86,15 @@\n The framework should make it just as easy (or even easier) for a developer to\n design pretty URLs than ugly ones.\n File extensions in web-page URLs should be avoided.\n Vignette-style commas in URLs deserve severe punishment.\n *\b**\b**\b**\b* D\bDe\bef\bfi\bin\bni\bit\bti\biv\bve\be U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Technically, foo.com/bar and foo.com/bar/ are two different URLs, and search-\n engine robots (and some web traffic-analyzing tools) would treat them as\n-separate pages. Django should make an effort to \u201cnormalize\u201d URLs so that\n+separate pages. Django should make an effort to \u00abnormalize\u00bb URLs so that\n search-engine robots don\u2019t get confused.\n This is the reasoning behind the _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH setting.\n *\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\be s\bsy\bys\bst\bte\bem\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSe\bep\bpa\bar\bra\bat\bte\be l\blo\bog\bgi\bic\bc f\bfr\bro\bom\bm p\bpr\bre\bes\bse\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n We see a template system as a tool that controls presentation and presentation-\n related logic \u2013 and that\u2019s it. The template system shouldn\u2019t support\n functionality that goes beyond this basic goal.\n@@ -140,15 +140,15 @@\n Writing a view should be as simple as writing a Python function. Developers\n shouldn\u2019t have to instantiate a class when a function will do.\n *\b**\b**\b**\b* U\bUs\bse\be r\bre\beq\bqu\bue\bes\bst\bt o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Views should have access to a request object \u2013 an object that stores metadata\n about the current request. The object should be passed directly to a view\n function, rather than the view function having to access the request data from\n a global variable. This makes it light, clean and easy to test views by passing\n-in \u201cfake\u201d request objects.\n+in \u00abfake\u00bb request objects.\n *\b**\b**\b**\b* L\bLo\boo\bos\bse\be c\bco\bou\bup\bpl\bli\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n A view shouldn\u2019t care about which template system the developer uses \u2013 or even\n whether a template system is used at all.\n *\b**\b**\b**\b* D\bDi\bif\bff\bfe\ber\bre\ben\bnt\bti\bia\bat\bte\be b\bbe\bet\btw\bwe\bee\ben\bn G\bGE\bET\bT a\ban\bnd\bd P\bPO\bOS\bST\bT_\b?\b\u00b6 *\b**\b**\b**\b*\n GET and POST are distinct; developers should explicitly use one or the other.\n The framework should make it easy to distinguish between GET and POST data.\n *\b**\b**\b**\b**\b* C\bCa\bac\bch\bhe\be F\bFr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -199,16 +199,16 @@\n # _\bU_\bs_\be_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n # _\bL_\bo_\bo_\bs_\be_\b _\bc_\bo_\bu_\bp_\bl_\bi_\bn_\bg\n # _\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bt_\bi_\ba_\bt_\be_\b _\bb_\be_\bt_\bw_\be_\be_\bn_\b _\bG_\bE_\bT_\b _\ba_\bn_\bd_\b _\bP_\bO_\bS_\bT\n o _\bC_\ba_\bc_\bh_\be_\b _\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bL_\be_\bs_\bs_\b _\bc_\bo_\bd_\be\n # _\bC_\bo_\bn_\bs_\bi_\bs_\bt_\be_\bn_\bc_\by\n # _\bE_\bx_\bt_\be_\bn_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/misc/distributions.html", "source2": "./usr/share/doc/python-django-doc/html/misc/distributions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Third-party distributions of Django — Django 5.1.4 documentation\n+ Third-party distributions of Django — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -119,37 +120,37 @@\n
  • For distributors
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Design philosophies

    \n+ title=\"capitolo precedente\">Design philosophies

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Glossary

    \n+ title=\"capitolo successivo\">Glossary

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhi\bir\brd\bd-\b-p\bpa\bar\brt\bty\by d\bdi\bis\bst\btr\bri\bib\bbu\but\bti\bio\bon\bns\bs o\bof\bf D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Many third-party distributors are now providing versions of Django integrated\n with their package-management systems. These can make installation and\n upgrading much easier for users of Django since the integration includes the\n ability to automatically install dependencies (like database adapters) that\n@@ -20,16 +20,16 @@\n Please join the _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bd_\be_\bv_\be_\bl_\bo_\bp_\be_\br_\bs mailing list and introduce yourself.\n We also encourage all distributors to subscribe to the _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bn_\bn_\bo_\bu_\bn_\bc_\be mailing\n list, which is a (very) low-traffic list for announcing new releases of Django\n and important bugfixes.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bF_\bo_\br_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\be_\bs_\bi_\bg_\bn_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\bi_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\bl_\bo_\bs_\bs_\ba_\br_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/misc/index.html", "source2": "./usr/share/doc/python-django-doc/html/misc/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Meta-documentation and miscellany — Django 5.1.4 documentation\n+ Meta-documentation and miscellany — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -80,15 +81,15 @@\n
    \n

    Meta-documentation and miscellany\u00b6

    \n

    Documentation that we can\u2019t find a more organized place for. Like that drawer in\n your kitchen with the scissors, batteries, duct tape, and other junk.

    \n
    \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,29 +1,29 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMe\bet\bta\ba-\b-d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn a\ban\bnd\bd m\bmi\bis\bsc\bce\bel\bll\bla\ban\bny\by_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Documentation that we can\u2019t find a more organized place for. Like that drawer\n in your kitchen with the scissors, batteries, duct tape, and other junk.\n * _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n- o _\bW_\bh_\ba_\bt_\b _\b\u201c_\bs_\bt_\ba_\bb_\bl_\be_\b\u201d_\b _\bm_\be_\ba_\bn_\bs\n+ o _\bW_\bh_\ba_\bt_\b _\b\u00ab_\bs_\bt_\ba_\bb_\bl_\be_\b\u00bb_\b _\bm_\be_\ba_\bn_\bs\n o _\bS_\bt_\ba_\bb_\bl_\be_\b _\bA_\bP_\bI_\bs\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n * _\bD_\be_\bs_\bi_\bg_\bn_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\bi_\be_\bs\n o _\bO_\bv_\be_\br_\ba_\bl_\bl\n o _\bM_\bo_\bd_\be_\bl_\bs\n o _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI\n o _\bU_\bR_\bL_\b _\bd_\be_\bs_\bi_\bg_\bn\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bs_\by_\bs_\bt_\be_\bm\n o _\bV_\bi_\be_\bw_\bs\n o _\bC_\ba_\bc_\bh_\be_\b _\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n * _\bT_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo\n o _\bF_\bo_\br_\b _\bd_\bi_\bs_\bt_\br_\bi_\bb_\bu_\bt_\bo_\br_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/objects.inv", "source2": "./usr/share/doc/python-django-doc/html/objects.inv", "unified_diff": null, "details": [{"source1": "Sphinx inventory", "source2": "Sphinx inventory", "unified_diff": "@@ -1,389 +1,7517 @@\n # Sphinx inventory version 2\n # Project: Django\n # Version: 5.1\n # The remainder of this file is compressed using zlib.\n-#s\u06bdhV\u001b7&^D)\u000b\u0010\r6R|\u0005[\u04a3MN\u001a5z\u03fcw\ud989\udd50,\u07918C\u0002U\tv\ucd8a\u0388-vWG\u0004$NhXT.e2C\u001b\u001a\u0002y\u0006_\u001eT<\u001d\u057f\u0002uBjC\u0017\u031f\u0010?\u001e6<\u0151\u0673Fk\u000b\u0530L(gn\n-#A\u0012\u0007b\u0014\u02d0%/\u001283\u0003[$\u001c\u0011R0d^\u01c3q.rWor\u001d\u0011pdU@k\"0i@\u05feREto\u000fIju\u0266s6_E*\u0241I[]\ru\u001fp\u001f?e>+y\u0012\u0013A\f\u0004\rE$Aj<\u0522\u000e\u0001c/\u00dcT\t\u0013I\u0002,\u0010\u01b5zO\\M\u0001ED7j<\u0014\tu\u02e9h\u0014@\u000fI1i<5\ud051vjC{kr:&\u00174\u001bZU\u0015\u0019\u0012,[\ud8f0\udc16o\u001a\f&\u0015+e@T;k5\u0012$0~c_n\u0013r\u0005zK\t:[\u0001\u001a<\u007f.u\u00139&dR5,J8Rj\u001c^ZZ\u0004\u02f6\u0000G\u33ce\u05ba@ygi\u000e:\f@c\u0014zyRhJ\u0005\u001d\rqe\u000f\n \n-x\u013dv\u3e32;Z\f\u000eY>=\u9974L\u07d6\u032a3HXB\"X\u0004i[5\u0007r$\u0017\u0001?\u000b\u0004\u05ear\u0012\u0005\u0000\u0002\u0000\u0010\bL`K_<\u000ewJ.\f\"\u0017)y \u007f\\{9o\n-&l\u0017?qqUJXB\u0005d>A*-D\u013eX\u0018Ea\u0012qKyfcq\u0169\u0005\tiJ\u0002\u001c.\u078aXm)\tc\u0007!/8)\u000e\u024f\"&\u0015\u0003\u001d\u0276,\u0014%4\u001f]\u001ee2\\\u001fJR\u0016\u000fO7u=O>\u000e&>2x@J|%y\u001f<\\{,\u00159iR:v?x&~pyD.&_06R/\u0012NIrg9~\u05a4<\"{\u0010?\\\u0014\u0018gJ\u0416!'\n-NJ5p+LUFlJm\u000fC\u039a\u0596\u0001=no^Ifx%*:\u0018\u0005Qd#\u0013xA\u001bG\u0016m0F\u07231\u03c4\u0002')|^\u0003|Ix'\u001e4\udaa4\udc54\u00134\u0469\u000f4sj0\"UU\u027b}2L(/cI?#>\u001a],c\u0014\ud9dd\uddc0\r\u01bc7\u001bf4\u001c\u047a\u0006c;\u001au\u0007\ud1daX\n-4\u03e56\u000f\u000e6b?J\u001dz~pb[bC|8X \u0015/&zS?zH\u0013?\u0602\n-{\u0583\u001ekQ\u0019{x\u0004f\u0015CbY/q\u001abKx\u001fyBJ\u0012\n-{S\u0003L\u00198\u0016i+\u001b\u0000p6\u001e\tGgQ\u04eb:?\u0016{s/!r\u01e1vTMY\u00160q\u06b9!\u0012Agy\f\u1365\u0017Qy#\u0014\r\u0644P\u0005$Em\\$JRzI\u0016\u000767\u0011x\u001eG4&w\f.ZP.\u0129\u0000\u022f\u001a\"\u001c\u0405i/SX\f:mD#:e#7p\te\u0005~{qs\u0017C#k4\u001fj]\u0017{\u0007$\u33b0\u000f:8\u0014c\u04a5\u0002]^qXYK\t\u0019K\u0018U^8\u00da%a\u0018\u0014\u0691bMr@S\u0005Ld\u0019F]L_w[=3B_\u0002wRi\u0763W6nN\u0780\u0016\u05bcA3'\u001egq\n-Wz,\u0016l`&\u001fDy_)j\u0007\u001c\u0011\u06f2%7\u0003\u000b\thq\u0004.}|-\u0001[\u001c?]J^[+)L\uc506\u0004= ?\u0013u\u0005-HU$+\u0011T\u0103s_E\u001f5WqN\bp\u0012'\u000e$\u07bfd;\u039fp[\u0012%^qR\u0006W\u0000I\u03e5\u0003v\u001eEz\u04aa-\u001cN\\Qrb#$X2\u0017\u0012*\u000f/{\u7a15\u0016\u0003rz\u001d3\u066cQ'\u007f\u0006\u0003\u0086\u0019ay\u000f\u001bVb\u0016[o-\u000f\u0001f\u000f|\u0002goGGO\u000bQ'l3\u0013\u001f\u0011P7a9l\u0016\u0001\u0019<\u0016\\\u0291\f8y\u0019g^O\u001cI6\u0005%\u001cxBE)@yM=i[n\u0004\u0014sq{r\ud80b\udd76l\rX\n-by\u0014Y\u075a@h?s\u0001\u060a\n-Y{N\u0014U\u0010\u0249\u000f?E\u0010\u000b-q\u0013$Q@0\u03bb\u000b\u0004\u0018:vElR'@Gu)8\u014eEnuIO\u032b\u0006s\"I9\u001c\b9&t#E\u018d\u0007\u01d46'L\u007f\u0017\u07bdN%\u0004\u0011\u0011\u000e/8@F\u0011\u0015gGJ\fKb\\\\u\u0000\u001d/IY L%0\u000b\u000b\u0010,vnh&WA:b\u0019\u48cd\u0013\u0003p*]\u04156q\u000b_\u001aV]\n-r\u001d\u019bn\"\u033f|*\u0014\rZD)h\u0013?\u0612+\u0012wd\u0007v\u0165\n-.\\p; fYd\u0015V_IKLq_\u001a\u001d\n-\fe\tgiG0\"o`zS}5M\u001e?\u001c~\u000eD\u050dc\t\u0003\u0437Pu\u000bm\u061c\\D\u0013\u000eu`\"\u000bJuz5N.\u0010E;6\r$>\u001e\rqVM\u0004P_\u0017.j\n-`\u001eq\u0007\u007fX\raFE!)\t\u001bwS\f9*\u6bd8yWc\b9x)m\u0014N>\u0004Nc@\u0017\u046f.L\u001ci(.Xsb}\u000enpdv\u0004o5\u0015\u0005QWbVk\rXYc\u001d*\u0013,\tjyY*bV7M\u0016n\f1\u0582&\u0007VNS\u0004\u033dL(\u000ei(%rLr\u074bk\\F\u0002ZL)\fav\u0018xc9Gu\twN,\u0011uqy{\u0002)yYP.]b;nuL\u04ca:ca\b+z/\u0014q\u0006\u001b1O:_\u02b9c68M|v{\u001bj\u0012\u0016\u007f=\u0017k%dHr\u035c\u0016E\u0000zTv$oY9.yG'b\u02d8bq1D\u0014b;%e\u001bv\u001c\u015ax0%*o\u0012_\u0004\u0007\u0701^\u0006l\u0007^'\u001c*N\\\u00bauuJBt(DBFW]cP(&k\uf4889\tTqh\u0013`\u0014m\u0011q.fu3My\u6869,i=&7[vLLcvj\u0007EtmBc\u00165.D\u000fcl\u0013\u000e3{]*\u0019\u001dm\u038e\u06b56gEnt\u0017#T1\u0018id&7P\u001cb\u001d{\u049c\u0764q*Q\r\u000b\u00105\u0007,:>\u0018DnG4h\u0010\u001b\u0213+\u06f1\u0481&\rtktGcw$d[\u001dIip2\u0016}hIw4S]X9Kd8CRTA`<\u001b:Q++\u060f\u0010\u000ej\u001a{ ^\uc126 \u0018\t\u001dXQxpU\u026aViDtujOj>\u007fCn^\u0018\u001a)4\t(\u0005(sT\u0003]G25$:b\u000f'\rWlX\u02d0zolG*Nbg'z,%g0\u000fe\u000f&S^\n-,D\u0017c\u0019<>\n-R\u0796K*\u000e&\"CUna@w<\u000b6S\b9C)Dh5YLZP3Ikj\u0011\u5fbaT\u0559I\u0017;Q \ue138|\u757eq\tSig7yMsZ%Y9\u0004\u0002Zu\u0015\u00e5\\%\u0012\u040c\ty\u0179SI'&\rI\u0014t\u001dC\u0003\u000b'>\\\u0513#u\u007f\u007f\u001f5)\\eUJDv^\u0006\bH\u4773!\\\u0005<4*|\n-RVQ\u0000[i7\u007f^\u0003/mAT\u0019E\u0413-)F\u000f\u0014\u000eiJvW\u001cy*5\tQ<\t.f0KixVq709\u0005\u0012d\u0016\u007f(xXdP\n-s]D_f\u0007kn7:B{P\u0016y\u0742\u0005!z\u0016\t7.\u0007\rm\\\u0770\u001b\u0016\u0103=S\"@);y(ju\u001cq\u0003s\uf346\u001by?\u0016\u0006{\u0011-j\u0144\u001b\u0010\u0014/\u02d05-5\u001d\u0193FJcr\b\u060fnVp'T_u\u001c\t5v_ c\"E5n\b+T\u0003wPN_\t\u0013cQ5\u0001WY{\\p\u000bt<\u000e\u0005\u0764~c\u0015se\u0006wW\u045dBn;V.\f[]\u001eeehBG&\u02eer.*tS\u0731.c\ue06d|jV%1d\u0019\u007f.\u001f]\u007fu?~\u000er\u0013/,Ch\u001aD\u010d+a\u0011gR\u02fapMIJ\u2038wF\u016f$b#\rK\u0003\u01e2\u001fdl*+t7}\t\\\u001an<\u0016\u0000'A3~[H]]q\u00157pu\u0011[\u0018\u04b7\f;8l0\u0013pX?wd\u007f9jN\u0000\u000e\bHR*\u07fem`?\u001bz'X\u0015\u001ar\u00101\r\u0012&!I\u007f\u001d\u0012h\u000ey;?X8'\tK3}:N\u0017o\f\u000f;7\u0004O\u0010\u0001\u001cNKP\tby\u0004\u03ad$?!\u0017,f\tS\u0003C4|\ue2b14\u001c4\u0019]k?,OMcY\b\u000bX\u001e!~ 4\u0001c8PY!H\u0013q\bAh\u001cDyH:5#Q[n1{\u000e{l&)$\"q\u0019;\u0016'!@7\u00148y/o7\u00023\u0007\u00112\u0018\u001d*&EXDUru\u0002j$/II@9@\u0011uKG9*Pj+\u001ezz\u014f\u0011:_A\u0012Dp\u0016\u0003\u0013Xre4Ed^\u0001)\u0013&AJ\u001b$o\tl3d0&9Td\u0017\u001e\u0013K3\u001a3\u0226KtB\u0000\u001c\u072c$s\t(h1\u0001B|\"Yj\u001bQ5Y1U\u0001*\u0016P|+Fpl4~fPr}NBt8`(\u04a0f4#<\u0002?4\u001e\u0557~<\bdML\u001a\u001dG'C|1+\u0018\u0011lA$8;ThR\u0000xB\u0003g\u04afC\u8287dM\u001d`#\u0012S}}\u0013MMpO\u0219\rj'p3\u001cD,&\u0639\u0013z\u001e(\u0017M\u0016_4v}%6\u001e8MM\u0003\u0002\u0013\u0018\u0003n8'\u0635\u001c\u001e\u001c@\u0005H+u\u007f0=:\u053cjp3L\b\u00114\u007f\u0003*d\u0395k\\\u000bEX9wC\u00158a\u001b:\u0015\u001aoyv\u00c5n=Pzt\u0004\u0017hl\u0015A`\u001bawyJ\u001c.\u0017\u0017\f\u0010\\NclJO[\u032e+\tQk?9\u0006h%cS\u0017\u0013\u0003E\u0003~93\u00033\u0007[t\u0015s\u300b\u0007[1\u0001OSt\u001a\u0002q\u001d\u0000iz;`X*;&l\t\u000b\u000b&O)bT\u0004\u0019LJY\u0015Khy-ZX.\u021e2:$\f\bx`FD^\u007fA\u00059`\u0012PN\u007fh\u0007/\u001b\u000b\u00041\u0006+qT!*^\u0002Z2JqGi<\u0011\u0019$ivWMjvx_)ye\u001e\u0004\u24f2%\u063eBZ\u0472ory\u03db\u0015%a<\u06e4\u001d:x%\r\u0014OOggC\u0573\u0006xa~i\u001d[\u014cKO\u001a\u0007\u001b\u0019h\u0012An/4_@\u007fH\u001d\u007fcE.kFU\u0015K\u001d_%\fX\u0015\u0017jEm\u03a16\u0016dN_79%J\\n\u0129.~sww/m+@C;TNIH\"=w1 ;29\u04c6\u0003~\u0011~\u06fc=<\u063e\u0007Q\u000evq\"B\u0018|\u001f\u04be%\u0748\u000e}\u0007\u0002{Y.?-\u0016,y`\u000bF+c\u001d3O45gqsq\u051aUF*FN#\u03dc;K\u0012\u0004R\u0012:o.:x\\S\u0010\rz\u001foB7`\bnH\u0010\u0011'u-,\u0015\u075dU\u0002h}?2O.^5\t\u038f\u001cX\u0019\n-\rVc\u0014y+/\u000ejhx\u0011{\u001bh\"\t\u0313\u0121@w/\u001c&\b%EP\n-\u000e7vL\u0004=7~\u0271_L\u05e2\u073cr(vlFe\u000e2\bax\u0014\u007fx8\u0006?jd\u001a\u00036\u0018%\u0007\r7$s\u0006V\u0014*M\u0005$`;i\u0017\tYc\u00046\n-J\u0638\u00052;Y;?%%\u0011\u035cCp$+%;&8G4xq\u001eE\u073d\u04c1R;\u000f!==\u036f_Rh\u0004\u007f\u0005L}={\u00d4!\u0017\u0006;.-(J\t\u001f>\u00101\u001d1sNi\b!g|u~H$\u000f\u001dL\u001cT\bS\u0011@\u0018\n-=\u02fe\u0017G;%\u0000#\u0252\bA$\u03a2+Yc \u00158\u001bl-%\u0013Ats\tsIW\u0015y?\f3bTR\r\fcy$c\u038bk,1-(1g@nR\u07fd\u000ez\u0000:\u0017]k\u001f\u0006%)y'\u001cYJuWgOy4n\u000eY\u000b%\u05a28)\u0006t\r;A&C/0j[D[\n-E\u0007h\t=\u0012\u001a\u001b7D\n-\u0003\u00157\u0004r\"g{{\u0153P*\u0010\u0007d5Iw~,\u0320\u0014\n->j7N\u000f)o&0.\u001e6hGpR\u0011Emk<7^sJ\u50a2#9\\Y\u0017-L\u0005HRTp&1\"~G[\u001f\f\u000b\u000fYV/6MD(\u001cAF\u000b1\u001b\u001a\u0017\u0000XovhlBe\u0019\u000bXK}jB{\n-H\u000b\u0007cyR6!d\u0001\u007f'W\u02a3\u0012*\"jcQ#A\u001ew\u0005V\u0012K\u001d\u07b8\u0015f\u0012O{{\u0018b/\u0010\u0018 \u0154?\u0003\u0010mx\u0013O\\i\u0011|\boY\u0005yB\u0017k'_vt\u000ep&4m\u0000\u0003t6Y{+\u000b}\u0016p\u0003v\u0006=\u00114RR~'\u01574\u0007\u007fXN\u007fU\n-n\b\u000eesyv\u001eN2Jp\u0017$a}j(_lh-\n-lj\b}W17N_I\n-\u0463|li\u001fx\u0003}lWb\u0000EVFg\u001aUGo\b\t\u0016_\\%j~Bz\n-@F$\u0016\u000b'0dY/\u001doZR\u0019u|p=\u03c1C\u0012Va\u001a\t7\u000fO\u0001\u001e\u0007\u0785pn_\t8\u0720\u000b\u0016.ww?Ad\u0007\u05a1^ \u0001-\t^\u001a}7L<\u007f\u06aeQ\u0692)ZAk7\u0006f\u0010\u0018 <~f\u0006~itN\u007f\u0294l(:\u001ak\u0007Z>\u0019W[ni,dN=:eC\u0017?s&Kld\u0005y--L\u001cfR)G\u154d\u0006G\u0011V!z+\u0016?M\u001alb\u001c\"5\bQqO\u071e\u00077\u0003'\u0011yX\u0001g3\u0016$\u061azpglxX,kw$I\u000b@k*L >\u0016\u0007l\\W'>F\u0013\f\\\u0019hB-\u0001;,\\\u0003Zg[0\r\u00180&L+C&Bn%7y\u00fc|%J\u0017ANO>`yf\uf9ee9\u069fCX\n-\u0004\n-\u0529F_;zB9\u0006P\u001ch0CpQ^\u001csn\u0280WAo8T\\\n-$\u0019MJ%7aAb\u0004Z3\u0774OL$YW\u0017%qM\u000e_pgWN\u000e*@\u0002\u051d\u0018N<#\u0004I\u0345\u06f2\u0013!:(96&Q\u0005\u023dx\u0003Vhj t&P\f\u0017\u0098\u000bk\u0003G4%l\u0010Zzx\u000b{\\nC$WD^\u001eGBOn\u001d:TZbW5_XP\u0007\u0017Y\u0004\u00031%\u001f\u0003?#*\u05654Y\u0007\u000f&7GtW}Z\u061d\bNr\u059a\u06309*\u0004\u033cTdm\u001c\u0007=ClKR1o\bG\t\u0015\n-((\u0313\u00175Imq%x]f\u001cIGV/vS#Q\u0011g~a{Mc}Qm\u02f4\u000b\u0016zv/m^\\\b(+\uf666\\]$x8Cb\u0011\u0018S\u000bK#Ae,J_e \u06dff\u066a\u0012Rr\bFT\u0005\u00051M\u0640?z;|\u0018\u0019\u04e3\u0001\u001eUI\u00055GU:]1)8YGSK4a\u00026\rMGNxf2OL*y;|k\u0003\u0015g\u001aSU+\u0166\f9.G\\\u000bG\u017f\u036f\u000eiK\r\u05e7\u0012TiU\u0018)\u0142c,*m&|,\u000eJ/\u0004\fw\\ 5\u4fa8\u0003\u0004tGW)u\u079ct_\u001dqD\u001fa\"0n\u001c\u001fA;\b\u0018<\u0004)\u001bm85\u0006-^\u0116uP*n\u0128;V\u0004'l\f\u0188\u0019l\u00041e[}\u001eEW[\u001f\u0002\n-3\fdF'\u0002.\u012c\u001dF\u000eA\u0018\u0015pD|\rE\u0018v\u0010 D\u0016lq.\u000e~'eF\u0012\u000eFT'%=`Kv\u0136XM\bzOGD-\u018aNrYM*\\jI#\u0016%G\u001eSn~\u0271-6yw\u000fT\u01cfB0s#\u0015\u0012\u0014TH\\nzr-&uR\u061f2LnLoBS\u001f\u0010b\u0006neWXlt5%o`j3ufMS7\u007f Nw\u001e*N\u000e)\u059ao1\u0004+T\u0006\u0686\r\u04fdxW='\u0003\u0010:Aj)P\u00166\u001c\u001a)\u0146Yw\u00056P\"1<})\u00ffd\u0018n\u007fXbb\u00195\u0002\u0007G2XD*WWzf\rp\u0000C\u0001\u0010\u0006\u001aE~\u001dA\u0129iyk\n-&9b\n-hH{\n-<\\1\u053c2=Sb\u000f\u001bNu\u00adi-\u03e8\u0003u?\u06bcC1 V\u0374\u0004L|dy.\u001b\"x\u0015R1\u0012/\u0013vOf~\u001d\r\uc4392+=\beX`c{V>Q;\t&6F\u0019\u036aTc(CY=>IBC{O\u009cc\u00056OB LGsg\n-\u000b>r\u00c0\udac1\uded4\u5277\u0783\u0005jD4dy\u001a\u001fj\u0016\r\u0012\u0019At b1Ar\u0016V\fvL}\u0018`\uedaa'\u0015G\u001ahoR\u06cc\u007f5;`:+:UE;Len \u0016u\u0018\u0003Ijb$Ti7\u0015J\u001ak\u04a1\u00df=N\u0012nR\n-C)DY-yYj\\\f)Ml'\u07870&\u0018{\u04e9g\u001eJ\rB1]wHNvi\rd PBo'^\u00058Q}f\u0000;H\u001dXw^\u001b5-\rC\u041d(Np'\u0006>e\u001c\u001d-aF\u001d&#\u0004(\u0011^5i\u0018J-\u0469&\u0002}\u0011]DpFt\u0004-JOJG\u000el)/whoy1hx\u0002w,[>!\ue25f\u0003\u000f^X o0V6D\u00011V\"P\u001aI\u05ccWW5\"\u0013*\r_%i\"{lq~.`\t>\u0006\u0005(9+,\n-Im=o+$Sc[ mGEf1\u0711:F\r,3\u0002\u0017\u0006V_\u001d\u0004\u0017$k,%t\u0013J\u00045\u026fo]\u001a\u060a\u0019\u001d<8b\u0010*E\u0004^aMX+Sl\b\u0007\u0012O\fj\u0018\u01c1\u0772\u0000LthLR%O\u0363\u001e\t=gd+Ahb'U_\u0010\u001aZC\n-(\u0004s+mr\u0004=)@@bi0\u007f\u0018y\f\u00131E\u0014\u0006}\u0007/2T\r\\nnQo\\\u007f15s\u001dxLA%k\u04a47 +e(k\u0002P\u0596%MU'\u0002A\u0018\u0005\u0019bX\"\u001b\u0000-!\u0001\u020dX+\u0018aIK\"e\u007fIzI1>n0\u000eVx)N{N[O\u0017\\\u0019J\u0011XgN\u001bB\u00a1\u0005} ?$\u07cc\u000bEO>vt5w\u008ec6\u00143\u000f;LNh@#LlMY:@z\u0000\u001dY=j>\u0018Z\f<\u0011'\u05cc{I\u001f\u0366`6K|\u001f5_,Ocb<)\u03f78$P@\u00a7]5L4\u00188T(^q<\"g\u0753/j\u0013\u01f30v,@ v:\u000e\u0004pf\u0005\tSSPv4ZG\u001c\u00a9*yxCIq\b\u0012iC\u0014)\t^*@]N=\u001f\u0007Xv\u0005U]! yAQ@j\u0003Gk\u0522\u0011G\u0010)!&+&~X\"\u000e \u0013>\u02a0v:D\f\"wXs%x\u0001\u0011>\u00e9GM\u015a7`5\u001e6\u0001w7m\u0010^\u0018I\u001e@06\u001d\u02c1C{&}\":!i<\\%tyF6\u0004f\u000et2\u0003zIe\u0016i\u0005y\u007f\\Ch'qz`Er^\u001c4\u001e<)%X\u0011@\u0004~rl\u000ev:$a^M1\fs~pg@\u02db*Z\u007fW>'YiY?\u001c.O-\bc\u0001-Q\u0014iI+\u0007SfB-\u001f2\n-ZM(\u001cg)\u0006*x.>0^}b1_y\u001fK2xxzt/{X}-E3{)m\u0006Zw4~N\u001e~TPH\u0011L\u0004\u0011'[>\u0017T[O\u0016,KHU\u06f3-X\u0000mLZ\u057e#?>\u007f\u001a\u001cL.Jw#@M~]5{#\u001f(\"D\u069a6Y\u007f\u001b\u001ck\u001c\\\u001eq'\u000eC|\u0010\u04d4\u0000b\u000e\u00058\u001duC\u0001b\u077a~+\u07f6#Cu\u0018ZM[-PrY>9@UNX[$6p\u001fq\u0005nJ\\\u000e?##(\u00192\bM\u0017&G\ube9115\u06afH1\u0181;\u0015a#\u0014e^MJ\b\u01c6\u001c\u0016C^p\u0004\u001bXyC\u00137Ns~\u0010*\u00026zw4\u03b1L.biFT\u0012\u2986NF]5>wCSu\u0598r#\u0190U\u0006\u0007\u000e8PF>\rv\u001d2`\u0003[^\u00048%\u001e#D&Da7\u0011\u001d\u000fyw\u000b2!7\u058d+S`u\u000f\u0006Sd\u001eEg\\Cz\u001eI\u001a8\u00df\n-j\u01c9\"LZ\u001c\fzR,(xN:\u0378`\u001euk\u0012#2e-O\u001e>f\ud590>\u001c\u0012}`\u001a\rZ\u001dGB:0{\u0019=\u0000lk\u0004\u001c\u0010y~yo6']cXX|k\u0012\u0658D%c}\u001b3\u0012\u001e\u0013'#]\u04518\rKC=\u0152V\u001b \u0011ulJ(\u0019\u0750lJc\\\u0141^r3w\\lGst\u0017Q;E&%ryx\\EV\u0015\u0016\u0001\u0013y\u0005[\b\"bH\u0018jw\u00da3hL3;\u008enR6\u001b!}3BJB 8\u001e\rQC0\u0546\u072a+\u0013\u007f\ud26e^{LS\u00100\\i+\u001d\rvJr\u068eRW@]%d\u000fej\u0006(y-H\u000e\"S\u0016Ek?xA\u0001\n-S\u0103\u0544#U\"\u0016\u001bea\u001cAr\u0006Iy\u01eaoI\u001f\u001f5D)i\u055a)!\u000eD\u001c6\u0010\u0018\u0005\u00105yf\tX\u001c\n-!FVm}$ U6qjO?\tmkH\u0017`Di\u0010-\u0011xy\u001cv$.w\r\u000e)\u06e4-d\u001ciK\u00f0!L8\u001b\r\u0016@hD{\u0004%\u0010w-ifIe\u0013\u0019\u000b[BZP0{\u0005\u0002\f\n-\u0625!VxK+ \u0016\u0641\u0007Z9PC\u00023\u0006%f\u0005\u0537{\u0005\u0007DF\u063cl@[R\u0010^u*\u04704?P\u0130hx9'I\u2022in\rQGXX^YL\fdw/*\u000f\u06a1h<\u0012c\n-\t^}\u001e'y\\-\u000e\u0002L\u0002+6\u00063\u000bf9\u001bPz/6b\b\u0006!\u00a2y=\u075a\u0019\u0017L\u0011#~\u0000\u0007\u000eL+\u00064\u0005+>3\u0018ex2aVzQB\u046a\u0005VUS\u0002l\u0004tG\u01b5SK>\t\u001f\u0014hu_\u0015dV\u0018@\u0017w.\rTkF+\u0002\u0006$~2\u0010QF\u0013\u001e0C\u0015?\u05a4\u001b\u0004FR\u0012)\u01ad8b~fvm\u001deiP6M\u00fd\b\u71e1k $egi\u0013YqQj\u0003U%5wpn(H14$bY\u001c\u00f4Q\u4842\u0005$GI\u0018k\u0552a\ue1e3W0~'H^S,M`?\u04afP^qfx\u00144\u0001i}\u0015M;\u0005y,\rnJ\u0010H06N\u6560R;8\u000e\ub639Z:f\fG2w\u0010\u0019=SK27\rLS\u0374\u00014{oe\u0012\u05b3\u0014+e,\u0003;\u001fV6\u0004d[tS\f%W[l\u001bM\t+\u0012=\u0017dU&kZ\tcx@~J|\u0016]\u000baY\u0019QyOHhg-\u001e#\u0124\u00062cZH\u001ciqkt\"R3`Kg\u0002ft\u05e60Z\u000fY)6P-:5c;o\u04d8\udafa\udd9cA\u0004'\tK3h2.\u0370a\u00067L\u000b,\bi\u060ef\u0010X\u001a!k\u001b\u01e7}D\u0002\u0010a\u0017\u0013XTsH\u000b_\u007fx\u4377\\(\u0019f%\u0001&W\u000f\u000fg&0\u001ev3B}p@w\u0014DSx\u001f@`Ay\u001dYpSM\ub70aQ_s\u0016\t\u0014!{r \u03bcO\u001dhl\u0016f@\u0014~\u0000wV\b\"d\u0012X&\u001dQ>P\u001d2xy\u0017j\u001eE^q\u0672E\u001d<\u001a?3$57CA5\" |,\u001cLb\u0012\u0004fm\u0018\u007f{\u001ccdL'GWz3Rq}\u0002\fLc\u0011Q\u001c%\u018eW?Z$g\u001a\b\u0001\u0004\u0018\u0350\u0018\u049e`^quB\u0012zY\u001a_%NhDL\u001c\u001c bq\u032c\u0005[?mA6E\u0013l\u0001(\u02952h0@r$C\u0018u\u0013Q\u03b7\u0018\u0000ff\u0010\u0003\u0016Wf\u0005\n-\r@O@\u0018\u0642q14\u0019\u000bP$\u0004\u0017q9\u0015[Au\u0014\u0014Zg9%\u0010f4wmyKiL\u00077B\u0013_\u0010a`aA7,]\u0001P_\u0357v{M(\"5\u9385bd\ub464;?\u0016\u01424m82\u001eO\u0002\u001fG?,I*]gO1 \u0019*kjZ?eraJ\u0017w\u001bu\ud521\u03b2/A\u001c-S~8lwr,*`\u001aT:\u0016\u0002/d\u03edA\u0001\u0003zmL\u044a\u00125^h>\u0004\u0001EXr\u0007(W9Xjiw4&T\u0014kR0\u00b4_,jDq`>46s]p)D\u001bz.\u0003bb\u0238;a\"G\u05db\tu\u05c36\u0013\u001fl1\u0010\u001b\u001cFDWAM\u0018|\u0000\u0007\u0018\u000f?x)n\u01ae\u0017\u0002\u001f&wA&\\C2&_RB[\u001a\u023b\u001e\u00067\u0788\u007f\u001c&ERm\u000e\u0014->\u001cR\u06157\u0012o{\u0005\u007f\u0004#+G \u0019->#\u00165\r5RC^8\u0427+l,#[9\u0158\u007fp2t\u0002\u0000r\u00d9f{\u0017RbT~a'Os\u0164LhTy[fA~WF+h+H\u000f>\u0002`z,\u001dMvr\u0001f\u000f;wimI\n-S8\u038e\u001cx\u001efP<\u00008Uo%1Xq\u0273+kw$i=\u00124=\u001dho\u001b\u8619$\u0000Q\u001eY2+\u0006z m\u0016o*r\u0006\u0002\f\u0016A4I\u001a1~\u001c\u02c8;\u05b4[Nt?J\u0296eC.\u00048\u001a\u0007Q\u000e,'WP9\u0015\u001f\u0010\u0014\u007fJZ[$o;0\u0012s\bg]//^-q7\u0392bF\r\u001d\u0005E\u00bbkm|&\u000b\f/:N\u0018 \bB\u000e\u0015p\u0258R\f\u001b~ r%\u01b2\u00014\u0001@>%)\u000b\bpGH$7'\u048fQTH\u0003Td9Nj\u00135#\rYU\u00034^1!rh]F\u0019\u0019\u04eb4B8\u0587t\\\u028c \u001b^a/\rKHp[\t\u0003R@e\u001f&U$\u219d-K\t8\u04c0X[.\u000f8u+/s9\u000e/b\u0396\u000eVmJEw\u00045YJ\u0004vZ\u0004\u0018\u001d\u0000\u0010eq\t-`^G\u0011\u0018\u0018.e\u0016\u0003Je(/7\u000b\u001dK$H3TqtEk\f6\u0007z'\u0018Y.\u0002:^\n-'V\u00113\u001f+ILr2d\n-W\u0011MdP\u0019c\u0011o\u0300\u0002M\u0015j\u0005\u41efpC\u0332\u0247J;\u0018Js0\t\u0012R;rdNi90SJ3\u000b;j5\u001c=>K7P\n-FV\u001d$)Y \u000f'VE\t\u045c,\u0003\u04c6~K_?\n-\u00161\\s\u0014k\u00106&\u0013-`\u001dS;\u0006\u0007t\rP'\u001a0enO\u001a\u0000;\fhY}\u0015\u05927\u0533\u0234\u9e07\f\b@MR\u0001>m)J?\u4679l\u01b2t7;U\u0017\u0001$\u0019:vgGP\u062dc c\u0012BDl\u0002E\u0005E7\u0010X]T\u0018\u0013w\u009e7\u0004\u0015}FP[x$t>-\u000f?]\u001c\u07f0U\u0588k3\n-!,\u0011wpo\u000f\u0007 !R\u0659\u000f\u001b,OC\f^T|Vrms\u00125_\u01d1GR?\u072aSP1D;8B\t\u02e3FS1`XFO#8\u0010\u0001Q^U\u0014\t\b\u001a\u001d,2U\u0000!\b\u0000\u0018q@*CI1\f_\ud0c87\u0006\u04f4[hXMiHIi\u001e$\\S\u001e\u0000t!4^j[\u001a\u0018\u0391\u000f\t\u0013K\u001c{\rh\\h#3R,\u016f0t\u0001tD\u0756\u0007G]\u0011T(E>NJw/};\\\u0013p[|\u001d\u001b!%t}\u001bmHXr\u0014\u0005deg\u000ek0Y\u0006~O_PE#\u0000\u0012_]\u001dHU-4i;6=x.Gh-R%7V$5\u0017.\u001540s\b(\u0000\u0260c5\r)\u0016Kx\u050eb0\u0267nP\u0010_C=02\u0013y[wXxS\u01d6Y6\u00147\u0010F\u0006LXb\u000b\u0014#(N\u0010 e^CN\u0010U\u001aJ)VA\u00071\u0007t#X~6R/eI\u0019yAdG>v`\u0004\u03b5\\O'N-\u001cB \f\u06559b(\u0017\u07098|!B.J\u001eMcH-\u001dY\n-L\u0010O$NQ \"\u00108\u0019\u001ap\u0005B\u0013\u0013\u000fWd\u0013\u01a2\rI\u001a3HT#:\".n\u001d\u0007'U)q#\u0016\u0005*=&N\r\u0007{!p%`(995?5V=5\u0010VI\u0015'\u0128\u01f7X\u001d{%Q#A\u023bPM6E\u001b\u0006.\u0019v$\u0012'TqrE>+c\\dB?nR5a>\u0016r\u0007'wHY6sy\u0011\u0014\u06e3e&M\u001d\u0015\t\u04577`\u023c]Nf,\u0007\u0005a+`]\u001b\u0016M5h'\u007fx,nV69-~#rQ\u0019Bv\u001d8iZ;\u0002\u0017{.87tGe\\CO\u0018x]i0\u02e8\u001e)\u001d`Hw\u0012\u001a8b\u0013\u007fTus\u0012\u001e\u000b/e\u000f;x_a\u0019P\u007f.\u0004k\u0001\u000fvC\u0011\u0004\u0016'\u001e\n-IFRe1+==0_iz\tK\u0003~\u0012$\u001bI\u019f\u0010\u0265cH~\u0019x\u04aee\u04bd\\v?\u0005\u001f\\P\u001eG\u0372;\u000e.&8l}6\"Lg&\u001dp=\\\u0018K\u03fdWMER\u0012\u000b.b'q\u00115\u00f78\f\"v\u0014\u0010ALSm\u0004ly\u0013=4,\u0002\u001e}_nk?VB\u000f\u000fkmz\u0004}\u0011OU5\\'4:[\u0007\u0681ZY\u0299\u020e2~\u001a\u000b\u001f|1GYxV]\u001aUl\u001e8`iSsZC8w\u075eK\u060a+\u000fB^%wu&U\u000ebML\u0005h\u0017\\)JT_\u0010i<@w\u001c\u04898\u0014yXLG\u0002i{\u01cdq_&QOY\u0129\u05b0w\f\u000e\u0004^^5T$%\u0729\u0133\rR\u04eeUIP1mOv$u[<)[YKY\u0233I-\u0005R\\\u01f2\u03a0+f(\u00059N{v)jo#g\rP\u001es;(ZX\u0014U:t|\u0611\u001c\u001dxl\u0007P\u000e\\A$-;-JG\u03ba\u00e1rD=3r_*E\\vJ[\"]\u0012\fIM\\\r(yQ4DA\ua9b1\u001bR5CaUZ9\u001a\"d\u0005\u0007YQ=9\u0017o\u0010<~\u001eM4\u001c\u001f\u0010\"|B\u0012'/_y\u0012yS\u007f\u0282nk|\r-/]\f_+\f\u001ddMdHx#;\u0015\ti&\f*,\u001eH~CH\\]ID\u001c\u0019\u0727TS\u0012~\b&{wOjm\n-YI28\u0006r\u001dw\n-/\u0003L\ud93b\udd53vJ,\u001e7\n-\u0010c\u0017\u0014s`m,HE,\t\u0002\f\u0012\r\u001edG\b\u0004\u001dEZ\u0016_N^\u0491s\b2_0\u0016\u0007e;eCX\u00d5nA(qGgT]XkWIU[uQ\u055d[9gR\u038c;Xr:\\\u001cJ)XAI\u0664A\u0476Itm\u001bDOG\"\u01ef\u05da:xL\u0019\u0018FE\ft\u00198F\u0010x->xn_ti)WU\u0007m\bp+8-]\u001ee41v\u0019\u001f\rC\u0012o\u0004BY\u00134\n-|\f\u0018m#\u60e5!i\u0000\u001c\u0013\u007fCc\u0411W>K\u001f\u007fg&Xo>\u0013\u0001Ix\u0012Ip\u015f[\fX4~G\u001aOzz\u06ff-\u000fv_vw%c,\u0018yX\u02f6p#3Q\u0010\u000b7Ek\u000ew\u0016\u0002sp\u007f%\f)}$_\u000b\u001c&!\u0013\u0005\u001c\u0001o`\u0018G6PC%j\"*Ag\u000eH]6MC)'w\u0012^^\u02c6/\u0003\u0016\t[g\fv\n-'Kj\u0487T\ud9e4\udcf4!L\bd/2\u001fXc9@*N\t%&\u0012\u0003P--\u0018\u0723IUJ\u0f12t\rGsj?P4BM\u000bJDUR\u4bc5z\t\bu?\u0015)I\u0018.p\u0007\u001c\u061cB=\u00070q4\u0017\u001f_d[r!s*ZHs\t\u05cdiys@je t5\u071d^\u0700*o1?M,\u001fnV3iq=|-\u0016RJ-Gd\u044e8}\u04720\u001b$}1=,W\u0006\u001f\u001fgv6>~5\u000f\u0797\u056f\u00024x>_OW\u000f\u000bCr\u001eg_M\u00199R4\u07fd+K\u001bbv3\u0354p\u07a6iGHm\\ie\\tq\u6f7bt1D\u001b.1Z\u03ae\u001eLzHu}MoE\u0010\u022b_\r\u0011w\u07fc\u014dw|fn:B|[\u001e\u001fo\u007fO\n-8]}\u0002,E\u000e].DzZ\u0018\"n[>0#6y-Ty]\u0016O\u02d5\u0018\u001e\u0016&CBri852].xu7\u0016\u007f=L\n-zz\u0019-\u0014k!\u0014\u0014'^dH-{Q3+Q/\u0016\u0178E\u0006\u030b-\u01084387m\u0005@(m;]\u0763Ub\n-\u0000u%\u0000\u0118==>Ly7{X\u00fa\u007f\"z|v{\u0123\u075a7\u000fX|SKVF\u0005\u0013\u000603\u0016\u0006\n-2&3`p\u001f\u000fKP\u0625N\u007fY0Mo_\u0016SF\u03757Y>l(\t9o_g\u000fGj\u000fA\u0018M~<<\u076f\u0016!,G\ra-h\u011d\u007f\u007fX%\u007f\fo|k/W\u0000\u0014$0E\u0003\u001b$\u0015\u0493]-Rz_s\u0019]lR\u001b/\u001f3\f\u0017\u020f1\u018b #Ez\f1R\u0010\u0005\u0013\u06624TY\f\u05efbjcNdfn|\u000efeb0D\u0018\u0014ft&~\u0016\u0013x<+IT\u001b\u001cM\u000f\u0003Nm-\u001e\u001eVIMDt%4y\ua970M\u0014V~5jP_nA\u04af\u000b\u59a03\u0003\u000fo>5\\b[}?hvq\u000eWVL>jcFU~]<<=\u0013}y|\u0015mfJb'F+\u0001pIkJt\u0019Y\u0013b&\u001du~\u0018(3U|2uM\u0641\u0002\u0003C\u8b08s!\u00af-z7\u0404u\t\u0004&\"\u067dh\r?\n-\u0013ay?1f-\u001eK\u0005=\u0004k\u000fM\u07d67}\u0012V8~`vn0u@\u044coE-o)\ro\u01d59fXX,Y\u001e9W-}Q\"\u0003b>\u0004\u03363\ub127\u0715\u0726J<\ba8\r:\u0018\u03c28FC\u0011h\u000et0\u0002\u001dsf@\u0005\u0413L\u001c\u0014ek_jQ'-x(UD26{U'\u0017),/c\u0581?TQ.\n-O\\\\\u0010T\u001f\u001cnuC\u07c0\u001ap\u0012_V/P~,\u0017=o\u0019\u001auUSE\u000e\u0013\u000b~g\u001d\u001b\n-\u001cd'\u001a\u001bK_\u000eVT3.\u001a\u0018\u0017\u0010R6,9D>jmn0\u0018\u015cD%T1\u001fv-O\btTFC\u0150\u001aB(<\"?\u0313\u0006Eg>\u0004A%Q-\u0004\u001d8\u001b\u0001\u0015O\u001ch\u0004+fi\u00c0vn1Vid\f\"\u0001]*\u0016\uda08\uddd6!\u0002,9a',7\u0013c/P\n-\r\u02a7ZV\n-\"\u001b\u0006We\r@$]ph!Y'\u000ejQ=Uy\u0380\u0007t\u001141fCRZFnBD\u0007\u0010\ua8c3M5,*O`\u001f\bvShj{q_T\u008b\"J\u000b_:\u0006\u00009h3\u00145Qt ?(\u0010?#M%G\u0383\u001b`7YtS\u0014v^H\u0276\u001cVEe8,?~9]W>?A\u0005\u001exyyj\u0015j\u063b\u00138\u0001Cyi\u0017\u0004\n-|(pF=}r(\u0012]\u0016\u001cQJN.\u00d74KLv\u001a}]5\u0107\u038denJ!\u0016\u0005)n,\n-Wc~\tR^=s?Nu/\u0016Ue\\/X~\u0017-mwQ\u0000d)~U\u05d7j`{~NC\rT\f\u0006R)jDH8\u0117\u0256Fd{\\5\u0001Qa*\u0005\b\u007fhe9.\u000f4TZ\\/H$ErR\t\u0015b\\)\u001d(l\u0016&I2%BE\b/,I\"\u00133My6\u001a8r\u0019\n-\u000bL.\u0012\u0006\u05f8N]O\rk\u078aj\u001fvXA\u00a1t'\u001c`\u0000^QE\u0004n!-6@u\u02bd+U=hk\f'E]@KK.QoTq\f\u000fia?V~\u000e\u0019}MEMY66*+-E_&=)\u0387O5er?G|zS^dUi\"]]\ta\u0015i\"\u0011\u0794\u0012WgF\u0011k*r\u0178\rU\tC\u0019\rR\u000e\"f\u0005Rtb,V\n-\u0019>\u0010\\iK\u06eb\u0007Vah\u0018nv =XQ?\u000f2&\u0317Arv.W\u001f)\u000bE\u000e$b>)`jg-GQbwknG)0>dc;VMMJ|Q\u018a%9DC$$\"&\t\u0006\u0000%3\u000f\u001dOS5IN[_n\\\bT\"V7{]d\u0303\u00156\u0011A5ILara(?\\\u001df\u0013+R\u0014\u0002NRZ*_dR66\u001ar\u001d%i\r\u001b\u001b,f6.60\u0011&\u001bK\u0018\u001d\u0345La?,\u0010`y^+\u0504VM/\u0004\u0003F>*\u007fQ'\u001dK\u0667\u078bO\u0675?\u0004!\r_'\u0003\\\u0012\u0001n\u000b'\u0014\tRd#\u0001'4\u001e\u007fVH+\bNwLiMaQ\u001agX\u0014\u001fG\u0006\u0010\u0640\u0001\u0015t2\u0014Scu\u007f%\u0159i\u000e^^'\u03da\fYU=|[(r\u01d0-\u0171\u000b\u000bg7u|bG@Ncl\"Y%\u058f5N\u0017Ix,\u0004CXXaOx\u000e\f\u000e\u001fL\f>GX|H?tTp\u0013t#&[\u007fjR\t>\">WS\u0134H\u0003s\u0012UJ\u0003Tr\u001d 8=\u0006'\u6d7d8lfp\u0393=bx*\n-\u0006X:8!\"w xbL\n-s:1\b\u0781PS\u001b_9PolD{\u04dd\u00a1\u0010S\u001c\u06e6i\u0016R&.j&\u000b\u001b\u0001\"\u0001pV-\r_qN-\u0018\u0012@*4!h\u001d\u0148`Z\u000b!\u00027E\u0005s4ia\u0001G\u001a_\u007fw\u0019!DI\u0014\u000e0\u0007Wmo\u06cc{p\u000eW\u000b24\u0002+p\u0007\b\u0007\u001d\u0017~\u0007\u00161\u02c9\u001aXl\u0000PUzW\u0019Y\u0527\u001f\u0013\u007f\u0007\u0006\u0000{w\r\u0005\u001c10e\u001d+\u0002\bUcI,BA\rz\u0088\u0016 vI\u0744+`\u001d*%\u001fV]$Qq\u001dD\u0007VPbzN\u001bj\bHI\u0003\r\u01d00\u0113%\u0014\b/m\f\fh\tqM0\u0416\u07c1\u0004FT\u031d2YI\f*z\u001d\u0003\u00116-K\u0012mj\u0006PwZ0?b5\u0018,\u0002\u0003\u0003b\u001dtAh\rF\u06bd\u0002\u0014vh8\u00121$NK\b\u04f2Q\u0247(DwxmW!.\u0011gb\u001e[\u0202\u001a\u001f\u02bb\fns_WV\u000f'4\"0'\u0015zJ@E\u0003=\u0001t#l1\u0005\u0000\u36daT{\n-'LS`{=$uC,4V#\u06f1Tk\u0001Dq4.\u001d!\u001bg\rnq5<{!]`T+:\u0016ZoQmH9Y-\rP\ub1c1*rUTR\u00153D\u050bb\u074dJ\u0012n\u000f+\u0003`4\f`\u0018U2W\u0015 r@b\u0018U:buV\u001d3\u0000\u0018-P7SU\u007f\u0002\u0400clN\u046b-vSba&#\"q?V\u001d\u0003?Gk0y2\u0013G\rjpx:SGipx63Gipn<\u001cu\u001cw\u051c\u0006\u001fsQo\u001a\u001c1?\u001c\f\u0000Z48<\u001e\u1c63^?\u0019_\u00075d|\u001d@x\u0012u\u0015i\u000eO\u0001V:<\u001b_\u0007Xwl|\u001d`}\u0016wwX\u0007\u0015m\u000b\u0004\u0012\u03155\u05ba5\u0679J\u0010](\u000ef\u0674*%^\u0018}\b|W&\u001et\u0005\u000eL\u0012k\"0Or~!O\rH \u0012\u072eD\u000er9\u07c2y\u0014j4d\u0782@\u0006}\u001034\u0415\u0270\u0003\u0018]e\"$Zrcp\n-wE\u0003|\u0017/h\bKL\u0019OO\u0005ES6=N~\u00064p\u6715\u0019_U\u0001Q\u07f5\u001b\u0013E&\u001bYq\rX\u000eBz\u0013\u0004'gt\u0013Qa\u0007]T\u0002sg%5gLkhj&\u0005dnhu\u0011\u001doW^\u0000\u0014j\u0004jo\u00c2\u007f\u0007\bY\u0019f)\f{\u00adsp$-5\f\"@j/N0{\uf757\\DHqWu8\u0011wDSu0\u001dvv7D#(\u000e7\u0003f7t\u001e5 =\u000bDv\u0004\u0003\u0012?P1L`\u0006Q\u000b\u0011{\u0005\fd-aW\u0019D\u001c@\u0006h\u001b 4\u0019\n-CFa\u00022m\u0002Z\tgCteBfM7aZ&C\u0004\u00132\u0003SVS4@x6\u0013(\fh`\u001c7k\u0019A\u0019G\u00d6[~@\u0001rCA\u0003-\u0000\f\u001b\u0000\u00ae&5pC\u001arr0b\u001a3(J\u001fb<\u0469A\u0014vqV,\u001f!Mh=\u00125\t\u0005V '?\u0002\u000e%\b\u000e6__\u001e65\u062a1\u012e4&-A&K m,k$5\rkBTY\u07713(;F`2w\u0006\u0002\u000e^\u0007r\u051e\be-\\\u007f(w\u0007\u0004b\u001b-ps\u007fj`7=\u06ae%f\u0005-F\u0713\u001c~Pw\u0004 Mm$\u198c\u001b{\u0013\u0005-f0b\f,\"\u00013\u001a-\u0004\n-\u001cs }@\u001c\u001e3O*N0I_W1$)F53\bby\u007f(=gjPY\"\u0004\u0005Y\u0005*f'\u0002fgb\u0010H\u0000\tCg\u0015:s\u000e\u0016\u001b(90\u0004i&\u0010\u00077AJ\u0017s}_\u000e98-\u001f\u001cO>1'\u000e\u0004[g2}\u007f\u000f\u001fn:O,+c2\u007flD9 \u000f^:b\f)f\u0011\u0004)\u007fzp5ze5V{7W,>S\u0390]i3\u0018Db\b\u001d\u001c\u0004j\u0018\u0147\ffG\u0001U\u000f{!/rvDKBZ8\u0011j\u0310\u001chk\u0004G>K:\u001c%sC\u0016igd `\t:A\u0019b\u0011+b\fqP\u07af=oR,C#=\u001d(\uc57a\u0015\u0001G/:qU:K/\u0001X}:E\u00156\u0019\u0012\n-bor\u0017\u001a:\u0000~U\u001f=25\u0017)R;\u0011]MX=|VeN2\\%\ued2bt:_0\u0007fr\u0016\u0000AcG\u000f\u0011c\r\u001db\rVS-\u078d\u0012^CN:\tXZ\f`r\u06f7}^$\u0018F^\bFoj\"]fx\u0001\u0000[\u0012u\u0005\u0006\u000by\u0012~H5Et\fRf\u000b5:I*SX\n-7fn\u0018?x\n-b\u0016y\u0016>SCw\u001f7[\u0005z!lI\u0014\u001c0]\n-\u0004DS\u0010N>2B\u018c\u0694\u0012fL\u000frX\u000bn]`\n- mQ\u007f4]\u000e\u0016\u0000|7U,\u001c8e]QinZ\u000f8H\u0005;Y_\u0011\u000f4\u0124>S\u0016\u000b\u0002V)(0V\u0018C=.}\u031d;\u000f0\u0007897Nm;&8$\u0007\u032eR\u0000/f/TN\b\u001d@[!Q\u0140\u000eg\u0015C\u0013^/Y)J:T\u0257\u46eaW[\u0004\u049c|\u001a0\u0011\u0007\u0501\u0003:=8\u0006\u000e1r \u07d5U3[\u0003@>4\u017c'6\u047f\u010f*r4(q\u0000j?48\u001a2J\u001c[\u001c\\Z_h\t.C}cD@m\u031eS\u001a3)~z;uOq?3\t\uef5c~&\u7ddf=\":v8\u000b\u0018J\u0018\u000f\u00162Q?\rD!A_gSC/\u0014Nw:\u0013\u0001x{`vK03K7aM2r'\u0019\u0014f\u0016vU,N@_\u07a6*\u0019jFsG\u04de5*SQ/\t'J\u0006L\"o\u0003LE6MWe:,\u04ddA]{\u0006s\u0018\u001af$CoRuK\n-\u000b;i\u0014Xb\u007fnWRurr2[>q\u032dxo\u0011<,fXd19\u000bf\u0018^B*Y!8,Y,n]r\u000et%,!\u0015b5h\n-RU~ d\u0000)`\u07ca\u001eKx5\u0012\u0014\u000b\u0012l\u0005)/ml[\u0105n?O+\u0012I DJQ\u0013m?J\f]\u001dTOWj^\u0006R\r\u0171o\u0007\u0004$6\u0566\u0012)\u001al\u0003\u0011\tj*\u0580AK&_c@C\u0359\u0015\u06a6,\u001c\u04faa\u0003sS\u001d^Og\u0011\u06cf\u001d,De\u001d\u0019\u0006rX\u000elm@\u0013pnvq07[M\u0017#p\uea44\u0655ta8\u0015Ba\u0005K\u001f.\u000e'X\u001c-re(R;.\u02e0)\u037ai\u0019+\u0654f\n-F\u000e41^7k\u0015tWN\u0018)%-\u0010sf\r_8\u05e9\u000e\u0016\u000e,\t\u001b>\u03e9\r.vc8%\u06c8y2^Z'cv\u0005~$-:\u0000'\u0011/\u000f|\u0016>\uba78)I[ir?H\u0012.)\u000e\u0013rq;%uXhD.8\u0007=\u001c\r5\u0017[*g~.\n-L\uf68a2@\u0010U~hl;Jh\n-5(1GB`\to\u0374SoN\u0298\u0011wjAxH)\u0016.@R,$oIHjF-\u0757dex$$\u001e\u04e3\rp6\u001bH^5z\"eA\u001c0$\u000e<\u0133V\u0000q,\u001e\rpryt}]\rp=:>4-\u0001}H%E\u001e0J}\u0015C^tojn~C\u0003WpnEL\t\u000e\u001ee;v\u03bc\"a\u036a\"@2y.kiv\u001fpk\"Uj*7=ti_^\u001eC%zv:|'_a\u001a;\u0017u.[\\6\ud5a2Nke\u0018FZ)\u000fa\u0005k\u0393{5\u0011S`G);EM\u000bOg5<\u000e+\u0002\u000eQX\u0001\u001e\u0003+YO>/ MM\u001cX\u0016lk7 6C\u0014G\fX\u0002\u0016\u0019\u000e>\u00164s\udbdd\ude285tYx\u0014\t'M^\u001f\u0006\u001d\u0004x\bRG\u001e. ;\u06ac\u02c12\u0005\u05c5dQT&sA|\u0011S'-8z\u0001E\\\u0011\"lR^y\u0013\u001d\u06db\u0019e\u0002n\b&r`\u000ep+U\u0018\u0005\u0003)VMNF\u0003$c>1\u0001lb+FC\\9q\u0003\u0011l(~\ud049\u0015\u001f\u0015d\u001fL\u0007G\u0004R=]wJ<\u06ac2w#\f\fkJ\u02429\"\f`R^\u000eOB\u0010j\rrtUK6E%vrwWw+8}\u001a)S\u0249^\u0570\u0003u1:w\u0016q@`F!\u0006[i\u00124M\f_wOba/\u0014-}\u000e+\u0011L\u018f\u0000\u03d3U8RT~\u001f*5\\xN6\u0005\u0005,g*\u0001&e\u0006.\\7x\bue\u06d7\u0002t\u0007[yH@\u07566W[:\u0013\u001d|\u000f\u0238\u0003Xz&@\u0481^1+LD-\n-<_o&E!GpT\u001e\u001d@\bXQG!y1\u00e4u}E8\u0005P\u0019a)RJvGS^/]\u02211\ubba32||p\u0018\u0012i8^o\u0016\u000bI5/4_Jz\u0013pJ\u05d1$1 Fx`\u001av:gp}\u000216b\u0018tJ\\j^i:1\u000e`mt\u0601+&U\u0018\u0007\n-Cs\u0004R]A\u0015k\b\u0014\u001d\u00eb+\f\u0015ApStw5 k&U\"O 7t0F&Kp\u0014\u0004wi\u0014wq\u0001\u0019 J\u00017Z1<\f@!S\t.\u0017\u0000@\u0011e\u000e\u0015\u001b{-\u001et/2\fUuM\u001a\u0005\u0014f_|OEx\u0004 e\u007f$eq\u0007_w6Z$\u00122S\bY\u001a[\u0006X\u0017()\u07a0hA\u000f)\u0019\u0019i\u0003v}nJsm\u0759PGO.Lm\u0568m\u0019#8E\rV\u0018.U\n-q4u^)I\u0504:f_\u0014\u0015i\u00122@p|~\u0000d-<\u000f]\u0013'b<(Tn\u0002FmR\u0000!TnQ\u0010`uBz!!h&aG\u04d2\u01d4e[$-`%0\u0005\u0335\u0015MXXG\bh^5BnJ2_\\Cp:Rc{+A1\u0019)\u000eJM ;[t\u00069.2\u0010\u0002T&t\"t\u0016:V(\u056f\u000ecUU%o9\u0314q\u0347\u007fz>\u0005\u000bA0!.Ru)-\u00164\b}4\\)\u00102 \u0014vb{\u001b$`\fcB\u000f%R\u000b\u048ft\u001705Ll\u0002s&$\u001b\u0007\u000bc20w\u0017(nT\u0003\u077b\u0014\u00011c\b\u0005_\u000eF\n-\u0002'h)y{io~5\u001b/M\u0018Kab\u00150F\u0019{\u000e\u001dj#gM,p^q\u04e5T\u0015v\u001d(l,\r_Qj6fp}rSN&J)}S\u0002q6\u0017\u0015^#\u001fHy\u074c\u0002C3\u0001i5\u001f$0qs{^\ud23d\u0006|h$\u001aV\u000b^7R\u001c~Mz\u0006Kig.o9\u001d\u001eaegq\u007f\u0003T5h|q\u000e%c\u0013D\\\f\u0010n\u023703|w\u05f3d=_\u0005ng8V\u0017\u0016i\u04fcBbFF[\u0004\\'P1\u0002\u001b!%PD]$3\u0000\"\u0359'YP\u034a\u0012,/\u001c1\u001f6B}~.\u001bz\u0006n vkZl%\rv\ftvoi\uebacWRaO\u0012u4+Sg\u001bB[]|VG70V_/PC\u066d\fZguI\u0648WRX@\t\rzy\u0586\u007f\u00045FgQ(\u0001z\u0017C\u115dGXA\u0012\u000bU([-\u001d\u0641#\fB1'Z%7\u001c\u001brz\u0012|\t(|P\u001a\f\u0018rvP'\u001fe6\u0000z\u001c\u0010is\u001e`\u02b4:\u05a0V\u0004\u06bb*;m\u000e5G\u0019\u05e9\f*\u001aTqj\u0592%Q`vH%\u0002\u04fcj|kUfxh=fx>fx>fx\b\u001c3t~\u041d\u0019\u001e{\u0300p\u0005usb.:\u0494.\u0013\u0016=FsVh8IZg|r\u001a\u001de\u001cIUq5tzH\u000b1b\u0017&n$/1\u001ft\b\u0019X\u0006E\u0019L\u001c\u0388\u001a\u07f5@\u0019!1S\u754d\u0553)9N\u0002\u001cRJ\u032c8K\u04a5,`\u001b3X8:\u0016\u0013\u0014\u0670G\u0004D6\u03e6e\u0774uM\u0015a\u06657m[@;GNr\b,\u0345\u000bj\tQ?\u0015i|\u0004_a\u001dm}{R#\u0011\rcWmI}+Yu,NMR\u0005\u0000u3q \u0011_QF;@W9\u0015\u0017\u0014G\u0011\fy\u0010LYo{0o,:\u0007P\u0000.\f$u h6\u0010\u0017=8\u0019H}TM \u00043\u0275\u0007G3uy\u0599 fjG7P'\u0018\u0013 /ur\u0019\u001d\u0564XNQ{d\u0745\u0015\u0012\u0013Tbh\u0013P$Cp\u0017A6A\u0011QMa\"9Ep\u0006\u0007;\u0016s%m\u000e{KVlSO\u0014HDz\u0007\u001da{+\u01e1\"#\u001c\u0007C\u07013\u0014+F[4Hi*/\u0016nzwe\u0004,C?kk\u05b2E\u0588\r$-FPubTJ$7\u0019\u0007\u0001sVgsj\t\t\u0007#&\u001f\u000b\u0003t\rt\u000e0\uef3a'p\u0356y \\\u0005c\u000f{m;1?Ok;\u0014GL\u00054RK7y8c\u0018?\u001aH6I8E\u0019:\u0001\u0010&\u015a\u007fvO~u|n$\u0015\r\u000f!xy/Z01H\u00c8\u00187\be_1H3\u043f\t\u00000\u00128]04\be+\tiQ\u0004\u00c4N0K$mMA\u02e3M\u0019m\b)zv{_8}\u1734\u0014\u0007<>\u001e^\u001ei \u0019d\rm\u0697,\u001aP\u0589K|:s\u07afkn^\u001dQ=\u047f{!OvT=\u000b#c\u001b\u001fRN/\u0002i#Ht5c?n.1KWVT1$\u00a1F\u0003qE;\u0635:\u000fo\u0005rp\u0003Z^t+;K\u04c2P[\u0500SiXN\r]\u0002%.\u034ccx+\u0018Cj6*\u0013N7\u0015+[jf\tTl\u050f3W,eS6GT\uf894_3_vg\u0013M\u069d]tw\u0016iRaU\u001c$F`'w\u0011N;@VwV1Z.\u0004W\u0016U'W\u0601f\u0019!#J6[~\u0015'W\"[W_)\r oR{P\t\\e;]$\u0000\u001e\u00166xz\n-`Q\u0019\u00130yfM5c8-/\u001ed;='(sp\u0019\u001b\u000eJ+?\u0007\u001e0,{\u000f\u000e\u0469#\u0324e\t\bN9u\u0004P\u0013f.NNr5\u001c\u0010P\u007f[W8\u0011`\u05f4\u0005\f^y\u0019\ta,t7^MeV\u001cY.d\u001f`0\u0005\u0013kV.\u0001Z\u01aaW\u0006@Y8\u0003_Ni}J^\u001cQbo\fc\u001fR\u000evU6:F:W\ro/rV\u0014\f.Y[9L\u0017\u000bW\u001a\\`\u03aa[U\u00077(\u001f'.}\r}6L77>\t\u001eV\u001f&I\u0017{>\u000fq\f|\u0017\u000b4\u0560QM[j\t`\u024c\u0001\u0004fD\u027a`\u0003\\up\u00108tC\u001dS24}q\u04b8k\u001fMN\u0011)]p[\u007f\tJF6\u0017n\u001eRT%_;\u0014&j,'\u0019\u05a2\u0013#\u05b9*{)\u0016)H>5\\E\u00153\u007fgUg\u0015kDU6-C| \u072eA\r\u001c\u001eP \\=\ue91beX^\u0001\\a2\b3j\u0011\u0012\u0019/C`D:\u00173DfY_Z`#F+q8To!cyV\u05b7\u0001 y5$]3dlA\by\u078fu\u0002O?!'\u0011\u0013\u013dO\u0016t\u007fUV\"V\u0014)\u0019nbIITRtZ\n-\u0011kAP\f! M2pbI\bp13\u064d\u0015dY;#px7\u0017$Ym^]JO\u0006\r$\u0002B^\u001c$_\u03c4K'\u001f7mH5gP1lW6U^mVT\u00185{\u001a}\u0001D\"2\u0097\u0016\u0007i\u7922,D'Q}jJ5\rCkRill\u001b\u06e0\u0002:`bt|)/\u001fE=\u00069f>\u00110\u00167^s&\u00f2_3\u022e\u0015j:)\u0007NU/1w^|-df\u0198\u0004r\u0438$r\u007f>D^\u0001\u0279tHf%j|\u0001\",u Nx8~{U/@|\u001a\u001c\u001f@\":iAd3O=$\u0741S8\u0012GALmB\u000f\u0005Kp\u0016\u0000f6v\u0014M\u001e\u0004\rNG$:\u001f\u000eZKi<3N#f%\u001e~\u007f\u0006kl8+cC\u0013@\\08\u0001\u00979A\u0007D\u0007!I|&\u073aPq`@)d\u0004VE\u0015G\u0017\u0002[$oh\u000e.\u0004VT C;\n-:#D\u0017-\u0007rek\u000b0.W*L>~!J\u001dHnEk_qV$$D\\\u000f\u0345O^J-M1\u0576\"D\u05d0Q\n-<\rZjl\u04e2\u0017\u001d~QkBF;\u0740Z3.\u0005p7$\u0014\f\u0541p%0\u0017yjdEJ\u001a\u000ft\u0011\u0002/Im?\u0012\n-*,\bTnFg\u00181\u075f.g#K\u001a@\u022cPfv\u0001s3i1\"\u001ca\u07cdL\u001b\u05e0r\u0019\u001f\u0000\u001ee@*p\u0013q3LZq3UlIruk3JNn\u000bwV$n%\u001c\u0010\u001dln9I\u0016w\bC9\"A=\u0006\rS+-vm&-\u001ee\u0134\u0006@G+\u0002+(a\u001dB\u0019\u001bJ\u0015 q\u0016c[;:o4\u0016T'\u0007`\u03b2ZW5\u059eFK*nYn\u01f6|\u001fVy:(\u01c8\u026cMdRb6\n-KL\u0744o\u05f9\u04f7\u00039Z\u0004p7\u0019\u0013m\u00a1\u0003A\u0001Tzp\u0005loAP3nd\u001e\u069f\u0005\u06df\u023a[\u0011i\u0018Yg\u061fXp0\u001diT\u04da+[O4~+\u01d9\u05d9K\u001c)\u0005\u001aR=\u007f*w\u0019\u00114q0;\u000b\u001c_yCP`\u007fH\u0014FA\u0749~(JR\u001f\u06a3K\u05ab|\u000f\u0018/\u000f\rX4s(\u0005wcWB&{A\u0017&_!\"\u0640I+d\u03a2m\u00184T,PuTp99\u001dS\u001b!\u0019G\u0005E\u001a\u000e*5JQN]\u0002r\u0011\u0086{jh _5p/5\u001aJ\u05a2\u077b\u0018#;(>^k^C&JK ev\u001bTu%\u00008,I\u0016r\"\n-%%?\u001a!h\u00a6h\tY]8F\\\u0006\u001c0\u0004\b4\u0014s@D\u0003\"\u0001A[>\u001e\n-A9vC+Go[-OlR\u001d^\u00159n\u001f<#\u000e\u0004\u0012[ntvL?|J1o\u019a 1wm\fmJlk:[q\"\ffk\r%nUYl\u000eb)1y\n-UF\u05d3\u001b\u000f]/\u00033`=w9{q\u001c9c\"h}\"z5F\u0014W\u0000\u0011{5\u0003L(QF\u0006,\u0000\u00d0\tw\u001c2R\u0013\u000bzX\u00117r\u0005pGo5PL\u001an\u0014\u0006\\\u0154R{e7X\"@Hyh\u0006x\u001e*>\u0007\u0018\u00155\u001bM\u04f0}GO9jF9\u0007\u053f67;IYvob:W\u0015s5v\u0013\n-\u0017\f\u0018\n-\u031a!w\n-(,bU,\u001eeg+w7\u0001X\u001d%iKlAh}\u0012\u0019]8)\u000f3\u000fe|so),bL479t\u0005\u001a#'I\u048fr\u0018-\u0012J50a~\u0005\u0007\u0000XJ B8\u07fefV\\,\u0007q'\u00055fS/q\u0002S|m-\r}\u001af;P~\u0005\u0013\f\u0006r\topN\u0006\u0018\u000e\u0013\u06f2K\u017ceUl\u000042`]g\u0081_E\u04a5(j7<\u042a+\"Jd\u001b{\u000f7/YN&-xmA{OauTc086\u001c}lm\f G,Ih\u0019\u0011\b0T`[v8\u0016\u0001\u0006VG,\u074d,Z\u01f9\u000e\u001c&O'\u001a+_w\u06c3%\u000e^h\u0416Tvmi\u0015pB\u001b>\u0012f?G\t\u0566\u000e\u007fh;;\u0017\u0012m)q0\u0000(x\u0016O\u0014'A\u0006O3x\u0018<\r2x63Yw\u0019|\u0018|\u0017dx\u0006+\u0006\u0007\u00190\u000f\u000fA\u0006\u0018\u001f?\u0002\f}4z$|\u001b\u007f\u0013) \u0019\\\u001az3\u00072=\u0006\u046em\tl\u001cS\f,\u0005\u00cc%\u064aK\u0002(E\fL,\u0018+T&SrI3(B6c{#\u0017\u0010Pb;z\u001d\u0012sNu\u0013ap`Gv:02P\u0017Qrd\u000b\u001c\u0011j?\u001277l:\\P/.c\u000erLHCd\n-\u001akTGUR\u001d\u0004UX5]\u0004A\\9\u0006/0\u001e\f6-g-\"\u0002&\\VE\u0016#\u03180\u007f\u065b_m]3xXn\u00122\u000fjA\u0004'LKYa&Jo\u0680\r\u0011\u02df!Q\u000e~M&\u0011-PY?|+GCy&\u0001+\u001a\u000e!\u001b\u051f\rq\f\u013aC_A7\\w|*s;q\u0014\u0010iQ\u001aK\u0013.8\u0018'[Q\u0018KS\u0019?Z\u00011b%T\u001f\"`Y\u0003U]V\u001cZ\u000f\u0002\u001dR\u0011K\f_M\u001c?W\\A(yl{Y\u06a45B8c\u000f\u0442q\u0017\u0003i\u0015\u0003p\u000b?\u0012kqd& \rY:N<\u001a\u05734(\\Mhm\u001aG m(\u0017\rQ'@\u0000x\u001d%<&\u0013]Z\n-t\u0006v\u012dF\u0002J\u0000Q\u001fIY4\u0019we}nii'\u0014I!5\u000b\u0003\fG6zu#\u05ac}\u000e\u000ewIj(}/1\u0671\u00185\u001e\\MYo\uff0c3T8M+\u001aR\u01f2\u06ed/\u000egJ*\u007f1st0y\\AnUHU{J\u0654\u0004\u001fGJtUm^\u0006ir{/0c\u001cKL\u001e:\u0017i47w9TNid\u001e\u0260 20-f\u00066\u0014\u00136\u1f4252KnEsD5\u001c\fG$u6.:0N\u0007\u0011X\rc\u00146,\u001a\u0007\u0013\rU\n-i4}7]oI+4JY7#!=Q@\u0705983)\u023fEr\u0019\u0014fF\u0016ij`\u001d\u0014U\re\u0007J0aj\"S^\u0007 a!N\u365c|,?QA\u001cxR5gfF6\u000eU\u001cH|kHJ!\u001e0GI\u0013a\u001eD'N0c1\u001a\u00ad*X{p^\\9^Ij\u0002,\u0262tWW\u0015k\u0381@\u0005\\~!&b6-QW\u075a\t\u0001\u0015p\u0017+_S&V0\u0573hB\u001a\u000b@x\u0004K4M\u000f)-M4/W-{T\u0562)`9=\u0019#1T\u0011\u0715o^XH\u0002\u001f\u0623((\u0004\u0003)\t>\u000bF\"h\u0005ze%\\ jk\u001f\u007f,\u0010O:i\u00000C3|@\u0006\u00199'PbK\u0600\u0017\u0002d\\O~ZuZ\u01f8)M\u05aaIkk-Ew>8?Z_5B_)jo\u0478kL\u07abHwy\u07f6oo\u001b`Sd\u0015V\u001bd3QDu&'\u075dIN\\&\u000fAM\u037a\u000f\u000b\u0001h23s#\u0617B\u03a2M\u0006sDQ;\u001cyy]\u0004T\u001fs/`F?X\u0019)Hv\u001eeQ\u0287,\u0005lj;\u000e\b,hK\u0019Eeo\r(]v\u0002&yV:~M}\u001d\u0019kD)\u001f\tFdcDqIP8:|9\u000e\u001b)\u0006\u02c6g\r|5Ry\u000b\u0013\u000f\u9b52l&7\u001e\u001bwYK\u001aI9IV\u0247tWLg\u0017\u044a\\q.ItxF.Rb\t#Fs8T\u050aC_\u001f,\r*\\?U\u001d\u000e\u06840]R\u0015Gi5\u0000u\n-\u0015]5(lJo\u026ca&\u0013N(i'\u0002\u0017tO\u000eE-6E-\u0001Jog\u0002\u001cj8 T`/=uWXwBT&\"V/\u001d\u0010{0r1Vq\u04ef2~=\u0016y\u007fRhrQyntF\u001d=\u0015NvS@&W/%-\u02faY\u07e1>[\u0002*\u0011F\u0004+\u0202\u000b1^o64MWfy#LO\u0003cO\u022dK_\u0450\u0550\u0015\t8\u000f\u0001\u0018\u0000\u0014E\u0015B\u0018\u0001:\u0003QG\u001f\u001b1J\u0627a\r;X\u02fe!Of/^\u0014\f\u062e)mEFX#O\u001e%\u001bQ\u001c]t9\u0727y\u0018E\u001c\u001d4Ml'H\u001fl\u0004\u00008HAT\u0013ReV*v\\I\u0013|\u0013/'nh\u07dcN,pO'DJ\u0006\u0011\f\u0017)14#+\u0015v(_\u001b5\u0011\u0010m$t$\u0000;o'l=\u05d3lM6l$\u069dj; \"F~\u001b9\u001cu\u0002,e^li2m\u07a5*b*J#K\u000e#\rZ1'_l6[\u000fIha\n-\u0012\t{4Ltpz\u00006\u001bmhfVP:ZA6JN-[\u0003\u0433\u0017\n-\u0019&\u001e<\u064cL'\u009f\\\\J\f['do)l< \u0001\fa0u[\u0010\bm\u000e\u000e)L0*UI\u007f0)\u007fut*\"U\"XD4\u05f0\u0014y*K\u000e\u0368=ed\u0576A\bkBVR-97Ec>\u05236\u0012Z\u0005UX\u001dg9\u86e7WD\u0013Dr+\n-C6CuehJ(\u001d\u058fM\u0005<\u0763\\>[]ThKT\u0011kbk\u0016)\u001ccWp-\u007f\u047a\u0018\u001b\u0013m1\u0001K]7Yl\u0018\u0637f\u000e6Du\\&\u001f\u0010\u001d^\u00014Pg9\u0018\u0005\u0018\r]J\u000e\"4\u0415_nt\u0003@\u06c9qxW5J\u0003Q^mYT{i&~\r\u07d4\"H\u0003<\u0014z4\u0007\u0004i\u06e5\u049flogxRO?\u0005>~Y!$\u24ccO\u000b>uJ\n-k4bM@j\u001c(}a715\fxg6.6\u0002`IF\u0013\u0007\u001d\u001fE'\u0010\u000f>\u0019\u0001G;M\\i\u024cwJc\u0018h ?lT\u0010\u0167@\u0014\u0018b$\u0013\u000b\u00c7l`&jo]i\u0005\u0017\u000bH!\"ptj)Rk\u021f\"\u0018Ep(&a\\1\u0010\u0005VMV3B3v;j\u000f\u0019_E\n-\u000f\u00184T\u0006+b\u00f9\u066er\u0005[\f\u0000YHa)](bf%\u007f\u001bt\u3636\u0001\u001ex\u0018LO{\u0000\u0013I,&+r_\u0012~,p\u0006b\u007f}P-\t\u0003\u00194R(\u0013\u0002/\t?\u0011/4\u0354\u0000Pl5-c?x\u0017Q0\u0002\u0004\fp\u0018kDOUdK\u0006C\u001f\u0010a\u000bm\u0014wh\u0017\u05e4X+\"Kf7\u012aO\u0011W<\u076cu$\r]U<=XK<\u059bu\u001f\u0006K\u0003N\u0019\u0014Wi\uc7dfo:\u0010+@pmb$\u0005\u0003FH\u0725\u00156+\u00141Y\u04e4\u0000N-mp\f&h*Zn\u0005=\",\u0018+'M\u05cf-9\u0003#Y@\u0672JVmNu<\u04dej\n-,_.La>qEP\u001eh=P\u0013\u001fDT\u000e;~[\u0018\\1{m\b\u06advYL&<-\u0019j\u045a3q(\u0018*h\u0006%P\r-\u0000H8.pvHSHc'\u001d\u042a\u0005\u0010?\u001b_lN 5AU\u0388H\\GS\u001d$d1\n-U\u8eeb\u010cli\u001612qg@$vloD6z\u056bfgP\u000bB1&\u001bm=\u018c>&P\u0002=;\n-7\u000f6k\u007f\u0014v\u0007DP'(\f&-hQO\u0016|EEi\u1a95%{)B\u0013\u02a2 m\u0206}\u0001`m\u000e\u001fiEO3\u0640D\u0018bA5;(cV}mm01\\o9Y\u001fy0Ft\uf1db\u0010\u001c\u048f\u0537>`N\u001eD\fH^lt!\b>SSWzr$FD~d\u007f??\u000eB\u001a` \u0011\u0759\u0007\u0014vS\u00007'\bE!zm\\\u01f73\u051b\u0006J>\u032a\u00168z\u00e0/lg\u0014\u00140\b\f\u48b1'\u007f\u062dy\u0503]\u05c2\u0005yB\u0011\u01e8$Xp\u000b\u03d0`]b\u001d\u0283|\u01abz\u000e\u0016a\u0004\u0002\u0010\u020b*D\u05e9EZ7Vx\u0011\u0012\u007f%&Ts*\u000f\f\u0381\u0007\u00033<\u0016sHA#-X2.\r\t\u001c\u0721[6X\u001f5\u001e\u05145Qg\u001c\b\u0013MHSIRBYzg\u0006W)\n-\u0002E\u0016\u0005bd<,^1\u000bz}`a|Lq[9xx@?#g\u001b\u001a\u0016b\u04b21>(,:\"\u001daW\"\u0007\\S!@4Kf\rn\u0004\u0013P|5Q'l^Uk\"iLF\u001b%<~\u001c\u000b\u001e;c\u0016w.\"*\u0014I!\u001dP\u0005\u007ffMX^6\u0013\u0013ECq\u01f2X\u0019=3FW\u000e\u0007\u0000\u0019W\t\u0017J\u0005\u000bxI_3d5\u0016_i|\u028a\u0007<9rP#%-}{\u0005t\"$ok>\u0010R\u0012\u0006xVd9y\u001f'<8%2\u01ba-0Yp*>x/4Q(3^k^\u0005zjC\u000f\r2znP\u001a\u0384.O\u0018m\u001c\u059e\u2432\\'pF\u001ckj-:XRW\u0004BZ\u001c\u0011opv%~_LD\u0010F'\u0005^\u001c`\u001cd}kG\u0003:gQ[%\n-\u000ev\u001bDMuv@f\b\u0019\t\u4f9c$p2ye\u0000\u0001\u0005\u0019B7>\u0014W>'J\rQd0aJ%Pz%])4.A\u0010]Z\u0012\u001e\u001eL?\u0011\u0019\u0004:]\u001d\u0781py\u0016I1o{!BfL!Xu;R\u0007Z1_O&\u0012 !6\u0010*\n-c\u0013?\u0005L\u000bgY\u0779\u040c<&\tl4C\tQ4>\u0010\u0015\u0003\u0786#%\u0018;FN\u000bka\u0005P\u001eL&\u001c\fa\u07dbd6U\u0019F\ue484Njy\f\\5:\u0011\u0005or\t\u0011\u06ee[h!-+\u001b\u000e*CdtuO\u0004JD\u0000\u0000\u0013Q\u0004\u05574\u0116PBB?*L,'2%OLP9Culv\u00ec\u0018\u0001\u0589N\u0017\u000bGqU!\b*:k\u0016Q\u0013\u00124ny~\u0010\u0015*\u007f\u0603\u001f\\~{Ma\r\u0019{p\u0011\u078302\u0007]8%^]\u037d\u00011]*!\u0001$R_\u0006\u0002{\u00147d\u0004\bg\\-\b(vg\u0014\u0005\u0001_j\u001c|\u0019\u001d\u00c0\u0578,mv \u0007\u0002/\u055a-\u0017#\u0005\u0001\u00070To/L\fZ\u000f]lnG|rp$.tc\u0018:b/\u0017qje\u0010Ga*\u00075|\r\"U\u0010Y\u03ea#l\u001aX;[\u001b5\u0751\u0686L\u0017i\u001b,\u03bb3U\u001f!\u05c6?&Q\u0003\u85f7_&\u0007Hx\u0016Zp\t#X\u00050V<)f T+t\u0003^\u0015x\n-\u0003\u001b\u0018<\ud59a'@!G`vT\u04c7\u001d\u001cZ\\T\u000er;\u0011noOP\t$p\u0013\u0018\u00032\udbfb\udf66@z\u001f\u0016,m\r\u0019#\u0001|E.\u0016K\u0000'\u024ds'\u0015v\u00014j\u000b\u02c7\u0328\u0007\u0012^f-\tf\u001eae/Spb\u0007a\u007f\f\u0132'G|\u000fK\u0002s\u0002s\u0002<\u00008pY`m^;\\2Yj\n--\u0017]:WOu\u000e;jy+BByEu0\u0000n\u05261L\u036a\u0005qv\u0016ZJ\u0018\u0004\u0016M\u0004\u0014\u00069PD\u0012C/00\u02c35H^\u000b\u000b\u001eKQ]h(+0;Qe\tZi\u001fN_KQs\r\u000f\"c.\r\u00f1|:\u0000\r\u0001F1p\u0019\u0019\u001cbM\u0019\u00f8,3@-Jm(\u0012i\u000e\u0338qC\u0003>GJ~)qr\u000bp\u000b\r\u0015\b\"bZCV\u0001\ff\u000e5T-VqF,B\u001b\u0018\fR\u0014=Bt^\b\t$n\t\u0013\b=aR9q\u042f'N!\u0004e\u007f}2+f\u0007B\u0011<:\u0010\u001fF(@\b;\u079f\u048bp0 \u00002\u0000fo+3XB\u0005n-\u001bD\u0754\u042bAs}HA`\u0004!b\u0004EmT50j\u0015u}\u0018(l\u0004\u001aY|<\u0014e\u0016PELu^m\f)h\rNox~VZmKMt\u0018\u000b\u0014\u0016R#}C\uad5c\rl&\u001aP@\t0\"@\u0256flC7uYv\u0007\u02dfy,4}e\u000e ~#Y\rU\u05b0o~>\u0c14}\u001e,-m\u03f2\u001f\u03f2:\n-_\u0000\u4077h\n-!V[0x\" |\u001069(9\u001b\u0003\u000e\u001a\u001a\u001bBHl*?\u0018{F\r-\u0018! tj~g\u007f2a\u055b_V@\u04f7l9`P\u0006#:@\u0408nKq\u0014HTL5m@X!5\u0007\u0005\ud010*9fR\u052e>])\u001d7@\u001eY\u0007(l&bOyc7tLN+~\u001cS+i/R\u0014xr AQUcwK\u0014\u0005\u0016!\u0012%Hf%S\u0558\u0013VT^\u081c2\t\u0004\u0752h\ffNO\u0006\u00142_\ud08cP'j\to?\u0001u?W\u0004O\r\\\u0013 wf\u001a\u0003Y?Y\u0007\u0011=v\u0012}\fS_b\u001akl\u000ef\u00121E1z\u001b\"`\u001a\n-W/J\u001b#\u000f.c.Z\u0332;%\u0014So1\u0015\u0013\u0002\u00063\u001a\u0018'uB\"l$)N4\u06c82t7;X'#e LjN'TK\u001eGDV%)`\n-\r)2aOXT{\"5T9E@\u000bEF>14tU.[-+,\u007f,w\u000f0\u001f@ \u0018\u0013\u0002\u0014T'\t,].0\u001cE+=\u0014C\u0003hKb\u071a\"\u0002q\u66d2j\u000bH\u0016'T,=hA\u0003\u000e)xM\u0018\u0016>GZN\u0019@9\u0001`\u0001dJ\u000b5@\u0006@\u0013?.\r\u0011\u0015%?\u000f0#EsS\u001bWo=\u0000O\u0000G\u06a6;a68\u0010\u0591+.\u0016!U\u007f\u007fnjM*:5|\u0017mpYP\u000e_[d\n-a\u001cl\u0004[3\u0011\u0172}\b<\u001aj{[\u071a\u0018\u0000\u000f\u0018;1Xu^^z ?~D\u001d\u0007McrI8\u0004.\u0001gb\u000ee=`,>xnp]v5GC\u02c5C{\u0012\u0000mL\u04ac1d\u001f.TW\u0003l2\u055e\u0016\u0006V\\\n-8\u0017!X\u0000/\u0015\u001b\u0003\u0010x\u0006deb\u007fbG\u07f3:=0,LWi4L\u04f9\u000fb\u0303V\u007fP\u007f#_[\t\u0003\u011fWJXa\u0010D\u0004!_\u0007\b\u0001\u0011\u001e:p\u0014b<1{\u0281qBh\u000b\\4C\u1d4av\u0015\u000e\u001e]y8\u0004\u0013BvN\u0012M\u001a'^2?=h>\u017at\u0003\u001c\u0462cz-SW4A\u007f`.\u0016g\u001aJ\u00c5r%!rs\r\u0015\n-\u001eM:Zt\u000e\u000fv\u0014bu\u001a\u001e(C~\u061bd5\\4)&W\r,\\wif\\\u001fX\u0011}\u0007L;Lk\u0014\u0004{DJ\u0004YQ\u0006pYai\u0012\u041ezMZ\u0004X\u001bG\n- \u0010\u0198\u001f;_,E!/|\u001f|z\b&p{DC\u05e9\u0001\u001eBw0~m\u0011\u000e\rHt\u007f(F\u0004:0R\u0004\u0003:%9H\u00048\u001e)@1r\u0010s:\u001d\u0780\u0429z\u0392\u001eE^s7jAu$`B\u001brm\u0674.kzO\u0372j\u0017J\u001c\u001a\blDq\"i\u021aM*\u0015>fP\u0004\u0549\u07b6\u0018ipb\u00031\u0007_`\n-\u0017\u000e\u0011X3}\u000f|>J\"t\u000e\u007f\ra\u000f\u0011\"v\u0000\u0018/P1@\u007f\u001f/FA\u007f\fA?LY}\\\u0006\u000e[&\f9\u001aHT&5e\u000e\n-MI`HoRz|\n-Ws\u001a)@i\u0010w9R\u0004\u0017\u001c$\f_\r%}\u0500\u000f~w(5yRc*(q2\u0018qL*`;\b\u0000\u0745\u0403}'\u06a1\u0007TKFr=zQr=%0Dv/Z]jLpv-U\u0015~(=vG};,\u0015t\"\u03c5\u04cf;tG\r\"\u0399=\u0016b|\u0007\u001d\u000eW\u037aL|\u0017\u0018>n4PIGz\u0005\u0012ujt\u0000d!{O\\m\u0012OJfv\rvrvJ7G\u0005jq4\rlq\u000b\u05fc\b\u0001Cg\u000f%\u000f^\u05fcUZi3\u00156\u00120$6j0U0YW\u001aM!\u001c\u00b5\u0004uu\u001c\u0003GY\u0547\"+q\u0019+W6y\u0013=pr\u0003.nKn\u001a_KyT>\u0016 >c\u0000i%\u000f[\u0004';}\u0011\t\"\\,\u001fWP]=KI\u0003r#7\u000e\u0017)HG.\r\ud444\u0015M#\u0018>VYtYIA^\u0306Ek,A\u0006\u0007doV&:[\u066e59\fu\u0003\bh\u001a\u001d`LH\u047d\t'dk\u0010u\u01e0\u001ba>2^:v]\u001b\u0017#U\u0019_\u001d`\u0019f\u0013e\u0013$3:|\u000br2!N(\u0017pni9a$/\u0016ht6\bAk\u03bb\t3$$phPcp\u000f(\u0684\u000ezG\u000b\u054b\u0006\n-\u042b|]\u0012\u5865\u0421cy#]\u00a4r.\u0000\tm\u0473wEY+.&o\u0007/$ %M>l\u0013n\b\u0003C\\.0+PP(Y,\u001f%\u0000\fIjI\u001fUkzc!0{\rsoA1jAU\u007f*\u0006L\u001c,\u000e7\u0005T\"LJ^\u00120\u0015Hm\u001d\u0249cE/\u0016V_\u000e(\u07a3*3QenP\u05bcn=6\u001b65/pa\u001cR3\n->D\u001a\u0003]rK>6,\u0004W#\u001a:\u0010\u0019/\u0000\r26X\t\u0015V\u0005\fJrSv-\u0641'm)\u026fxlW95$\u0019}Ss\u0013$\u000e\f]][C\u0003\ud927\udf45>\u001b0\u0161]/\u001ah\u0001wX4s6k\u07e3O\fS*\u000f\u0326UM\u0018-jx\u0015X\f\t\u01baR\f\u000ez\u0019\u01b42/\u001bC/A\u0002\u0000\u05e0Y\u0015y\u0574\b\rWY\u0015\u0013+\u000bI\u0005\u001bW\u0011\ud055J\"c_A\u0019\u00013)\r\u072b~l\u0003B\u0011\u05bb&Ctf\b2RL\u0010%\u5a2e\u009el\u0003\u0438\u0014\n-\"fu\u0004\b\u000e_\u0007yo\t\u0013j> zx&#]@\u001crb NW\u04c0RTk\u001c?+\u0003C\u0017<2GR\u0001^wiNyk{_coGU7k.Z\tgs\u001d/\b}e\u0010\u001f@1\uc9aba\u0010,\u007fq1Y\u61b1r_Zy'Li\u031e|5/\b\u01a6|mmaJS 9R\"Af\u001b?`\u0001\u001d\ua629O\u001ck|\u0018d\u000f^\u0014m\u001199M`\u001c\u007f\u001buEMnH\u0010\u0105)T%<\u0709-\u0015\trn\tR\u0004yR\u001f\n-.p\u049eu5eG)\n-iq*P\u0014\u0015\u0001f\u9b3d~o\u0000c3t\u001c\u001f6 JNt}6Qg\u001fg7\u007f\u001dNx`X\bk\u45ee\u0017Vs\u000f0\u0014oYy[f5r\u001dj\u00006MWA,gN=4z\u0001O`!\u063chl^\u0003\u01db8\u007fN\u0006PL%M\u000fwon=9P}1{\u0011d}\u0003WP%l!\u0749\u001b\u0017.V\u001bW\u0003 0mV\u000b\u0006b\u0017{JS8q\u0007\u0164~b\"\u0019\u001ck\u001e&N\u001c\u0014jz>:\u0018j)MQ!D\u007f\u0016\u0012\fE\u0017T\u0542\f(]|<\u0016|Iq[?\u0001\u0013\u001bh\u0014\u056f/;\u001f>\fV4\n-\u007f\u0509]]!u;\u001f\u0672\u02c7NT1\u0001v\u0015E:KLQ\u0013\u0016\u0014y6\u001bP\u0222\u0013\"Wl\u03b3\u000fdF'\u0002~2O\u0003\u0019B+kT\u0007+R\u00073b]V&\n-\fe\"ds\t\u000b_]>\fd\u0012c\u0010~kg[\u0002SE/\u053f]\u0013\u0003vP1A-\f\u001c:=0\u0015\u053f]\u001cpcw\u001dw\u0019_T-0I\u0004U~3l:Cyq\u000e9\u0001/a\u0007s@*\u0001m[9,\u0015O;|RC\u001a\t2\u05a8k=.\u000f.sWw\u0003.e13Ut.\u053f\u001cVIN9C\u001bYZ*;xb\u0017~v>\u0214\u000e,Yv> sSyPf\u000eqzlr(?bkv\u000e4\u0019!Mt\u0005o^%%]wH4\u0014D,wD\u0018W2B*UiF\u001aR8D%Cbl^^~\u0003\u033e\\?{[03T\r\u001a]bvLz\u0307\\||i\u0018EWCA5sM*}@~#CQw{O$jO\u0019]\u046f:_\u4f32Jyh\u0189+\u000e4u\u0012\u0011\u00b2c)Zu_zD4i\u001e\u000b$#kb6Z_K6\u05c6k\u01d9m(O\u06a8\rJSV&;Q\u001dbV=tj5(,\u001b{*G\u000e{\\\u00069\r'r;\u001ff\u0000e\u001fQCX\u0708IAS\u001ag\"_\u0000?2\u01d1G1\u06b5+00\u0010|eQA\u0257=\u0006L3[fK=|\u0000d^<\u0002I WoP9\u030ch\u000f'\u0006!{\uf99e\u0010~G/gQ\u0016\u0003s\u001bH7f'5\u0003;vO,#&3y{qqz0M\u00023-;o#k'\u001ep-lt\u000f`de\u0000\u0017R\u0013uy@\u1d81Q,{,z s@vdsL,f-t\u001cn!e\u9eff8g\u0002v\u00147@\u0011+\b\u001a1?0^=~g\u001f8Ag]QyU\u001e\n-OVCX\u001b::>3I:\b&h&\u00105:\f\u0012\u0134D+\u0013\u001a\u000eaq2]l\u06benw%\t5I5Ko)PzpOJt\\R\u02e7\u0014WJ\u001eFG$\u001f\u0014E R\u000b\u0400m1\u001f0\u0488$|Nq\u001c\u001c\u00035\u0015Ve-F\u0003Az;\u001fDY6\u0018\u007f1-\u001b>\u0368`_\\9F#3CC]\u0006#o@\f(zADh3\u0015$j\n-RySr\u0013wG2:Z\u06d0>)y\u0005\u0012dtjLA\u00066\u000f[\u0436\u0c19O\u0011\u000bbJ)c\u0015'\\\u068aGp$ySKMv\u00034(QH\u07f2GC\u8d9d/\u049f\u0224\u001fOQV{\u54b58Q\u020cImScK\u0010\u001cBf57`\u0014\u0016#sZ,2\u001b]Fxl\u0016/\u0001}g~\u021cj\u007f\u00123\u0016\\\u000fb9\u000673XB>\u0015\u0013\u000e\u0018X\"2%9\"S,R/>..\u000f[0jW26S,^~_3C\t$.X}P\u0320G\u0018\u0606kc\u0014bO7k-\u001d%\u001a\u0017 }f.dIsd}\u000e}!\u0010Q\u7c88/d\u001d!JmqO5.\u0002)o1Rr\n--;-Ty:bo9,\u0003i[\u0665\u0489\u0014_\"OG.xn\u0015O>\u001d!w>z7>*\r\u000b\u0002/L\u0013w\u0017[f<|Tls\u060a8\u0000GH\u07e3yt3R\u001c{R\u0007_j_'\u001d|.?9mYktQFh\u0726bIYb@:rB}\u0090elUb\u0004SM\u0010\u0015\u0014CD/i*\u0013 j]Ce\t\fiusOL:\u047eFd\u001c&A\u05fb\u010dz}n\t\u0011PGi\u001bBOeIO2-Z\u001aE@>\u001c\u0016\u0668\"\u0175f.>}4SRC\u05ed^?\u001f83s?m9%\u0000*\u001a\u0006\tje\u001dt\u001d\u000fF.\u03f0\u001d\fNq\u0011\u0789\u0015\u00111v\u0011;]\r\u0011\u013e\u0005n'\t^*|Yfs\u0001&Uky\u5be6D*yT\u0015Rs<\u000e9\u000e0\u001a.\u000e\u06ed|EP1p(8jy\u051eRBF]gh}A\ud39d>$jf\u00ae\u001d'iI\b\u076eq[\u0015)\u0016r\u0000jK6B_0x\u0015\u0635Ur\u001fkr$'\"\u000eN\u000fWl.Q&$I|tb\"\u0018G\u000fTUcqV\u001eP65^,v:\fM.KR$\u00a1\f\u001e{r;RXz\u0211!\u000b=Iq$\u0633\u0581lnd\u001bfb,K\u0015|}&Z\u000fa\rz;4\u000b\u000eu\r-1\u001b@mFJy73\u0012z/}q|=TB|y1\u007fmov\u000b\u05b0;\t(U\u0004H\ud995\udfae8GufR[Oh\u0011E\u0015kr;/\r>\bHP\tc^\u0015P6n\u0016?#\n-^/cu+?\"B\u0489.}?\u043c\"\u0012*,\u0006M\u0007znLTF+g\u0013\u00f3\u007fZB\u007f\u001dW\u0152G\u000e3>\u02a5@i\bezLNL4|jP\u007f*N\u0016\u0007<\u0599k|r\u0017\u0019\u000e\u1aef3v:/Wz\u0019`C0\u000b.}]\u000e\u0012M\u0007Nu\u07e8!\u0014\u001fuI&M\u053f}g^;Y\u001d\u001bcJ\u076bUl?\u0243\u02ccY\r\uf3847Ah,l};Y\u001c(\u0011\u02a4$8\u0003\u0004B##0\u0004'NF\u0011v6b&\u001fW.D\u0011\r-J\u076bT9PJ~y3~\u0015&H\u0010\u0289\u0435Tk#X\u0011cp`96\t$\\\\/c\u03fb\u001d\u001dbtD\u0019R62 \u001dvTBL\u9a3a/Lc\u0003~\b\u0013Z\u0003B\n-'\u0753\u0018-sorZ\u0019-KO~\u001ev1\u007f`5O\u001b/_?|\u001f{#1g-\u001by\u000e-FQt#\u001f64_z-{D#v\u0007\u0015YC\u001eIN\u0002Jmtg\u0651R[\u0003K;[HA\u0668e*\rh\u0014S\u0007g#\u00013).Z,\u0000Pek7yZ2ts\u0003#\\M~\u0001p\f\u0012fi\u0010-\u0586]n\u0018\u0010\u001di1\u0017\u000f7rY4ou\u0016oK$D\u000f7Y@I\rl~\u001d{\u0012yl2>m\bS\"\u05f5DO;g).Fw[p\u0000]G\u000egzKS\u001dU4lC\u0006\u000e\u0010T|B?gtt^9\u03e5=JbinK\u001dv+\u0013U\u000b{N:!(2KP\u001e\u0003\u0004\u001f\u000f\u0013/q\u007f\u001b\u0017bNJ]C\u001d>QM}\u001b:]\u000f\u0001\u0016@9\u0006<\u0016=4\\\u0013S.SV9/*^f\u001e9\tI\\N\u0015\u0019mU\u0018\u001b\u384ci~\u0004\u06ea\u0019sg\u001fG; ]TSK$$kW\u0005\u067f$\u068e\u0168ytO)>\u0011:>eyd\u0003\n-1u~;gIX]\u0371aB\u0093X/Yg0J\u000f1>\u04f0\u066aF?ac\u000eA3\u0015_\u0011\u0016s@\f-U04#\"\u016eRB&\u06be:\u0014\u051fi\u0016\u0012{\u043d>]AP\u001c%!a\u000egd\u0311E)3\u0014Kr?x+\u0015)l3yH{}plg? iC'YZL\u001d?2:cL\u00105\u0019E6P-\u04cc\u0005J`6oIqKO\u000f%s\u0007'L2\u0004L-\t\u000e}Tte+KxC!U%.q\u0015\u000b\u00cb_\u0016\u0017WZs\u057fW98:O`dN3*\u000b\b\"%/9$[\u007f@3BEf]\u0013\u0002\f\u05715\uad08fC\u0005FnQ/V,>*!uAs7v0\r\u0010T*x7rJ,Sb\u0006\u0706I)';\u0013T\u000e$\u0001O:His*/8m\u0017\u0017^\u0019jG(LsKyF\fe \u00111QLB_r8e=>c\u0002|\u0017\u0015t\u000f\u0007\u07b6'ZlA\u0003^5i\u00009GUYMn(D/-\u0012x\u007fv{_W\u04e3\u00e8Fo1bc\u0560\u0011\u0018(viWZ0xR,D#0zmH}>.vsxz\bSl\u0440M \u0018rL8\u001ao\t\u0006H~jG~r3u\u01cc\u000e\u03a7x\n-A|\u001cVc8y|FUF*u\u0013xu\u001aU;\u0002O\b\u0011al!\u0740C f\u001d\u0005[\u0014)1yT~\u035bNz\u0010Y\u0019P\u001b#6'\u01f29,VWFrl/dTU\u001c9\u001fYGhz\u0006\u0003+UzUrGw[jz-_\u0007D\u0004f%GHw\u007f\u001e]H;]\u0001\u0018w\ue201}>I*&\u039ddDD\u007f\u0016\b\u0003K`Zz\u00fb\u0423\"g5u\u0007G;az\u001c!g7\tvG{h54\u001fw\u001a\fH2?\u0000>|vM2L\u0017krKDr7p%;(\u000e\u0013}\u001c]Ut\n-\r\u0010/\u0001A\u2abd\u001d\tn\u06f9&Q[dMX\u0001oC\u071ePG\u05dfWCX\u0017\ua13alKfpu|s~\udb36\udf31|9g'y\u0000\u0013#$z\u001d\u0361?iU+w\u001a2F?mxv?2A|lI.\u000ex9\u0000'K6G#=]X#\u0011-R82{\u0014o\u0001ydS\u0000I\bp\u0016`\u0015\u001b, $l6gQ*l|\u001c^S\u001dZ<\u0016zco;zHu\u0004/|3(O6\u05d1Aq3\u000f\n-\bq\u0015 m\u0017'nw\u001a\u0010'\u001dMhzj=IMH)\u0754\u0010\u0014\ubcce`\u0010|\u037a`\u0010\u0017iuyv^\b\u0649/JgBn\u0017d\u0471\u0002 :(.n\b,t+y@$\u001e\u0018\u03ack\u0018\u0019\u0010\"G_mpWjA]QI\\#7\u01aba`ro-pkJV\u0001Sf\u000b^l ZXJ\u0016{\ud4f1zs)\u7cd4.\u001dTo\"\tj\u007f}SF\u06fd/KH\rj}\u04c813J\fy\u0007\u0006\"T[o(D\"\u000b6w({Dj}s\u0007n\u001d\u0010H\t`!<~\u0005yZ5\u00017\u001dcK?Hh^\u05ce\u0012#\bP#v\u0005-of\u04c1f\u0001M.Z /f)M'3+x\u0003Z\u0011b\fMH#E&\u0006\f[(W%\ba@S{\u0007s:\u0000a`p?\u0719\u000b=K\"\bs?+$y\u01c8'\u0011J\u0014>&G@6-\u0004\u00061\u0002Y\ub474L\fM[A]m&[TxYc\u48388L1\u0019 ra;\u07db\u00c4'he\u001d\tV=\u0011\u0007{?\u000b(3{;N=\u0475S\u0007.}\"AH{yWht1[.I\u0015\u0002^\u0012l>\u001fG\u0262B\u001cCm\u001eBL\u00f1\u000b\u0014\u00009\u0002\u001da\u0000\u0011\u0019O1\u01ae\u0013\u0001%WWr\u001a\ua312g=z&=\u007fB3c\u0019\u001cwt0d\u0013UO]]\u001cKGN~7\u0011)<\u00dc\\\f`H,\\\">2\u001fC~R\u000fMhkS<@_3\n-'\u0121O;\u03ebPm(\u0005\u0010?e@8\u000b\u06ea<\u000f\u000b}\\*AEm~\u001a\u000e(\"Z}\u0005s\u0002\u000eXnV?\u0169\u0005\u001c\u0001\u0003x06'K@\u0001\u001b$\u0004)I0\u000eli\u0012\u036fy*~\u060dt\r\u0785B+\u0429\u001a\u001eh\u0012\u0011\u03f3R\u0007q.NY\u0011@2\u0019n\u91a3\b\u0018G9r4\u00014#\u05ccn9@\u0099l3\n-\tX\u00161[Pg\br/x\u0629do_?\u001f\u05d1\u001d1E\u06caT\u06e8\u001a?\u0790\u001c/Jwe\u00103UiGNe\u001cscP$Tt(I\b\u0011B\u0015SS\n-U[.9>nP=6r46U|f\u001fnw6S\u0004!\r};N5 >\u0016k1\u0011ch\u06875\u00011;\u00f9@~\u0019\u0014yew]\u0003oHG/da(sG?xv#\u0015I&*\u0336c\u0004b\u0007v\u01f0uG8v%V\u0003bs\u0004[t\u0014\u0016gmz\u00013I\r\u068f\b\t\u0014:[\u001e5\u001e!%#X\u0006oM\rf9~3\u0002l4w&p\u0004\u00d0\r\u0017b7\u0011\u0002tG8c\u0013\u0018R\u000b7\u0004u6\u001dE%XD1\\#\u0007w\u0001%[\u00edL\u001eN\u007fv\u007f\u001av.\u001e@\u001e\u03b75\u001e\u0012Z\u007f*N8CQr}C\u001c] 4Cx\u007f^_\u0000\u0019h~=,\uc140,x}(\"9\u001a=(]\\;MT=~xv2**W`5\t\u001b} m\u001a\u0012\u0004\u007fPAX\u000fnM:\t?4j\"H\\f\u0019RF\u0133l\u001fL\f\u01a9+\u05fb:\u0007:NU?\u0006\t\u001bY;:\u0001+EOy,[yY&*RWr\u0014\u0010\f\u0001\u0005\bJp\t;,\u000f(\u001f'7)iJ\u0012y]k}\u07a3-o\r_\u00039jjj\u0002L\u0015\\/TrBxU\u031bm=I'<%zR\u001ahu\n-ixB_\u04ccco?=\u0012fSo9$=&\u06e9z~\u0011_T>\u007fGQ\u0010\u0007!C\u0014\u0016?er$\u0001ryX#RSJim6&5p+\u0004?\u0015jgI\u000bp:{\u0012.Mp\b8!QJM\u001c9@od+M[5\tE0Qc\u0663#t\u0738oucNvGu6\\\u0017G\u0007%\u001b\u0012ZRh`[q\u007f1~DQB\u001c9\u0647\u00e5^d\b5{{\u0001\u0010\u0019;\u0015jR\u001c'4-\u0016<9\u000f<'\u00d3Cxr\u0002\u001eZ\u0002\u00144-\u0016<\u0005\u000f\"S@x\n-\u0002JNaRO\fUI\u00065o2\u001e\"\u0198d+\tP\u0002\n-e\u007f;o\u007f7Y \bK]WbJ\u0017lG8B\u0011\u001eV+}m'\u0018vvl\u0019H\u001eVY\u001e\u18552<2#U4KRQ]\u0006]B&'hb\u0018t320o%40hZ\n-T4-\u0016<\u0015\u000f*SAx*\u0002\u001eZ\u001a4-\u0016<5\u000f:SCxj\u0002\u001eZ\u000644-\u0016<\r\u000fSMEq&\u0019/n\u05bbZ\r&b8Y&l,\u0017bY\u001dk\u0002\u0006e>1\u0019\u0012jmg\u0014{&g\u0001p*OK\\\u007f??\u001fi\u001c>\u000bh^~^T\u001fa<1\u0004pe\u000f9\n-\u0014$wQ\u0002>F@lBh\u0000\u001chzkqG\t>&pMhZ]\u0017f*\n-FD*\u07abiv.Nq\u0015\u01c2\u0012e\\'\u00a1 Zva?f]\u0019\u03ac\u0014;FW\u000f\u0015\u001e@3ad(wlR{dyDw%=Jl-slo\u0287\b\u0005Fn>bbf][\u0007S.&^\u007f:i\by(\u0018\u0004\u0004<\u01efej\u000b^E(!]swLxw{>\r\u046068*\u0154&I\u001e7\u0005\"gIV'\u0797xW9y7L\u05ee+Of3D\b2C^6$ngl+\u05f3\\\"pN\u04603ErI\u001deW1JX\u05b8\ubee6*31\u0005T-juh;[w]6%^/wF.r\u0019;\"I B\u0006$<\tdGkjm.\n-[\u03aef?4\u0114V\u001e]\u0011\ra\u00c2PQ\u0275l{g.\u0019h8O\u000b~-M\u001a@$@\"\u001c&n\u0018@CPs\u0006s9(\u0005\u0003sL\rH\u0289G\u0006f \u01dbs\u001c@\u0003#@\u0014P\t\n-\u0002\"\u0002T \u0003`\u0002U@\u0015\u0003*\"@\u0015\u0014P\tJ\u00022\u0002T \u0003d\u0002U@\u0003*#@\u0014P\t*\u0002*\u0002T Mj+\u0002Xw>zb?&>n5\u0012$\u0507^P9\u0001\u000fG+++\u0013DW\u0591\u0013x6_3m\u000e\u0007\u0000UG)\u00125\u0004PM\u0004&A\u0007T\u0004\tj\u0006\u0000Dj(\u0012M\b&\u0011&\trvrfE9\u0015\n-t\u0011Cd\u0007\u0011\u021e\u0018\u4117+xG\tr,s+\u000f}@\u0000\u001fP\u001e\u0001\u000f(\u0019\u0003#><\u0447n\u001b#\u036f\u0017vn\u0013~^/\u06fdPJ{\u04da\"E(K7s\u0019so_?W\u000f\u007f\u001c\u001c:'\u0014\u0017t\u0002e)(\u04cf~s\u0013L\u0005Ej9<{\u0013URGVlBv\u06cd\\b\u001ah\u4837\u0004\u0331$\u0331l\u0002YRE5K[\u000e\u03dc\u000e?yj\u000e9DiN`8\u007f\u028d0\u008dG\u0018y \u007f\u00179\u02cd\bR\u001a\u001fZ,MKD\u0093gI\u0018HT*o{-\u007f\r\b\u007fc%)X| w2\u001dgjM\u0016H\u00e184\u0005C{_b\u007f/W \u007f#kM,+\u07bf\tp[`DL91h\b1\u001e)FfP\u031d\u0010'@\bQ__zm|$>'\u0010\u0003\u0019\u0012}Z$I~n]\u001ceTU2k&\u02ab\u007fkZ%O!zP\u0349yq0R\u001e\u0524Hx@\u00074/\u0013x+B\u00074\u000f=\u0000\u000fh\u001e\u00074\u0019\u0001#\u001e\u043cJ\u0001U1\n-\u0000b\u001e/\u007f1\u0019_#\u017cN\u0001/\u007f1\u001f_#\u015c/4#y\u013f7\tr<\u017c,|vq>\u012ay\u001f4;-bc\u001b\byx3ai\u0016j\ub39e+\u0016\u007fjP9\u00019G<(j?\tj\u001e\u00049\u04dfb[\u0714p#+v^me\u001cxU\r\u001bG\u00c5P#s',x&}\u04a7\u001du\u001fs 69z!.\u0007rWs\u07dcrAr\u0728\u0012\u0002p\u0000@hHr_I\u000e4qM\u0012\u0002pGdEQF\u000e\\\u001b9\u0006}_DvE\u0013\u3388\u0000%I\t4)IB&\"<\u0011Y0r\u000b#\u0007\u001e\u001cw`$\u0478lF$\u045f\u06b5\u04277\bsP#\u0011TFP\u0779\u0011T\u0011Tl#\u0011T\u0011h(5&\tlMjIkB\n-\u04204@$k\u04b05i&\r\t%\u0000k=jFp\u0593y(\u001cYq\u0004`@A\u05d3I$d'{:?sdbjJr\u03fd4\u001fB2D-vD9\u0002Ns|\u0005\u001c@-:K\u000e}_\u0002V\u000bjX\u0542Z-jW\t\u0001rT\u001ch|Mr&9$5!\u0005;\u0016t-\u0779I\u05a4\u0000\u0014&\u0000%I\t4)IB&%[\u0012hR$\u0004Zv6oz[\"\u057c!o,\u03721b!\n-\u016e\u0002U\u854f]\u01ae\u0002U8v\t\u0001bW\u001630w)\u0676y\r\u0204jjI5Q}n\u0016*\u0016/kawNfWr\u0003L:a[I\u0003\u0012/\bIk/B\u023a,%\u0007\f\u0006\u000b\u0005\n-O\"\u000b|M9/\u0018kb\u061a\u015aI5}\u0003\u0005S\u007fDUJtM_5}I-K<\u001f[\t\u04f1dF2-VS0XI$\u0016cH1\u0208+\u0010SN0 \r\f\ta\u0005^\u0017j\u0015\u01abn\u00ebj3\u05c4uk^@\u00025ha\u001az]DEd%\u0689e|K\u0019i(ZK\u0014sT3I5r\u04f3w\n-\uf534)kNyw\u001a\u0018oShS\u00b0i\u0002!2@\u0011\b\t(\u0001p\u0002t/[\u001cQG?i|\u001fe\u000e}9LJq_L:9\u001e\u0361{4Mj|F'p#\ub6d4z\u0015\u0004`cp\u0019n\tp-x3e\u001eOL*-7;\u0006\u024fH\u001eBS[\u0002-)Kt[A:]\u07c6Ex\u0772\u079c.{\n->+|[|o\u0003v7c\u055dg\u001f8I+V\u028fTXK\u0005b-\u0015\u001ekI\u0002\u066e7vy3\u06ae\r7]\u0013 5X\"&/uF4W=F\u0745R\u01e8/\u001dz.5\u0017NUh@\u0002\u0001\n-\u0002UV\n-hIRwx\u00011+?2W#s\u0015Uxd.)\u01ce\u01d2;v\u0012\n-U WQ\u198aSb\u0015\"Y\u000eU tV\u1873.\u0013\u0014\t\u0000eB\u0012\u01cb\u0195\u000b={\u0195\u001fDA\n-\u0004*\u021f_Z\u05c7~Y\u0017Wk*=Ou\u00174#\u001b[I>\u00c89l4|\u001aZ/4A(\u61e2k\u0018P4\u00da'n@\u0002WJ\u05fbi\u0015.4!\u001a\u001e\"\u0248{~Q\u0334\"WSw\u000e^/\ua199M\u0014M\u0019%n)\u0019|\t\u000e\u001cY4&S\n-{\u001bO6OeD;UI*#VO\u001e<\ufa2e\u1513|Mr&9$5!\u0005(PM\n-IA\u0012\u0012\u061dbz\uec11{5_\u000e\u000b`\u0260j7H\u0315&\u2aa9eZeR6\u0002J-\u00b4/\u001dz_#]!\u001dAHC{\u001d\u07c1\u001eiU\u076doWI\u0001%dWx\u001e\u0007q\n-\u059c\u000058@\ud1c8kv\u0006!\u001a\u000f\u0011'tPP*\u0000JE\u0012R@|P*6(\u0015\u0000AI\u000eN\\)N]\u001e\u0012xp[A\u000e5\u0011\u0001>\u0011+R\u07c5\u0017r?/\u0015n_\u000b_sb5+v/I\u0757CI\u0000\u001c\u001f\u06af\u0661\u001ak<\u001c09\fw\u042fpz\r5\u00159\u0015Npz\u000e ^.\u0013\u0014\t\u0000eB\u00122a2AA\u0000P&8(.S\u0014)\u0000eJ\u00122e2AA\u0002P8(.xXMH\u008e\u056cxX\u001dJ7Gb\u001a)<`0X(PxX\u0012\t4\u001eV\u0383\u0002Y-\u0002Y5\u0016Jj\u0004j<\u0015M\t\u001a4\u0540@VC\u001a<@VC\u001ex\u04dd5D\u7064;k`P\u000f\u000650\u0018\u0010d\u0010v\u00121\u0014R\u0018\u0012\u001b\u07bd&7|~\u0003}\rg$e\u037d\\\u0014|W\u007fDe')Yj7Q2u\u007f\fiO(QO;V\u007f+-~g\"\u001c\u001cqN\u0012\u2012@}Pr6(9\u0000%A!u)PP\n-\u0000JA\u0012R@),cU2($C>\u001dh@\u0003\u0015I{k\u04fb&#R\u04fb<\n-\u0017\u001a4\u04408FC\u001bN\u001ca1\u001a?\u0470\u0018\rc4x\u001c#KR\u0001P*\u0010\u0007\u0005JRA\u0000(\u0015\u000e\n-KR\u0003Pj\u0010\u0007\u0005JRA\u0001(5\u000eJBn\u049b\u04ddI_hWy*\u8a7c^-o\u07a9\u0017\u074e|\u0240~U\u007f8i'|2\u01db\u0006g\u0004\u0018\u07adc\u0086\u0010[c9\r.\u001a]4wzqb\u001a\u001f\u06f0\r6?6\u001b:o\u001e|\u001a\u0004\u0018l\u0644g\u0013g\u0013H\u0001&S\u0254$\u0019SPu\u0007\u0015\u007fh|\u001fx7\u0007>d\u0007s\u0007'\uc0ed\u0430\u0002\u0001\r!;\u0010\u0430\u0002\u0001M(\u001c\t\u0004\u0003\r2@@\u0012\t4\u0010\u0006a.\u0013|\u001a4\u0003lCr!A\u0016\u0006\u000b>$C\u000f\r\u001e|\bt^P\u0013n\t\b>L(\u0004\u000f>L`aB'\u0013^VAESuW\\3Z\\,O\u750eY\u0213\rJVa[\\dB\u0019\u0301D\u0013[\u0013XG,NL\t\u531eG\u001f\u0017\t\u0000K8\u0000d\u0007\u0014gtT:\\\u00036r_m\u05c7\u02eb~q-)\u0017\u001f?V\u0010&\u0018\u03ff>dRas\u0015o\u0017\u001aBOHi\tN\u0002\u0724-$\u0012dZJC,T|{*\u0002Lhbf\t\u0011JSbL\u001f1\u000e4\u001a5\u001aC\u0184F\u00149Q\u000e5iZY,by\u0000O\u0387'\u00048{ 32MI,G-\u03b3'kwe\u0005\"uV9\u001fn/Mr\\C\u04f3~qAv;-\u001dL\u0013/Y&\tk&u\u057dFX\u0012\u07d8\u00009n\f2!\n-mS|LP\u04b4l\u0017O*\u0011D0_+EZS\u0015V\u0017\u001c4t-A\u0630\u0014=B#c9\u001ey~\\\"u\u0016\u001e\u001di_\ud8b9\udcbd3;tU\u001cX\u00118\u0010C>$.\u0010\u000eI]\u0001f\u0012 .H$\u001c.3\u000bH\u000f\u02d3sd\u0005~,\u001b\u000bz\b'VB]$&A\u0012#\u0017\u0013NOX\u001d\u001exc\u0018!\\1.#\u0006a]\u0003\u0294\u0005J+o\u1798\u0012SM\bIG&uP9r)%\u0007\f\u0006\u000b\u0005\n-z.\u0004zn\u001f \u0303p|\u047a\trs\u047a-MuIu\u0013h]#6C\u0018,Sh\u0014\u001cR)~n\n-M#;Su\u0018nc\u05caEOPSy)<\u000f5%C%%\trzCu<s72P,\f7boU^Eh\u000efS\u0010\rX\u0019f]I52.}O`\u0014`\u000f\u0010J\r\u0013~o\u001f!=\u07b5\u0017\u001a:l@\u000f\u000f&c\u001ff\u001fF\u001bxU/f+\u001a\u0018?Hvmp{.lo1>f,\u07f5p\u0392-l]|0)qINLe9K\u0699\u001bBl\u04eb\u001e\u0010\u001a\u007fO\u007f?\u000e\f*I\u0003OPU\"\u001a\u0001r~c-\u0005x+Wr\u0012\u05f9\u0507V_V\u0006\u000b\u0010\u0003.?\u000798Kt`$!_I\t4)qMH\u0001*T\n-hR8U\u015a*\u001f\rJ\u0005@pPH]j\u0014\u001aR8,Pj\u001f\rJ\r@qPH]\u001a\u0014\u0006\u049084,P\u001a\u001f\rJ\u0003@ipPH]&((\u0013\u0000\u0284$\u0001e\u0002e2a2\u0001LpP\u0012V^/eM\tJ\u0017VLnJH\u008eMY1i(\u001c\t\u0004`@AcrI$\u0418\u0014M\u0011A\u00109M\\\u7818\u00161)\u0016KxL1?\u0007\u0417!v!\u001f\u001dD}2\u000fH3~\u0004IB\u0004\tb[N'gj\u04ae]9+\u070fG\\It\u0012p\f.d\u032adfw\u000eV'G\b\n-@12g\u001d\u000b\b\u00c8X\u0006m\u001a;iS\r\u0018\u06dbQ*\u0018\u0017aXNC\u0015fS\u000f~\u0004;\teW\u00062O\u05edZ\u00171\u0002\u001c8f\f\u001d\u0013=KFl\u000e{6i\r\u001eYj`q\f><9\u0001\u000fRS@x\n-\u0016\u000b\u0007O\u0011S) <\u0005\u0001\u000f\u0012K#B>|u62.@\u3034\u0019(\raW'\u2172XD9,Ni\u0016\u00177\u001099\u6f6brz\u0011wv\u0005.i\u0165z\u001c4|*\u001ek7G!Mu91\u025e\u00077\u001c8`l.\u04adTOoR*IE\u0010]I\u0578\u0471\u001b\u013b\u001c%:K0K\u0010g,\\lPJ\u0000JBRT\u0000$\u0001bRTlP*\u0000JBR\u0000$\u0001fRlPj\u0000JB\u04a04\u0000$\u0001a4lP\u001a\u0000JB2AA\u0000P&$!\u000e(\u0013\u0016(\u00057.\u0006\u001c\u0002oz\u0015M\u0010\uaf6cW%%\u0013\u057aWv\"\u00b3\tn\u0001dMQ\u000b\u0002\u000b8\u00160eY\u0007e\u0006e\n-@P0\\\u001d\u0019R\u0017\"2\\`(\u001ct\u0004`@A\\\f$\u0010T)J\u0014ap\\\u0001\u06d0\\sK1<\u00a5.Y\u0016[yn|+^.>lgaYoPz)r\u0007h\tiea@\u001cL\u0012\u001cG}/u\u001c90y\n-\u03dc\n-?yj\n-9hP\u06d8&${\u0001\u0016E\u0013e^\u001d\u007f\u07f7O\u0346w%Gc\u0018SP,\u001b eZ\u001d\n-\u0012)X\u0630`\u0014i0b?\u0005Cx\u97d8b\u0012!\"((Ob5o\u007f\u001b-_\u000f\u001b{f?v)W*_\u0005]\u0011\u0163\u0304\u0014HB\u0014Bv\u0014B|\f?\u0004Lx\u01e8//M|sIW1gu&` V\u012e\u00153vz.\u00161\u0006Ue-#xgfi_giP\u0015FZ\t\u0000\u001c\u0018s\ua618Sy0\u001c\u03a99M+Y\u0019x 707&xI\n-\u001c\u0002S\u0434X\u0014$u\u07c6eH8XB\u079b0x\u0011\u07c35H\u0005I]w |\u0005\u0013ju98\u000f44xguFHk\u0013k\u04095IK\u001cR=3c?l;fm l;\u00f6nhl@\u007f6$!L\u0570f\u0007a\u0000P\u001a\u001c\u0014R\t\n-\u00042!\tq@@L\u0620L\u0000(\u0013\u001c\u0014R)\n-\u00142%\tn\u2458\u0017]*\u0017\u076bK\u05f8ZS<\u0017\b\u001dyY+~\u03d5\u0017bQ\u0492yOq\u00138mf{A|\u1c1a/\u017fC+\u001c4\u001f\u0017\u06b5F:<\u0003\u0013\fLW\u00d0~g\u001dW}\u0000\u04bd\u0005\"cB!vDx\u030a\bCHP+%g\u0004\t\u0010\u0006GH\u00111\u001e\u0011\u001e#\u0303\u0010.s\u0010\u0011\u001e#\u0011\u001eA\u0011-\"c,z\u000fi#\u007f\uf789-\u0017\u001eAXrlf`Q3\u01fe}\u03d6UBW\u00009G\f|K\"|}9I\u0005My>\u04f0<\u007f\u0018Xa\u0001]4\u0001?\bOgbD\u001cz:\u0019]Yb.[Swm;Vtz)\u0016\b\u0018\u05fa\"f\"qzxzV(',323,3Rdx\u0499Q\u0551J\u022a\"iCPx\u0087,\u0707C\u001fn^\u04f4\u3297l'\u000b2\ucdcb\u000f\u0007AQlK3Y5_\u0010X\u0397|\u0019\u0012L\u05ca$\u0012-sG-Ohj\u007f\u0001\u001b\t$b[o(J7D-\n-y\u0003E\u0003j\u007ft[bxfMYZ\u000bq\u07f08H?\bBx;\u0004\u0011@&A\u0011N\u0011$@2|\u00146G\u0011TL.\u0015\u000bX1 *&3z\u0248QV\u014ey\u0001q\u0010\u001b\u0003|c\u0018\u001b\u0013\u0001J9\u000eO\u000eiZ\u00d3g>\f\u001f\bH\u00053|\u0014A\u0702_;s\u000bv.cD\u0014**hZU\u0284oV\u073f\u000b\u078a\u0747\u001b\u0015n\u05738E?^Hmw\u000fT1>7g$Z\r.vJh\u0015\u0000Ps\u001cT~\u0017DU]_\u00ae/iZ_,'7\u0725\b*\u001e\u0017\u0005x\\\u0010\u0015\u0019Z#\b_XtM\u0003}C}q,\u007fg\u01a7\u1496?#F\u001f5,\\\u0312o3s(\u000eV\"\b\\\u0010\u0010R\u0017|\u0011\u0002 ;R@\tW4|C\u0013/hR\u0017\f|_r@)Y\u0004/\u000b\u0017KR\u0001P*\u0010\u0007\u0005JRA\u0000(\u0015\u000e\n-KR\u0003Pj\u0010\u0007\u0005J}Gi{\u001fI\u06b1\u001f\b\u001e\u0003c\u0010\b\u001eD/694\u001c\u001a\u0010\u001c\u001a94_,\u0017\u001e}Gq~t\u000eAtO\u0013v\u0017O\u000f/\\~>~\u0007#=\u0007=|K&#P9@hZ|Q?p\u007fyX\u03b6#IYcYMrt\u04ed\u000f^\u0016%E\u001cQ\u007f\u0006R\u0005\u0000%T\ty\"\u0005\u0016D\u0003\u0000(y\u0000wE\u0000\u001c(\u0006HUD(*a\u0002x(*qgNx\\p}[\u001e$>\t\u0018`\"T|5D!I\fs\u001c~\u0006\u0014\u0010sWc+2}W\u0019IQ\u057dUy;\tYEN)d82{p'z\bw\u00174-zZ\r\u0012dX:l&Uqm5_\u007f&(.y\u000f\b\u0002\u0199\u001cv\u0015\u001a4\u00015TU&/*mCP7\u0004\u055c<\u055cCWs^\u04b4!b\u001bW\u0017z6(\uc787>e\u00cdzCR\u0013\u0015-C\u0007_9\u0017\u713f8%8\u2f22iqv'y\u069eg+MQYR`>;T&h\u0765V\u0013U\u07d2,C\u0017$SxV}5X]\u001dc\u0005 e N\rlxV`2*\u0013\u1285oD\u0406\b\u0013,\b_\n-c\u001dON\b7|w\u0013nR\u0017\r;R@)-\u0011KSaA_2\u000bK~\u001aK/\"\u0016^\u0097]pEO\u0012)Yhx\u0016\u0012-Y\"%U\u0010\u010bhfI\u0016+\u0012v\u0226\u0019\u001f!2X+*bITTdtJj.YJ^\u0557nWX}\u001b\"@e;\f\u0007y\u000e sWh|\u055bv_d\u0017=+A\u0473\u0012/zst\f8sI\u039aK\u7b9e\\vw7}z_d\u0017+A\u0012/\\\u00025\u0002\u0018vA\u0012\u0018v2\u0007`R\u0000P\n-\u001c\u0014R\u0012\u0005\u0004$!\u000e(%\u000bk^Y,Aob\u0004/pa\u0011[XJv!\u0012\u0014+Bv\u0271S\u0002\"\tq\u0006a\u001a\u000fJ\u0006\u0002T8(.5\n-J\r@IB_f'7}uk\u001a~%W5\u0620\u0000{hHB_f\t\n-=\u000b_d+A\u067a\u0012/[\t\u0013\u0013\u0017\u0649],|%,_\txYd_MNNN\u0007{9\n-\ucc82%(+Xe\u0005S}\bhy_Vd\u0015,ireC\u0007\u0006\u0002\u0005\t0@&%^V\u0010\u001cK8~D\n-\u0002\u0003\u00025-\n-X\t>~@MX\u0011\u00166&\u00002\tBpJ G4\u0007te~\u02a0\u000e_\u026fW:|%Qa\u0002aF,6\u036fy\u0353wr\f\u0011j%FX\u0012\b\u0019\u001dFC#iZ_[\t+=oeP\u001dW+au\u0002\u0002vAJX!\uf6faV\u0006J~\u0012+ZyK\u001c\u01ec#\u0003p\u001a\u0003!tg08#\u7012@\u027f\u0007c\f\u0086\u07cc\u0007c|\u001aLy\u0011N\u012cHv;>')\u001cT\u0005~\n-\u0004\u0004\u007fS\u00041C((%\u0000$\tq@)Y>(%\u001b\u0012R\u2810T((\u0015\u0000\"\tq@XT>(\u0015\u001b\n-R\u1810((5\u0000&\tq@Y_\u0117\u062f\u0000}c?\u00044f \u00044C@nmPh}4$!}4,h)~\u056e\u0007zu\u01cd\u0018\u010dx(\u0471\u0013B&B&$!LX\u00162AA\u0000P&8(.S\u0014)\u0000eJ\u0012jYJPw4\u000bd\u0002Y%(U\u0005R\u028a\u040c\tI\u00111+B3\u000e#@\u001e0\u0018,\u0014(h&\u0004\u001a\u0019\u00111<\b9\u0007\u00111\u0012\u001c\u0014\u0019\"B3\"4I\b\u0018\u0004:b\u059eh&\u0007\u00112\u001c0By=\f*a5\u00073\f*WU%\\U\u0012\u0018]B\u0018JRhSa\u063aJ;j\u012f_r\u0006(gP\u0019K*JX.$%1\u0006@@&'\u000e\u0006s\r\u0001<9\u001f\u001c\u0093\u0013*\u00158<\u0005i\u0005\u001a\u0015|\n-QAhDKQ\u001aP\u0013dT\u00037VK\"<+eu7\u0017\u0018\u0006{q\bE>=\u001b0\u0468]\u001duC9\ucbf6hv-bF\u0017auBYn?6\u0004?)\u000bTe\u0004 \u0012d\u0004r?2)Af%:\t:(oXE\u0012\u001d\u0005V<:2\u00136\u0001Zr lvf\u05ad\u0767v1[C\"d\u00186\u0014\u0000\u0013sT\u001a\u0001|z\u0006dJ9\u0000\u001c\u00180stIZst\u0005\u82a6z)WL\u001cO'bH_F,f]w*\u0007`n=\u04cfl?L3R4\u01ec\bfs_,\b\"&%c-JDAi>J~\u001eZ\u0005I\u0012?\u0010\u001e 4\u01e7]\u02e1\"^\u000e^/\u001a\u001cjU^|Yw~\u7cd6V~f\u001et%\u0017#uV8X\u02a5(%\u001b\u0012R\u2810T((\u0015\u0000\"\tq@XT>(\u0015\u001b\n-R\u1810((5\u0000&\tlMjIkB\n-\u04204@$\u0786\u057dW\u0016P,\u062d>p_R@\u0014oN\u0777.m+SJZI\u0562\u0015Y\u058a\u007fd'\u0396b#':Ucja!'H\u001fdOr\u07784H\u0004Gu9UXC\u0001FwD|%Sj\u001b\u0001)wr~\u001a|W~_W@!?\u0012iY\u001d~c\u0000x\u0006\u0017\u0000|\u007f#\u0003ej\u007fC\u001f\u0006>8>8>\u0018\u000e\u0005\u0006\tFP\bf6M}eoc\u007f\u0283K\u0006\u00078\u00058\u0007\u0018\u0001'^%NK\u0000Dpt\u000bW,C9A\r(\t\t?D/.ESSOp\u001eS'\u0004\u0000f\u0016M*:nD.\u0003We\u0014\u000br\u0424\u0295:\u001d\u0446\u0012V-p\u054dNLUj'It7sD\u0003ft\u0010{\u00174\u0017\u0016\u0002_\f\u0002\u0017A-\u0005/\u0017W(/2\u0013o\n-d\u0010(PN\n-\u0017Ip\n-_(yy-By9\b\u0014R(/\n-h3t\u5fceP/\u007f\u0150;2\u0006C8wd{?\u001dAK\u0001M,AKc[g5\u0010+\u0018_\f\u0015w2Z\u0012%\u02f1\u007fr!\u0018\u0592\u0633dpNZ\u001c?ar\u078f3?OY\u001eb~q\u000f\n-)VY,\u0423\u0001;N\u0012\uf087mmWAtVa5W\"FY\u0017\u0130h|W\u066aTb\u0767tBJeu\u077a\u0012obO\u0006,C)N\u0003\u030e\u0014VX6jmU.:L+B\u0011\rnJ\\\u001b\u001d\u0015\u000e/i]fm\u0001P\u0012\u3c32\tb\"O\u72f2\u0011y*\t\"\u0002VG\u0577Y\u001412i\u06e4\u0019b,8Du\u000bj \u0018K\\0n=\u0000W,c=\u0012\u8e1bl\u00022cF\u0017\u0238Hr|;/w^<\u0004\t^x7^<}\u0017\u0017\u03ffq\u0011\u001c{\t\u0004\u001e>7\u0007'\u001cxrp7\u0007'\u001cxrprP\r\u0664rYr*+Kde\u07e9\u001031\u0012,m> @|#\u0010(DGd\u0010\n-\u001b\u0005\u0015u\b\\-$b%\u0001-\u001aNI\u001b;\u001d\f@G3Tm\u000b\t !Ub2K\b0\u0000a\u0005\u001fF\u00104|GJ\u0013iU\u000bm\u000bPGWL\u0011(re\u0012\u001cu\u0588A\u0016V^u\u001fQ\u0016\u0011-O\\EX\u0001UCt)O/\f%hb8^9\u026e\u001b\u0014\u000b\u007f?\u0005-6]dGX\u06a0\"\u007fr;\u0001e*[O\n-`u\u001e6<6nE\u0014{\u001f(f\u00188%\u000bk$iy\u0018f\\\ty\u0000es!\u001c\r4\u05de\u000b\rwIs\u0011\u000ek\bc\u001eM,\u0007wnY\u001fi[}o#a\fI#:]#\u001b\u054c\u07bf\u0017t<;lE\u0003pKE?\u0003\u001313\u03d3E\u0011h>\bC \n-%\u001e\ub8d0!O4\u007fU'|D`to \u06a4\u037a\\F7'\u0007z\u0001\u0002\u0013r\u033f\b|PR8{\u0011_BtS0lMDku)\u0016iv/L\t\\2H\u0007l\u0015.\u07ca\u0004\u001du,.lvu\u0019GB\u0014MX\u007fB.Ksf\"\u0011\b\u0002\u0000p(\u001b@\u467a\u0013L\u001bPDV\u04bf\rYl3\udb86\udd3cD\u000fo/%\"QE\u0003dj|m\u0003<.m%\u0004h\u001dM\u0001,h\b\u0001C\r[>p\u0138o1Z0\n-I\n-UO0MJ\u0012}]}\u000b(,>GU\u0748\u0016~L :\u0013\u0014\u00111\u0010,\u075e\t*`J\u0017+<\u07d04a$\u0760uW!f~\u001e\u0000\u02a7!]\u001da=\u0012^\u000fM)Jq0\u001c=w\u0019'z{h4No\fN,mr\u001f'\n-^OI\u02e5\"`\u01c0jb?P\u007fj`8vfg<2'=JQhg(\u077f\n-t\u001bp\u0019\u007fLWI7F\u0007k,-Ss*9YM=\u0544A*m\u000b+j j71\"M\u0018V\u0013vX2\u0007\u0004'\u0015#R#x} W2\u001c9Ms\u001d\u0019(UkP3\u0013\u0015t,/oXG&;\u0005U\u01cbZR\u0015\u00db\u017bwF\u001cm\\-\rP}\u0005_\u001b\u0000r @AlDUHz\u001cZ4\n-e8@7;\u0010.(Fx,\u000e;:CHD \u001fgonl~4\u007f\u04ac\u0000x[\u0013(\r\u001eNVbY#7E\tjDS\r\u0001h\u017e%Cg{z\u0281rm#\u001e\u0007^s{\">b8\u0012x*6b?I\u0015W\u069fl\u000b~\u0002B\u0002\u001a\u000e}U6r#E#)Z\u000b<\u0013\u001cL5cXgiHpeYD\u0010`)V\u000fCl\b~k+\f4%1U[o&N\u0015eo@8\u0015\u0004ck\u0000PgL\f\u0215X\u001f\u000fvX\u001e\t\u0180\u0010Q0F\u0019\u0017`q&\u0018\u0197\b:!*\u0004,\u0000\u0010Nc\u0018\u0017.\b|n\u001b\u001c+\u055f6\u0018)KHrj\u00134\u0016{\u0005\u0015h8Q1FnH\u0019'QF/\u0012|5!\u0005\n-wRj\u00030wb5X'bVVt2z\u06b9C\u001c\fAw\u0006Myu\r=HI#E\u0016\u0012Q|dY,\u5b75Bh\u000b\u001aLn\u0015\u000e\u0000_!N\u000fJj!\u000f$\u001bs\u007f|LAX(6U\u001c\u03ed\u070b%Se)5\u0000A=P\u0014[}\u001dFYm\u0448h*M\u001aia\u0014}|,:HYC#<\u0016\u0012v\u0004CYmH)aRJ\\\u00d6\u0012=f|\u0517\n-\u0001\u0007'W\u000fP, I\u000eckX\r.I\u00d8\u0011Kx\u0016m\u0754\u001bo\u0773\u007f\uf052f\u007fgS\u0006\u0012\u0007Bq\u001eUc\u000b\u0007P&\u0012Q-bG8(\u0019dj\u0007:o-p5L L$^\u00051\u0005I\u001f\u0335N?f$\u0011@\n-RmD)|\u0016\u01b2V\u001b\u00143\tv'l\"Pfg\u07fa\u001ac\u0001u)\"\t\u0130VBx\u0010*fl#\u05b52@zr{I\"\u0012QP\u0019\u001cC50$V&HZe_;\u0014a\f7%?\u0012V\u036fV0E>\u000e}]-`\udb85\ude1b5iQ]Fu\u000eL;\r< e\u0019\u03bfY>%H\u000bA\u000eV\rPJ$`mN~\u519dGJ\u000e0i>NK\u0010Q\u001da \u001d\u0019\u0005n\u001a6PEj9\\\b\u0016\u0013l[Kg\u0003E[rx6\u00181e\u0005@D@>\u001a\r}dIy\u0011yGb~!e\t:G\u0015AF\u0007L\u007fvj)!DN/xgdz\u001e%\u0006\u882a\t\n-B(PU\u0006Z\uc129\u00118n\u0017{}m1s]'TE\t(aZ\u001a\u00172\fWO\u0005\u03bf}Z5U\u076a?@?0vhd8c?sL\u026d\r\u001c\u20e6\b\u0013q\u0002yY\n-nN_\u0015*WTI\u0005\u0007!bYG\u0018A\u000b\u0010]IE^K\u001dv\r]lZ+&f\u0605.\u0272udwA+\\\tjq6_VKYXnKJ\"l$<\u0011I\n-YHrGm\t8YnHX\u0000iEGcmr=aY%E8KFR@9$_<-Cv^&\u0003 \u0002bN\u0010QR\u0775\u0638\u0001ml\u00106qKJv[~%:Okd:\r)\u001c*.f*S%=\u0016M8Ont\u007f&\n-V(W>\u0015\u0016q!\u001bI+\u000b\u0000\u001a:\u0017\u0003UrM\fbq\u017a\u001b07\u0482eH}^}|\u04cb\"\u0007g\\\u000elq\n-H)sKXT:[f\u001a\u0017\u0002\u0011V\tW\u001d\u001e\u0395\u0010(\u0012\u054ef\u0012\u61541(Cs3\u0014Rj/4\u0015\u0002#\u0018!\u0249dE\u0018\u0003\u03d19R\u0007\u0015]g8L)\u001b\u0005\r6\u0012v\u001c\u0005\u000bbu$\u0015\u000eC\u0006c\u000e\u001c0u.[l^\u001dE!\n-\u0010\f\n-vP8:\u007f\u0016'O'U/\n-7\u043dov\u01e0\u0018d\u0017gvm[r\fs\u05c6\u001f'U=\u0015F\u0495\u0001\u001fW_\u0013\u001b9.I.e(`WZj>\u0018d\u070e\u001c\u0623\u000bQts;[];>?\t'87/O\\/\u001e`^*',,x\u007f)}R\t\u06dc \u001ey\u0018\u0001V]eC\u0013@\tbZZ'YV\u0290q\u07cd<\u024fH\u0010Ap@WwP\u0005)\u001b+,\u001a6\u000e;\n-\t n\u0010[~7\u001dQkD\u00187\u0019\u0003hUd\u0007k\u001asnIYU1^5B\u000b]O\u0017v'aA'\u001a.t\r\u07ae wfv5Z\u0016-;\u0011M\tk\u001c\u001fpxkmc\u0006G\n-v/]r_\u001d\u06f9\u0006Q`\u000031W|%b\t\u001d\u0014B\u0011bzl\u0018G\u001e\\0#5Ih\u0013Zh@i\u0017;q\"\u0013\u0014!\u06d9N6w\u0011h(\u0005,ZD/y~*Y\u0006x\u0003\u001f\u0003w\u03d7Zs\u0017~\u0490A\u0015\u0018{b\u0478-}\u0010\u01695Xm\u89c47wo26X$p\u0019ET`\n-\u007fax\u0019\u047e\u0011PG;'\u0000\u001coEa]{0)U2\u0016,P4\u001f-Y6BQlB\u0010+8n#\u001f?})\u0006a\u0002\u007f/4n4\u007f&'\u001bX\u0000\u00048\u0006\u0016\u0013?\u0006\u0016R@\u00fd9\u000bg\u0220p\u0003%\u0003O\u0004w\u0006\u000egp\ue0078\u001b#0\u0017\u06cc{>\u01a26\u001b\u0012]+\b%9\u0013I\u0011\u0011t\u0016JUl\u0101s?,M\"0pyYVtR\u000b\u0017\")\u001eM/c\t\u0007\u0015S\u000e%$xxi7]\u0006y~<\u0253\u0017#$g\u0018\t4\u0001w\u0007\u0019\u001b?yT8\u0153\u0004k14:g4-\u0005HFA-R\u000e\u0010F\u03ab>w?}\u0012L|k|?\u0002l\\Dk%i\u000eT\u0011\u000bz\u000b\u037eEQhQY.D`;\u0004L\u001aAUfR\u000fV\bE\n-1@\u001b&bN#m-P\u000b\u0005\b\u001b}B\u0017\\7:\u0001Z\u000b!K\u0017\u0010\u0006\u007f[ez\u0004\"\\,B\u001c)\f1Yew>k\t9;W\bcs\u0012-f\uc05a\u0019\u000f\u015f\bY\u0018lk\u0192\u0011HLd\u000fXs7e\u0014#i\u03d9\u000b\u0012-\u0010)\u0011su\n-.\bXh/qv.\u007f\b\u0005\u0014d\u0017z%O{\u0010\u0002~6\u000b=1\u0003.|\u001b$\u001e\fYp&\n-/'-\u0579H%n'X\u0007}\u0014MudN1^\u0019?\u001a_\u0017>]\u0260Er-2\u000bm8\u0015\u033b\u0001\u000eb`$dMX\u001bH;!\u0013_Srkz|\u001d?!\u0016\u0004\u06betn\u0002W\u0798+%9\u0017f6Iz?\n-l\u0014HoH\u0002$ \u001cNp\u05db\u0007>\u000e\u0010hB\u0005\u0000 k?SmgtV0m\u060eNX\u02c1\u0015\\gTN\u001c;mv\u033d;\tw_K!EY\u0017`\u000brK-\u0000\u001f<\u0018\u0002l\u00078\u0012\u001eQJipq(h{j3\u007f\u0005\u001dm\u0017{\u01d0_ee\u001a\u0012jC`h\u0011\u001b\f\u0016H(ION/F4X3+{.w>\u03a7t\u00e8\n-\u03a3]cU\u0016^Q^)\u001eL3}\u0003n\u0005\u0a3a:\u0007\u052b*\u0664\u0002\u0005\u0012>g\u0007D\n-DRy\u001c9g\u0019\n-IH\u0004s}s(\u0002\u001bH%u\\7X\u000f\u0005xte`\u0004b)p\u0645\u0019h\\9\f f#<(\u0006w-w\n-?jw1\"\u001fxwJoj\u0017_x;`|^\tJ\u0007a^&C\u0000\u078d\u0012\u0007\u001aH1Y_@\u0001wm6\t\u0018\u0015l\\$8'D\u0002\u0012\u001d\u0012\u0003bP>\u001eE-\flAF7sj\u04ff\rVI\u001b>SNqb\u02b3\u0699\u022d,)UF`\u02d2qG.\u0017\u000eZ\u0015\rb!\\\u001f;\"K\u0016\u0010PJ4GWIP!\u007f.\u0013LioD\u0002\u074eb\u0005\u0791uizc^$}fl-\u0007fV*\\W[C\u000f\u0003TQFa!\u001bW7]f{[qT*+\u0018L\u0018O:ja_:$\u0019\u000e{\u000bS\u001c\n-h q\"+\u0004?E/\t\u001b3X^)^\u0005|d\u0000\u03c3\u0015>\u0147IJH\u01f7O\u0012.\\\u001b\u0209zn\u0367Or3\u0731{^E\"\u0001qa'\u0006Am\\\u007f\u0017\u0691V?V-?aU|nLYMd#A9F\u0016\u0018\u001e\n-_\u001e\u0017st\u04e0\u025d3)`9iG_brtf\b\u0003\u0010)\u0016\u000fWtH#um\u007f~M9\n-\u0473e*&CSQ\u001c\u001a4G[\u001c\u001aSS\u0501>i`a\ua444l<\u024f!c9\u01bet9d\u0714\u000e\u035f\\=`qCjx`\u0012Y}#'Ya\u0015\u0081K*\u00043R{\u0683\u035f\u0771\u04a6U\u001ej\u0006-cS#6\u0657Y\u0019)Ai\u0019XgHI\u0014LI,/\u035aaTG\n-:\u0010b\u0016\u0003\n-\u0015F\u001brM\uf0aak\u0005+\u0002\u06e5+L\u001fh4\u0011\t'i|!\r:S\u0016~\udaf6\ude8b\u001f\u000fnGu\u0013am#V\u000f@\u0001%Fk\u001b\u01dbQmNOk\\Ajfn|3\u076dA`F\u0006\u001b\u03b9'1\u007fJW\u0082a)H9m\r\u007fj$2\t_\u0004\u0001gUjew\u000e\u0002X\u0471W#Z\u001e\u001a\u001a*ACc\u0005c4\u0017S\u0015\u000b\u02ed\u010a|?\u0013L.f65E=\u00005?\fa\u001a\u001b}3\u0002vc#K\u0633 \u0015B2\u0003\u0013OtO\"9/rH*Ql`J\u001b\u0010\u001d\u024a\u0012mY)66\u001a84c\f\u001e\u001c ?cy4H*3\u0007vwb'\u0016\u001b\u7b0b\u9e3bE=2\u0018h\u0013\u94fa&.jQ\u0001C\u001aD\n-Y!\n-\u036d\u0002\u0000)^u\n-Nti\u0004k21\\\u0018y\u000f\u0003\u038ad\u001498\u0016&u\u00041a K+T\u0017\u001e\u001bt\u0016\u0000=\u0006t\u062aHt}>\u0004'\u000b\u0012=g/yGt\u0314\u0011\rU\u000f\u027a\b@dj\u03bb_KC\u0005\u0014P\u0692\u0016\u07f0V\\=t\u0018\u0001Nvcn\u000e349\u001dn{qb|\u001bF7\u001c\u001d)0Z\u0005#(lG\u0007\u001d\u0007+h\u00118`x\u001c\u0003\u0017Hi\u0005N%\u0013\f.\b!\u0014Cv\"QX!T\u0006\u0004t#6Z\u0000\u001dC\u0003~b^[y.*\u007f9q\u0000QJfT\u0017\bV\u0017}0\u0017v\u0001\u0003N\u001b\r..EC\t:!,hYwm\u0016\u001aUObXC1\u001fAE\u0625:dh\\-\u0102ZS^c\u0010OY\u0087bo\u0013Hi1#P?z`\u0007T\u0010\u0013\u001dd\u0682c\u0003>\u001bk\u05a6N\u03c3G\u0011\u06f6rZ\u078e\u001fA\u001bXt\u0012IVU?:og,\u0219K*J\u06f4k\u007fhb\t\u0015Khe@'G\u001dY\u0017$\f\u0000\u001e\u0013\u6dc3'P,8\t\u000ei\u000b\u001b#\u001c^},t\u007f\u0001\u0006\u0018\u00a1v.Y|\u001bgOP]vO\u007f=:\u0004X\u0016?t\u001e@\u000eLbvh4`\u000ev,=qjd; >\u001a!\u001e.t\u07451\r8Y5\u0017Z=s)02vR\"{,>\u000f8A\u0019\u000f.\u0015\u00bbAB\u007f\u0019\u001e036 ^~pq]zJ\t\u001f]xZ-wC\u000eN]%x\u04b3\\'=\ty%?RDym\u0004_\tB|A\u0014#|\u0006u_em<10^_jyG\u0012c\uda71\udc81Vn\u001dguW\ra\u0609SG-W\u000el5r\u0010v%Aya0\u000b\u000fs5FN_-2LA\u001aBt\u000e\u001az\u044e\u0005(X\u000f\u0004!%Q1\f8rC\u001dXhV2?\u03d6[\u05f7=Z\u06b9-?\u0011\u0004\bEb\u001a\u000euC^Lb%E,)>\ucb1d/-\u0001KT1\u0010\u0018I\u0006W\u001a^\u001d7v\u007f\u001e[w8!\u04a3d6\u0010%jTHyNI\u0017k,\u0109(@nS\f#'G|s\u001exE1\u000b\fU@>C\u0006\u001cw\u0333e\u066f\u0004\u001dh\u000eRibV\u00061j)}/\ua88b\u0002s@.vQG\u001c\u0005L,ah2IA@\u0003uAX-\ucc07Q]9sT\u0004qt\u0007Ax'\r\"RB\u0013dPJm\u05548Sa,zP-g4\u001b\u0007+\u0007jfA$[hC~n\t^\u000f4_wl-*%\u001akA\u0001\u067bq+AY\u065e`tno6\u000b\u000e`S+\u0011c\\]$\u0007]`\fs'>\u0014V4\u001e(J\u000f\u05e1C;\u00137H\u0017b4j Iw\u0001N!\u0002{Hw8\u0013s\f\u00b4/\u000f\u02ecJ!\u03b9WSIs2&\u04af\u0620zck+$K@\u001fJw\u001c\u000eA\u0131/\u001eOa4Bo_~\u0006O\u0293{%*\u000f\u0007\u00172\u007f+\u001e8+q}j|lA\u001a\u00018\u00e3\u0016\u00013J18xH\u04bea6\u01a2\u001b\u0003\u0553\u0003J=+5([\uf78eCKBerhB9\u9f02\u020a!c\u0016@#\u0000\u0002-\u000e\u0501\u0015\u0006\u0002vx\u00aa\u0651,Yb7\u0004;P)T\r\u0671\u000e\t-6h\u0014\u0013wXpz\u001cJW\u0657`E-\u0007J%\u0305b\u0002r41\u03a5&\u0002\r-n\u0005C\u0540(\u0012S\u001fxHa}\ta^{r>\u0448[\\\u0010\u001e0m=\u001eh.Xn/\u0666DE%\u07e7>\u00023}\t\u0016\u0013\u0006W\u0001)K'#\r.USs\u001c.\u0763:ViEL\u0000Gp\u0559Rt\u0001\u0018:rVd\u0010\f\t\u001fLI[pLOq\u02e3\u0010d6H4HZid\u00030\u007f\r?oeYw\u014e\u001a&])\u0007)D\u0017\u0016O;a\u0018/+\u0004v\u0015DU\u0001%\u021a(\u032a\u0002uR\u001d\u055fM\n-Q cwP\n-_\u0005\u0490L,eX\u0010.\u0012\u0013\u000f'\f\u0734K\t$\u0010\\Tf}TL\u0010Vt\u001a`n\u0016d*kuiWQ{Vi$\u0001\u000bbY\u0016&[mZy\u008buY\u000f8\u0000b\r@\n-8\u0019:YhDsa\u00194D\buj)\u000b%aZa\u04d1t\u000eKvz&Wm\u04aci\u0003!\u03c28|{\u000f\u001b(qnuz>\u000f.gg>z=\fv\u0001>\u06bc$eU!\u001cMj \u001a`<\u000eq\u0002-K\u0000j\u0413\u0015B\u001e\u001e3 F63\u001f\u001dC#C@@\u001a\u0006\u0018s+05XZ\bYh7\u0569\u0011*EM`\u000ec\u0011w\u0011Lf\u0014\f!\u0017v\u0903\f0C$>\u0207\u001fo]'T\u0006\u0015\u0014#wNX\u00128p:\u001f\u007f#\u05e3\u0018 v>\u001a36q0y3h_\u000e2\u000bR\u01bdU\f7?S\u078eS\u00c0^8n\u0001\"iq\u0007mZ!Y\u0018bw?ac2c\u001fGO\u009dEJ;\u04755\r\rZ!|EQI\u000b/G\u0019fED\u0006\"\\!f\u0019u(\u0017$n\"\u000ex'U\u6afdBy\u0018ud.mU\u02ce\u0010`\u001dN`#nV\u0014;\u0012F\tnJl\u001bFm\u0007\n-C6\u0014$KjN\u0017~y\\\u0007H\u072c\u0003\u48e3@2e9K'\"kldg\u000eAt\u0003K<\u0017p6I\u0016\u0674`\u0004oPnF:UL\u0006\u0491<\u0006\u0000(Iz1Mr<\u00a47\u0002u\u0001qv\u0017\u61b5u\u042e}#J\u0019Gij\u000b\\\u0016:.m\u0018\u001ae5\u007fKaM;\u0018dt3\u0016Q\u000fkN1v%irW)]D\"#=@\u0000W'\u0083H$=K\rG\u0014S\u001e8\u001c\u0015\u0011x0\u001fZM\u0684\u04c9\u04aa*5F0\u0018\u00061\u0018\u0010Zg\ua89e*n\u0006\u001f}8e.%f\u007fv\u0007(\u000bhOMI!r'\b&Rn\u0787Qt'e!2\fnkr \u0011yoC88\u0012S`\u0017%\u007foV\u001d,*8lrv\u0018Fsa\u0225xUc2o+\u04b1\u0005J\u007fp\u0002\u01e8\u0004+t\f\u000f\"Z9\u007fG!\u0014+$ \u0342\b\u001d>\u0016M\u00052Bgjb\u0017\u000bZ\u0018(\"Ai2\u001aef$ Ef\tQ\u0004!&16`\u0001\u0001B_\u0004u\u00100\t 0?\u001d\u0004j,k\u0012\u001d:\u0014\u000b\"f$\u001cs>\u063e\u0006\u000fQEN86=\fEw\t\u0018h\u0002 \u0002H@b\u0005\uda2e\udc91\u0003Ll\u001d\u076f\u0014\u000eVp\u001f\u001eH\u0601J\u0012\u0004\u02fba}l}!=\u000fu\u055c[\u04f4)\u0004J\u0006uc:7v+\u0007{=`qKI\u0015\u0550\bwH\b\u000f:D\u04a6\n-_\u0018\u0016\u0407\u000eW \u0016\tK\u0012\u038a\u001d*\u0004#i<1;)}h\u001cxf\u001eU%9\u046f\u0760\u0460\u001c\u000ei\u0010R\u02b2F\u000ej\"[Qe#\u0002^^P\u0018y6\u0012\u0011;~PS\u0014l.I>YP@\u001d\u0015+L3\u0015U07\u0003*\u0003\u0636\u0370[c\n-Ab\u00041\u0016W~\u0002N\u0005\u00025\u0003\u001d: 4\\\u0011$k\u001aU\u0019|W\u0013=`\u7427\u001b1,D N\u0017\u0012,r]K`1U?Vm\u04bf\u05a5@\u0011?#\ud181~\u0016\u0007>x\u0005.\u001f\u001eUG0&}s\u0007iUTwhZ.&k\u001b6:4\u001fQbbw\u04a11vw(7,m#\u0002\u0011\b\u001ego4A\u001a/GshM\"\u001by:\t8\u0165\u03d6\u000eL\u0002\u000e\f>\u0017U#&SSk\u0010cD|I$\u0019K{\u049bFt~o(c>Ic\u001dbzXgv\u05a3n{v~]]\u06e3=U {\u0016\u0013g.Q.Z\f02k\u0005d%\u008c\u0015{_\u0005{sE)\u001a\u0017%w\u007fy\u0002.@\u001df\u0018>ruy\u07d6\u0015\u072daP\u001e\u023aI\u0729\u000bLTj']\u0001\u0000-\n-\u07d9\u0010\u0013@+@D\u007fv\u05f6\u00d8eCTQ\u0005WMB\u0213\u0015\u000f]9,\u0015)\u0001$\\ .:\u0010\u0002?7\n-\u06a7\u01c0}'Ll7]ptO],\u041fd/n\u0000/\r\u02fb;6|C\u0015~t,\u000b+\u0554cY\u0006UJ\u000f\n-W\t=:\u000fv_\u0016RP\u0006S\"D-\\%\u0016[b3\u0017b\u000b\u000e\u033cTw_\\yTad\t\n-\u0681V\u001eTct\u0002>\\\u000e\u04b1\u05e0vYh%6f,b1A3*\u0754\u019b@|.\u0016UB>%E(CgQc\u0003&\u0003\u00172\u0742DYx(%\u0000_g`R\u0003\u000b\fFJ]'2wd51\u0012H\u000bf\u0007?\u000b\u001dvZQ\b\u0016\u0003AZU\u0006O\u0708O6\u0014X,f=$\u0017\u001fmRw\u0223\u0016y9\\G1h,2\n-A\u3c08G4jrh\b3kL\by-\u0000.\u000f\u0017{\u001e8\u0017qx-e`\u000fA:o\u000f\u0005\u0005hm\u0012R\u0017\u05ffK\u001d \u0012CS\u007fO:\u000f&\u0002f\u0017HIdy%\u02a6\u0016\u000en\u001cG\u0006N(\n-\u0010\u40f2\u001at#\u0011%7Wl\u07cdVQ6/xEQ\u0003]XVCre3i\u0015;\u0016N\u0134m\u0005(vE[C}s3S>Kry@#&\r\u001c2;'\fP1eS\u0003}EliLy\u000fG\r8\tnS.\u0017^\u071e\n-\u0014b)b.;\u0018\u000e:+IdZT^\u05e4n>]B8XM5RuGO\u000ex) /$*DS(\u0011F _\u0000\u0016E]\rc0^\u0002j\u0ab0d~\u0016Iu\\%J\u0006 |\u0718u?^\u073c\u01eb:wP\u00138\u001b9>\u04cf4W.U\u0016\u000e/\u0003=T\u04b8I c%}9\u0000S#\u0014$~.f]`]\u001c}`\u0003.\t\u00141*+\u0007T.sR#0>\\Q^?\u001fMyW%u\u000e\u0018\b\u001c\u0013cG\u001e%\u001bDf\u03b8\u0005+*mbZ\u0005}\u044ac3\u0010\bFTP\u0015,B\u001a}9?;\u0011\t!jx\u0006\f\uf8ab|m\u000b\u0015eZ0k+F-5\b{\u0001u\u02a6M:!|\u001d\u001f\\\u0000zi\u0001vCZ>>N\f) 1\u000bC\u0003WxS\u0000s\u0004G]Z0\u001b\u001f>\u0014%\u001c\u000f\u001ehU$\u0014^\fpLQ\f\u001d4mH\u00b9\u0019bf{\u02e2}\u0554\u0000\u01167}D/{pEU\u0015)=UQu}\u001c\u001bQ\u001aj\\\u0017\u00180CL\u001avdo(\u000bPUCA:OI\u0012[$fq9Qn}{53m\u000e[iuO1\u0017\u0743\u064f\u001ee\f0\u0019PI\u000brxO]\u03ecTY\u000eQG\u001f\u001e|MNL+EK$\u001bGrHgE\u00105\u0018f\r\f\u0015^[ n\"\n-Ql\u0007\u001clF\u0518[]\u001b\u0555\u036b\u0004\u04fc\u0002nCQr\u001c1aR_!?g?`~0\u0005\u001d3\u000bM4Ms`H\u001d8?/\u0018\u067ba\r\u0016\r\u001a\u0001n|\u00da\u0003\u000eP@DNX3\u950bG]rFb76j\u0005\u0010)eFblZ\u001dI/GwY}tb\u0012Q= gB&f2(>\u0005\f[E#\u0017z\u0000%7@<#\u0014]Je1[\u01cb{.@g=#g|\u0014I$q\"vTK6E\u000f\u069a\u06d6\\^n#\u001bez_Yt1,t'\u001e3s{Z\u033a=k+:f\u00145EQRDz&*2}h\u0005l_\u0011\u0007KBq2n=\u0012%g\u03fa@g[BQ+l\u000f&\u0015k;;\u001e&)q\u001ff.?O\u0002/[1Ie&4UQ'*k1ZO8J-&v\f\u000f&U0H\u001c\u0019Y-t\u0016b.Iew\f4eI*w\u0004Q\u0016dkH@\u0016\u0013Cly?\u0007u\n-M\u0007?$U\u007f\u001d\n-V\u0005-<\u11cckrJ\u007f\u0002nq\u0006\r\u042b\u001eUydR\n- \u0010\u001c7\u001dU-oQ\u03b2\u0017kJ;\fH[$*\u001d\u06b6\u0014W\u034dG\"Qu=18\u00b0f\u00117p\u0001k\u0005\u0006\u001c3Sw=\u001armGm\u001fDMU\u03f6@&\u0019/^9:]|_u09:~JeV'B\u0012J[j \u0004&Dd! ^\u0007&.A\u0015M@\u0006P\"\\m\u007f\u0006\u0003\u000eY\u0017p\bza:WJ{LU{Q\u0017?~x\u02f7_v\u0017 g*\t%xJt*2\ts B/S3\u001c\u000e!\u00ecy~M1_~/\u001ceh\u001b\u0018db.}<\u001c`VI\u000b\u1a8bNk\n-;`U<\u0002\u00140p.\u001a~'\u001f7b\n-k\u001d\u000f\u0015\u0018\u001e\u0003#icX!\b\n-C-\u001dj2/\u0017Ltp`\tz\u0358\u001e\u0014\u0001tNs\u0000ks\u0000Y32`cI{d\u0005Zq_%,\u0017\u0013@3u\u2f8cCKaZ\u001d/\u0013\fX\u06e2)\u0012aQ.XLlM-\u000fY\\X^f!\u0322ZE\u000e\u0004`\tb3^X1\",H\u001f0\u0002KdU\u0015\"ZqW\n-\u001bu\u001d72\"x\u0016HuqFa~C\u0003\u001b\u0015\u0006\u0016m\u01eeE#]zoD3\u0005\u00168\u0007 uVP|(\u001bE(\u0003\u001f2\u0014\t\u0002\u0016\u0006@y#\"NzJ\\*\"}$8 @*\u0007~W(\n-q3\u06fa\n-\\\u001a4?cTw\u05e9&t@*q`(q\u0016+k&aWT,.t{Z?f1>GE:$_\u0017\bJ(\u0006!\u0002\u001b<1\u0017o\u046f\u0004hn{\u001dH6\fj\r[&\u0007SQD;GQ\u0012T^\u007f_\r\u001aLf08\u0010\u0013\u00198dP]wR\u0016\u0014!bn\u0015=\u000e?\u0013W:6\u0011\u001aGYlz(4\u0015y\u0010C[UTv\u0003\"D\f!M?{vXd\u0010pj\u0002 et \u0449\u0571(X k\u000b^&\u0016<\u0016C|X\u06e8\u07cc.Y,o\u0006\u0007\u0014vi<\b}}a\u00068\u001fB}E}G}G}izQO~S\u000bo^\u053fQGxQ~knqW~W\u0016w^Qc/\u007f{-Em`\"z<\u05bfsc?\uac45\u008b\u008f\u0589\u0004N%p/\u0013\u0004N%p/\u0013\u007f\tX%p-~\tK*\u0012x/\u0012xiKo\tK\u007f\tJ\u0977\u0004^K\u097f\u0004^Z%p-~\tK*So\tK_\u0002V\t{\u0693*\u0012cN\t\u0015\u001es\u0534\u0001*\u0000Lg0\u0002O\u01740jl\tF&%?%3+\u0013hI\u0001f=Li:G66P\u07a0w\u0007;c\u0010\u06b7NK\r!DTN1{,`n#=|;-\u0004\u0005\b\u0018\r\u04ec\u0011>l\u007f\u001e>\u000eIH\u0014}\u0017e[X\r\u0010\u001fdO|yG#K/\u0005$z\u0000JmiAxk\f)2\u0007\u001eD&\u00bbH;!{\u0007`+\u001d\t`p\bn3[s~\"/\u0017 does -- why doesn't django? std:label -1 faq/general.html#framework-x-does-feature-y-why-doesn-t-django does \u2013 why doesn\u2019t Django?\n+faq/general:django appears to be a mvc framework, but you call the controller the \"view\", and the view the \"template\". how come you don't use the standard names? std:label -1 faq/general.html#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names Django appears to be a MVC framework, but you call the Controller the \u00abview\u00bb, and the View the \u00abtemplate\u00bb. How come you don\u2019t use the standard names?\n+faq/general:does django scale? std:label -1 faq/general.html#does-django-scale Does Django scale?\n+faq/general:faq: general std:label -1 faq/general.html#faq-general FAQ: General\n+faq/general:how can i download the django documentation to read it offline? std:label -1 faq/general.html#how-can-i-download-the-django-documentation-to-read-it-offline How can I download the Django documentation to read it offline?\n+faq/general:how do i cite django? std:label -1 faq/general.html#how-do-i-cite-django How do I cite Django?\n+faq/general:how is django licensed? std:label -1 faq/general.html#how-is-django-licensed How is Django licensed?\n+faq/general:is django a content-management-system (cms)? std:label -1 faq/general.html#is-django-a-content-management-system-cms Is Django a content-management-system (CMS)?\n+faq/general:is django stable? std:label -1 faq/general.html#is-django-stable Is Django stable?\n+faq/general:what does \"django\" mean, and how do you pronounce it? std:label -1 faq/general.html#what-does-django-mean-and-how-do-you-pronounce-it What does \u00abDjango\u00bb mean, and how do you pronounce it?\n+faq/general:which sites use django? std:label -1 faq/general.html#which-sites-use-django Which sites use Django?\n+faq/general:who's behind this? std:label -1 faq/general.html#who-s-behind-this Who\u2019s behind this?\n+faq/general:why did you write all of django from scratch, instead of using other python libraries? std:label -1 faq/general.html#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries Why did you write all of Django from scratch, instead of using other Python libraries?\n+faq/general:why does django include python's license file? std:label -1 faq/general.html#why-does-django-include-python-s-license-file Why does Django include Python\u2019s license file?\n+faq/general:why does this project exist? std:label -1 faq/general.html#why-does-this-project-exist Why does this project exist?\n+faq/help std:doc -1 faq/help.html FAQ: Getting Help\n+faq/help:faq: getting help std:label -1 faq/help.html#faq-getting-help FAQ: Getting Help\n+faq/help:how do i do x? why doesn't y work? where can i go to get help? std:label -1 faq/help.html#how-do-i-do-x-why-doesn-t-y-work-where-can-i-go-to-get-help How do I do X? Why doesn\u2019t Y work? Where can I go to get help?\n+faq/help:i think i've found a bug! what should i do? std:label -1 faq/help.html#i-think-i-ve-found-a-bug-what-should-i-do I think I\u2019ve found a bug! What should I do?\n+faq/help:i think i've found a security problem! what should i do? std:label -1 faq/help.html#i-think-i-ve-found-a-security-problem-what-should-i-do I think I\u2019ve found a security problem! What should I do?\n+faq/help:nobody answered my question! what should i do? std:label -1 faq/help.html#nobody-answered-my-question-what-should-i-do Nobody answered my question! What should I do?\n+faq/help:why hasn't my message appeared on *django-users*? std:label -1 faq/help.html#why-hasn-t-my-message-appeared-on-django-users Why hasn\u2019t my message appeared on django-users?\n+faq/index std:doc -1 faq/index.html Django FAQ\n+faq/index:django faq std:label -1 faq/index.html#django-faq Django FAQ\n+faq/install std:doc -1 faq/install.html FAQ: Installation\n+faq/install:faq: installation std:label -1 faq/install.html#faq-installation FAQ: Installation\n+faq/install:how do i get started? std:label -1 faq/install.html#how-do-i-get-started How do I get started?\n+faq/install:should i use the stable version or development version? std:label -1 faq/install.html#should-i-use-the-stable-version-or-development-version Should I use the stable version or development version?\n+faq/install:what are django's prerequisites? std:label -1 faq/install.html#what-are-django-s-prerequisites What are Django\u2019s prerequisites?\n+faq/install:what python version can i use with django? std:label -1 faq/install.html#what-python-version-can-i-use-with-django What Python version can I use with Django?\n+faq/install:what python version should i use with django? std:label -1 faq/install.html#what-python-version-should-i-use-with-django What Python version should I use with Django?\n+faq/models std:doc -1 faq/models.html FAQ: Databases and models\n+faq/models:can i use django with a preexisting database? std:label -1 faq/models.html#can-i-use-django-with-a-preexisting-database Can I use Django with a preexisting database?\n+faq/models:do django models support multiple-column primary keys? std:label -1 faq/models.html#do-django-models-support-multiple-column-primary-keys Do Django models support multiple-column primary keys?\n+faq/models:does django support nosql databases? std:label -1 faq/models.html#does-django-support-nosql-databases Does Django support NoSQL databases?\n+faq/models:faq: databases and models std:label -1 faq/models.html#faq-databases-and-models FAQ: Databases and models\n+faq/models:how can i see the raw sql queries django is running? std:label -1 faq/models.html#how-can-i-see-the-raw-sql-queries-django-is-running How can I see the raw SQL queries Django is running?\n+faq/models:how do i add database-specific options to my create table statements, such as specifying myisam as the table type? std:label -1 faq/models.html#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type How do I add database-specific options to my CREATE TABLE statements, such as specifying MyISAM as the table type?\n+faq/models:if i make changes to a model, how do i update the database? std:label -1 faq/models.html#if-i-make-changes-to-a-model-how-do-i-update-the-database If I make changes to a model, how do I update the database?\n+faq/troubleshooting std:doc -1 faq/troubleshooting.html Troubleshooting\n+faq/troubleshooting:miscellaneous std:label -1 faq/troubleshooting.html#miscellaneous Miscellaneous\n+faq/troubleshooting:problems running ``django-admin`` std:label -1 faq/troubleshooting.html#problems-running-django-admin Problems running django-admin\n+faq/troubleshooting:troubleshooting std:label -1 faq/troubleshooting.html#troubleshooting Troubleshooting\n+faq/usage std:doc -1 faq/usage.html FAQ: Using Django\n+faq/usage:do i have to use your model/database layer? std:label -1 faq/usage.html#do-i-have-to-use-your-model-database-layer Do I have to use your model/database layer?\n+faq/usage:faq: using django std:label -1 faq/usage.html#faq-using-django FAQ: Using Django\n+faq/usage:how do i make a variable available to all my templates? std:label -1 faq/usage.html#how-do-i-make-a-variable-available-to-all-my-templates How do I make a variable available to all my templates?\n+faq/usage:how do i use image and file fields? std:label -1 faq/usage.html#how-do-i-use-image-and-file-fields How do I use image and file fields?\n+faq/usage:i can't stand your template language. do i have to use it? std:label -1 faq/usage.html#i-can-t-stand-your-template-language-do-i-have-to-use-it I can\u2019t stand your template language. Do I have to use it?\n+faq/usage:why do i get an error about importing :envvar:`django_settings_module`? std:label -1 faq/usage.html#why-do-i-get-an-error-about-importing-django-settings-module Why do I get an error about importing DJANGO_SETTINGS_MODULE?\n+field std:term -1 glossary.html#term-$ -\n+field-checking std:label -1 topics/checks.html#$ Field, model, manager, template engine, and database checks\n+field-choices std:label -1 ref/models/fields.html#$ choices\n+field-choices-blank-label std:label -1 ref/models/fields.html#$ -\n+field-choices-enum-auto-label std:label -1 ref/models/fields.html#$ -\n+field-choices-enum-subclassing std:label -1 ref/models/fields.html#$ -\n+field-choices-enum-types std:label -1 ref/models/fields.html#$ Enumeration types\n+field-choices-named-groups std:label -1 ref/models/fields.html#$ -\n+field-lookups std:label -1 ref/models/querysets.html#$ Field lookups\n+field-lookups-intro std:label -1 topics/db/queries.html#$ Field lookups\n+fields-which-handle-relationships std:label -1 ref/forms/fields.html#$ Fields which handle relationships\n+file storage systems std:label -1 topics/files.html#file storage File storage\n+file-upload-security std:label -1 ref/models/fields.html#$ -\n+file-upload-settings std:label -1 ref/settings.html#$ File uploads\n+file-upload-widgets std:label -1 ref/forms/widgets.html#$ File upload widgets\n+filesizeformat std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+filter std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+filtered-querysets-are-unique std:label -1 topics/db/queries.html#$ Filtered QuerySets are unique\n+filtering-error-reports std:label -1 howto/error-reporting.html#$ Filtering error reports\n+filtering-on-annotations std:label -1 topics/db/aggregation.html#$ Filtering on annotations\n+filters-auto-escaping std:label -1 howto/custom-template-tags.html#$ Filters and auto-escaping\n+filters-timezones std:label -1 howto/custom-template-tags.html#$ Filters and time zones\n+findstatic std:django-admin 1 ref/contrib/staticfiles.html#django-admin-$ -\n+findstatic.findstatic std:cmdoption 1 ref/contrib/staticfiles.html#cmdoption-findstatic-arg-findstatic -\n+fink std:label -1 ref/contrib/gis/install/index.html#$ Fink\n+first std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+firstof std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+fixtures-explanation std:label -1 topics/db/fixtures.html#$ Fixtures\n+flatpages-admin std:label -1 ref/contrib/flatpages.html#$ Via the admin interface\n+floatfield_vs_decimalfield std:label -1 ref/models/fields.html#floatfield-vs-decimalfield -\n+floatformat std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+flush std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+flush.--database std:cmdoption 1 ref/django-admin.html#cmdoption-flush-database -\n+flush.--no-input std:cmdoption 1 ref/django-admin.html#cmdoption-flush-noinput -\n+flush.--noinput std:cmdoption 1 ref/django-admin.html#cmdoption-flush-noinput -\n+for std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+force_escape std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+foreign-key-arguments std:label -1 ref/models/fields.html#$ Arguments\n+form-asset-paths std:label -1 topics/forms/media.html#$ Paths in asset definitions\n+form-media-asset-order std:label -1 topics/forms/media.html#$ Order of assets\n+form-prefix std:label -1 ref/forms/api.html#$ Prefixes for forms\n+format file std:term -1 topics/i18n/index.html#term-format-file -\n+format localization std:label -1 releases/1.2.html#improved localization Improved localization\n+forms-4.1 std:label -1 releases/4.1.html#forms-4-1 Forms\n+formset-prefix std:label -1 topics/forms/formsets.html#$ Customizing a formset\u2019s prefix\n+formset-rendering std:label -1 topics/forms/formsets.html#$ Using a formset in views and templates\n+formsets-absolute-max std:label -1 topics/forms/formsets.html#$ Limiting the maximum number of instantiated forms\n+formsets-error-messages std:label -1 topics/forms/formsets.html#$ error_messages\n+formsets-initial-data std:label -1 topics/forms/formsets.html#$ Using initial data with a formset\n+formsets-max-num std:label -1 topics/forms/formsets.html#$ Limiting the maximum number of forms\n+func-expressions std:label -1 ref/models/expressions.html#$ Func() expressions\n+gdal-raster-datatype std:label -1 ref/contrib/gis/gdal.html#$ -\n+gdal-raster-ds-input std:label -1 ref/contrib/gis/gdal.html#$ Creating rasters from data\n+gdal-raster-vsimem std:label -1 ref/contrib/gis/gdal.html#$ Using GDAL\u2019s Virtual Filesystem\n+gdal_sample_data std:label -1 ref/contrib/gis/gdal.html#gdal-sample-data Sample Data\n+gdalbuild std:label -1 ref/contrib/gis/install/geolibs.html#$ GDAL\n+gdalinterface std:label -1 ref/contrib/gis/tutorial.html#$ GDAL Interface\n+gdallibrarypath std:label -1 ref/contrib/gis/install/geolibs.html#$ GDAL_LIBRARY_PATH\n+gdaltrouble std:label -1 ref/contrib/gis/install/geolibs.html#$ Troubleshooting\n+generic view std:term -1 glossary.html#term-generic-view -\n+generic-relations std:label -1 ref/contrib/contenttypes.html#$ Generic relations\n+generic-views-extra-work std:label -1 topics/class-based-views/generic-display.html#$ Performing extra work\n+generic-views-list-subsets std:label -1 topics/class-based-views/generic-display.html#$ Viewing subsets of objects\n+genindex std:label -1 genindex.html Indice\n+geodjango-tests std:label -1 ref/contrib/gis/testing.html#$ GeoDjango tests\n+geography-type std:label -1 ref/contrib/gis/model-api.html#$ Geography Type\n+geometry-field-options std:label -1 ref/contrib/gis/model-api.html#$ Geometry Field Options\n+geos-exceptions-in-logfile std:label -1 ref/contrib/gis/geos.html#$ -\n+geos-geometry-collections std:label -1 ref/contrib/gis/geos.html#$ Geometry Collections\n+geos-tutorial std:label -1 ref/contrib/gis/geos.html#$ Tutorial\n+geosbuild std:label -1 ref/contrib/gis/install/geolibs.html#$ GEOS\n+geoslibrarypath std:label -1 ref/contrib/gis/install/geolibs.html#$ GEOS_LIBRARY_PATH\n+get_available_languages std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+get_current_language std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+get_current_language_bidi std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+get_current_timezone std:templatetag 1 topics/i18n/timezones.html#std-templatetag-$ -\n+get_digit std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+get_flatpages std:templatetag 1 ref/contrib/flatpages.html#std-templatetag-$ -\n+get_language_info std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+get_language_info_list std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+get_media_prefix std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+get_static_prefix std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+gettext_on_windows std:label -1 topics/i18n/translation.html#gettext-on-windows gettext on Windows\n+gis-aggregation-functions std:label -1 ref/contrib/gis/geoquerysets.html#$ Aggregate Functions\n+gis-contains std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+gis-raw-sql std:label -1 ref/contrib/gis/tutorial.html#$ -\n+glossary std:doc -1 glossary.html Glossary\n+glossary:glossary std:label -1 glossary.html#glossary Glossary\n+gt std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+gte std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+handling-pull-requests std:label -1 internals/contributing/committing-code.html#$ Handling pull requests\n+help std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+historical-models std:label -1 topics/migrations.html#$ Historical models\n+homebrew std:label -1 ref/contrib/gis/install/index.html#$ Homebrew\n+hooking-adminsite-to-urlconf std:label -1 ref/contrib/admin/index.html#$ Hooking AdminSite instances into your URLconf\n+hooking-into-current-site-from-views std:label -1 ref/contrib/sites.html#$ Hooking into the current site from views\n+host-headers-virtual-hosting std:label -1 topics/security.html#$ Host header validation\n+hour std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+how-can-i-help-with-triaging std:label -1 internals/contributing/triaging-tickets.html#$ How can I help with triaging?\n+how-csrf-works std:label -1 ref/csrf.html#$ How it works\n+how-django-discovers-language-preference std:label -1 topics/i18n/translation.html#$ How Django discovers language preference\n+how-django-discovers-translations std:label -1 topics/i18n/translation.html#$ How Django discovers translations\n+how-django-processes-a-request std:label -1 topics/http/urls.html#$ How Django processes a request\n+how-to-create-language-files std:label -1 topics/i18n/translation.html#$ Localization: how to create language files\n+how-to-log-a-user-in std:label -1 topics/auth/default.html#$ How to log a user in\n+how-we-make-decisions std:label -1 internals/contributing/bugs-and-features.html#$ How we make decisions\n+howto-custom-template-tags-inclusion-tags std:label -1 howto/custom-template-tags.html#$ Inclusion tags\n+howto-custom-template-tags-simple-tags std:label -1 howto/custom-template-tags.html#$ Simple tags\n+howto-writing-custom-template-filters std:label -1 howto/custom-template-tags.html#$ Writing custom template filters\n+howto-writing-custom-template-tags std:label -1 howto/custom-template-tags.html#$ Writing custom template tags\n+howto/auth-remote-user std:doc -1 howto/auth-remote-user.html How to authenticate using REMOTE_USER\n+howto/auth-remote-user:configuration std:label -1 howto/auth-remote-user.html#configuration Configuration\n+howto/auth-remote-user:how to authenticate using ``remote_user`` std:label -1 howto/auth-remote-user.html#how-to-authenticate-using-remote-user How to authenticate using REMOTE_USER\n+howto/auth-remote-user:using ``remote_user`` on login pages only std:label -1 howto/auth-remote-user.html#using-remote-user-on-login-pages-only Using REMOTE_USER on login pages only\n+howto/csrf std:doc -1 howto/csrf.html How to use Django\u2019s CSRF protection\n+howto/csrf:csrf protection in reusable applications std:label -1 howto/csrf.html#csrf-protection-in-reusable-applications CSRF protection in reusable applications\n+howto/csrf:edge cases std:label -1 howto/csrf.html#edge-cases Edge cases\n+howto/csrf:handling rejected requests std:label -1 howto/csrf.html#handling-rejected-requests Handling rejected requests\n+howto/csrf:how to use django's csrf protection std:label -1 howto/csrf.html#how-to-use-django-s-csrf-protection How to use Django\u2019s CSRF protection\n+howto/csrf:testing and csrf protection std:label -1 howto/csrf.html#testing-and-csrf-protection Testing and CSRF protection\n+howto/csrf:using csrf protection in jinja2 templates std:label -1 howto/csrf.html#using-csrf-protection-in-jinja2-templates Using CSRF protection in Jinja2 templates\n+howto/csrf:using csrf protection with ajax std:label -1 howto/csrf.html#using-csrf-protection-with-ajax Using CSRF protection with AJAX\n+howto/csrf:using csrf protection with caching std:label -1 howto/csrf.html#using-csrf-protection-with-caching Using CSRF protection with caching\n+howto/csrf:using the decorator method std:label -1 howto/csrf.html#using-the-decorator-method Using the decorator method\n+howto/custom-file-storage std:doc -1 howto/custom-file-storage.html How to write a custom storage class\n+howto/custom-file-storage:how to write a custom storage class std:label -1 howto/custom-file-storage.html#how-to-write-a-custom-storage-class How to write a custom storage class\n+howto/custom-file-storage:use your custom storage engine std:label -1 howto/custom-file-storage.html#use-your-custom-storage-engine Use your custom storage engine\n+howto/custom-lookups std:doc -1 howto/custom-lookups.html How to write custom lookups\n+howto/custom-lookups:a bilateral transformer example std:label -1 howto/custom-lookups.html#a-bilateral-transformer-example A bilateral transformer example\n+howto/custom-lookups:a lookup example std:label -1 howto/custom-lookups.html#a-lookup-example A lookup example\n+howto/custom-lookups:a transformer example std:label -1 howto/custom-lookups.html#a-transformer-example A transformer example\n+howto/custom-lookups:how django determines the lookups and transforms which are used std:label -1 howto/custom-lookups.html#how-django-determines-the-lookups-and-transforms-which-are-used How Django determines the lookups and transforms which are used\n+howto/custom-lookups:how to write custom lookups std:label -1 howto/custom-lookups.html#how-to-write-custom-lookups How to write custom lookups\n+howto/custom-lookups:writing alternative implementations for existing lookups std:label -1 howto/custom-lookups.html#writing-alternative-implementations-for-existing-lookups Writing alternative implementations for existing lookups\n+howto/custom-lookups:writing an efficient ``abs__lt`` lookup std:label -1 howto/custom-lookups.html#writing-an-efficient-abs-lt-lookup Writing an efficient abs__lt lookup\n+howto/custom-management-commands std:doc -1 howto/custom-management-commands.html How to create custom django-admin commands\n+howto/custom-management-commands:accepting optional arguments std:label -1 howto/custom-management-commands.html#accepting-optional-arguments Accepting optional arguments\n+howto/custom-management-commands:command objects std:label -1 howto/custom-management-commands.html#command-objects Command objects\n+howto/custom-management-commands:how to create custom ``django-admin`` commands std:label -1 howto/custom-management-commands.html#module-django.core.management How to create custom django-admin commands\n+howto/custom-management-commands:management commands and locales std:label -1 howto/custom-management-commands.html#management-commands-and-locales Management commands and locales\n+howto/custom-management-commands:overriding commands std:label -1 howto/custom-management-commands.html#overriding-commands Overriding commands\n+howto/custom-management-commands:testing std:label -1 howto/custom-management-commands.html#testing Testing\n+howto/custom-model-fields std:doc -1 howto/custom-model-fields.html How to create custom model fields\n+howto/custom-model-fields:background theory std:label -1 howto/custom-model-fields.html#background-theory Background theory\n+howto/custom-model-fields:how to create custom model fields std:label -1 howto/custom-model-fields.html#how-to-create-custom-model-fields How to create custom model fields\n+howto/custom-model-fields:introduction std:label -1 howto/custom-model-fields.html#introduction Introduction\n+howto/custom-model-fields:writing a ``filefield`` subclass std:label -1 howto/custom-model-fields.html#writing-a-filefield-subclass Writing a FileField subclass\n+howto/custom-model-fields:writing a field subclass std:label -1 howto/custom-model-fields.html#writing-a-field-subclass Writing a field subclass\n+howto/custom-template-backend std:doc -1 howto/custom-template-backend.html How to implement a custom template backend\n+howto/custom-template-backend:custom backends std:label -1 howto/custom-template-backend.html#custom-backends Custom backends\n+howto/custom-template-backend:debug integration for custom engines std:label -1 howto/custom-template-backend.html#debug-integration-for-custom-engines Debug integration for custom engines\n+howto/custom-template-backend:how to implement a custom template backend std:label -1 howto/custom-template-backend.html#how-to-implement-a-custom-template-backend How to implement a custom template backend\n+howto/custom-template-tags std:doc -1 howto/custom-template-tags.html How to create custom template tags and filters\n+howto/custom-template-tags:code layout std:label -1 howto/custom-template-tags.html#code-layout Code layout\n+howto/custom-template-tags:how to create custom template tags and filters std:label -1 howto/custom-template-tags.html#how-to-create-custom-template-tags-and-filters How to create custom template tags and filters\n+howto/custom-template-tags:writing custom template filters std:label -1 howto/custom-template-tags.html#writing-custom-template-filters Writing custom template filters\n+howto/custom-template-tags:writing custom template tags std:label -1 howto/custom-template-tags.html#writing-custom-template-tags Writing custom template tags\n+howto/delete-app std:doc -1 howto/delete-app.html How to delete a Django application\n+howto/delete-app:how to delete a django application std:label -1 howto/delete-app.html#how-to-delete-a-django-application How to delete a Django application\n+howto/deployment/asgi/daphne std:doc -1 howto/deployment/asgi/daphne.html How to use Django with Daphne\n+howto/deployment/asgi/daphne:how to use django with daphne std:label -1 howto/deployment/asgi/daphne.html#how-to-use-django-with-daphne How to use Django with Daphne\n+howto/deployment/asgi/daphne:installing daphne std:label -1 howto/deployment/asgi/daphne.html#installing-daphne Installing Daphne\n+howto/deployment/asgi/daphne:integration with ``runserver`` std:label -1 howto/deployment/asgi/daphne.html#integration-with-runserver Integration with runserver\n+howto/deployment/asgi/daphne:running django in daphne std:label -1 howto/deployment/asgi/daphne.html#running-django-in-daphne Running Django in Daphne\n+howto/deployment/asgi/hypercorn std:doc -1 howto/deployment/asgi/hypercorn.html How to use Django with Hypercorn\n+howto/deployment/asgi/hypercorn:how to use django with hypercorn std:label -1 howto/deployment/asgi/hypercorn.html#how-to-use-django-with-hypercorn How to use Django with Hypercorn\n+howto/deployment/asgi/hypercorn:installing hypercorn std:label -1 howto/deployment/asgi/hypercorn.html#installing-hypercorn Installing Hypercorn\n+howto/deployment/asgi/hypercorn:running django in hypercorn std:label -1 howto/deployment/asgi/hypercorn.html#running-django-in-hypercorn Running Django in Hypercorn\n+howto/deployment/asgi/index std:doc -1 howto/deployment/asgi/index.html How to deploy with ASGI\n+howto/deployment/asgi/index:applying asgi middleware std:label -1 howto/deployment/asgi/index.html#applying-asgi-middleware Applying ASGI middleware\n+howto/deployment/asgi/index:configuring the settings module std:label -1 howto/deployment/asgi/index.html#configuring-the-settings-module Configuring the settings module\n+howto/deployment/asgi/index:how to deploy with asgi std:label -1 howto/deployment/asgi/index.html#how-to-deploy-with-asgi How to deploy with ASGI\n+howto/deployment/asgi/index:the ``application`` object std:label -1 howto/deployment/asgi/index.html#the-application-object The application object\n+howto/deployment/asgi/uvicorn std:doc -1 howto/deployment/asgi/uvicorn.html How to use Django with Uvicorn\n+howto/deployment/asgi/uvicorn:deploying django using uvicorn and gunicorn std:label -1 howto/deployment/asgi/uvicorn.html#deploying-django-using-uvicorn-and-gunicorn Deploying Django using Uvicorn and Gunicorn\n+howto/deployment/asgi/uvicorn:how to use django with uvicorn std:label -1 howto/deployment/asgi/uvicorn.html#how-to-use-django-with-uvicorn How to use Django with Uvicorn\n+howto/deployment/asgi/uvicorn:installing uvicorn std:label -1 howto/deployment/asgi/uvicorn.html#installing-uvicorn Installing Uvicorn\n+howto/deployment/asgi/uvicorn:running django in uvicorn std:label -1 howto/deployment/asgi/uvicorn.html#running-django-in-uvicorn Running Django in Uvicorn\n+howto/deployment/checklist std:doc -1 howto/deployment/checklist.html Deployment checklist\n+howto/deployment/checklist:critical settings std:label -1 howto/deployment/checklist.html#critical-settings Critical settings\n+howto/deployment/checklist:deployment checklist std:label -1 howto/deployment/checklist.html#deployment-checklist Deployment checklist\n+howto/deployment/checklist:environment-specific settings std:label -1 howto/deployment/checklist.html#environment-specific-settings Environment-specific settings\n+howto/deployment/checklist:error reporting std:label -1 howto/deployment/checklist.html#error-reporting Error reporting\n+howto/deployment/checklist:https std:label -1 howto/deployment/checklist.html#https HTTPS\n+howto/deployment/checklist:performance optimizations std:label -1 howto/deployment/checklist.html#performance-optimizations Performance optimizations\n+howto/deployment/checklist:run ``manage.py check --deploy`` std:label -1 howto/deployment/checklist.html#run-manage-py-check-deploy Run manage.py check --deploy\n+howto/deployment/checklist:switch away from ``manage.py runserver`` std:label -1 howto/deployment/checklist.html#switch-away-from-manage-py-runserver Switch away from manage.py runserver\n+howto/deployment/index std:doc -1 howto/deployment/index.html How to deploy Django\n+howto/deployment/index:how to deploy django std:label -1 howto/deployment/index.html#how-to-deploy-django How to deploy Django\n+howto/deployment/wsgi/apache-auth std:doc -1 howto/deployment/wsgi/apache-auth.html How to authenticate against Django\u2019s user database from Apache\n+howto/deployment/wsgi/apache-auth:authentication with ``mod_wsgi`` std:label -1 howto/deployment/wsgi/apache-auth.html#authentication-with-mod-wsgi Authentication with mod_wsgi\n+howto/deployment/wsgi/apache-auth:how to authenticate against django's user database from apache std:label -1 howto/deployment/wsgi/apache-auth.html#how-to-authenticate-against-django-s-user-database-from-apache How to authenticate against Django\u2019s user database from Apache\n+howto/deployment/wsgi/gunicorn std:doc -1 howto/deployment/wsgi/gunicorn.html How to use Django with Gunicorn\n+howto/deployment/wsgi/gunicorn:how to use django with gunicorn std:label -1 howto/deployment/wsgi/gunicorn.html#how-to-use-django-with-gunicorn How to use Django with Gunicorn\n+howto/deployment/wsgi/gunicorn:installing gunicorn std:label -1 howto/deployment/wsgi/gunicorn.html#installing-gunicorn Installing Gunicorn\n+howto/deployment/wsgi/gunicorn:running django in gunicorn as a generic wsgi application std:label -1 howto/deployment/wsgi/gunicorn.html#running-django-in-gunicorn-as-a-generic-wsgi-application Running Django in Gunicorn as a generic WSGI application\n+howto/deployment/wsgi/index std:doc -1 howto/deployment/wsgi/index.html How to deploy with WSGI\n+howto/deployment/wsgi/index:applying wsgi middleware std:label -1 howto/deployment/wsgi/index.html#applying-wsgi-middleware Applying WSGI middleware\n+howto/deployment/wsgi/index:configuring the settings module std:label -1 howto/deployment/wsgi/index.html#configuring-the-settings-module Configuring the settings module\n+howto/deployment/wsgi/index:how to deploy with wsgi std:label -1 howto/deployment/wsgi/index.html#how-to-deploy-with-wsgi How to deploy with WSGI\n+howto/deployment/wsgi/index:the ``application`` object std:label -1 howto/deployment/wsgi/index.html#the-application-object The application object\n+howto/deployment/wsgi/modwsgi std:doc -1 howto/deployment/wsgi/modwsgi.html How to use Django with Apache and mod_wsgi\n+howto/deployment/wsgi/modwsgi:authenticating against django's user database from apache std:label -1 howto/deployment/wsgi/modwsgi.html#authenticating-against-django-s-user-database-from-apache Authenticating against Django\u2019s user database from Apache\n+howto/deployment/wsgi/modwsgi:basic configuration std:label -1 howto/deployment/wsgi/modwsgi.html#basic-configuration Basic configuration\n+howto/deployment/wsgi/modwsgi:how to use django with apache and ``mod_wsgi`` std:label -1 howto/deployment/wsgi/modwsgi.html#how-to-use-django-with-apache-and-mod-wsgi How to use Django with Apache and mod_wsgi\n+howto/deployment/wsgi/modwsgi:serving files std:label -1 howto/deployment/wsgi/modwsgi.html#serving-files Serving files\n+howto/deployment/wsgi/modwsgi:serving the admin files std:label -1 howto/deployment/wsgi/modwsgi.html#serving-the-admin-files Serving the admin files\n+howto/deployment/wsgi/modwsgi:using ``mod_wsgi`` daemon mode std:label -1 howto/deployment/wsgi/modwsgi.html#using-mod-wsgi-daemon-mode Using mod_wsgi daemon mode\n+howto/deployment/wsgi/uwsgi std:doc -1 howto/deployment/wsgi/uwsgi.html How to use Django with uWSGI\n+howto/deployment/wsgi/uwsgi:how to use django with uwsgi std:label -1 howto/deployment/wsgi/uwsgi.html#how-to-use-django-with-uwsgi How to use Django with uWSGI\n+howto/deployment/wsgi/uwsgi:prerequisite: uwsgi std:label -1 howto/deployment/wsgi/uwsgi.html#prerequisite-uwsgi Prerequisite: uWSGI\n+howto/error-reporting std:doc -1 howto/error-reporting.html How to manage error reporting\n+howto/error-reporting:email reports std:label -1 howto/error-reporting.html#email-reports Email reports\n+howto/error-reporting:filtering error reports std:label -1 howto/error-reporting.html#filtering-error-reports Filtering error reports\n+howto/error-reporting:how to manage error reporting std:label -1 howto/error-reporting.html#how-to-manage-error-reporting How to manage error reporting\n+howto/index std:doc -1 howto/index.html How-to guides\n+howto/index:how-to guides std:label -1 howto/index.html#how-to-guides How-to guides\n+howto/index:installing, deploying and upgrading std:label -1 howto/index.html#installing-deploying-and-upgrading Installing, deploying and upgrading\n+howto/index:models, data and databases std:label -1 howto/index.html#models-data-and-databases Models, data and databases\n+howto/index:other guides std:label -1 howto/index.html#other-guides Other guides\n+howto/index:project configuration and management std:label -1 howto/index.html#project-configuration-and-management Project configuration and management\n+howto/index:templates and output std:label -1 howto/index.html#templates-and-output Templates and output\n+howto/initial-data std:doc -1 howto/initial-data.html How to provide initial data for models\n+howto/initial-data:how to provide initial data for models std:label -1 howto/initial-data.html#how-to-provide-initial-data-for-models How to provide initial data for models\n+howto/initial-data:provide data with fixtures std:label -1 howto/initial-data.html#provide-data-with-fixtures Provide data with fixtures\n+howto/initial-data:provide initial data with migrations std:label -1 howto/initial-data.html#provide-initial-data-with-migrations Provide initial data with migrations\n+howto/legacy-databases std:doc -1 howto/legacy-databases.html How to integrate Django with a legacy database\n+howto/legacy-databases:auto-generate the models std:label -1 howto/legacy-databases.html#auto-generate-the-models Auto-generate the models\n+howto/legacy-databases:give django your database parameters std:label -1 howto/legacy-databases.html#give-django-your-database-parameters Give Django your database parameters\n+howto/legacy-databases:how to integrate django with a legacy database std:label -1 howto/legacy-databases.html#how-to-integrate-django-with-a-legacy-database How to integrate Django with a legacy database\n+howto/legacy-databases:install the core django tables std:label -1 howto/legacy-databases.html#install-the-core-django-tables Install the core Django tables\n+howto/legacy-databases:test and tweak std:label -1 howto/legacy-databases.html#test-and-tweak Test and tweak\n+howto/logging std:doc -1 howto/logging.html How to configure and use logging\n+howto/logging:customize logging configuration std:label -1 howto/logging.html#customize-logging-configuration Customize logging configuration\n+howto/logging:how to configure and use logging std:label -1 howto/logging.html#how-to-configure-and-use-logging How to configure and use logging\n+howto/logging:make a basic logging call std:label -1 howto/logging.html#make-a-basic-logging-call Make a basic logging call\n+howto/outputting-csv std:doc -1 howto/outputting-csv.html How to create CSV output\n+howto/outputting-csv:how to create csv output std:label -1 howto/outputting-csv.html#how-to-create-csv-output How to create CSV output\n+howto/outputting-csv:other text-based formats std:label -1 howto/outputting-csv.html#other-text-based-formats Other text-based formats\n+howto/outputting-csv:using the python csv library std:label -1 howto/outputting-csv.html#using-the-python-csv-library Using the Python CSV library\n+howto/outputting-csv:using the template system std:label -1 howto/outputting-csv.html#using-the-template-system Using the template system\n+howto/outputting-pdf std:doc -1 howto/outputting-pdf.html How to create PDF files\n+howto/outputting-pdf:how to create pdf files std:label -1 howto/outputting-pdf.html#how-to-create-pdf-files How to create PDF files\n+howto/outputting-pdf:install reportlab std:label -1 howto/outputting-pdf.html#install-reportlab Install ReportLab\n+howto/outputting-pdf:other formats std:label -1 howto/outputting-pdf.html#other-formats Other formats\n+howto/outputting-pdf:write your view std:label -1 howto/outputting-pdf.html#write-your-view Write your view\n+howto/overriding-templates std:doc -1 howto/overriding-templates.html How to override templates\n+howto/overriding-templates:extending an overridden template std:label -1 howto/overriding-templates.html#extending-an-overridden-template Extending an overridden template\n+howto/overriding-templates:how to override templates std:label -1 howto/overriding-templates.html#how-to-override-templates How to override templates\n+howto/overriding-templates:overriding from an app's template directory std:label -1 howto/overriding-templates.html#overriding-from-an-app-s-template-directory Overriding from an app\u2019s template directory\n+howto/overriding-templates:overriding from the project's templates directory std:label -1 howto/overriding-templates.html#overriding-from-the-project-s-templates-directory Overriding from the project\u2019s templates directory\n+howto/static-files/deployment std:doc -1 howto/static-files/deployment.html How to deploy static files\n+howto/static-files/deployment:how to deploy static files std:label -1 howto/static-files/deployment.html#how-to-deploy-static-files How to deploy static files\n+howto/static-files/deployment:learn more std:label -1 howto/static-files/deployment.html#learn-more Learn more\n+howto/static-files/deployment:serving static files in production std:label -1 howto/static-files/deployment.html#serving-static-files-in-production Serving static files in production\n+howto/static-files/index std:doc -1 howto/static-files/index.html How to manage static files (e.g. images, JavaScript, CSS)\n+howto/static-files/index:configuring static files std:label -1 howto/static-files/index.html#configuring-static-files Configuring static files\n+howto/static-files/index:deployment std:label -1 howto/static-files/index.html#deployment Deployment\n+howto/static-files/index:how to manage static files (e.g. images, javascript, css) std:label -1 howto/static-files/index.html#how-to-manage-static-files-e-g-images-javascript-css How to manage static files (e.g. images, JavaScript, CSS)\n+howto/static-files/index:learn more std:label -1 howto/static-files/index.html#learn-more Learn more\n+howto/static-files/index:serving files uploaded by a user during development std:label -1 howto/static-files/index.html#serving-files-uploaded-by-a-user-during-development Serving files uploaded by a user during development\n+howto/static-files/index:serving static files during development std:label -1 howto/static-files/index.html#serving-static-files-during-development Serving static files during development\n+howto/static-files/index:testing std:label -1 howto/static-files/index.html#testing Testing\n+howto/upgrade-version std:doc -1 howto/upgrade-version.html How to upgrade Django to a newer version\n+howto/upgrade-version:dependencies std:label -1 howto/upgrade-version.html#dependencies Dependencies\n+howto/upgrade-version:deployment std:label -1 howto/upgrade-version.html#deployment Deployment\n+howto/upgrade-version:how to upgrade django to a newer version std:label -1 howto/upgrade-version.html#how-to-upgrade-django-to-a-newer-version How to upgrade Django to a newer version\n+howto/upgrade-version:installation std:label -1 howto/upgrade-version.html#installation Installation\n+howto/upgrade-version:required reading std:label -1 howto/upgrade-version.html#required-reading Required Reading\n+howto/upgrade-version:resolving deprecation warnings std:label -1 howto/upgrade-version.html#resolving-deprecation-warnings Resolving deprecation warnings\n+howto/upgrade-version:testing std:label -1 howto/upgrade-version.html#testing Testing\n+howto/windows std:doc -1 howto/windows.html How to install Django on Windows\n+howto/windows:about ``pip`` std:label -1 howto/windows.html#about-pip About pip\n+howto/windows:colored terminal output std:label -1 howto/windows.html#colored-terminal-output Colored terminal output\n+howto/windows:common pitfalls std:label -1 howto/windows.html#common-pitfalls Common pitfalls\n+howto/windows:how to install django on windows std:label -1 howto/windows.html#how-to-install-django-on-windows How to install Django on Windows\n+howto/windows:install django std:label -1 howto/windows.html#install-django Install Django\n+howto/windows:install python std:label -1 howto/windows.html#install-python Install Python\n+howto/windows:setting up a virtual environment std:label -1 howto/windows.html#setting-up-a-virtual-environment Setting up a virtual environment\n+howto/writing-migrations std:doc -1 howto/writing-migrations.html How to create database migrations\n+howto/writing-migrations:changing a ``manytomanyfield`` to use a ``through`` model std:label -1 howto/writing-migrations.html#changing-a-manytomanyfield-to-use-a-through-model Changing a ManyToManyField to use a through model\n+howto/writing-migrations:changing an unmanaged model to managed std:label -1 howto/writing-migrations.html#changing-an-unmanaged-model-to-managed Changing an unmanaged model to managed\n+howto/writing-migrations:controlling the order of migrations std:label -1 howto/writing-migrations.html#controlling-the-order-of-migrations Controlling the order of migrations\n+howto/writing-migrations:data migrations and multiple databases std:label -1 howto/writing-migrations.html#data-migrations-and-multiple-databases Data migrations and multiple databases\n+howto/writing-migrations:how to create database migrations std:label -1 howto/writing-migrations.html#how-to-create-database-migrations How to create database migrations\n+howto/writing-migrations:migrating data between third-party apps std:label -1 howto/writing-migrations.html#migrating-data-between-third-party-apps Migrating data between third-party apps\n+howto/writing-migrations:migrations that add unique fields std:label -1 howto/writing-migrations.html#migrations-that-add-unique-fields Migrations that add unique fields\n+hstorefield.contained_by std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.contains std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.has_any_keys std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.has_key std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.has_keys std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.key std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.keys std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+hstorefield.values std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+http-strict-transport-security std:label -1 ref/middleware.html#$ HTTP Strict Transport Security\n+http_bad_request_view std:label -1 ref/views.html#http-bad-request-view The 400 (bad request) view\n+http_forbidden_view std:label -1 ref/views.html#http-forbidden-view The 403 (HTTP Forbidden) view\n+http_internal_server_error_view std:label -1 ref/views.html#http-internal-server-error-view The 500 (server error) view\n+http_not_found_view std:label -1 ref/views.html#http-not-found-view The 404 (page not found) view\n+httprequest-attributes std:label -1 ref/request-response.html#$ Attributes\n+httpresponse-streaming std:label -1 ref/request-response.html#$ StreamingHttpResponse objects\n+i18n-cache-key std:label -1 topics/cache.html#$ -\n+i18n-template-tags std:label -1 topics/i18n/translation.html#$ Other tags\n+icontains std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+iendswith std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+iexact std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+if std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+ifchanged std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+improved-csrf-protection std:label -1 releases/1.2.html#$ Improved CSRF protection\n+in std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+inactive_auth std:label -1 topics/auth/customizing.html#inactive-auth Authorization for inactive users\n+include std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+including-other-urlconfs std:label -1 topics/http/urls.html#$ Including other URLconfs\n+increasing-password-algorithm-work-factor std:label -1 topics/auth/passwords.html#$ Increasing the work factor\n+index std:doc -1 index.html Django documentation\n+index-first-steps std:label -1 index.html#$ First steps\n+index:common web application tools std:label -1 index.html#common-web-application-tools Common web application tools\n+index:django documentation std:label -1 index.html#django-documentation Django documentation\n+index:first steps std:label -1 index.html#first-steps First steps\n+index:forms std:label -1 index.html#forms Forms\n+index:geographic framework std:label -1 index.html#geographic-framework Geographic framework\n+index:getting help std:label -1 index.html#getting-help Getting help\n+index:how the documentation is organized std:label -1 index.html#how-the-documentation-is-organized How the documentation is organized\n+index:internationalization and localization std:label -1 index.html#internationalization-and-localization Internationalization and localization\n+index:other core functionalities std:label -1 index.html#other-core-functionalities Other core functionalities\n+index:performance and optimization std:label -1 index.html#performance-and-optimization Performance and optimization\n+index:security std:label -1 index.html#security Security\n+index:the admin std:label -1 index.html#the-admin The admin\n+index:the development process std:label -1 index.html#the-development-process The development process\n+index:the django open-source project std:label -1 index.html#the-django-open-source-project The Django open-source project\n+index:the model layer std:label -1 index.html#the-model-layer The model layer\n+index:the template layer std:label -1 index.html#the-template-layer The template layer\n+index:the view layer std:label -1 index.html#the-view-layer The view layer\n+initial-data-via-fixtures std:label -1 howto/initial-data.html#$ Provide data with fixtures\n+inline-formsets std:label -1 topics/forms/modelforms.html#$ Inline formsets\n+inspectdb std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+inspectdb.--database std:cmdoption 1 ref/django-admin.html#cmdoption-inspectdb-database -\n+inspectdb.--include-partitions std:cmdoption 1 ref/django-admin.html#cmdoption-inspectdb-include-partitions -\n+inspectdb.--include-views std:cmdoption 1 ref/django-admin.html#cmdoption-inspectdb-include-views -\n+install-django-code std:label -1 topics/install.html#$ Install the Django code\n+install_python_windows std:label -1 howto/windows.html#install-python-windows Install Python\n+installing-development-version std:label -1 topics/install.html#$ Installing the development version\n+installing-distribution-package std:label -1 topics/install.html#$ Installing a distribution-specific package\n+installing-official-release std:label -1 topics/install.html#$ Installing an official release with pip\n+installing-reusable-apps-prerequisites std:label -1 intro/reusable-apps.html#$ Installing some prerequisites\n+instance namespace std:term -1 topics/http/urls.html#term-instance-namespace -\n+intcomma std:templatefilter 1 ref/contrib/humanize.html#std-templatefilter-$ -\n+intermediary-manytomany std:label -1 topics/db/models.html#$ Extra fields on many-to-many relationships\n+internal-release-cadence std:label -1 internals/release-process.html#$ Release cadence\n+internal-release-deprecation-policy std:label -1 internals/release-process.html#$ Deprecation policy\n+internals/contributing/bugs-and-features std:doc -1 internals/contributing/bugs-and-features.html Reporting bugs and requesting features\n+internals/contributing/bugs-and-features:how we make decisions std:label -1 internals/contributing/bugs-and-features.html#how-we-make-decisions How we make decisions\n+internals/contributing/bugs-and-features:reporting bugs std:label -1 internals/contributing/bugs-and-features.html#reporting-bugs Reporting bugs\n+internals/contributing/bugs-and-features:reporting bugs and requesting features std:label -1 internals/contributing/bugs-and-features.html#reporting-bugs-and-requesting-features Reporting bugs and requesting features\n+internals/contributing/bugs-and-features:reporting user interface bugs and features std:label -1 internals/contributing/bugs-and-features.html#reporting-user-interface-bugs-and-features Reporting user interface bugs and features\n+internals/contributing/bugs-and-features:requesting features std:label -1 internals/contributing/bugs-and-features.html#requesting-features Requesting features\n+internals/contributing/bugs-and-features:requesting performance optimizations std:label -1 internals/contributing/bugs-and-features.html#requesting-performance-optimizations Requesting performance optimizations\n+internals/contributing/committing-code std:doc -1 internals/contributing/committing-code.html Committing code\n+internals/contributing/committing-code:committing code std:label -1 internals/contributing/committing-code.html#committing-code Committing code\n+internals/contributing/committing-code:committing guidelines std:label -1 internals/contributing/committing-code.html#committing-guidelines Committing guidelines\n+internals/contributing/committing-code:handling pull requests std:label -1 internals/contributing/committing-code.html#handling-pull-requests Handling pull requests\n+internals/contributing/committing-code:reverting commits std:label -1 internals/contributing/committing-code.html#reverting-commits Reverting commits\n+internals/contributing/index std:doc -1 internals/contributing/index.html Contributing to Django\n+internals/contributing/index:communication channels std:label -1 internals/contributing/index.html#communication-channels Communication channels\n+internals/contributing/index:contributing to django std:label -1 internals/contributing/index.html#contributing-to-django Contributing to Django\n+internals/contributing/index:getting started std:label -1 internals/contributing/index.html#getting-started Getting started\n+internals/contributing/index:other ways of contributing std:label -1 internals/contributing/index.html#other-ways-of-contributing Other ways of contributing\n+internals/contributing/index:work on the django framework std:label -1 internals/contributing/index.html#work-on-the-django-framework Work on the Django framework\n+internals/contributing/localizing std:doc -1 internals/contributing/localizing.html Localizing Django\n+internals/contributing/localizing:documentation std:label -1 internals/contributing/localizing.html#documentation Documentation\n+internals/contributing/localizing:formats std:label -1 internals/contributing/localizing.html#formats Formats\n+internals/contributing/localizing:localizing django std:label -1 internals/contributing/localizing.html#localizing-django Localizing Django\n+internals/contributing/localizing:translations std:label -1 internals/contributing/localizing.html#translations Translations\n+internals/contributing/new-contributors std:doc -1 internals/contributing/new-contributors.html Advice for new contributors\n+internals/contributing/new-contributors:advice for new contributors std:label -1 internals/contributing/new-contributors.html#advice-for-new-contributors Advice for new contributors\n+internals/contributing/new-contributors:first steps std:label -1 internals/contributing/new-contributors.html#first-steps First steps\n+internals/contributing/new-contributors:guidelines std:label -1 internals/contributing/new-contributors.html#guidelines Guidelines\n+internals/contributing/triaging-tickets std:doc -1 internals/contributing/triaging-tickets.html Triaging tickets\n+internals/contributing/triaging-tickets:bisecting a regression std:label -1 internals/contributing/triaging-tickets.html#bisecting-a-regression Bisecting a regression\n+internals/contributing/triaging-tickets:closing tickets std:label -1 internals/contributing/triaging-tickets.html#closing-tickets Closing Tickets\n+internals/contributing/triaging-tickets:how can i help with triaging? std:label -1 internals/contributing/triaging-tickets.html#how-can-i-help-with-triaging How can I help with triaging?\n+internals/contributing/triaging-tickets:other triage attributes std:label -1 internals/contributing/triaging-tickets.html#other-triage-attributes Other triage attributes\n+internals/contributing/triaging-tickets:triage stages std:label -1 internals/contributing/triaging-tickets.html#triage-stages Triage stages\n+internals/contributing/triaging-tickets:triage workflow std:label -1 internals/contributing/triaging-tickets.html#triage-workflow Triage workflow\n+internals/contributing/triaging-tickets:triaging tickets std:label -1 internals/contributing/triaging-tickets.html#triaging-tickets Triaging tickets\n+internals/contributing/writing-code/coding-style std:doc -1 internals/contributing/writing-code/coding-style.html Coding style\n+internals/contributing/writing-code/coding-style:coding style std:label -1 internals/contributing/writing-code/coding-style.html#coding-style Coding style\n+internals/contributing/writing-code/coding-style:imports std:label -1 internals/contributing/writing-code/coding-style.html#imports Imports\n+internals/contributing/writing-code/coding-style:javascript style std:label -1 internals/contributing/writing-code/coding-style.html#javascript-style JavaScript style\n+internals/contributing/writing-code/coding-style:miscellaneous std:label -1 internals/contributing/writing-code/coding-style.html#miscellaneous Miscellaneous\n+internals/contributing/writing-code/coding-style:model style std:label -1 internals/contributing/writing-code/coding-style.html#model-style Model style\n+internals/contributing/writing-code/coding-style:pre-commit checks std:label -1 internals/contributing/writing-code/coding-style.html#pre-commit-checks Pre-commit checks\n+internals/contributing/writing-code/coding-style:python style std:label -1 internals/contributing/writing-code/coding-style.html#python-style Python style\n+internals/contributing/writing-code/coding-style:template style std:label -1 internals/contributing/writing-code/coding-style.html#template-style Template style\n+internals/contributing/writing-code/coding-style:use of ``django.conf.settings`` std:label -1 internals/contributing/writing-code/coding-style.html#use-of-django-conf-settings Use of django.conf.settings\n+internals/contributing/writing-code/coding-style:view style std:label -1 internals/contributing/writing-code/coding-style.html#view-style View style\n+internals/contributing/writing-code/index std:doc -1 internals/contributing/writing-code/index.html Contributing code\n+internals/contributing/writing-code/index:contributing code std:label -1 internals/contributing/writing-code/index.html#contributing-code Contributing code\n+internals/contributing/writing-code/index:how-to guides std:label -1 internals/contributing/writing-code/index.html#how-to-guides How-to guides\n+internals/contributing/writing-code/index:related topics std:label -1 internals/contributing/writing-code/index.html#related-topics Related topics\n+internals/contributing/writing-code/index:tutorials std:label -1 internals/contributing/writing-code/index.html#tutorials Tutorials\n+internals/contributing/writing-code/javascript std:doc -1 internals/contributing/writing-code/javascript.html JavaScript code\n+internals/contributing/writing-code/javascript:code style std:label -1 internals/contributing/writing-code/javascript.html#code-style Code style\n+internals/contributing/writing-code/javascript:javascript code std:label -1 internals/contributing/writing-code/javascript.html#javascript-code JavaScript code\n+internals/contributing/writing-code/javascript:javascript patches std:label -1 internals/contributing/writing-code/javascript.html#javascript-patches JavaScript patches\n+internals/contributing/writing-code/javascript:javascript tests std:label -1 internals/contributing/writing-code/javascript.html#javascript-tests JavaScript tests\n+internals/contributing/writing-code/submitting-patches std:doc -1 internals/contributing/writing-code/submitting-patches.html Submitting contributions\n+internals/contributing/writing-code/submitting-patches:\"claiming\" tickets std:label -1 internals/contributing/writing-code/submitting-patches.html#claiming-tickets \u00abClaiming\u00bb tickets\n+internals/contributing/writing-code/submitting-patches:contribution checklist std:label -1 internals/contributing/writing-code/submitting-patches.html#contribution-checklist Contribution checklist\n+internals/contributing/writing-code/submitting-patches:contribution style std:label -1 internals/contributing/writing-code/submitting-patches.html#contribution-style Contribution style\n+internals/contributing/writing-code/submitting-patches:contributions which require community feedback std:label -1 internals/contributing/writing-code/submitting-patches.html#contributions-which-require-community-feedback Contributions which require community feedback\n+internals/contributing/writing-code/submitting-patches:deprecating a feature std:label -1 internals/contributing/writing-code/submitting-patches.html#deprecating-a-feature Deprecating a feature\n+internals/contributing/writing-code/submitting-patches:javascript contributions std:label -1 internals/contributing/writing-code/submitting-patches.html#javascript-contributions JavaScript contributions\n+internals/contributing/writing-code/submitting-patches:optimization patches std:label -1 internals/contributing/writing-code/submitting-patches.html#optimization-patches Optimization patches\n+internals/contributing/writing-code/submitting-patches:submitting contributions std:label -1 internals/contributing/writing-code/submitting-patches.html#submitting-contributions Submitting contributions\n+internals/contributing/writing-code/submitting-patches:typo fixes and trivial documentation changes std:label -1 internals/contributing/writing-code/submitting-patches.html#typo-fixes-and-trivial-documentation-changes Typo fixes and trivial documentation changes\n+internals/contributing/writing-code/unit-tests std:doc -1 internals/contributing/writing-code/unit-tests.html Unit tests\n+internals/contributing/writing-code/unit-tests:contrib apps std:label -1 internals/contributing/writing-code/unit-tests.html#contrib-apps Contrib apps\n+internals/contributing/writing-code/unit-tests:running the unit tests std:label -1 internals/contributing/writing-code/unit-tests.html#running-the-unit-tests Running the unit tests\n+internals/contributing/writing-code/unit-tests:tips for writing tests std:label -1 internals/contributing/writing-code/unit-tests.html#tips-for-writing-tests Tips for writing tests\n+internals/contributing/writing-code/unit-tests:troubleshooting std:label -1 internals/contributing/writing-code/unit-tests.html#troubleshooting Troubleshooting\n+internals/contributing/writing-code/unit-tests:unit tests std:label -1 internals/contributing/writing-code/unit-tests.html#unit-tests Unit tests\n+internals/contributing/writing-code/working-with-git std:doc -1 internals/contributing/writing-code/working-with-git.html Working with Git and GitHub\n+internals/contributing/writing-code/working-with-git:installing git std:label -1 internals/contributing/writing-code/working-with-git.html#installing-git Installing Git\n+internals/contributing/writing-code/working-with-git:setting up local repository std:label -1 internals/contributing/writing-code/working-with-git.html#setting-up-local-repository Setting up local repository\n+internals/contributing/writing-code/working-with-git:summary std:label -1 internals/contributing/writing-code/working-with-git.html#summary Summary\n+internals/contributing/writing-code/working-with-git:working on a patch std:label -1 internals/contributing/writing-code/working-with-git.html#working-on-a-patch Working on a patch\n+internals/contributing/writing-code/working-with-git:working on a ticket std:label -1 internals/contributing/writing-code/working-with-git.html#working-on-a-ticket Working on a ticket\n+internals/contributing/writing-code/working-with-git:working with git and github std:label -1 internals/contributing/writing-code/working-with-git.html#working-with-git-and-github Working with Git and GitHub\n+internals/contributing/writing-documentation std:doc -1 internals/contributing/writing-documentation.html Writing documentation\n+internals/contributing/writing-documentation:``django-admin`` man page std:label -1 internals/contributing/writing-documentation.html#django-admin-man-page django-admin man page\n+internals/contributing/writing-documentation:an example std:label -1 internals/contributing/writing-documentation.html#an-example An example\n+internals/contributing/writing-documentation:commonly used terms std:label -1 internals/contributing/writing-documentation.html#commonly-used-terms Commonly used terms\n+internals/contributing/writing-documentation:django-specific markup std:label -1 internals/contributing/writing-documentation.html#django-specific-markup Django-specific markup\n+internals/contributing/writing-documentation:django-specific terminology std:label -1 internals/contributing/writing-documentation.html#django-specific-terminology Django-specific terminology\n+internals/contributing/writing-documentation:documenting new features std:label -1 internals/contributing/writing-documentation.html#documenting-new-features Documenting new features\n+internals/contributing/writing-documentation:guidelines for restructuredtext files std:label -1 internals/contributing/writing-documentation.html#guidelines-for-restructuredtext-files Guidelines for reStructuredText files\n+internals/contributing/writing-documentation:how the documentation is organized std:label -1 internals/contributing/writing-documentation.html#how-the-documentation-is-organized How the documentation is organized\n+internals/contributing/writing-documentation:how to start contributing documentation std:label -1 internals/contributing/writing-documentation.html#how-to-start-contributing-documentation How to start contributing documentation\n+internals/contributing/writing-documentation:minimizing images std:label -1 internals/contributing/writing-documentation.html#minimizing-images Minimizing images\n+internals/contributing/writing-documentation:the django documentation process std:label -1 internals/contributing/writing-documentation.html#the-django-documentation-process The Django documentation process\n+internals/contributing/writing-documentation:translating documentation std:label -1 internals/contributing/writing-documentation.html#translating-documentation Translating documentation\n+internals/contributing/writing-documentation:writing documentation std:label -1 internals/contributing/writing-documentation.html#writing-documentation Writing documentation\n+internals/contributing/writing-documentation:writing style std:label -1 internals/contributing/writing-documentation.html#writing-style Writing style\n+internals/deprecation std:doc -1 internals/deprecation.html Django Deprecation Timeline\n+internals/deprecation:1.10 std:label -1 internals/deprecation.html#deprecation-removed-in-1-10 1.10\n+internals/deprecation:1.3 std:label -1 internals/deprecation.html#deprecation-removed-in-1-3 1.3\n+internals/deprecation:1.4 std:label -1 internals/deprecation.html#deprecation-removed-in-1-4 1.4\n+internals/deprecation:1.5 std:label -1 internals/deprecation.html#deprecation-removed-in-1-5 1.5\n+internals/deprecation:1.6 std:label -1 internals/deprecation.html#deprecation-removed-in-1-6 1.6\n+internals/deprecation:1.7 std:label -1 internals/deprecation.html#deprecation-removed-in-1-7 1.7\n+internals/deprecation:1.8 std:label -1 internals/deprecation.html#deprecation-removed-in-1-8 1.8\n+internals/deprecation:1.9 std:label -1 internals/deprecation.html#deprecation-removed-in-1-9 1.9\n+internals/deprecation:2.0 std:label -1 internals/deprecation.html#deprecation-removed-in-2-0 2.0\n+internals/deprecation:2.1 std:label -1 internals/deprecation.html#deprecation-removed-in-2-1 2.1\n+internals/deprecation:3.0 std:label -1 internals/deprecation.html#deprecation-removed-in-3-0 3.0\n+internals/deprecation:3.1 std:label -1 internals/deprecation.html#deprecation-removed-in-3-1 3.1\n+internals/deprecation:4.0 std:label -1 internals/deprecation.html#deprecation-removed-in-4-0 4.0\n+internals/deprecation:4.1 std:label -1 internals/deprecation.html#deprecation-removed-in-4-1 4.1\n+internals/deprecation:5.0 std:label -1 internals/deprecation.html#deprecation-removed-in-5-0 5.0\n+internals/deprecation:5.1 std:label -1 internals/deprecation.html#deprecation-removed-in-5-1 5.1\n+internals/deprecation:6.0 std:label -1 internals/deprecation.html#deprecation-removed-in-6-0 6.0\n+internals/deprecation:django deprecation timeline std:label -1 internals/deprecation.html#django-deprecation-timeline Django Deprecation Timeline\n+internals/git std:doc -1 internals/git.html The Django source code repository\n+internals/git:high-level overview std:label -1 internals/git.html#high-level-overview High-level overview\n+internals/git:stable branches std:label -1 internals/git.html#stable-branches Stable branches\n+internals/git:tags std:label -1 internals/git.html#id1 Tags\n+internals/git:the django source code repository std:label -1 internals/git.html#the-django-source-code-repository The Django source code repository\n+internals/git:the main branch std:label -1 internals/git.html#the-main-branch The main branch\n+internals/howto-release-django std:doc -1 internals/howto-release-django.html How is Django Formed?\n+internals/howto-release-django:actually rolling the release std:label -1 internals/howto-release-django.html#actually-rolling-the-release Actually rolling the release\n+internals/howto-release-django:how is django formed? std:label -1 internals/howto-release-django.html#how-is-django-formed How is Django Formed?\n+internals/howto-release-django:making the release(s) available to the public std:label -1 internals/howto-release-django.html#making-the-release-s-available-to-the-public Making the release(s) available to the public\n+internals/howto-release-django:new stable branch tasks std:label -1 internals/howto-release-django.html#new-stable-branch-tasks New stable branch tasks\n+internals/howto-release-django:notes on setting the version tuple std:label -1 internals/howto-release-django.html#notes-on-setting-the-version-tuple Notes on setting the VERSION tuple\n+internals/howto-release-django:overview std:label -1 internals/howto-release-django.html#overview Overview\n+internals/howto-release-django:post-release std:label -1 internals/howto-release-django.html#post-release Post-release\n+internals/howto-release-django:pre-release tasks std:label -1 internals/howto-release-django.html#pre-release-tasks Pre-release tasks\n+internals/howto-release-django:prerequisites std:label -1 internals/howto-release-django.html#prerequisites Prerequisites\n+internals/index std:doc -1 internals/index.html Django internals\n+internals/index:django internals std:label -1 internals/index.html#django-internals Django internals\n+internals/mailing-lists std:doc -1 internals/mailing-lists.html Mailing lists and Forum\n+internals/mailing-lists:``django-announce`` std:label -1 internals/mailing-lists.html#django-announce django-announce\n+internals/mailing-lists:``django-developers`` std:label -1 internals/mailing-lists.html#django-developers django-developers\n+internals/mailing-lists:``django-updates`` std:label -1 internals/mailing-lists.html#django-updates django-updates\n+internals/mailing-lists:``django-users`` std:label -1 internals/mailing-lists.html#django-users django-users\n+internals/mailing-lists:django forum std:label -1 internals/mailing-lists.html#django-forum Django Forum\n+internals/mailing-lists:mailing lists and forum std:label -1 internals/mailing-lists.html#mailing-lists-and-forum Mailing lists and Forum\n+internals/organization std:doc -1 internals/organization.html Organization of the Django Project\n+internals/organization:changing the organization std:label -1 internals/organization.html#changing-the-organization Changing the organization\n+internals/organization:mergers std:label -1 internals/organization.html#mergers Mergers\n+internals/organization:organization of the django project std:label -1 internals/organization.html#organization-of-the-django-project Organization of the Django Project\n+internals/organization:principles std:label -1 internals/organization.html#principles Principles\n+internals/organization:releasers std:label -1 internals/organization.html#releasers Releasers\n+internals/organization:steering council std:label -1 internals/organization.html#steering-council Steering council\n+internals/release-process std:doc -1 internals/release-process.html Django\u2019s release process\n+internals/release-process:deprecation policy std:label -1 internals/release-process.html#deprecation-policy Deprecation policy\n+internals/release-process:django's release process std:label -1 internals/release-process.html#django-s-release-process Django\u2019s release process\n+internals/release-process:official releases std:label -1 internals/release-process.html#official-releases Official releases\n+internals/release-process:release cadence std:label -1 internals/release-process.html#release-cadence Release cadence\n+internals/release-process:release process std:label -1 internals/release-process.html#release-process Release process\n+internals/release-process:supported versions std:label -1 internals/release-process.html#supported-versions Supported versions\n+internals/security std:doc -1 internals/security.html Django\u2019s security policies\n+internals/security:django's security policies std:label -1 internals/security.html#django-s-security-policies Django\u2019s security policies\n+internals/security:how django discloses security issues std:label -1 internals/security.html#how-django-discloses-security-issues How Django discloses security issues\n+internals/security:how does django evaluate a report std:label -1 internals/security.html#how-does-django-evaluate-a-report How does Django evaluate a report\n+internals/security:reporting security issues std:label -1 internals/security.html#reporting-security-issues Reporting security issues\n+internals/security:requesting notifications std:label -1 internals/security.html#requesting-notifications Requesting notifications\n+internals/security:supported versions std:label -1 internals/security.html#supported-versions Supported versions\n+internals/security:who receives advance notification std:label -1 internals/security.html#who-receives-advance-notification Who receives advance notification\n+internationalization std:term -1 topics/i18n/index.html#term-$ -\n+intersects std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+intro-contributing-install-local-copy std:label -1 intro/contributing.html#$ -\n+intro/contributing std:doc -1 intro/contributing.html Writing your first contribution for Django\n+intro/contributing:code of conduct std:label -1 intro/contributing.html#code-of-conduct Code of Conduct\n+intro/contributing:committing the changes std:label -1 intro/contributing.html#committing-the-changes Committing the changes\n+intro/contributing:creating a branch std:label -1 intro/contributing.html#creating-a-branch Creating a branch\n+intro/contributing:getting a copy of django's development version std:label -1 intro/contributing.html#getting-a-copy-of-django-s-development-version Getting a copy of Django\u2019s development version\n+intro/contributing:installing git std:label -1 intro/contributing.html#installing-git Installing Git\n+intro/contributing:introduction std:label -1 intro/contributing.html#introduction Introduction\n+intro/contributing:next steps std:label -1 intro/contributing.html#next-steps Next steps\n+intro/contributing:previewing your changes std:label -1 intro/contributing.html#previewing-your-changes Previewing your changes\n+intro/contributing:pushing the commit and making a pull request std:label -1 intro/contributing.html#pushing-the-commit-and-making-a-pull-request Pushing the commit and making a pull request\n+intro/contributing:running django's test suite for the first time std:label -1 intro/contributing.html#running-django-s-test-suite-for-the-first-time Running Django\u2019s test suite for the first time\n+intro/contributing:running django's test suite for the second time std:label -1 intro/contributing.html#running-django-s-test-suite-for-the-second-time Running Django\u2019s test suite for the second time\n+intro/contributing:working on a feature std:label -1 intro/contributing.html#working-on-a-feature Working on a feature\n+intro/contributing:writing documentation std:label -1 intro/contributing.html#writing-documentation Writing Documentation\n+intro/contributing:writing some tests for your ticket std:label -1 intro/contributing.html#writing-some-tests-for-your-ticket Writing some tests for your ticket\n+intro/contributing:writing the code for your ticket std:label -1 intro/contributing.html#writing-the-code-for-your-ticket Writing the code for your ticket\n+intro/contributing:writing your first contribution for django std:label -1 intro/contributing.html#writing-your-first-contribution-for-django Writing your first contribution for Django\n+intro/index std:doc -1 intro/index.html Getting started\n+intro/index:getting started std:label -1 intro/index.html#getting-started Getting started\n+intro/install std:doc -1 intro/install.html Quick install guide\n+intro/install:install django std:label -1 intro/install.html#install-django Install Django\n+intro/install:install python std:label -1 intro/install.html#install-python Install Python\n+intro/install:quick install guide std:label -1 intro/install.html#quick-install-guide Quick install guide\n+intro/install:set up a database std:label -1 intro/install.html#set-up-a-database Set up a database\n+intro/install:that's it! std:label -1 intro/install.html#that-s-it That\u2019s it!\n+intro/install:verifying std:label -1 intro/install.html#verifying Verifying\n+intro/overview std:doc -1 intro/overview.html Django at a glance\n+intro/overview:a dynamic admin interface: it's not just scaffolding -- it's the whole house std:label -1 intro/overview.html#a-dynamic-admin-interface-it-s-not-just-scaffolding-it-s-the-whole-house A dynamic admin interface: it\u2019s not just scaffolding \u2013 it\u2019s the whole house\n+intro/overview:design your model std:label -1 intro/overview.html#design-your-model Design your model\n+intro/overview:design your templates std:label -1 intro/overview.html#design-your-templates Design your templates\n+intro/overview:design your urls std:label -1 intro/overview.html#design-your-urls Design your URLs\n+intro/overview:django at a glance std:label -1 intro/overview.html#django-at-a-glance Django at a glance\n+intro/overview:enjoy the free api std:label -1 intro/overview.html#enjoy-the-free-api Enjoy the free API\n+intro/overview:install it std:label -1 intro/overview.html#install-it Install it\n+intro/overview:this is just the surface std:label -1 intro/overview.html#this-is-just-the-surface This is just the surface\n+intro/overview:write your views std:label -1 intro/overview.html#write-your-views Write your views\n+intro/reusable-apps std:doc -1 intro/reusable-apps.html Advanced tutorial: How to write reusable apps\n+intro/reusable-apps:advanced tutorial: how to write reusable apps std:label -1 intro/reusable-apps.html#advanced-tutorial-how-to-write-reusable-apps Advanced tutorial: How to write reusable apps\n+intro/reusable-apps:installing python packages with a virtual environment std:label -1 intro/reusable-apps.html#installing-python-packages-with-a-virtual-environment Installing Python packages with a virtual environment\n+intro/reusable-apps:installing some prerequisites std:label -1 intro/reusable-apps.html#installing-some-prerequisites Installing some prerequisites\n+intro/reusable-apps:packaging your app std:label -1 intro/reusable-apps.html#packaging-your-app Packaging your app\n+intro/reusable-apps:publishing your app std:label -1 intro/reusable-apps.html#publishing-your-app Publishing your app\n+intro/reusable-apps:reusability matters std:label -1 intro/reusable-apps.html#reusability-matters Reusability matters\n+intro/reusable-apps:using your own package std:label -1 intro/reusable-apps.html#using-your-own-package Using your own package\n+intro/reusable-apps:your project and your reusable app std:label -1 intro/reusable-apps.html#your-project-and-your-reusable-app Your project and your reusable app\n+intro/tutorial01 std:doc -1 intro/tutorial01.html Writing your first Django app, part 1\n+intro/tutorial01:creating a project std:label -1 intro/tutorial01.html#creating-a-project Creating a project\n+intro/tutorial01:creating the polls app std:label -1 intro/tutorial01.html#creating-the-polls-app Creating the Polls app\n+intro/tutorial01:the development server std:label -1 intro/tutorial01.html#the-development-server The development server\n+intro/tutorial01:write your first view std:label -1 intro/tutorial01.html#write-your-first-view Write your first view\n+intro/tutorial01:writing your first django app, part 1 std:label -1 intro/tutorial01.html#writing-your-first-django-app-part-1 Writing your first Django app, part 1\n+intro/tutorial02 std:doc -1 intro/tutorial02.html Writing your first Django app, part 2\n+intro/tutorial02:activating models std:label -1 intro/tutorial02.html#activating-models Activating models\n+intro/tutorial02:creating models std:label -1 intro/tutorial02.html#creating-models Creating models\n+intro/tutorial02:database setup std:label -1 intro/tutorial02.html#database-setup Database setup\n+intro/tutorial02:introducing the django admin std:label -1 intro/tutorial02.html#introducing-the-django-admin Introducing the Django Admin\n+intro/tutorial02:playing with the api std:label -1 intro/tutorial02.html#playing-with-the-api Playing with the API\n+intro/tutorial02:writing your first django app, part 2 std:label -1 intro/tutorial02.html#writing-your-first-django-app-part-2 Writing your first Django app, part 2\n+intro/tutorial03 std:doc -1 intro/tutorial03.html Writing your first Django app, part 3\n+intro/tutorial03:namespacing url names std:label -1 intro/tutorial03.html#namespacing-url-names Namespacing URL names\n+intro/tutorial03:overview std:label -1 intro/tutorial03.html#overview Overview\n+intro/tutorial03:raising a 404 error std:label -1 intro/tutorial03.html#raising-a-404-error Raising a 404 error\n+intro/tutorial03:removing hardcoded urls in templates std:label -1 intro/tutorial03.html#removing-hardcoded-urls-in-templates Removing hardcoded URLs in templates\n+intro/tutorial03:use the template system std:label -1 intro/tutorial03.html#use-the-template-system Use the template system\n+intro/tutorial03:write views that actually do something std:label -1 intro/tutorial03.html#write-views-that-actually-do-something Write views that actually do something\n+intro/tutorial03:writing more views std:label -1 intro/tutorial03.html#writing-more-views Writing more views\n+intro/tutorial03:writing your first django app, part 3 std:label -1 intro/tutorial03.html#writing-your-first-django-app-part-3 Writing your first Django app, part 3\n+intro/tutorial04 std:doc -1 intro/tutorial04.html Writing your first Django app, part 4\n+intro/tutorial04:use generic views: less code is better std:label -1 intro/tutorial04.html#use-generic-views-less-code-is-better Use generic views: Less code is better\n+intro/tutorial04:write a minimal form std:label -1 intro/tutorial04.html#write-a-minimal-form Write a minimal form\n+intro/tutorial04:writing your first django app, part 4 std:label -1 intro/tutorial04.html#writing-your-first-django-app-part-4 Writing your first Django app, part 4\n+intro/tutorial05 std:doc -1 intro/tutorial05.html Writing your first Django app, part 5\n+intro/tutorial05:basic testing strategies std:label -1 intro/tutorial05.html#basic-testing-strategies Basic testing strategies\n+intro/tutorial05:further testing std:label -1 intro/tutorial05.html#further-testing Further testing\n+intro/tutorial05:introducing automated testing std:label -1 intro/tutorial05.html#introducing-automated-testing Introducing automated testing\n+intro/tutorial05:test a view std:label -1 intro/tutorial05.html#test-a-view Test a view\n+intro/tutorial05:what's next? std:label -1 intro/tutorial05.html#what-s-next What\u2019s next?\n+intro/tutorial05:when testing, more is better std:label -1 intro/tutorial05.html#when-testing-more-is-better When testing, more is better\n+intro/tutorial05:writing our first test std:label -1 intro/tutorial05.html#writing-our-first-test Writing our first test\n+intro/tutorial05:writing your first django app, part 5 std:label -1 intro/tutorial05.html#writing-your-first-django-app-part-5 Writing your first Django app, part 5\n+intro/tutorial06 std:doc -1 intro/tutorial06.html Writing your first Django app, part 6\n+intro/tutorial06:adding a background-image std:label -1 intro/tutorial06.html#adding-a-background-image Adding a background-image\n+intro/tutorial06:customize your *app's* look and feel std:label -1 intro/tutorial06.html#customize-your-app-s-look-and-feel Customize your app\u2019s look and feel\n+intro/tutorial06:writing your first django app, part 6 std:label -1 intro/tutorial06.html#writing-your-first-django-app-part-6 Writing your first Django app, part 6\n+intro/tutorial07 std:doc -1 intro/tutorial07.html Writing your first Django app, part 7\n+intro/tutorial07:adding related objects std:label -1 intro/tutorial07.html#adding-related-objects Adding related objects\n+intro/tutorial07:customize the admin change list std:label -1 intro/tutorial07.html#customize-the-admin-change-list Customize the admin change list\n+intro/tutorial07:customize the admin form std:label -1 intro/tutorial07.html#customize-the-admin-form Customize the admin form\n+intro/tutorial07:customize the admin index page std:label -1 intro/tutorial07.html#customize-the-admin-index-page Customize the admin index page\n+intro/tutorial07:customize the admin look and feel std:label -1 intro/tutorial07.html#customize-the-admin-look-and-feel Customize the admin look and feel\n+intro/tutorial07:writing your first django app, part 7 std:label -1 intro/tutorial07.html#writing-your-first-django-app-part-7 Writing your first Django app, part 7\n+intro/tutorial08 std:doc -1 intro/tutorial08.html Writing your first Django app, part 8\n+intro/tutorial08:getting help from others std:label -1 intro/tutorial08.html#getting-help-from-others Getting help from others\n+intro/tutorial08:installing django debug toolbar std:label -1 intro/tutorial08.html#installing-django-debug-toolbar Installing Django Debug Toolbar\n+intro/tutorial08:installing other third-party packages std:label -1 intro/tutorial08.html#installing-other-third-party-packages Installing other third-party packages\n+intro/tutorial08:what's next? std:label -1 intro/tutorial08.html#what-s-next What\u2019s next?\n+intro/tutorial08:writing your first django app, part 8 std:label -1 intro/tutorial08.html#writing-your-first-django-app-part-8 Writing your first Django app, part 8\n+intro/whatsnext std:doc -1 intro/whatsnext.html What to read next\n+intro/whatsnext:differences between versions std:label -1 intro/whatsnext.html#differences-between-versions Differences between versions\n+intro/whatsnext:finding documentation std:label -1 intro/whatsnext.html#finding-documentation Finding documentation\n+intro/whatsnext:how documentation is updated std:label -1 intro/whatsnext.html#how-documentation-is-updated How documentation is updated\n+intro/whatsnext:how the documentation is organized std:label -1 intro/whatsnext.html#how-the-documentation-is-organized How the documentation is organized\n+intro/whatsnext:what to read next std:label -1 intro/whatsnext.html#what-to-read-next What to read next\n+intro/whatsnext:where to get it std:label -1 intro/whatsnext.html#where-to-get-it Where to get it\n+intword std:templatefilter 1 ref/contrib/humanize.html#std-templatefilter-$ -\n+invalid-template-variables std:label -1 ref/templates/api.html#$ How invalid variables are handled\n+iregex std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+iriencode std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+isempty std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+isnull std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+iso_week_day std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+iso_year std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+istartswith std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+isvalid std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+iterating-relationship-choices std:label -1 ref/forms/fields.html#$ Iterating relationship choices\n+javascript-patches std:label -1 internals/contributing/writing-code/javascript.html#$ JavaScript patches\n+javascript-tests std:label -1 internals/contributing/writing-code/javascript.html#$ JavaScript tests\n+join std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+json_script std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+jsonfield.contained_by std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonfield.contains std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonfield.has_any_keys std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonfield.has_key std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonfield.has_keys std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonfield.key std:fieldlookup 1 topics/db/queries.html#std-fieldlookup-$ -\n+jsonresponsemixin-example std:label -1 topics/class-based-views/mixins.html#$ More than just HTML\n+language std:templatetag 1 topics/i18n/translation.html#std-templatetag-$ -\n+language code std:term -1 topics/i18n/index.html#term-language-code -\n+language_bidi std:templatefilter 1 topics/i18n/translation.html#std-templatefilter-$ -\n+language_name std:templatefilter 1 topics/i18n/translation.html#std-templatefilter-$ -\n+language_name_local std:templatefilter 1 topics/i18n/translation.html#std-templatefilter-$ -\n+language_name_translated std:templatefilter 1 topics/i18n/translation.html#std-templatefilter-$ -\n+last std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+lazy-plural-translations std:label -1 topics/i18n/translation.html#$ Lazy translations and plural\n+lazy-relationships std:label -1 ref/models/fields.html#$ Lazy relationships\n+lazy-translations std:label -1 topics/i18n/translation.html#$ Lazy translation\n+left std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+length std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+less-code std:label -1 misc/design-philosophies.html#$ Less code\n+libsettings std:label -1 ref/contrib/gis/install/index.html#$ Library environment settings\n+limiting-querysets std:label -1 topics/db/queries.html#$ Limiting QuerySets\n+linebreaks std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+linebreaksbr std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+linenumbers std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+live-test-server std:label -1 topics/testing/tools.html#$ LiveServerTestCase\n+liveservertestcase-port-zero-change std:label -1 releases/1.11.html#$ LiveServerTestCase binds to port zero\n+ljust std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+load std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+loaddata std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+loaddata.--app std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-app -\n+loaddata.--database std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-database -\n+loaddata.--exclude std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-exclude -\n+loaddata.--format std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-format -\n+loaddata.--ignorenonexistent std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-ignorenonexistent -\n+loaddata.-e std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-exclude -\n+loaddata.-i std:cmdoption 1 ref/django-admin.html#cmdoption-loaddata-ignorenonexistent -\n+loading-custom-template-libraries std:label -1 ref/templates/language.html#$ Custom tag and filter libraries\n+loading-fixtures-stdin std:label -1 ref/django-admin.html#$ Loading fixtures from stdin\n+loading_of_project_level_translations std:label -1 releases/1.3.html#loading-of-project-level-translations Loading of project-level translations\n+local-memory-caching std:label -1 topics/cache.html#$ Local-memory caching\n+locale name std:term -1 topics/i18n/index.html#term-locale-name -\n+locale-middleware-notes std:label -1 topics/i18n/translation.html#$ -\n+localization std:term -1 topics/i18n/index.html#term-$ -\n+localize std:templatefilter 1 topics/i18n/formatting.html#std-templatefilter-$ -\n+localize std:templatetag 1 topics/i18n/formatting.html#std-templatetag-$ -\n+localtime std:templatefilter 1 topics/i18n/timezones.html#std-templatefilter-$ -\n+localtime std:templatetag 1 topics/i18n/timezones.html#std-templatetag-$ -\n+logging-explanation std:label -1 topics/logging.html#$ Logging\n+logging-how-to std:label -1 howto/logging.html#$ How to configure and use logging\n+logging-ref std:label -1 ref/logging.html#$ Logging\n+logging-security-implications std:label -1 topics/logging.html#$ Security implications\n+lookup-registration-api std:label -1 ref/models/lookups.html#$ Registration API\n+lookups-that-span-relationships std:label -1 topics/db/queries.html#$ Lookups that span relationships\n+loose-coupling std:label -1 misc/design-philosophies.html#$ Loose coupling\n+lorem std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+low-level-cache-api std:label -1 topics/cache.html#$ The low-level cache API\n+low-level-widget-render-api std:label -1 ref/forms/renderers.html#$ The low-level render API\n+lower std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+lt std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+lte std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+m2m-help_text std:label -1 releases/1.6.html#m2m-help-text Help text of model form fields for ManyToManyField fields\n+m2m-help_text-deprecation std:label -1 releases/1.6.html#m2m-help-text-deprecation Munging of help text of model form fields for ManyToManyField fields\n+m2m-reverse-relationships std:label -1 topics/db/queries.html#$ Many-to-many relationships\n+macos std:label -1 ref/contrib/gis/install/index.html#$ macOS\n+macos_python std:label -1 ref/contrib/gis/install/index.html#macos-python Python\n+macports std:label -1 ref/contrib/gis/install/index.html#$ MacPorts\n+make_list std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+makemessages std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+makemessages.--add-location std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-add-location -\n+makemessages.--all std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-all -\n+makemessages.--domain std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-domain -\n+makemessages.--exclude std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-exclude -\n+makemessages.--extension std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-extension -\n+makemessages.--ignore std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-ignore -\n+makemessages.--keep-pot std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-keep-pot -\n+makemessages.--locale std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-locale -\n+makemessages.--no-default-ignore std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-no-default-ignore -\n+makemessages.--no-location std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-no-location -\n+makemessages.--no-obsolete std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-no-obsolete -\n+makemessages.--no-wrap std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-no-wrap -\n+makemessages.--symlinks std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-symlinks -\n+makemessages.-a std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-all -\n+makemessages.-d std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-domain -\n+makemessages.-e std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-extension -\n+makemessages.-i std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-ignore -\n+makemessages.-l std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-locale -\n+makemessages.-s std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-symlinks -\n+makemessages.-x std:cmdoption 1 ref/django-admin.html#cmdoption-makemessages-exclude -\n+makemigrations std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+makemigrations.--check std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-check -\n+makemigrations.--dry-run std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-dry-run -\n+makemigrations.--empty std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-empty -\n+makemigrations.--merge std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-merge -\n+makemigrations.--name std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-name -\n+makemigrations.--no-header std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-no-header -\n+makemigrations.--no-input std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-noinput -\n+makemigrations.--noinput std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-noinput -\n+makemigrations.--scriptable std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-scriptable -\n+makemigrations.--update std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-update -\n+makemigrations.-n std:cmdoption 1 ref/django-admin.html#cmdoption-makemigrations-name -\n+manage-postgresql-collations std:label -1 ref/contrib/postgres/operations.html#$ Managing collations using migrations\n+management-commands-and-locales std:label -1 howto/custom-management-commands.html#$ Management commands and locales\n+management-commands-output std:label -1 howto/custom-management-commands.html#$ -\n+manager-names std:label -1 topics/db/managers.html#$ Manager names\n+managers-for-related-objects std:label -1 topics/db/managers.html#$ Using managers for related object access\n+managing-autocommit std:label -1 topics/db/transactions.html#$ Autocommit\n+manually-rendered-can-delete-and-can-order std:label -1 topics/forms/formsets.html#$ Manually rendered can_delete and can_order\n+manually-specified-autoincrement-pk std:label -1 ref/databases.html#$ Manually-specifying values of auto-incrementing primary keys\n+manytomany-arguments std:label -1 ref/models/fields.html#$ Arguments\n+mariadb-notes std:label -1 ref/databases.html#$ MariaDB notes\n+math-functions std:label -1 ref/models/database-functions.html#$ Math Functions\n+memcached std:label -1 topics/cache.html#$ Memcached\n+mergers-team std:label -1 internals/organization.html#$ Mergers\n+message file std:term -1 topics/i18n/index.html#term-message-file -\n+message-displaying std:label -1 ref/contrib/messages.html#$ Displaying messages\n+message-does-not-appear-on-django-users std:label -1 faq/help.html#$ Why hasn\u2019t my message appeared on django-users?\n+message-level std:label -1 ref/contrib/messages.html#$ Message levels\n+message-level-constants std:label -1 ref/contrib/messages.html#$ -\n+message-storage-backends std:label -1 ref/contrib/messages.html#$ Storage backends\n+messages-framework std:label -1 releases/1.2.html#$ Messages framework\n+meta-and-multi-table-inheritance std:label -1 topics/db/models.html#$ Meta and multi-table inheritance\n+meta-options std:label -1 topics/db/models.html#$ Meta options\n+middleware-ordering std:label -1 ref/middleware.html#$ Middleware ordering\n+migrate std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+migrate.--check std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-check -\n+migrate.--database std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-database -\n+migrate.--fake std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-fake -\n+migrate.--fake-initial std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-fake-initial -\n+migrate.--no-input std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-noinput -\n+migrate.--noinput std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-noinput -\n+migrate.--plan std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-plan -\n+migrate.--prune std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-prune -\n+migrate.--run-syncdb std:cmdoption 1 ref/django-admin.html#cmdoption-migrate-run-syncdb -\n+migrating-uuidfield std:label -1 releases/5.0.html#$ Migrating existing UUIDField on MariaDB 10.7+\n+migration-files std:label -1 topics/migrations.html#$ Migration files\n+migration-history-consistency std:label -1 topics/migrations.html#$ History consistency\n+migration-serializing std:label -1 topics/migrations.html#$ Serializing values\n+migration-squashing std:label -1 topics/migrations.html#$ Squashing migrations\n+migrations-removing-model-fields std:label -1 topics/migrations.html#$ Considerations when removing model fields\n+minute std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+misc/api-stability std:doc -1 misc/api-stability.html API stability\n+misc/api-stability:api stability std:label -1 misc/api-stability.html#api-stability API stability\n+misc/api-stability:exceptions std:label -1 misc/api-stability.html#exceptions Exceptions\n+misc/api-stability:stable apis std:label -1 misc/api-stability.html#stable-apis Stable APIs\n+misc/api-stability:what \"stable\" means std:label -1 misc/api-stability.html#what-stable-means What \u00abstable\u00bb means\n+misc/design-philosophies std:doc -1 misc/design-philosophies.html Design philosophies\n+misc/design-philosophies:cache framework std:label -1 misc/design-philosophies.html#cache-framework Cache Framework\n+misc/design-philosophies:database api std:label -1 misc/design-philosophies.html#database-api Database API\n+misc/design-philosophies:design philosophies std:label -1 misc/design-philosophies.html#design-philosophies Design philosophies\n+misc/design-philosophies:models std:label -1 misc/design-philosophies.html#models Models\n+misc/design-philosophies:overall std:label -1 misc/design-philosophies.html#overall Overall\n+misc/design-philosophies:template system std:label -1 misc/design-philosophies.html#template-system Template system\n+misc/design-philosophies:url design std:label -1 misc/design-philosophies.html#url-design URL design\n+misc/design-philosophies:views std:label -1 misc/design-philosophies.html#views Views\n+misc/distributions std:doc -1 misc/distributions.html Third-party distributions of Django\n+misc/distributions:for distributors std:label -1 misc/distributions.html#for-distributors For distributors\n+misc/distributions:third-party distributions of django std:label -1 misc/distributions.html#third-party-distributions-of-django Third-party distributions of Django\n+misc/index std:doc -1 misc/index.html Meta-documentation and miscellany\n+misc/index:meta-documentation and miscellany std:label -1 misc/index.html#meta-documentation-and-miscellany Meta-documentation and miscellany\n+model std:term -1 glossary.html#term-$ -\n+model-admin-methods std:label -1 ref/contrib/admin/index.html#$ ModelAdmin methods\n+model-attributes std:label -1 topics/db/models.html#$ Model attributes\n+model-field-attributes std:label -1 ref/models/fields.html#$ Field attribute reference\n+model-field-types std:label -1 ref/models/fields.html#$ Field types\n+model-formsets std:label -1 topics/forms/modelforms.html#$ Model formsets\n+model-formsets-edit-only std:label -1 topics/forms/modelforms.html#$ Preventing new objects creation\n+model-formsets-max-num std:label -1 topics/forms/modelforms.html#$ Limiting the number of editable objects\n+model-formsets-overriding-clean std:label -1 topics/forms/modelforms.html#$ Overriding clean() on a ModelFormSet\n+model-inheritance std:label -1 topics/db/models.html#$ Model inheritance\n+model-instance-methods std:label -1 ref/models/instances.html#$ Other model instance methods\n+model-meta-field-api std:label -1 ref/models/meta.html#$ Field access API\n+model-methods std:label -1 topics/db/models.html#$ Model methods\n+model-multiple-inheritance-topic std:label -1 topics/db/models.html#$ Multiple inheritance\n+modeladmin-asset-definitions std:label -1 ref/contrib/admin/index.html#$ ModelAdmin asset definitions\n+modeladmin-list-filters std:label -1 ref/contrib/admin/filters.html#$ ModelAdmin List Filters\n+modelforms-factory std:label -1 topics/forms/modelforms.html#$ ModelForm factory function\n+modelforms-overriding-default-fields std:label -1 topics/forms/modelforms.html#$ Overriding the default fields\n+modelforms-selecting-fields std:label -1 topics/forms/modelforms.html#$ Selecting the fields to use\n+modifying_upload_handlers_on_the_fly std:label -1 topics/http/file-uploads.html#modifying-upload-handlers-on-the-fly Modifying upload handlers on the fly\n+modindex std:label -1 py-modindex.html Indice dei moduli\n+month std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+multi-table-inheritance std:label -1 topics/db/models.html#$ Multi-table inheritance\n+multiple-admin-sites std:label -1 ref/contrib/admin/index.html#$ Multiple admin sites in the same URLconf\n+multiple-formsets-in-view std:label -1 topics/forms/formsets.html#$ Using more than one formset in a view\n+mysql-character-fields std:label -1 ref/databases.html#$ Character fields\n+mysql-collation std:label -1 ref/databases.html#$ Collation settings\n+mysql-db-api-drivers std:label -1 ref/databases.html#$ MySQL DB API Drivers\n+mysql-fractional-seconds std:label -1 ref/databases.html#$ Fractional seconds support for Time and DateTime fields\n+mysql-isolation-level std:label -1 ref/databases.html#$ Isolation level\n+mysql-notes std:label -1 ref/databases.html#$ MySQL notes\n+mysql-spatial-limitations std:label -1 ref/contrib/gis/db-api.html#$ MySQL Spatial Limitations\n+mysql-sql-mode std:label -1 ref/databases.html#$ Setting sql_mode\n+mysql-storage-engines std:label -1 ref/databases.html#$ Storage engines\n+mysql-time-zone-definitions std:label -1 ref/databases.html#$ Time zone definitions\n+naive-datetime-objects std:label -1 topics/i18n/timezones.html#$ Interpretation of naive datetime objects\n+naive_vs_aware_datetimes std:label -1 topics/i18n/timezones.html#naive-vs-aware-datetimes Naive and aware datetime objects\n+namespace package std:label -1 ref/applications.html#namespace-package Namespace packages as apps\n+namespaces-and-include std:label -1 topics/http/urls.html#$ URL namespaces and included URLconfs\n+naming-loggers std:label -1 howto/logging.html#$ Use logger namespacing\n+naming-loggers-hierarchy std:label -1 howto/logging.html#$ Using logger hierarchies and propagation\n+naming-url-patterns std:label -1 topics/http/urls.html#$ Naming URL patterns\n+natural-keys-and-forward-references std:label -1 topics/serialization.html#$ Natural keys and forward references\n+naturalday std:templatefilter 1 ref/contrib/humanize.html#std-templatefilter-$ -\n+naturaltime std:templatefilter 1 ref/contrib/humanize.html#std-templatefilter-$ -\n+nested-queries-performance std:label -1 ref/models/querysets.html#$ -\n+new-contributors-faq std:label -1 faq/contributing.html#$ How can I get started contributing code to Django?\n+new-in-1.2-smart-if std:label -1 releases/1.2.html#new-in-1-2-smart-if \u00abSmart\u00bb if tag\n+new-test-runner std:label -1 releases/1.6.html#$ New test runner\n+new_functional_indexes std:label -1 releases/3.2.html#new-functional-indexes Functional indexes\n+no_cross_database_relations std:label -1 topics/db/multi-db.html#no-cross-database-relations Cross-database relations\n+non-atomic-migrations std:label -1 howto/writing-migrations.html#$ Non-atomic migrations\n+now std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+official-releases std:label -1 internals/release-process.html#$ Official releases\n+ogrinspect std:django-admin 1 ref/contrib/gis/commands.html#django-admin-$ -\n+ogrinspect-intro std:label -1 ref/contrib/gis/tutorial.html#$ Try ogrinspect\n+ogrinspect.--blank std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-blank -\n+ogrinspect.--decimal std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-decimal -\n+ogrinspect.--geom-name std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-geom-name -\n+ogrinspect.--layer std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-layer -\n+ogrinspect.--mapping std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-mapping -\n+ogrinspect.--multi-geom std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-multi-geom -\n+ogrinspect.--name-field std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-name-field -\n+ogrinspect.--no-imports std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-no-imports -\n+ogrinspect.--null std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-null -\n+ogrinspect.--srid std:cmdoption 1 ref/contrib/gis/commands.html#cmdoption-ogrinspect-srid -\n+onetoone-arguments std:label -1 ref/models/fields.html#$ -\n+optimizemigration std:django-admin 1 ref/django-admin.html#django-admin-$ -\n+optimizemigration.--check std:cmdoption 1 ref/django-admin.html#cmdoption-optimizemigration-check -\n+oracle-notes std:label -1 ref/databases.html#$ Oracle notes\n+oracle-null-empty-strings std:label -1 ref/databases.html#$ NULL and empty strings\n+order-of-tests std:label -1 topics/testing/overview.html#$ Order in which tests are executed\n+ordinal std:templatefilter 1 ref/contrib/humanize.html#std-templatefilter-$ -\n+organization-change std:label -1 internals/organization.html#$ Changing the organization\n+osgeo4w std:label -1 ref/contrib/gis/install/index.html#$ OSGeo4W\n+other-testing-frameworks std:label -1 topics/testing/advanced.html#$ Using different testing frameworks\n+output-field std:label -1 ref/models/expressions.html#$ Output field\n+overlaps std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+overlaps_above std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+overlaps_below std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+overlaps_left std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+overlaps_right std:fieldlookup 1 ref/contrib/gis/geoquerysets.html#std-fieldlookup-$ -\n+overriding-built-in-field-templates std:label -1 ref/forms/renderers.html#$ Overriding built-in field templates\n+overriding-built-in-form-templates std:label -1 ref/forms/renderers.html#$ Overriding built-in form templates\n+overriding-built-in-formset-templates std:label -1 ref/forms/renderers.html#$ Overriding built-in formset templates\n+overriding-built-in-widget-templates std:label -1 ref/forms/renderers.html#$ Overriding built-in widget templates\n+overriding-default-admin-site std:label -1 ref/contrib/admin/index.html#$ Overriding the default admin site\n+overriding-model-methods std:label -1 topics/db/models.html#$ Overriding predefined model methods\n+overriding-modelform-clean-method std:label -1 topics/forms/modelforms.html#$ Overriding the clean() method\n+overriding-settings std:label -1 topics/testing/tools.html#$ Overriding settings\n+overuse_of_count_and_exists std:label -1 topics/db/optimization.html#overuse-of-count-and-exists Don\u2019t overuse contains(), count(), and exists()\n+paginating-a-list-view std:label -1 topics/pagination.html#$ Paginating a ListView\n+password-upgrades std:label -1 topics/auth/passwords.html#$ Password upgrading\n+password-validation std:label -1 topics/auth/passwords.html#$ Password validation\n+patch-review-checklist std:label -1 internals/contributing/writing-code/submitting-patches.html#$ Contribution checklist\n+patch-style std:label -1 internals/contributing/writing-code/submitting-patches.html#$ Contribution style\n+performing-actions-after-commit std:label -1 topics/db/transactions.html#$ Performing actions after commit\n+persistent-database-connections std:label -1 ref/databases.html#$ Persistent connections\n+persistent-remote-user-middleware-howto std:label -1 howto/auth-remote-user.html#$ Using REMOTE_USER on login pages only\n+phone2numeric std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+pickling querysets std:label -1 ref/models/querysets.html#pickling-querysets Pickling QuerySets\n+playing-with-context std:label -1 ref/templates/api.html#$ Playing with Context objects\n+pluralization-var-notes std:label -1 topics/i18n/translation.html#$ -\n+pluralize std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+postgisasb std:label -1 ref/contrib/gis/install/index.html#$ PostGIS\n+postgresapp std:label -1 ref/contrib/gis/install/index.html#$ Postgres.app\n+postgresql-connection-settings std:label -1 ref/databases.html#$ PostgreSQL connection settings\n+postgresql-fts-search-configuration std:label -1 ref/contrib/postgres/search.html#$ Changing the search configuration\n+postgresql-fts-weighting-queries std:label -1 ref/contrib/postgres/search.html#$ Weighting queries\n+postgresql-notes std:label -1 ref/databases.html#$ PostgreSQL notes\n+postgresql-pool std:label -1 ref/databases.html#$ Connection pool\n+postgresql-server-side-cursors std:label -1 ref/databases.html#$ Server-side cursors\n+pprint std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+prepared-geometries std:label -1 ref/contrib/gis/geos.html#$ Prepared Geometries\n+preprocessing-values-before-saving std:label -1 howto/custom-model-fields.html#$ Preprocessing values before saving\n+preventing-duplicate-signals std:label -1 topics/signals.html#$ Preventing duplicate signals\n+proj4 std:label -1 ref/contrib/gis/install/geolibs.html#$ PROJ\n+project std:term -1 glossary.html#term-$ -\n+property std:term -1 glossary.html#term-$ -\n+proxy-models std:label -1 topics/db/models.html#$ Proxy models\n+proxy-models-permissions-topic std:label -1 topics/auth/default.html#$ Proxy models\n+proxy-vs-unmanaged-models std:label -1 topics/db/models.html#$ Differences between proxy inheritance and unmanaged models\n+py-modindex std:label -1 py-modindex.html Indice del modulo Python\n+quarter std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+query-expression std:label -1 ref/models/lookups.html#$ The Query Expression API\n+querying-jsonfield std:label -1 topics/db/queries.html#$ Querying JSONField\n+queryset std:term -1 glossary.html#term-$ -\n+queryset-api std:label -1 ref/models/querysets.html#$ QuerySet API\n+queryset-model-example std:label -1 topics/db/queries.html#$ -\n+querysets-are-lazy std:label -1 topics/db/queries.html#$ QuerySets are lazy\n+querystring std:templatetag 1 ref/templates/builtins.html#std-templatetag-$ -\n+quick-development std:label -1 misc/design-philosophies.html#$ Quick development\n+raising-validation-error std:label -1 ref/forms/validation.html#$ Raising ValidationError\n+random std:templatefilter 1 ref/templates/builtins.html#std-templatefilter-$ -\n+range std:fieldlookup 1 ref/models/querysets.html#std-fieldlookup-$ -\n+range-fields std:label -1 ref/contrib/postgres/fields.html#$ Range Fields\n+rangefield.adjacent_to std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.contained_by std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.contains std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.endswith std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.fully_gt std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.fully_lt std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.isempty std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.lower_inc std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.lower_inf std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.not_gt std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.not_lt std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.overlap std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.startswith std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.upper_inc std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+rangefield.upper_inf std:fieldlookup 1 ref/contrib/postgres/fields.html#std-fieldlookup-$ -\n+raster-data-source-objects std:label -1 ref/contrib/gis/gdal.html#$ Raster Data Objects\n+receiver-functions std:label -1 topics/signals.html#$ Receiver functions\n+recursive-relationships std:label -1 ref/models/fields.html#$ Recursive\n+redis std:label -1 topics/cache.html#$ Redis\n+ref-basecommand-subclasses std:label -1 howto/custom-management-commands.html#$ BaseCommand subclasses\n+ref-customizing-your-projects-templates std:label -1 intro/tutorial07.html#$ Customizing your project\u2019s templates\n+ref-foreignkey std:label -1 ref/models/fields.html#$ ForeignKey\n+ref-forms-api-bound-unbound std:label -1 ref/forms/api.html#$ Bound and unbound forms\n+ref-forms-api-configuring-label std:label -1 ref/forms/api.html#$ Configuring form elements\u201d HTML id attributes and
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n- up
    \n+ up
    \n
    \n
    \n \n
    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,11 +1,11 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n _\bu_\bp\n-*\b**\b**\b**\b**\b**\b* P\bPy\byt\bth\bho\bon\bn M\bMo\bod\bdu\bul\ble\be I\bIn\bnd\bde\bex\bx *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* I\bIn\bnd\bdi\bic\bce\be d\bde\bel\bl m\bmo\bod\bdu\bul\blo\bo P\bPy\byt\bth\bho\bon\bn *\b**\b**\b**\b**\b**\b*\n _\ba\ba | _\bc\bc | _\bd\bd | _\bf\bf | _\bh\bh | _\bm\bm | _\bs\bs | _\bt\bt | _\bu\bu | _\bv\bv\n \u00a0\n a\ba\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs\n \u00a0\n c\bc\n [-] django.conf\n@@ -219,12 +219,12 @@\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bo_\bm_\bm_\bo_\bn\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bc_\bs_\br_\bf\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bg_\bz_\bi_\bp\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bh_\bt_\bt_\bp\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bv_\ba_\br_\by\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs\n \u00a0\u00a0\u00a0 _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bi_\b1_\b8_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n _\bu_\bp\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/applications.html", "source2": "./usr/share/doc/python-django-doc/html/ref/applications.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Applications — Django 5.1.4 documentation\n+ Applications — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -137,15 +138,15 @@\n "polls.apps.PollsAppConfig",\n ...,\n ]\n
    \n
    \n
    \n

    For application authors\u00b6

    \n-

    If you\u2019re creating a pluggable app called \u201cRock \u2019n\u2019 roll\u201d, here\u2019s how you\n+

    If you\u2019re creating a pluggable app called \u00abRock \u2019n\u2019 roll\u00bb, here\u2019s how you\n would provide a proper name for the admin:

    \n
    # rock_n_roll/apps.py\n \n from django.apps import AppConfig\n \n \n class RockNRollConfig(AppConfig):\n@@ -165,28 +166,28 @@\n configuration applies to. You can define any other attribute documented in the\n AppConfig API reference.

    \n

    AppConfig subclasses may be defined anywhere. The apps.py\n convention merely allows Django to load them automatically when\n INSTALLED_APPS contains the path to an application module rather\n than the path to a configuration class.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If your code imports the application registry in an application\u2019s\n __init__.py, the name apps will clash with the apps submodule.\n The best practice is to move that code to a submodule and import it. A\n workaround is to import the registry under a different name:

    \n
    from django.apps import apps as django_apps\n 
    \n
    \n
    \n
    \n
    \n

    For application users\u00b6

    \n-

    If you\u2019re using \u201cRock \u2019n\u2019 roll\u201d in a project called anthology, but you\n-want it to show up as \u201cJazz Manouche\u201d instead, you can provide your own\n+

    If you\u2019re using \u00abRock \u2019n\u2019 roll\u00bb in a project called anthology, but you\n+want it to show up as \u00abJazz Manouche\u00bb instead, you can provide your own\n configuration:

    \n
    # anthology/apps.py\n \n from rock_n_roll.apps import RockNRollConfig\n \n \n class JazzManoucheConfig(RockNRollConfig):\n@@ -209,15 +210,15 @@\n cannot be automatically detected.

    \n
    \n \n
    \n

    Application configuration\u00b6

    \n
    \n
    \n-class AppConfig[source]\u00b6
    \n+class AppConfig[sorgente]\u00b6\n

    Application configuration objects store metadata for an application. Some\n attributes can be configured in AppConfig\n subclasses. Others are set by Django and read-only.

    \n
    \n \n
    \n

    Configurable attributes\u00b6

    \n@@ -235,27 +236,27 @@\n AppConfig.label\u00b6\n

    Short name for the application, e.g. 'admin'

    \n

    This attribute allows relabeling an application when two applications\n have conflicting labels. It defaults to the last component of name.\n It should be a valid Python identifier.

    \n

    It must be unique across a Django project.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Changing this attribute after migrations have been applied for an\n application will result in breaking changes to a project or, in the\n case of a reusable app, any existing installs of that app. This is\n because AppConfig.label is used in database tables and migration\n files when referencing an app in the dependencies list.

    \n
    \n
    \n \n
    \n
    \n AppConfig.verbose_name\u00b6
    \n-

    Human-readable name for the application, e.g. \u201cAdministration\u201d.

    \n+

    Human-readable name for the application, e.g. \u00abAdministration\u00bb.

    \n

    This attribute defaults to label.title().

    \n
    \n \n
    \n
    \n AppConfig.path\u00b6
    \n

    Filesystem path to the application directory, e.g.\n@@ -279,15 +280,15 @@\n AppConfig subclass and you want Django to use one of them by\n default.

    \n

    By default, this attribute isn\u2019t set.

    \n
    \n \n
    \n
    \n-AppConfig.default_auto_field[source]\u00b6
    \n+AppConfig.default_auto_field[sorgente]\u00b6\n

    The implicit primary key type to add to models within this app. You can\n use this to keep AutoField as the primary key\n type for third party applications.

    \n

    By default, this is the value of DEFAULT_AUTO_FIELD.

    \n
    \n \n
    \n@@ -313,34 +314,34 @@\n \n \n
    \n
    \n

    Methods\u00b6

    \n
    \n
    \n-AppConfig.get_models(include_auto_created=False, include_swapped=False)[source]\u00b6
    \n+AppConfig.get_models(include_auto_created=False, include_swapped=False)[sorgente]\u00b6\n

    Returns an iterable of Model classes for this\n application.

    \n

    Requires the app registry to be fully populated.

    \n
    \n \n
    \n
    \n-AppConfig.get_model(model_name, require_ready=True)[source]\u00b6
    \n+AppConfig.get_model(model_name, require_ready=True)[sorgente]\u00b6\n

    Returns the Model with the given\n model_name. model_name is case-insensitive.

    \n

    Raises LookupError if no such model exists in this application.

    \n

    Requires the app registry to be fully populated unless the\n require_ready argument is set to False. require_ready behaves\n exactly as in apps.get_model().

    \n
    \n \n
    \n
    \n-AppConfig.ready()[source]\u00b6
    \n+AppConfig.ready()[sorgente]\u00b6\n

    Subclasses can override this method to perform initialization tasks such\n as registering signals. It is called as soon as the registry is fully\n populated.

    \n

    Although you can\u2019t import models at the module-level where\n AppConfig classes are defined, you can import them in\n ready(), using either an import statement or\n get_model().

    \n@@ -362,42 +363,42 @@\n MyModel = self.get_model("MyModel")\n \n # registering signals with the model's string label\n pre_save.connect(receiver, sender="app_label.MyModel")\n
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Although you can access model classes as described above, avoid\n interacting with the database in your ready() implementation.\n This includes model methods that execute queries\n (save(),\n delete(), manager methods etc.), and\n also raw SQL queries via django.db.connection. Your\n ready() method will run during startup of every management\n command. For example, even though the test database configuration is\n separate from the production settings, manage.py test would still\n execute some queries against your production database!

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    In the usual initialization process, the ready method is only called\n once by Django. But in some corner cases, particularly in tests which\n are fiddling with installed applications, ready might be called more\n than once. In that case, either write idempotent methods, or put a flag\n on your AppConfig classes to prevent rerunning code which should\n be executed exactly one time.

    \n
    \n \n \n \n
    \n

    Namespace packages as apps\u00b6

    \n-

    Python packages without an __init__.py file are known as \u201cnamespace\n-packages\u201d and may be spread across multiple directories at different locations\n+

    Python packages without an __init__.py file are known as \u00abnamespace\n+packages\u00bb and may be spread across multiple directories at different locations\n on sys.path (see PEP 420).

    \n

    Django applications require a single base filesystem path where Django\n (depending on configuration) will search for templates, static assets,\n etc. Thus, namespace packages may only be Django applications if one of the\n following is true:

    \n
      \n
    1. The namespace package actually has only a single location (i.e. is not\n@@ -478,15 +479,15 @@\n

      Initialization process\u00b6

      \n
      \n

      How applications are loaded\u00b6

      \n

      When Django starts, django.setup() is responsible for populating the\n application registry.

      \n
      \n
      \n-setup(set_prefix=True)[source]\u00b6
      \n+setup(set_prefix=True)[sorgente]\u00b6\n

      Configures Django by:

      \n
        \n
      • Loading the settings.

      • \n
      • Setting up logging.

      • \n
      • If set_prefix is True, setting the URL resolver script prefix to\n FORCE_SCRIPT_NAME if defined, or / otherwise.

      • \n
      • Initializing the application registry.

      • \n@@ -509,15 +510,15 @@\n
          \n
        1. First Django imports each item in INSTALLED_APPS.

          \n

          If it\u2019s an application configuration class, Django imports the root package\n of the application, defined by its name attribute. If\n it\u2019s a Python package, Django looks for an application configuration in an\n apps.py submodule, or else creates a default application configuration.

          \n

          At this stage, your code shouldn\u2019t import any models!

          \n-

          In other words, your applications\u2019 root packages and the modules that\n+

          In other words, your applications\u201d root packages and the modules that\n define your application configuration classes shouldn\u2019t import any models,\n even indirectly.

          \n

          Strictly speaking, Django allows importing models once their application\n configuration is loaded. However, in order to avoid needless constraints on\n the order of INSTALLED_APPS, it\u2019s strongly recommended not\n import any models at this stage.

          \n

          Once this stage completes, APIs that operate on application configurations\n@@ -556,15 +557,15 @@\n

        2. \n
        3. ImportError: cannot import name ... This happens if the import sequence\n ends up in a loop.

          \n

          To eliminate such problems, you should minimize dependencies between your\n models modules and do as little work as possible at import time. To avoid\n executing code at import time, you can move it into a function and cache its\n results. The code will be executed when you first need its results. This\n-concept is known as \u201clazy evaluation\u201d.

          \n+concept is known as \u00ablazy evaluation\u00bb.

          \n
        4. \n
        5. django.contrib.admin automatically performs autodiscovery of admin\n modules in installed applications. To prevent it, change your\n INSTALLED_APPS to contain\n 'django.contrib.admin.apps.SimpleAdminConfig' instead of\n 'django.contrib.admin'.

        6. \n
        7. RuntimeWarning: Accessing the database during app initialization is\n@@ -632,37 +633,37 @@\n

        8. \n
      \n
    2. \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    API Reference

    \n+ title=\"capitolo precedente\">API Reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    System check framework

    \n+ title=\"capitolo successivo\">System check framework

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAp\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django contains a registry of installed applications that stores configuration\n and provides introspection. It also maintains a list of available _\bm_\bo_\bd_\be_\bl_\bs.\n This registry is called _\ba_\bp_\bp_\bs and it\u2019s available in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\ba_\bp_\bp_\bs:\n >>> from django.apps import apps\n@@ -48,15 +48,15 @@\n class to specify it explicitly:\n INSTALLED_APPS = [\n ...,\n \"polls.apps.PollsAppConfig\",\n ...,\n ]\n *\b**\b**\b**\b* F\bFo\bor\br a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn a\bau\but\bth\bho\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-If you\u2019re creating a pluggable app called \u201cRock \u2019n\u2019 roll\u201d, here\u2019s how you would\n+If you\u2019re creating a pluggable app called \u00abRock \u2019n\u2019 roll\u00bb, here\u2019s how you would\n provide a proper name for the admin:\n # rock_n_roll/apps.py\n \n from django.apps import AppConfig\n \n \n class RockNRollConfig(AppConfig):\n@@ -72,23 +72,23 @@\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting.\n The _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b._\bn_\ba_\bm_\be attribute tells Django which application this configuration\n applies to. You can define any other attribute documented in the _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg API\n reference.\n _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg subclasses may be defined anywhere. The apps.py convention merely\n allows Django to load them automatically when _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS contains the path\n to an application module rather than the path to a configuration class.\n-Note\n+Nota\n If your code imports the application registry in an application\u2019s __init__.py,\n the name apps will clash with the apps submodule. The best practice is to move\n that code to a submodule and import it. A workaround is to import the registry\n under a different name:\n from django.apps import apps as django_apps\n *\b**\b**\b**\b* F\bFo\bor\br a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn u\bus\bse\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-If you\u2019re using \u201cRock \u2019n\u2019 roll\u201d in a project called anthology, but you want it\n-to show up as \u201cJazz Manouche\u201d instead, you can provide your own configuration:\n+If you\u2019re using \u00abRock \u2019n\u2019 roll\u00bb in a project called anthology, but you want it\n+to show up as \u00abJazz Manouche\u00bb instead, you can provide your own configuration:\n # anthology/apps.py\n \n from rock_n_roll.apps import RockNRollConfig\n \n \n class JazzManoucheConfig(RockNRollConfig):\n verbose_name = \"Jazz Manouche\"\n@@ -103,15 +103,15 @@\n This example shows project-specific configuration classes located in a\n submodule called apps.py. This is a convention, not a requirement. _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg\n subclasses may be defined anywhere.\n In this situation, _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS must contain the dotted path to the\n configuration class because it lives outside of an application and thus cannot\n be automatically detected.\n *\b**\b**\b**\b**\b* A\bAp\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AppConfig_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AppConfig_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Application configuration objects store metadata for an application. Some\n attributes can be configured in _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg subclasses. Others are set by\n Django and read-only.\n *\b**\b**\b**\b* C\bCo\bon\bnf\bfi\big\bgu\bur\bra\bab\bbl\ble\be a\bat\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n AppConfig.name_\b\u00b6\n Full Python path to the application, e.g. 'django.contrib.admin'.\n This attribute defines which application the configuration applies to. It\n@@ -119,22 +119,22 @@\n It must be unique across a Django project.\n AppConfig.label_\b\u00b6\n Short name for the application, e.g. 'admin'\n This attribute allows relabeling an application when two applications\n have conflicting labels. It defaults to the last component of name. It\n should be a valid Python identifier.\n It must be unique across a Django project.\n- Warning\n+ Avvertimento\n Changing this attribute after migrations have been applied for an\n application will result in breaking changes to a project or, in the case\n of a reusable app, any existing installs of that app. This is because\n AppConfig.label is used in database tables and migration files when\n referencing an app in the dependencies list.\n AppConfig.verbose_name_\b\u00b6\n- Human-readable name for the application, e.g. \u201cAdministration\u201d.\n+ Human-readable name for the application, e.g. \u00abAdministration\u00bb.\n This attribute defaults to label.title().\n AppConfig.path_\b\u00b6\n Filesystem path to the application directory, e.g. '/usr/lib/pythonX.Y/\n dist-packages/django/contrib/admin'.\n In most cases, Django can automatically detect and set this, but you can\n also provide an explicit override as a class attribute on your _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg\n subclass. In a few situations this is required; for instance if the app\n@@ -144,15 +144,15 @@\n configuration class automatically. This is useful when apps.py defines\n only one _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg subclass but you don\u2019t want Django to use it by\n default.\n Set this attribute to True to tell Django to select a configuration class\n automatically. This is useful when apps.py defines more than one\n _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg subclass and you want Django to use one of them by default.\n By default, this attribute isn\u2019t set.\n- AppConfig.default_auto_field_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ AppConfig.default_auto_field_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The implicit primary key type to add to models within this app. You can\n use this to keep _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd as the primary key type for third party\n applications.\n By default, this is the value of _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bA_\bU_\bT_\bO_\b__\bF_\bI_\bE_\bL_\bD.\n *\b**\b**\b**\b* R\bRe\bea\bad\bd-\b-o\bon\bnl\bly\by a\bat\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n AppConfig.module_\b\u00b6\n Root module for the application, e.g. .\n It may be None if the application doesn\u2019t contain a models module. Note\n that the database related signals such as _\bp_\br_\be_\b__\bm_\bi_\bg_\br_\ba_\bt_\be and _\bp_\bo_\bs_\bt_\b__\bm_\bi_\bg_\br_\ba_\bt_\be\n are only emitted for applications that have a models module.\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n AppConfig.get_models(i\bin\bnc\bcl\blu\bud\bde\be_\b_a\bau\but\bto\bo_\b_c\bcr\bre\bea\bat\bte\bed\bd=\b=F\bFa\bal\bls\bse\be, i\bin\bnc\bcl\blu\bud\bde\be_\b_s\bsw\bwa\bap\bpp\bpe\bed\bd=\b=F\bFa\bal\bls\bse\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns an iterable of _\bM_\bo_\bd_\be_\bl classes for this application.\n Requires the app registry to be fully populated.\n- AppConfig.get_model(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, r\bre\beq\bqu\bui\bir\bre\be_\b_r\bre\bea\bad\bdy\by=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ AppConfig.get_model(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, r\bre\beq\bqu\bui\bir\bre\be_\b_r\bre\bea\bad\bdy\by=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bM_\bo_\bd_\be_\bl with the given model_name. model_name is case-\n insensitive.\n Raises _\bL_\bo_\bo_\bk_\bu_\bp_\bE_\br_\br_\bo_\br if no such model exists in this application.\n Requires the app registry to be fully populated unless the require_ready\n argument is set to False. require_ready behaves exactly as in\n _\ba_\bp_\bp_\bs_\b._\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b(_\b).\n- AppConfig.ready()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ AppConfig.ready()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Subclasses can override this method to perform initialization tasks such\n as registering signals. It is called as soon as the registry is fully\n populated.\n Although you can\u2019t import models at the module-level where _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg\n classes are defined, you can import them in ready(), using either an\n import statement or _\bg_\be_\bt_\b__\bm_\bo_\bd_\be_\bl_\b(_\b).\n If you\u2019re registering _\bm_\bo_\bd_\be_\bl_\b _\bs_\bi_\bg_\bn_\ba_\bl_\bs, you can refer to the sender by its\n@@ -196,32 +196,32 @@\n # importing model classes\n from .models import MyModel # or...\n \n MyModel = self.get_model(\"MyModel\")\n \n # registering signals with the model's string label\n pre_save.connect(receiver, sender=\"app_label.MyModel\")\n- Warning\n+ Avvertimento\n Although you can access model classes as described above, avoid\n interacting with the database in your _\br_\be_\ba_\bd_\by_\b(_\b) implementation. This\n includes model methods that execute queries (_\bs_\ba_\bv_\be_\b(_\b), _\bd_\be_\bl_\be_\bt_\be_\b(_\b), manager\n methods etc.), and also raw SQL queries via django.db.connection. Your\n _\br_\be_\ba_\bd_\by_\b(_\b) method will run during startup of every management command. For\n example, even though the test database configuration is separate from the\n production settings, manage.py test would still execute some queries\n against your p\bpr\bro\bod\bdu\buc\bct\bti\bio\bon\bn database!\n- Note\n+ Nota\n In the usual initialization process, the ready method is only called once\n by Django. But in some corner cases, particularly in tests which are\n fiddling with installed applications, ready might be called more than\n once. In that case, either write idempotent methods, or put a flag on\n your AppConfig classes to prevent rerunning code which should be executed\n exactly one time.\n *\b**\b**\b**\b* N\bNa\bam\bme\bes\bsp\bpa\bac\bce\be p\bpa\bac\bck\bka\bag\bge\bes\bs a\bas\bs a\bap\bpp\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-Python packages without an __init__.py file are known as \u201cnamespace packages\u201d\n+Python packages without an __init__.py file are known as \u00abnamespace packages\u00bb\n and may be spread across multiple directories at different locations on\n sys.path (see _\bP\bP_\bE\bE_\bP\bP_\b _\b4\b4_\b2\b2_\b0\b0).\n Django applications require a single base filesystem path where Django\n (depending on configuration) will search for templates, static assets, etc.\n Thus, namespace packages may only be Django applications if one of the\n following is true:\n 1. The namespace package actually has only a single location (i.e. is not\n@@ -263,15 +263,15 @@\n not be fully functional (reverse accessors may be missing, for example)\n until the app registry is fully populated. For this reason, it\u2019s best to\n leave require_ready to the default value of True whenever possible.\n *\b**\b**\b**\b**\b* I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn p\bpr\bro\boc\bce\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* H\bHo\bow\bw a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bns\bs a\bar\bre\be l\blo\boa\bad\bde\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n When Django starts, _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\be_\bt_\bu_\bp_\b(_\b) is responsible for populating the\n application registry.\n- setup(s\bse\bet\bt_\b_p\bpr\bre\bef\bfi\bix\bx=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ setup(s\bse\bet\bt_\b_p\bpr\bre\bef\bfi\bix\bx=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Configures Django by:\n * Loading the settings.\n * Setting up logging.\n * If set_prefix is True, setting the URL resolver script prefix to\n _\bF_\bO_\bR_\bC_\bE_\b__\bS_\bC_\bR_\bI_\bP_\bT_\b__\bN_\bA_\bM_\bE if defined, or / otherwise.\n * Initializing the application registry.\n This function is called automatically:\n@@ -286,15 +286,15 @@\n processes all applications in the order of _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n 1. First Django imports each item in _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n If it\u2019s an application configuration class, Django imports the root\n package of the application, defined by its _\bn_\ba_\bm_\be attribute. If it\u2019s a\n Python package, Django looks for an application configuration in an\n apps.py submodule, or else creates a default application configuration.\n A\bAt\bt t\bth\bhi\bis\bs s\bst\bta\bag\bge\be,\b, y\byo\bou\bur\br c\bco\bod\bde\be s\bsh\bho\bou\bul\bld\bdn\bn?\b\u2019t\bt i\bim\bmp\bpo\bor\brt\bt a\ban\bny\by m\bmo\bod\bde\bel\bls\bs!\b!\n- In other words, your applications\u2019 root packages and the modules that\n+ In other words, your applications\u201d root packages and the modules that\n define your application configuration classes shouldn\u2019t import any\n models, even indirectly.\n Strictly speaking, Django allows importing models once their application\n configuration is loaded. However, in order to avoid needless constraints\n on the order of _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS, it\u2019s strongly recommended not import any\n models at this stage.\n Once this stage completes, APIs that operate on application\n@@ -324,15 +324,15 @@\n standalone Python script.\n * ImportError: cannot import name ... This happens if the import sequence\n ends up in a loop.\n To eliminate such problems, you should minimize dependencies between your\n models modules and do as little work as possible at import time. To avoid\n executing code at import time, you can move it into a function and cache\n its results. The code will be executed when you first need its results.\n- This concept is known as \u201clazy evaluation\u201d.\n+ This concept is known as \u00ablazy evaluation\u00bb.\n * django.contrib.admin automatically performs autodiscovery of admin\n modules in installed applications. To prevent it, change your\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS to contain 'django.contrib.admin.apps.SimpleAdminConfig'\n instead of 'django.contrib.admin'.\n * RuntimeWarning: Accessing the database during app initialization is\n discouraged. This warning is triggered for database queries executed\n before apps are ready, such as during module imports or in the\n@@ -364,16 +364,16 @@\n # _\bR_\be_\ba_\bd_\b-_\bo_\bn_\bl_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n # _\bN_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs_\b _\ba_\bs_\b _\ba_\bp_\bp_\bs\n o _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\br_\be_\bg_\bi_\bs_\bt_\br_\by\n o _\bI_\bn_\bi_\bt_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bp_\br_\bo_\bc_\be_\bs_\bs\n # _\bH_\bo_\bw_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs_\b _\ba_\br_\be_\b _\bl_\bo_\ba_\bd_\be_\bd\n # _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\by_\bs_\bt_\be_\bm_\b _\bc_\bh_\be_\bc_\bk_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/checks.html", "source2": "./usr/share/doc/python-django-doc/html/ref/checks.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- System check framework — Django 5.1.4 documentation\n+ System check framework — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -86,15 +87,15 @@\n system checks, see the System check topic guide.

    \n
    \n

    API reference\u00b6

    \n
    \n

    CheckMessage\u00b6

    \n
    \n
    \n-class CheckMessage(level, msg, hint=None, obj=None, id=None)[source]\u00b6
    \n+class CheckMessage(level, msg, hint=None, obj=None, id=None)[sorgente]\u00b6\n
    \n \n

    The warnings and errors raised by system checks must be instances of\n CheckMessage. An instance encapsulates a single reportable error or\n warning. It also provides context and hints applicable to the message, and a\n unique identifier that is used for filtering purposes.

    \n

    Constructor arguments are:

    \n@@ -126,35 +127,35 @@\n \n \n

    There are subclasses to make creating messages with common levels easier. When\n using them you can omit the level argument because it is implied by the\n class name.

    \n
    \n
    \n-class Debug(msg, hint=None, obj=None, id=None)[source]\u00b6
    \n+class Debug(msg, hint=None, obj=None, id=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class Info(msg, hint=None, obj=None, id=None)[source]\u00b6
    \n+class Info(msg, hint=None, obj=None, id=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class Warning(msg, hint=None obj=None, id=None)[source]\u00b6
    \n+class Warning(msg, hint=None obj=None, id=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class Error(msg, hint=None, obj=None, id=None)[source]\u00b6
    \n+class Error(msg, hint=None, obj=None, id=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class Critical(msg, hint=None, obj=None, id=None)[source]\u00b6
    \n+class Critical(msg, hint=None, obj=None, id=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n
    \n

    Builtin tags\u00b6

    \n

    Django\u2019s system checks are organized using the following tags:

    \n@@ -416,15 +417,15 @@\n
  • fields.W342: Setting unique=True on a ForeignKey has the same\n effect as using a OneToOneField.

  • \n
  • fields.W343: limit_choices_to has no effect on ManyToManyField\n with a through model. This check appeared before Django 4.0.

  • \n
  • fields.W344: The field\u2019s intermediary table <table name> clashes with\n the table name of <model>/<model>.<field name>.

  • \n
  • fields.W345: related_name has no effect on ManyToManyField with a\n-symmetrical relationship, e.g. to \u201cself\u201d.

  • \n+symmetrical relationship, e.g. to \u00abself\u00bb.

    \n
  • fields.W346: db_comment has no effect on ManyToManyField.

  • \n \n
    \n \n
    \n

    Models\u00b6

    \n
      \n@@ -1083,37 +1084,37 @@\n \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Applications

    \n+ title=\"capitolo precedente\">Applications

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Built-in class-based views API

    \n+ title=\"capitolo successivo\">Built-in class-based views API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSy\bys\bst\bte\bem\bm c\bch\bhe\bec\bck\bk f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The system check framework is a set of static checks for validating Django\n projects. It detects common problems and provides hints for how to fix them.\n The framework is extensible so you can easily add your own checks.\n For details on how to add your own checks and integrate them with Django\u2019s\n system checks, see the _\bS_\by_\bs_\bt_\be_\bm_\b _\bc_\bh_\be_\bc_\bk_\b _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* A\bAP\bPI\bI r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCh\bhe\bec\bck\bkM\bMe\bes\bss\bsa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CheckMessage(l\ble\bev\bve\bel\bl, m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CheckMessage(l\ble\bev\bve\bel\bl, m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The warnings and errors raised by system checks must be instances of\n CheckMessage. An instance encapsulates a single reportable error or warning. It\n also provides context and hints applicable to the message, and a unique\n identifier that is used for filtering purposes.\n Constructor arguments are:\n level\n The severity of the message. Use one of the predefined values: DEBUG,\n@@ -39,19 +39,19 @@\n follow the pattern applabel.X001, where X is one of the letters CEWID,\n indicating the message severity (C for criticals, E for errors and so).\n The number can be allocated by the application, but should be unique\n within that application.\n There are subclasses to make creating messages with common levels easier. When\n using them you can omit the level argument because it is implied by the class\n name.\n- c\bcl\bla\bas\bss\bs Debug(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs Info(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs Warning(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs Error(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs Critical(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Debug(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Info(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Warning(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Error(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Critical(m\bms\bsg\bg, h\bhi\bin\bnt\bt=\b=N\bNo\bon\bne\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be, i\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bti\bin\bn t\bta\bag\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django\u2019s system checks are organized using the following tags:\n * admin: Checks of any admin site declarations.\n * async_support: Checks asynchronous-related configuration.\n * caches: Checks cache related configuration.\n * compatibility: Flags potential problems with version upgrades.\n * database: Checks database-related configuration issues. Database checks\n@@ -265,15 +265,15 @@\n * f\bfi\bie\bel\bld\bds\bs.\b.W\bW3\b34\b42\b2: Setting unique=True on a ForeignKey has the same effect as\n using a OneToOneField.\n * f\bfi\bie\bel\bld\bds\bs.\b.W\bW3\b34\b43\b3: limit_choices_to has no effect on ManyToManyField with a\n through model. T\bTh\bhi\bis\bs c\bch\bhe\bec\bck\bk a\bap\bpp\bpe\bea\bar\bre\bed\bd b\bbe\bef\bfo\bor\bre\be D\bDj\bja\ban\bng\bgo\bo 4\b4.\b.0\b0.\b.\n * f\bfi\bie\bel\bld\bds\bs.\b.W\bW3\b34\b44\b4: The field\u2019s intermediary table clashes with the\n table name of /..\n * f\bfi\bie\bel\bld\bds\bs.\b.W\bW3\b34\b45\b5: related_name has no effect on ManyToManyField with a\n- symmetrical relationship, e.g. to \u201cself\u201d.\n+ symmetrical relationship, e.g. to \u00abself\u00bb.\n * f\bfi\bie\bel\bld\bds\bs.\b.W\bW3\b34\b46\b6: db_comment has no effect on ManyToManyField.\n *\b**\b**\b**\b* M\bMo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n * m\bmo\bod\bde\bel\bls\bs.\b.E\bE0\b00\b01\b1: is not of the form app_label.app_name.\n * m\bmo\bod\bde\bel\bls\bs.\b.E\bE0\b00\b02\b2: references , which has not been installed,\n or is abstract.\n * m\bmo\bod\bde\bel\bls\bs.\b.E\bE0\b00\b03\b3: The model has two identical many-to-many relations through\n the intermediate model ..\n@@ -778,16 +778,16 @@\n # _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n # _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be\n # _\ba_\bu_\bt_\bh\n # _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs\n # _\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n # _\bs_\bi_\bt_\be_\bs\n # _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Base views — Django 5.1.4 documentation\n+ Base views — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -397,37 +398,37 @@\n
  • RedirectView
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Built-in class-based views API

    \n+ title=\"capitolo precedente\">Built-in class-based views API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Generic display views

    \n+ title=\"capitolo successivo\">Generic display views

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* B\bBa\bas\bse\be v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The following three classes provide much of the functionality needed to create\n Django views. You may think of them as p\bpa\bar\bre\ben\bnt\bt views, which can be used by\n themselves or inherited from. They may not provide all the capabilities\n required for projects, in which case there are Mixins and Generic class-based\n@@ -208,16 +208,16 @@\n to the generated URL. Subclasses may implement any behavior they\n wish, as long as the method returns a redirect-ready URL string.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bB_\ba_\bs_\be_\b _\bv_\bi_\be_\bw_\bs\n o _\bV_\bi_\be_\bw\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bV_\bi_\be_\bw\n o _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Class-based generic views - flattened index — Django 5.1.4 documentation\n+ Class-based generic views - flattened index — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    Class-based generic views - flattened index\u00b6

    \n

    This index provides an alternate organization of the reference documentation\n for class-based views. For each view, the effective attributes and methods from\n the class tree are represented under that view. For the reference\n documentation organized by the class which defines the behavior, see\n Class-based views.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Classy Class-Based Views provides a nice interface\n to navigate the class hierarchy of the built-in class-based views.

    \n
    \n
    \n

    Simple generic views\u00b6

    \n
    \n

    View\u00b6

    \n@@ -829,37 +830,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Date-based mixins

    \n+ title=\"capitolo precedente\">Date-based mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Clickjacking Protection

    \n+ title=\"capitolo successivo\">Clickjacking Protection

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCl\bla\bas\bss\bs-\b-b\bba\bas\bse\bed\bd g\bge\ben\bne\ber\bri\bic\bc v\bvi\bie\bew\bws\bs -\b- f\bfl\bla\bat\btt\bte\ben\bne\bed\bd i\bin\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This index provides an alternate organization of the reference documentation\n for class-based views. For each view, the effective attributes and methods from\n the class tree are represented under that view. For the reference documentation\n organized by the class which defines the behavior, see _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs.\n-See also\n+Vedi anche\n _\bC_\bl_\ba_\bs_\bs_\by_\b _\bC_\bl_\ba_\bs_\bs_\b-_\bB_\ba_\bs_\be_\bd_\b _\bV_\bi_\be_\bw_\bs provides a nice interface to navigate the class\n hierarchy of the built-in class-based views.\n *\b**\b**\b**\b**\b* S\bSi\bim\bmp\bpl\ble\be g\bge\ben\bne\ber\bri\bic\bc v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* V\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs View_\b\u00b6\n A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs (with optional accessor):\n * _\bh_\bt_\bt_\bp_\b__\bm_\be_\bt_\bh_\bo_\bd_\b__\bn_\ba_\bm_\be_\bs\n@@ -549,16 +549,16 @@\n # _\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw\n # _\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n # _\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n # _\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n # _\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n # _\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n # _\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\ba_\bt_\be_\b-_\bb_\ba_\bs_\be_\bd_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Generic date views — Django 5.1.4 documentation\n+ Generic date views — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,15 +79,15 @@\n
    \n \n
    \n

    Generic date views\u00b6

    \n

    Date-based generic views, provided in django.views.generic.dates, are\n views for displaying drilldown pages for date-based data.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Some of the examples on this page assume that an Article model has been\n defined as follows in myapp/models.py:

    \n
    from django.db import models\n from django.urls import reverse\n \n \n class Article(models.Model):\n@@ -98,16 +99,16 @@\n 
    \n
    \n
    \n
    \n

    ArchiveIndexView\u00b6

    \n
    \n
    \n-class ArchiveIndexView[source]\u00b6
    \n-

    A top-level index page showing the \u201clatest\u201d objects, by date. Objects with\n+class ArchiveIndexView[sorgente]\u00b6\n+

    A top-level index page showing the \u00ablatest\u00bb objects, by date. Objects with\n a date in the future are not included unless you set allow_future to\n True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    YearArchiveView\u00b6

    \n
    \n
    \n-class YearArchiveView[source]\u00b6
    \n+class YearArchiveView[sorgente]\u00b6\n

    A yearly archive page showing all available months in a given year. Objects\n with a date in the future are not displayed unless you set\n allow_future to True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    MonthArchiveView\u00b6

    \n
    \n
    \n-class MonthArchiveView[source]\u00b6
    \n+class MonthArchiveView[sorgente]\u00b6\n

    A monthly archive page showing all objects in a given month. Objects with a\n date in the future are not displayed unless you set allow_future to\n True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    WeekArchiveView\u00b6

    \n
    \n
    \n-class WeekArchiveView[source]\u00b6
    \n+class WeekArchiveView[sorgente]\u00b6\n

    A weekly archive page showing all objects in a given week. Objects with a\n date in the future are not displayed unless you set allow_future to\n True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    DayArchiveView\u00b6

    \n
    \n
    \n-class DayArchiveView[source]\u00b6
    \n+class DayArchiveView[sorgente]\u00b6\n

    A day archive page showing all objects in a given day. Days in the future\n throw a 404 error, regardless of whether any objects exist for future days,\n unless you set allow_future to True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    TodayArchiveView\u00b6

    \n
    \n
    \n-class TodayArchiveView[source]\u00b6
    \n+class TodayArchiveView[sorgente]\u00b6\n

    A day archive page showing all objects for today. This is exactly the\n same as django.views.generic.dates.DayArchiveView, except today\u2019s\n date is used instead of the year/month/day arguments.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n
    \n

    DateDetailView\u00b6

    \n
    \n
    \n-class DateDetailView[source]\u00b6
    \n+class DateDetailView[sorgente]\u00b6\n

    A page representing an individual object. If the object has a date value in\n the future, the view will throw a 404 error by default, unless you set\n allow_future to True.

    \n

    Ancestors (MRO)

    \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    All of the generic views listed above have matching Base views that\n only differ in that they do not include the\n MultipleObjectTemplateResponseMixin\n (for the archive views) or\n SingleObjectTemplateResponseMixin\n (for the DateDetailView):

    \n
    \n
    \n-class BaseArchiveIndexView[source]\u00b6
    \n+class BaseArchiveIndexView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseYearArchiveView[source]\u00b6
    \n+class BaseYearArchiveView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseMonthArchiveView[source]\u00b6
    \n+class BaseMonthArchiveView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseWeekArchiveView[source]\u00b6
    \n+class BaseWeekArchiveView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseDayArchiveView[source]\u00b6
    \n+class BaseDayArchiveView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseTodayArchiveView[source]\u00b6
    \n+class BaseTodayArchiveView[sorgente]\u00b6\n
    \n \n
    \n
    \n-class BaseDateDetailView[source]\u00b6
    \n+class BaseDateDetailView[sorgente]\u00b6\n
    \n \n
    \n
    \n
    \n \n \n@@ -752,37 +753,37 @@\n
  • DateDetailView
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Generic editing views

    \n+ title=\"capitolo precedente\">Generic editing views

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Class-based views mixins

    \n+ title=\"capitolo successivo\">Class-based views mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,29 +1,29 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc d\bda\bat\bte\be v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Date-based generic views, provided in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs, are views for\n displaying drilldown pages for date-based data.\n-Note\n+Nota\n Some of the examples on this page assume that an Article model has been defined\n as follows in myapp/models.py:\n from django.db import models\n from django.urls import reverse\n \n \n class Article(models.Model):\n title = models.CharField(max_length=200)\n pub_date = models.DateField()\n \n def get_absolute_url(self):\n return reverse(\"article-detail\", kwargs={\"pk\": self.pk})\n *\b**\b**\b**\b**\b* A\bAr\brc\bch\bhi\biv\bve\beI\bIn\bnd\bde\bex\bxV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ArchiveIndexView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- A top-level index page showing the \u201clatest\u201d objects, by date. Objects\n+ c\bcl\bla\bas\bss\bs ArchiveIndexView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ A top-level index page showing the \u00ablatest\u00bb objects, by date. Objects\n with a date in the f\bfu\but\btu\bur\bre\be are not included unless you set allow_future to\n True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw\n@@ -61,15 +61,15 @@\n
      \n {% for article in latest %}\n
    • {{ article.pub_date }}: {{ article.title }}
    • \n {% endfor %}\n
    \n This will output all articles.\n *\b**\b**\b**\b**\b* Y\bYe\bea\bar\brA\bAr\brc\bch\bhi\biv\bve\beV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs YearArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs YearArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A yearly archive page showing all available months in a given year.\n Objects with a date in the f\bfu\but\btu\bur\bre\be are not displayed unless you set\n allow_future to True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n@@ -134,15 +134,15 @@\n {% for obj in object_list %}\n

    \n {{ obj.title }} - {{ obj.pub_date|date:\"F j, Y\" }}\n

    \n {% endfor %}\n
    \n *\b**\b**\b**\b**\b* M\bMo\bon\bnt\bth\bhA\bAr\brc\bch\bhi\biv\bve\beV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MonthArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MonthArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A monthly archive page showing all objects in a given month. Objects with\n a date in the f\bfu\but\btu\bur\bre\be are not displayed unless you set allow_future to\n True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n@@ -207,15 +207,15 @@\n Previous Month: {{ previous_month|date:\"F Y\" }}\n {% endif %}\n {% if next_month %}\n Next Month: {{ next_month|date:\"F Y\" }}\n {% endif %}\n

    \n *\b**\b**\b**\b**\b* W\bWe\bee\bek\bkA\bAr\brc\bch\bhi\biv\bve\beV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs WeekArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WeekArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A weekly archive page showing all objects in a given week. Objects with a\n date in the f\bfu\but\btu\bur\bre\be are not displayed unless you set allow_future to True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn\n@@ -291,15 +291,15 @@\n character are not always the same as those computed by _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) and\n _\bs_\bt_\br_\bp_\bt_\bi_\bm_\be_\b(_\b) with the '%W' format string. For year 2015, for example, week\n numbers output by _\bd_\ba_\bt_\be are higher by one compared to those output by\n _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b). There isn\u2019t an equivalent for the '%U' _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format\n string in _\bd_\ba_\bt_\be. Therefore, you should avoid using _\bd_\ba_\bt_\be to generate URLs\n for WeekArchiveView.\n *\b**\b**\b**\b**\b* D\bDa\bay\byA\bAr\brc\bch\bhi\biv\bve\beV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DayArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DayArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A day archive page showing all objects in a given day. Days in the future\n throw a 404 error, regardless of whether any objects exist for future\n days, unless you set allow_future to True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n@@ -363,15 +363,15 @@\n {% endif %}\n {% if previous_day and next_day %}--{% endif %}\n {% if next_day %}\n Next Day: {{ next_day }}\n {% endif %}\n

    \n *\b**\b**\b**\b**\b* T\bTo\bod\bda\bay\byA\bAr\brc\bch\bhi\biv\bve\beV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TodayArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TodayArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A day archive page showing all objects for t\bto\bod\bda\bay\by. This is exactly the\n same as _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw, except today\u2019s date is\n used instead of the year/month/day arguments.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n@@ -405,15 +405,15 @@\n name=\"archive_today\"),\n ]\n Where is the example template for TodayArchiveView?\n This view uses by default the same template as the _\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw, which\n is in the previous example. If you need a different template, set the\n template_name attribute to be the name of the new template.\n *\b**\b**\b**\b**\b* D\bDa\bat\bte\beD\bDe\bet\bta\bai\bil\blV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DateDetailView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DateDetailView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A page representing an individual object. If the object has a date value\n in the future, the view will throw a 404 error by default, unless you set\n allow_future to True.\n A\bAn\bnc\bce\bes\bst\bto\bor\brs\bs (\b(M\bMR\bRO\bO)\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\ba_\bt_\be_\bs_\b._\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n@@ -438,36 +438,36 @@\n \"////\",\n DateDetailView.as_view(model=Article, date_field=\"pub_date\"),\n name=\"archive_date_detail\",\n ),\n ]\n E\bEx\bxa\bam\bmp\bpl\ble\be m\bmy\bya\bap\bpp\bp/\b/a\bar\brt\bti\bic\bcl\ble\be_\b_d\bde\bet\bta\bai\bil\bl.\b.h\bht\btm\bml\bl:\n

    {{ object.title }}

    \n-Note\n+Nota\n All of the generic views listed above have matching Base views that only differ\n in that they do not include the _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn (for the\n archive views) or _\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn (for the _\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw):\n- c\bcl\bla\bas\bss\bs BaseArchiveIndexView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseYearArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseMonthArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseWeekArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseDayArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseTodayArchiveView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs BaseDateDetailView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseArchiveIndexView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseYearArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseMonthArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseWeekArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseDayArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseTodayArchiveView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseDateDetailView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\ba_\bt_\be_\b _\bv_\bi_\be_\bw_\bs\n o _\bA_\br_\bc_\bh_\bi_\bv_\be_\bI_\bn_\bd_\be_\bx_\bV_\bi_\be_\bw\n o _\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n o _\bM_\bo_\bn_\bt_\bh_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n o _\bW_\be_\be_\bk_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n o _\bD_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n o _\bT_\bo_\bd_\ba_\by_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw\n o _\bD_\ba_\bt_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\be_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Generic display views — Django 5.1.4 documentation\n+ Generic display views — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -289,37 +290,37 @@\n
  • ListView
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Base views

    \n+ title=\"capitolo precedente\">Base views

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Generic editing views

    \n+ title=\"capitolo successivo\">Generic editing views

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc d\bdi\bis\bsp\bpl\bla\bay\by v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The two following generic class-based views are designed to display data. On\n many projects they are typically the most commonly used views.\n *\b**\b**\b**\b**\b* D\bDe\bet\bta\bai\bil\blV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.detail.DetailView_\b\u00b6\n@@ -139,16 +139,16 @@\n Adds object_list to the context. If _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by is True then\n display an empty list. If _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by is False then raise a 404\n error.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\bv_\bi_\be_\bw_\bs\n o _\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n o _\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bB_\ba_\bs_\be_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\be_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Generic editing views — Django 5.1.4 documentation\n+ Generic editing views — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,21 +85,21 @@\n \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    The messages framework contains\n SuccessMessageMixin, which\n facilitates presenting messages about successful form submissions.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Some of the examples on this page assume that an Author model has been\n defined as follows in myapp/models.py:

    \n
    from django.db import models\n from django.urls import reverse\n \n \n class Author(models.Model):\n@@ -455,37 +456,37 @@\n 
  • DeleteView
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Generic display views

    \n+ title=\"capitolo precedente\">Generic display views

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Generic date views

    \n+ title=\"capitolo successivo\">Generic date views

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc e\bed\bdi\bit\bti\bin\bng\bg v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The following views are described on this page and provide a foundation for\n editing content:\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n-See also\n+Vedi anche\n The _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk contains _\bS_\bu_\bc_\bc_\be_\bs_\bs_\bM_\be_\bs_\bs_\ba_\bg_\be_\bM_\bi_\bx_\bi_\bn, which facilitates\n presenting messages about successful form submissions.\n-Note\n+Nota\n Some of the examples on this page assume that an Author model has been defined\n as follows in myapp/models.py:\n from django.db import models\n from django.urls import reverse\n \n \n class Author(models.Model):\n@@ -233,16 +233,16 @@\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bd_\be_\bt_\ba_\bi_\bl_\b._\bB_\ba_\bs_\be_\bD_\be_\bt_\ba_\bi_\bl_\bV_\bi_\be_\bw\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\be_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bv_\bi_\be_\bw_\bs\n o _\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n o _\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw\n o _\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw\n o _\bD_\be_\bl_\be_\bt_\be_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\ba_\bt_\be_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Built-in class-based views API — Django 5.1.4 documentation\n+ Built-in class-based views API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -242,37 +243,37 @@\n
  • Base vs Generic views
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    System check framework

    \n+ title=\"capitolo precedente\">System check framework

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Base views

    \n+ title=\"capitolo successivo\">Base views

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn c\bcl\bla\bas\bss\bs-\b-b\bba\bas\bse\bed\bd v\bvi\bie\bew\bws\bs A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Class-based views API reference. For introductory material, see the _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd\n _\bv_\bi_\be_\bw_\bs topic guide.\n * _\bB_\ba_\bs_\be_\b _\bv_\bi_\be_\bw_\bs\n o _\bV_\bi_\be_\bw\n@@ -99,16 +99,16 @@\n having to repeat yourself.\n Most generic views require the queryset key, which is a QuerySet instance; see\n _\bM_\ba_\bk_\bi_\bn_\bg_\b _\bq_\bu_\be_\br_\bi_\be_\bs for more information about QuerySet objects.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bA_\bP_\bI\n o _\bS_\bp_\be_\bc_\bi_\bf_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n o _\bB_\ba_\bs_\be_\b _\bv_\bs_\b _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\by_\bs_\bt_\be_\bm_\b _\bc_\bh_\be_\bc_\bk_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bB_\ba_\bs_\be_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Date-based mixins — Django 5.1.4 documentation\n+ Date-based mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,24 +77,24 @@\n
    \n
    \n
    \n \n
    \n

    Date-based mixins\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    All the date formatting attributes in these mixins use\n strftime() format characters. Do not try to use the format\n characters from the now template tag as they are not compatible.

    \n
    \n
    \n

    YearMixin\u00b6

    \n
    \n
    \n-class YearMixin[source]\u00b6
    \n+class YearMixin[sorgente]\u00b6\n

    A mixin that can be used to retrieve and provide parsing information for a\n year component of a date.

    \n

    Methods and Attributes

    \n
    \n
    \n year_format\u00b6
    \n

    The strftime() format to use when parsing the year.\n@@ -105,60 +106,60 @@\n year\u00b6\n

    Optional The value for the year, as a string. By default, set to\n None, which means the year will be determined using other means.

    \n
    \n \n
    \n
    \n-get_year_format()[source]\u00b6
    \n+get_year_format()[sorgente]\u00b6\n

    Returns the strftime() format to use when parsing the\n year. Returns year_format by default.

    \n
    \n \n
    \n
    \n-get_year()[source]\u00b6
    \n+get_year()[sorgente]\u00b6\n

    Returns the year for which this view will display data, as a string.\n Tries the following sources, in order:

    \n
      \n
    • The value of the YearMixin.year attribute.

    • \n
    • The value of the year argument captured in the URL pattern.

    • \n
    • The value of the year GET query argument.

    • \n
    \n

    Raises a 404 if no valid year specification can be found.

    \n
    \n \n
    \n
    \n-get_next_year(date)[source]\u00b6
    \n+get_next_year(date)[sorgente]\u00b6\n

    Returns a date object containing the first day of the year after the\n date provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n
    \n-get_previous_year(date)[source]\u00b6
    \n+get_previous_year(date)[sorgente]\u00b6\n

    Returns a date object containing the first day of the year before the\n date provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n \n
    \n
    \n

    MonthMixin\u00b6

    \n
    \n
    \n-class MonthMixin[source]\u00b6
    \n+class MonthMixin[sorgente]\u00b6\n

    A mixin that can be used to retrieve and provide parsing information for a\n month component of a date.

    \n

    Methods and Attributes

    \n
    \n
    \n month_format\u00b6
    \n

    The strftime() format to use when parsing the month. By\n@@ -170,60 +171,60 @@\n month\u00b6\n

    Optional The value for the month, as a string. By default, set to\n None, which means the month will be determined using other means.

    \n
    \n \n
    \n
    \n-get_month_format()[source]\u00b6
    \n+get_month_format()[sorgente]\u00b6\n

    Returns the strftime() format to use when parsing the\n month. Returns month_format by default.

    \n
    \n \n
    \n
    \n-get_month()[source]\u00b6
    \n+get_month()[sorgente]\u00b6\n

    Returns the month for which this view will display data, as a string.\n Tries the following sources, in order:

    \n
      \n
    • The value of the MonthMixin.month attribute.

    • \n
    • The value of the month argument captured in the URL pattern.

    • \n
    • The value of the month GET query argument.

    • \n
    \n

    Raises a 404 if no valid month specification can be found.

    \n
    \n \n
    \n
    \n-get_next_month(date)[source]\u00b6
    \n+get_next_month(date)[sorgente]\u00b6\n

    Returns a date object containing the first day of the month after the\n date provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n
    \n-get_previous_month(date)[source]\u00b6
    \n+get_previous_month(date)[sorgente]\u00b6\n

    Returns a date object containing the first day of the month before the\n date provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n \n
    \n
    \n

    DayMixin\u00b6

    \n
    \n
    \n-class DayMixin[source]\u00b6
    \n+class DayMixin[sorgente]\u00b6\n

    A mixin that can be used to retrieve and provide parsing information for a\n day component of a date.

    \n

    Methods and Attributes

    \n
    \n
    \n day_format\u00b6
    \n

    The strftime() format to use when parsing the day. By\n@@ -235,60 +236,60 @@\n day\u00b6\n

    Optional The value for the day, as a string. By default, set to\n None, which means the day will be determined using other means.

    \n
    \n \n
    \n
    \n-get_day_format()[source]\u00b6
    \n+get_day_format()[sorgente]\u00b6\n

    Returns the strftime() format to use when parsing the day.\n Returns day_format by default.

    \n
    \n \n
    \n
    \n-get_day()[source]\u00b6
    \n+get_day()[sorgente]\u00b6\n

    Returns the day for which this view will display data, as a string.\n Tries the following sources, in order:

    \n
      \n
    • The value of the DayMixin.day attribute.

    • \n
    • The value of the day argument captured in the URL pattern.

    • \n
    • The value of the day GET query argument.

    • \n
    \n

    Raises a 404 if no valid day specification can be found.

    \n
    \n \n
    \n
    \n-get_next_day(date)[source]\u00b6
    \n+get_next_day(date)[sorgente]\u00b6\n

    Returns a date object containing the next valid day after the date\n provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n
    \n-get_previous_day(date)[source]\u00b6
    \n+get_previous_day(date)[sorgente]\u00b6\n

    Returns a date object containing the previous valid day. This function\n can also return None or raise an Http404\n exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n
    \n \n
    \n
    \n

    WeekMixin\u00b6

    \n
    \n
    \n-class WeekMixin[source]\u00b6
    \n+class WeekMixin[sorgente]\u00b6\n

    A mixin that can be used to retrieve and provide parsing information for a\n week component of a date.

    \n

    Methods and Attributes

    \n
    \n
    \n week_format\u00b6
    \n

    The strftime() format to use when parsing the week. By\n@@ -302,35 +303,35 @@\n week\u00b6\n

    Optional The value for the week, as a string. By default, set to\n None, which means the week will be determined using other means.

    \n
    \n \n
    \n
    \n-get_week_format()[source]\u00b6
    \n+get_week_format()[sorgente]\u00b6\n

    Returns the strftime() format to use when parsing the\n week. Returns week_format by default.

    \n
    \n \n
    \n
    \n-get_week()[source]\u00b6
    \n+get_week()[sorgente]\u00b6\n

    Returns the week for which this view will display data, as a string.\n Tries the following sources, in order:

    \n
      \n
    • The value of the WeekMixin.week attribute.

    • \n
    • The value of the week argument captured in the URL pattern

    • \n
    • The value of the week GET query argument.

    • \n
    \n

    Raises a 404 if no valid week specification can be found.

    \n
    \n \n
    \n
    \n-get_next_week(date)[source]\u00b6
    \n+get_next_week(date)[sorgente]\u00b6\n

    Returns a date object containing the first day of the week after the\n date provided. This function can also return None or raise an\n Http404 exception, depending on the values of\n allow_empty and\n allow_future.

    \n
    \n \n@@ -347,69 +348,69 @@\n
    \n \n
    \n
    \n

    DateMixin\u00b6

    \n
    \n
    \n-class DateMixin[source]\u00b6
    \n+class DateMixin[sorgente]\u00b6\n

    A mixin class providing common behavior for all date-based views.

    \n

    Methods and Attributes

    \n
    \n
    \n date_field\u00b6
    \n

    The name of the DateField or DateTimeField in the\n QuerySet\u2019s model that the date-based archive should use to\n determine the list of objects to display on the page.

    \n

    When time zone support is enabled and\n date_field is a DateTimeField, dates are assumed to be in the\n current time zone. Otherwise, the queryset could include objects from\n the previous or the next day in the end user\u2019s time zone.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In this situation, if you have implemented per-user time zone\n selection, the same URL may show a different set of objects,\n depending on the end user\u2019s time zone. To avoid this, you should\n use a DateField as the date_field attribute.

    \n
    \n
    \n \n
    \n
    \n allow_future\u00b6
    \n-

    A boolean specifying whether to include \u201cfuture\u201d objects on this page,\n-where \u201cfuture\u201d means objects in which the field specified in\n+

    A boolean specifying whether to include \u00abfuture\u00bb objects on this page,\n+where \u00abfuture\u00bb means objects in which the field specified in\n date_field is greater than the current date/time. By default, this\n is False.

    \n
    \n \n
    \n
    \n-get_date_field()[source]\u00b6
    \n+get_date_field()[sorgente]\u00b6\n

    Returns the name of the field that contains the date data that this\n view will operate on. Returns date_field by default.

    \n
    \n \n
    \n
    \n-get_allow_future()[source]\u00b6
    \n-

    Determine whether to include \u201cfuture\u201d objects on this page, where\n-\u201cfuture\u201d means objects in which the field specified in date_field\n+get_allow_future()[sorgente]\u00b6\n+

    Determine whether to include \u00abfuture\u00bb objects on this page, where\n+\u00abfuture\u00bb means objects in which the field specified in date_field\n is greater than the current date/time. Returns\n allow_future by default.

    \n
    \n \n
    \n \n
    \n
    \n

    BaseDateListView\u00b6

    \n
    \n
    \n-class BaseDateListView[source]\u00b6
    \n+class BaseDateListView[sorgente]\u00b6\n

    A base class that provides common behavior for all date-based views. There\n won\u2019t normally be a reason to instantiate\n BaseDateListView; instantiate one of\n the subclasses instead.

    \n

    While this view (and its subclasses) are executing, self.object_list\n will contain the list of objects that the view is operating upon, and\n self.date_list will contain the list of dates for which data is\n@@ -437,42 +438,42 @@\n

    Optional A string defining the aggregation period for\n date_list. It must be one of 'year' (default), 'month', or\n 'day'.

    \n
    \n \n
    \n
    \n-get_dated_items()[source]\u00b6
    \n+get_dated_items()[sorgente]\u00b6\n

    Returns a 3-tuple containing (date_list, object_list,\n extra_context).

    \n

    date_list is the list of dates for which data is available.\n object_list is the list of objects. extra_context is a\n dictionary of context data that will be added to any context data\n provided by the\n MultipleObjectMixin.

    \n
    \n \n
    \n
    \n-get_dated_queryset(**lookup)[source]\u00b6
    \n+get_dated_queryset(**lookup)[sorgente]\u00b6\n

    Returns a queryset, filtered using the query arguments defined by\n lookup. Enforces any restrictions on the queryset, such as\n allow_empty and allow_future.

    \n
    \n \n
    \n
    \n-get_date_list_period()[source]\u00b6
    \n+get_date_list_period()[sorgente]\u00b6\n

    Returns the aggregation period for date_list. Returns\n date_list_period by default.

    \n
    \n \n
    \n
    \n-get_date_list(queryset, date_type=None, ordering='ASC')[source]\u00b6
    \n+get_date_list(queryset, date_type=None, ordering='ASC')[sorgente]\u00b6\n

    Returns the list of dates of type date_type for which queryset\n contains entries. For example, get_date_list(qs, 'year') will\n return the list of years for which qs has entries. If\n date_type isn\u2019t provided, the result of\n get_date_list_period() is used. date_type\n and ordering are passed to\n QuerySet.dates().

    \n@@ -505,37 +506,37 @@\n
  • BaseDateListView
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Editing mixins

    \n+ title=\"capitolo precedente\">Editing mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Class-based generic views - flattened index

    \n+ title=\"capitolo successivo\">Class-based generic views - flattened index

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,170 +1,170 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDa\bat\bte\be-\b-b\bba\bas\bse\bed\bd m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Note\n+Nota\n All the date formatting attributes in these mixins use _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format\n characters. Do not try to use the format characters from the _\bn_\bo_\bw template tag\n as they are not compatible.\n *\b**\b**\b**\b**\b* Y\bYe\bea\bar\brM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs YearMixin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs YearMixin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mixin that can be used to retrieve and provide parsing information for\n a year component of a date.\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n year_format_\b\u00b6\n The _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the year. By default,\n this is '%Y'.\n year_\b\u00b6\n O\bOp\bpt\bti\bio\bon\bna\bal\bl The value for the year, as a string. By default, set to\n None, which means the year will be determined using other means.\n- get_year_format()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_year_format()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the year. Returns\n _\by_\be_\ba_\br_\b__\bf_\bo_\br_\bm_\ba_\bt by default.\n- get_year()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_year()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the year for which this view will display data, as a\n string. Tries the following sources, in order:\n * The value of the _\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn_\b._\by_\be_\ba_\br attribute.\n * The value of the year argument captured in the URL pattern.\n * The value of the year GET query argument.\n Raises a 404 if no valid year specification can be found.\n- get_next_year(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_next_year(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the first day of the year after\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n- get_previous_year(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_previous_year(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the first day of the year before\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n *\b**\b**\b**\b**\b* M\bMo\bon\bnt\bth\bhM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MonthMixin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MonthMixin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mixin that can be used to retrieve and provide parsing information for\n a month component of a date.\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n month_format_\b\u00b6\n The _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the month. By default,\n this is '%b'.\n month_\b\u00b6\n O\bOp\bpt\bti\bio\bon\bna\bal\bl The value for the month, as a string. By default, set to\n None, which means the month will be determined using other means.\n- get_month_format()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_month_format()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the month.\n Returns _\bm_\bo_\bn_\bt_\bh_\b__\bf_\bo_\br_\bm_\ba_\bt by default.\n- get_month()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_month()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the month for which this view will display data, as a\n string. Tries the following sources, in order:\n * The value of the _\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn_\b._\bm_\bo_\bn_\bt_\bh attribute.\n * The value of the month argument captured in the URL pattern.\n * The value of the month GET query argument.\n Raises a 404 if no valid month specification can be found.\n- get_next_month(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_next_month(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the first day of the month after\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n- get_previous_month(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_previous_month(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the first day of the month before\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n *\b**\b**\b**\b**\b* D\bDa\bay\byM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DayMixin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DayMixin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mixin that can be used to retrieve and provide parsing information for\n a day component of a date.\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n day_format_\b\u00b6\n The _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the day. By default, this\n is '%d'.\n day_\b\u00b6\n O\bOp\bpt\bti\bio\bon\bna\bal\bl The value for the day, as a string. By default, set to\n None, which means the day will be determined using other means.\n- get_day_format()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_day_format()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the day. Returns\n _\bd_\ba_\by_\b__\bf_\bo_\br_\bm_\ba_\bt by default.\n- get_day()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_day()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the day for which this view will display data, as a string.\n Tries the following sources, in order:\n * The value of the _\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn_\b._\bd_\ba_\by attribute.\n * The value of the day argument captured in the URL pattern.\n * The value of the day GET query argument.\n Raises a 404 if no valid day specification can be found.\n- get_next_day(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_next_day(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the next valid day after the date\n provided. This function can also return None or raise an _\bH_\bt_\bt_\bp_\b4_\b0_\b4\n exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n- get_previous_day(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_previous_day(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the previous valid day. This\n function can also return None or raise an _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception,\n depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n *\b**\b**\b**\b**\b* W\bWe\bee\bek\bkM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs WeekMixin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WeekMixin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mixin that can be used to retrieve and provide parsing information for\n a week component of a date.\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n week_format_\b\u00b6\n The _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the week. By default,\n this is '%U', which means the week starts on Sunday. Set it to '%W'\n or '%V' (ISO 8601 week) if your week starts on Monday.\n week_\b\u00b6\n O\bOp\bpt\bti\bio\bon\bna\bal\bl The value for the week, as a string. By default, set to\n None, which means the week will be determined using other means.\n- get_week_format()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_week_format()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b) format to use when parsing the week. Returns\n _\bw_\be_\be_\bk_\b__\bf_\bo_\br_\bm_\ba_\bt by default.\n- get_week()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_week()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the week for which this view will display data, as a\n string. Tries the following sources, in order:\n * The value of the _\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn_\b._\bw_\be_\be_\bk attribute.\n * The value of the week argument captured in the URL pattern\n * The value of the week GET query argument.\n Raises a 404 if no valid week specification can be found.\n- get_next_week(d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_next_week(d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a date object containing the first day of the week after\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n get_prev_week(d\bda\bat\bte\be)_\b\u00b6\n Returns a date object containing the first day of the week before\n the date provided. This function can also return None or raise an\n _\bH_\bt_\bt_\bp_\b4_\b0_\b4 exception, depending on the values of _\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by and\n _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be.\n *\b**\b**\b**\b**\b* D\bDa\bat\bte\beM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DateMixin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DateMixin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mixin class providing common behavior for all date-based views.\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n date_field_\b\u00b6\n The name of the DateField or DateTimeField in the QuerySet\u2019s model\n that the date-based archive should use to determine the list of\n objects to display on the page.\n When _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt is enabled and date_field is a\n DateTimeField, dates are assumed to be in the current time zone.\n Otherwise, the queryset could include objects from the previous or\n the next day in the end user\u2019s time zone.\n- Warning\n+ Avvertimento\n In this situation, if you have implemented per-user time zone\n selection, the same URL may show a different set of objects,\n depending on the end user\u2019s time zone. To avoid this, you should\n use a DateField as the date_field attribute.\n allow_future_\b\u00b6\n- A boolean specifying whether to include \u201cfuture\u201d objects on this\n- page, where \u201cfuture\u201d means objects in which the field specified in\n+ A boolean specifying whether to include \u00abfuture\u00bb objects on this\n+ page, where \u00abfuture\u00bb means objects in which the field specified in\n date_field is greater than the current date/time. By default, this\n is False.\n- get_date_field()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_date_field()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of the field that contains the date data that this\n view will operate on. Returns _\bd_\ba_\bt_\be_\b__\bf_\bi_\be_\bl_\bd by default.\n- get_allow_future()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Determine whether to include \u201cfuture\u201d objects on this page, where\n- \u201cfuture\u201d means objects in which the field specified in date_field\n+ get_allow_future()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Determine whether to include \u00abfuture\u00bb objects on this page, where\n+ \u00abfuture\u00bb means objects in which the field specified in date_field\n is greater than the current date/time. Returns _\ba_\bl_\bl_\bo_\bw_\b__\bf_\bu_\bt_\bu_\br_\be by\n default.\n *\b**\b**\b**\b**\b* B\bBa\bas\bse\beD\bDa\bat\bte\beL\bLi\bis\bst\btV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BaseDateListView_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseDateListView_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A base class that provides common behavior for all date-based views.\n There won\u2019t normally be a reason to instantiate _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw;\n instantiate one of the subclasses instead.\n While this view (and its subclasses) are executing, self.object_list will\n contain the list of objects that the view is operating upon, and\n self.date_list will contain the list of dates for which data is\n available.\n@@ -178,44 +178,44 @@\n will display an empty page instead of raising a 404.\n This is identical to\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bl_\bi_\bs_\bt_\b._\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn_\b._\ba_\bl_\bl_\bo_\bw_\b__\be_\bm_\bp_\bt_\by, except\n for the default value, which is False.\n date_list_period_\b\u00b6\n O\bOp\bpt\bti\bio\bon\bna\bal\bl A string defining the aggregation period for date_list. It\n must be one of 'year' (default), 'month', or 'day'.\n- get_dated_items()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_dated_items()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a 3-tuple containing (date_list, object_list,\n extra_context).\n date_list is the list of dates for which data is available.\n object_list is the list of objects. extra_context is a dictionary\n of context data that will be added to any context data provided by\n the _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn.\n- get_dated_queryset(*\b**\b*l\blo\boo\bok\bku\bup\bp)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_dated_queryset(*\b**\b*l\blo\boo\bok\bku\bup\bp)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a queryset, filtered using the query arguments defined by\n lookup. Enforces any restrictions on the queryset, such as\n allow_empty and allow_future.\n- get_date_list_period()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_date_list_period()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the aggregation period for date_list. Returns\n _\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd by default.\n- get_date_list(q\bqu\bue\ber\bry\bys\bse\bet\bt, d\bda\bat\bte\be_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be, o\bor\brd\bde\ber\bri\bin\bng\bg=\b='\b'A\bAS\bSC\bC'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_date_list(q\bqu\bue\ber\bry\bys\bse\bet\bt, d\bda\bat\bte\be_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be, o\bor\brd\bde\ber\bri\bin\bng\bg=\b='\b'A\bAS\bSC\bC'\b')_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the list of dates of type date_type for which queryset\n contains entries. For example, get_date_list(qs, 'year') will\n return the list of years for which qs has entries. If date_type\n isn\u2019t provided, the result of _\bg_\be_\bt_\b__\bd_\ba_\bt_\be_\b__\bl_\bi_\bs_\bt_\b__\bp_\be_\br_\bi_\bo_\bd_\b(_\b) is used.\n date_type and ordering are passed to _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bd_\ba_\bt_\be_\bs_\b(_\b).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\ba_\bt_\be_\b-_\bb_\ba_\bs_\be_\bd_\b _\bm_\bi_\bx_\bi_\bn_\bs\n o _\bY_\be_\ba_\br_\bM_\bi_\bx_\bi_\bn\n o _\bM_\bo_\bn_\bt_\bh_\bM_\bi_\bx_\bi_\bn\n o _\bD_\ba_\by_\bM_\bi_\bx_\bi_\bn\n o _\bW_\be_\be_\bk_\bM_\bi_\bx_\bi_\bn\n o _\bD_\ba_\bt_\be_\bM_\bi_\bx_\bi_\bn\n o _\bB_\ba_\bs_\be_\bD_\ba_\bt_\be_\bL_\bi_\bs_\bt_\bV_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bE_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\bv_\bi_\be_\bw_\bs_\b _\b-_\b _\bf_\bl_\ba_\bt_\bt_\be_\bn_\be_\bd_\b _\bi_\bn_\bd_\be_\bx\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Editing mixins — Django 5.1.4 documentation\n+ Editing mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -83,15 +84,15 @@\n \n
    \n-

    Note

    \n+

    Nota

    \n

    Examples of how these are combined into editing views can be found at\n the documentation on Generic editing views.

    \n
    \n
    \n

    FormMixin\u00b6

    \n
    \n
    \n@@ -185,15 +186,15 @@\n

    Renders a response, providing the invalid form as context.

    \n
    \n \n
    \n
    \n get_context_data(**kwargs)\u00b6
    \n

    Calls get_form() and adds the result to the context data with the\n-name \u2018form\u2019.

    \n+name \u201cform\u201d.

    \n
    \n \n \n \n
    \n
    \n

    ModelFormMixin\u00b6

    \n@@ -296,16 +297,16 @@\n
    \n

    ProcessFormView\u00b6

    \n
    \n
    \n class django.views.generic.edit.ProcessFormView\u00b6
    \n

    A mixin that provides basic HTTP GET and POST workflow.

    \n
    \n-

    Note

    \n-

    This is named \u2018ProcessFormView\u2019 and inherits directly from\n+

    Nota

    \n+

    This is named \u201cProcessFormView\u201d and inherits directly from\n django.views.generic.base.View, but breaks if used\n independently, so it is more of a mixin.

    \n
    \n

    Extends

    \n \n@@ -393,37 +394,37 @@\n
  • DeletionMixin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Multiple object mixins

    \n+ title=\"capitolo precedente\">Multiple object mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Date-based mixins

    \n+ title=\"capitolo successivo\">Date-based mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,17 +1,17 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* E\bEd\bdi\bit\bti\bin\bng\bg m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The following mixins are used to construct Django\u2019s editing views:\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\be_\bd_\bi_\bt_\b._\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn\n-Note\n+Nota\n Examples of how these are combined into editing views can be found at the\n documentation on _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\be_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bv_\bi_\be_\bw_\bs.\n *\b**\b**\b**\b**\b* F\bFo\bor\brm\bmM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.edit.FormMixin_\b\u00b6\n A mixin class that provides facilities for creating and displaying forms.\n M\bMi\bix\bxi\bin\bns\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn\n@@ -45,15 +45,15 @@\n validated. Returns _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl by default.\n form_valid(f\bfo\bor\brm\bm)_\b\u00b6\n Redirects to _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b(_\b).\n form_invalid(f\bfo\bor\brm\bm)_\b\u00b6\n Renders a response, providing the invalid form as context.\n get_context_data(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n Calls _\bg_\be_\bt_\b__\bf_\bo_\br_\bm_\b(_\b) and adds the result to the context data with the\n- name \u2018form\u2019.\n+ name \u201cform\u201d.\n *\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\blF\bFo\bor\brm\bmM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.edit.ModelFormMixin_\b\u00b6\n A form mixin that works on ModelForms, rather than a standalone form.\n Since this is a subclass of _\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn, instances of this mixin\n have access to the _\bm_\bo_\bd_\be_\bl and _\bq_\bu_\be_\br_\by_\bs_\be_\bt attributes, describing the type of\n object that the ModelForm is manipulating.\n If you specify both the _\bf_\bi_\be_\bl_\bd_\bs and _\bf_\bo_\br_\bm_\b__\bc_\bl_\ba_\bs_\bs attributes, an\n@@ -95,16 +95,16 @@\n Saves the form instance, sets the current object for the view, and\n redirects to _\bg_\be_\bt_\b__\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl_\b(_\b).\n form_invalid(f\bfo\bor\brm\bm)_\b\u00b6\n Renders a response, providing the invalid form as context.\n *\b**\b**\b**\b**\b* P\bPr\bro\boc\bce\bes\bss\bsF\bFo\bor\brm\bmV\bVi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.edit.ProcessFormView_\b\u00b6\n A mixin that provides basic HTTP GET and POST workflow.\n- Note\n- This is named \u2018ProcessFormView\u2019 and inherits directly from\n+ Nota\n+ This is named \u201cProcessFormView\u201d and inherits directly from\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw, but breaks if used independently, so it\n is more of a mixin.\n E\bEx\bxt\bte\ben\bnd\bds\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bg_\be_\bn_\be_\br_\bi_\bc_\b._\bb_\ba_\bs_\be_\b._\bV_\bi_\be_\bw\n M\bMe\bet\bth\bho\bod\bds\bs a\ban\bnd\bd A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n get(r\bre\beq\bqu\bue\bes\bst\bt, *\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n Renders a response using a context created with _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bd_\ba_\bt_\ba_\b(_\b).\n@@ -133,16 +133,16 @@\n successfully deleted. Returns _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b__\bu_\br_\bl by default.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bE_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bm_\bi_\bx_\bi_\bn_\bs\n o _\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n o _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn\n o _\bP_\br_\bo_\bc_\be_\bs_\bs_\bF_\bo_\br_\bm_\bV_\bi_\be_\bw\n o _\bD_\be_\bl_\be_\bt_\bi_\bo_\bn_\bM_\bi_\bx_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\ba_\bt_\be_\b-_\bb_\ba_\bs_\be_\bd_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Multiple object mixins — Django 5.1.4 documentation\n+ Multiple object mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -138,15 +139,15 @@\n \n
    \n
    \n queryset\u00b6
    \n

    A QuerySet that represents the objects. If provided, the value of\n queryset supersedes the value provided for model.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    queryset is a class attribute with a mutable value so care\n must be taken when using it directly. Before using it, either call\n its all() method or\n retrieve it with get_queryset() which takes care of the\n cloning behind the scenes.

    \n
    \n
    \n@@ -167,15 +168,15 @@\n expect either a page query string parameter (via request.GET)\n or a page variable specified in the URLconf.

    \n \n \n
    \n
    \n paginate_orphans\u00b6
    \n-

    An integer specifying the number of \u201coverflow\u201d objects the last page\n+

    An integer specifying the number of \u00aboverflow\u00bb objects the last page\n can contain. This extends the paginate_by limit on the last\n page by up to paginate_orphans, in order to keep the last page from\n having a very small number of objects.

    \n
    \n \n
    \n
    \n@@ -241,15 +242,15 @@\n

    Returns an instance of the paginator to use for this view. By default,\n instantiates an instance of paginator_class.

    \n
    \n \n
    \n
    \n get_paginate_orphans()\u00b6
    \n-

    An integer specifying the number of \u201coverflow\u201d objects the last page\n+

    An integer specifying the number of \u00aboverflow\u00bb objects the last page\n can contain. By default this returns the value of\n paginate_orphans.

    \n
    \n \n
    \n
    \n get_allow_empty()\u00b6
    \n@@ -352,37 +353,37 @@\n
  • MultipleObjectTemplateResponseMixin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Single object mixins

    \n+ title=\"capitolo precedente\">Single object mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Editing mixins

    \n+ title=\"capitolo successivo\">Editing mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMu\bul\blt\bti\bip\bpl\ble\be o\bob\bbj\bje\bec\bct\bt m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* M\bMu\bul\blt\bti\bip\bpl\ble\beO\bOb\bbj\bje\bec\bct\btM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.list.MultipleObjectMixin_\b\u00b6\n A mixin that can be used to display a list of objects.\n If paginate_by is specified, Django will paginate the results returned by\n@@ -34,30 +34,30 @@\n model_\b\u00b6\n The model that this view will display data for. Specifying model =\n Foo is effectively the same as specifying queryset =\n Foo.objects.all(), where objects stands for Foo\u2019s _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bm_\ba_\bn_\ba_\bg_\be_\br.\n queryset_\b\u00b6\n A QuerySet that represents the objects. If provided, the value of\n queryset supersedes the value provided for _\bm_\bo_\bd_\be_\bl.\n- Warning\n+ Avvertimento\n queryset is a class attribute with a m\bmu\but\bta\bab\bbl\ble\be value so care must be\n taken when using it directly. Before using it, either call its _\ba_\bl_\bl\n _\b(_\b) method or retrieve it with _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b) which takes care of\n the cloning behind the scenes.\n ordering_\b\u00b6\n A string or list of strings specifying the ordering to apply to the\n queryset. Valid values are the same as those for _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b).\n paginate_by_\b\u00b6\n An integer specifying how many objects should be displayed per\n page. If this is given, the view will paginate objects with\n paginate_by objects per page. The view will expect either a page\n query string parameter (via request.GET) or a page variable\n specified in the URLconf.\n paginate_orphans_\b\u00b6\n- An integer specifying the number of \u201coverflow\u201d objects the last\n+ An integer specifying the number of \u00aboverflow\u00bb objects the last\n page can contain. This extends the _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by limit on the last\n page by up to paginate_orphans, in order to keep the last page from\n having a very small number of objects.\n page_kwarg_\b\u00b6\n A string specifying the name to use for the page parameter. The\n view will expect this parameter to be available either as a query\n string parameter (via request.GET) or as a kwarg variable specified\n@@ -89,15 +89,15 @@\n Returns the number of items to paginate by, or None for no\n pagination. By default this returns the value of _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bb_\by.\n get_paginator(q\bqu\bue\ber\bry\bys\bse\bet\bt, p\bpe\ber\br_\b_p\bpa\bag\bge\be, o\bor\brp\bph\bha\ban\bns\bs=\b=0\b0,\n a\bal\bll\blo\bow\bw_\b_e\bem\bmp\bpt\bty\by_\b_f\bfi\bir\brs\bst\bt_\b_p\bpa\bag\bge\be=\b=T\bTr\bru\bue\be)_\b\u00b6\n Returns an instance of the paginator to use for this view. By\n default, instantiates an instance of _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b__\bc_\bl_\ba_\bs_\bs.\n get_paginate_orphans()_\b\u00b6\n- An integer specifying the number of \u201coverflow\u201d objects the last\n+ An integer specifying the number of \u00aboverflow\u00bb objects the last\n page can contain. By default this returns the value of\n _\bp_\ba_\bg_\bi_\bn_\ba_\bt_\be_\b__\bo_\br_\bp_\bh_\ba_\bn_\bs.\n get_allow_empty()_\b\u00b6\n Return a boolean specifying whether to display the page if no\n objects are available. If this method returns False and no objects\n are available, the view will raise a 404 instead of displaying an\n empty page. By default, this is True.\n@@ -140,16 +140,16 @@\n list:\n * the value of template_name on the view (if provided)\n * /.html\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n o _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n o _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\bi_\bn_\bg_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bE_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Simple mixins — Django 5.1.4 documentation\n+ Simple mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -215,37 +216,37 @@\n
  • TemplateResponseMixin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Class-based views mixins

    \n+ title=\"capitolo precedente\">Class-based views mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Single object mixins

    \n+ title=\"capitolo successivo\">Single object mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSi\bim\bmp\bpl\ble\be m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* C\bCo\bon\bnt\bte\bex\bxt\btM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.base.ContextMixin_\b\u00b6\n A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs\n extra_context_\b\u00b6\n@@ -67,16 +67,16 @@\n template. The first template that is found will be used.\n The default implementation will return a list containing\n _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be (if it is specified).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bS_\bi_\bm_\bp_\bl_\be_\b _\bm_\bi_\bx_\bi_\bn_\bs\n o _\bC_\bo_\bn_\bt_\be_\bx_\bt_\bM_\bi_\bx_\bi_\bn\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\bi_\bn_\bg_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Single object mixins — Django 5.1.4 documentation\n+ Single object mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -98,15 +99,15 @@\n \n
    \n
    \n queryset\u00b6
    \n

    A QuerySet that represents the objects. If provided, the value of\n queryset supersedes the value provided for model.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    queryset is a class attribute with a mutable value so care\n must be taken when using it directly. Before using it, either call\n its all() method or\n retrieve it with get_queryset() which takes care of the\n cloning behind the scenes.

    \n
    \n
    \n@@ -294,37 +295,37 @@\n
  • SingleObjectTemplateResponseMixin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Simple mixins

    \n+ title=\"capitolo precedente\">Simple mixins

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Multiple object mixins

    \n+ title=\"capitolo successivo\">Multiple object mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSi\bin\bng\bgl\ble\be o\bob\bbj\bje\bec\bct\bt m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* S\bSi\bin\bng\bgl\ble\beO\bOb\bbj\bje\bec\bct\btM\bMi\bix\bxi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs django.views.generic.detail.SingleObjectMixin_\b\u00b6\n Provides a mechanism for looking up an object associated with the current\n HTTP request.\n@@ -10,15 +10,15 @@\n model_\b\u00b6\n The model that this view will display data for. Specifying model =\n Foo is effectively the same as specifying queryset =\n Foo.objects.all(), where objects stands for Foo\u2019s _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bm_\ba_\bn_\ba_\bg_\be_\br.\n queryset_\b\u00b6\n A QuerySet that represents the objects. If provided, the value of\n queryset supersedes the value provided for _\bm_\bo_\bd_\be_\bl.\n- Warning\n+ Avvertimento\n queryset is a class attribute with a m\bmu\but\bta\bab\bbl\ble\be value so care must be\n taken when using it directly. Before using it, either call its _\ba_\bl_\bl\n _\b(_\b) method or retrieve it with _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b) which takes care of\n the cloning behind the scenes.\n slug_field_\b\u00b6\n The name of the field on the model that contains the slug. By\n default, slug_field is 'slug'.\n@@ -114,16 +114,16 @@\n * the contents of the template_name_field field on the object\n instance that the view is operating upon (if available)\n * /.html\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bS_\bi_\bn_\bg_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n o _\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bM_\bi_\bx_\bi_\bn\n o _\bS_\bi_\bn_\bg_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\bi_\bm_\bp_\bl_\be_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html", "source2": "./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Class-based views mixins — Django 5.1.4 documentation\n+ Class-based views mixins — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -98,37 +99,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Generic date views

    \n+ title=\"capitolo precedente\">Generic date views

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Simple mixins

    \n+ title=\"capitolo successivo\">Simple mixins

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCl\bla\bas\bss\bs-\b-b\bba\bas\bse\bed\bd v\bvi\bie\bew\bws\bs m\bmi\bix\bxi\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Class-based views API reference. For introductory material, see _\bU_\bs_\bi_\bn_\bg_\b _\bm_\bi_\bx_\bi_\bn_\bs\n _\bw_\bi_\bt_\bh_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs.\n * _\bS_\bi_\bm_\bp_\bl_\be_\b _\bm_\bi_\bx_\bi_\bn_\bs\n * _\bS_\bi_\bn_\bg_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n * _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\b _\bm_\bi_\bx_\bi_\bn_\bs\n * _\bE_\bd_\bi_\bt_\bi_\bn_\bg_\b _\bm_\bi_\bx_\bi_\bn_\bs\n * _\bD_\ba_\bt_\be_\b-_\bb_\ba_\bs_\be_\bd_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\bd_\ba_\bt_\be_\b _\bv_\bi_\be_\bw_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\bi_\bm_\bp_\bl_\be_\b _\bm_\bi_\bx_\bi_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/clickjacking.html", "source2": "./usr/share/doc/python-django-doc/html/ref/clickjacking.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Clickjacking Protection — Django 5.1.4 documentation\n+ Clickjacking Protection — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,21 +82,21 @@\n

    Clickjacking Protection\u00b6

    \n

    The clickjacking middleware and decorators provide easy-to-use protection\n against clickjacking. This type of attack occurs when a malicious site\n tricks a user into clicking on a concealed element of another site which they\n have loaded in a hidden frame or iframe.

    \n
    \n

    An example of clickjacking\u00b6

    \n-

    Suppose an online store has a page where a logged in user can click \u201cBuy Now\u201d to\n+

    Suppose an online store has a page where a logged in user can click \u00abBuy Now\u00bb to\n purchase an item. A user has chosen to stay logged into the store all the time\n-for convenience. An attacker site might create an \u201cI Like Ponies\u201d button on one\n+for convenience. An attacker site might create an \u00abI Like Ponies\u00bb button on one\n of their own pages, and load the store\u2019s page in a transparent iframe such that\n-the \u201cBuy Now\u201d button is invisibly overlaid on the \u201cI Like Ponies\u201d button. If the\n-user visits the attacker\u2019s site, clicking \u201cI Like Ponies\u201d will cause an\n-inadvertent click on the \u201cBuy Now\u201d button and an unknowing purchase of the item.

    \n+the \u00abBuy Now\u00bb button is invisibly overlaid on the \u00abI Like Ponies\u00bb button. If the\n+user visits the attacker\u2019s site, clicking \u00abI Like Ponies\u00bb will cause an\n+inadvertent click on the \u00abBuy Now\u00bb button and an unknowing purchase of the item.

    \n
    \n
    \n

    Preventing clickjacking\u00b6

    \n

    Modern browsers honor the X-Frame-Options HTTP header that indicates whether\n or not a resource is allowed to load within a frame or iframe. If the response\n contains the header with a value of SAMEORIGIN then the browser will only\n load the resource in a frame if the request originated from the same site. If\n@@ -141,15 +142,15 @@\n \n @xframe_options_exempt\n def ok_to_load_in_a_frame(request):\n return HttpResponse("This page is safe to load in a frame on any site.")\n

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you want to submit a form or access a session cookie within a frame or\n iframe, you may need to modify the CSRF_COOKIE_SAMESITE or\n SESSION_COOKIE_SAMESITE settings.

    \n
    \n
    \n Changed in Django 5.0:

    Support for wrapping asynchronous view functions was added to the\n @xframe_options_exempt decorator.

    \n@@ -213,37 +214,37 @@\n
  • Limitations
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Class-based generic views - flattened index

    \n+ title=\"capitolo precedente\">Class-based generic views - flattened index

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    contrib packages

    \n+ title=\"capitolo successivo\">contrib packages

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCl\bli\bic\bck\bkj\bja\bac\bck\bki\bin\bng\bg P\bPr\bro\bot\bte\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The clickjacking middleware and decorators provide easy-to-use protection\n against _\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg. This type of attack occurs when a malicious site tricks a\n user into clicking on a concealed element of another site which they have\n loaded in a hidden frame or iframe.\n *\b**\b**\b**\b**\b* A\bAn\bn e\bex\bxa\bam\bmp\bpl\ble\be o\bof\bf c\bcl\bli\bic\bck\bkj\bja\bac\bck\bki\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Suppose an online store has a page where a logged in user can click \u201cBuy Now\u201d\n+Suppose an online store has a page where a logged in user can click \u00abBuy Now\u00bb\n to purchase an item. A user has chosen to stay logged into the store all the\n-time for convenience. An attacker site might create an \u201cI Like Ponies\u201d button\n+time for convenience. An attacker site might create an \u00abI Like Ponies\u00bb button\n on one of their own pages, and load the store\u2019s page in a transparent iframe\n-such that the \u201cBuy Now\u201d button is invisibly overlaid on the \u201cI Like Ponies\u201d\n-button. If the user visits the attacker\u2019s site, clicking \u201cI Like Ponies\u201d will\n-cause an inadvertent click on the \u201cBuy Now\u201d button and an unknowing purchase of\n+such that the \u00abBuy Now\u00bb button is invisibly overlaid on the \u00abI Like Ponies\u00bb\n+button. If the user visits the attacker\u2019s site, clicking \u00abI Like Ponies\u00bb will\n+cause an inadvertent click on the \u00abBuy Now\u00bb button and an unknowing purchase of\n the item.\n *\b**\b**\b**\b**\b* P\bPr\bre\bev\bve\ben\bnt\bti\bin\bng\bg c\bcl\bli\bic\bck\bkj\bja\bac\bck\bki\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Modern browsers honor the _\bX_\b-_\bF_\br_\ba_\bm_\be_\b-_\bO_\bp_\bt_\bi_\bo_\bn_\bs HTTP header that indicates whether or\n not a resource is allowed to load within a frame or iframe. If the response\n contains the header with a value of SAMEORIGIN then the browser will only load\n the resource in a frame if the request originated from the same site. If the\n header is set to DENY then the browser will block the resource from loading in\n@@ -48,15 +48,15 @@\n from django.http import HttpResponse\n from django.views.decorators.clickjacking import xframe_options_exempt\n \n \n @xframe_options_exempt\n def ok_to_load_in_a_frame(request):\n return HttpResponse(\"This page is safe to load in a frame on any site.\")\n-Note\n+Nota\n If you want to submit a form or access a session cookie within a frame or\n iframe, you may need to modify the _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE or\n _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE settings.\n Changed in Django 5.0:\n Support for wrapping asynchronous view functions was added to the\n @xframe_options_exempt decorator.\n *\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bg X\bX-\b-F\bFr\bra\bam\bme\be-\b-O\bOp\bpt\bti\bio\bon\bns\bs p\bpe\ber\br v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -88,16 +88,16 @@\n * _\bC_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n o _\bA_\bn_\b _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bo_\bf_\b _\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n o _\bP_\br_\be_\bv_\be_\bn_\bt_\bi_\bn_\bg_\b _\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n o _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bi_\bt\n # _\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\bX_\b-_\bF_\br_\ba_\bm_\be_\b-_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\ba_\bl_\bl_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\bs\n # _\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\bX_\b-_\bF_\br_\ba_\bm_\be_\b-_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bp_\be_\br_\b _\bv_\bi_\be_\bw\n o _\bL_\bi_\bm_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\bv_\bi_\be_\bw_\bs_\b _\b-_\b _\bf_\bl_\ba_\bt_\bt_\be_\bn_\be_\bd_\b _\bi_\bn_\bd_\be_\bx\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bc_\bo_\bn_\bt_\br_\bi_\bb_\b _\bp_\ba_\bc_\bk_\ba_\bg_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/actions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/actions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Admin actions — Django 5.1.4 documentation\n+ Admin actions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,29 +76,29 @@\n
    \n
    \n
    \n
    \n \n
    \n

    Admin actions\u00b6

    \n-

    The basic workflow of Django\u2019s admin is, in a nutshell, \u201cselect an object,\n-then change it.\u201d This works well for a majority of use cases. However, if you\n+

    The basic workflow of Django\u2019s admin is, in a nutshell, \u00abselect an object,\n+then change it.\u00bb This works well for a majority of use cases. However, if you\n need to make the same change to many objects at once, this workflow can be\n quite tedious.

    \n-

    In these cases, Django\u2019s admin lets you write and register \u201cactions\u201d \u2013\n+

    In these cases, Django\u2019s admin lets you write and register \u00abactions\u00bb \u2013\n functions that get called with a list of objects selected on the change list\n page.

    \n

    If you look at any change list in the admin, you\u2019ll see this feature in\n-action; Django ships with a \u201cdelete selected objects\u201d action available to all\n+action; Django ships with a \u00abdelete selected objects\u00bb action available to all\n models. For example, here\u2019s the user module from Django\u2019s built-in\n django.contrib.auth app:

    \n \"../../../_images/admin-actions.png\"\n
    \n-

    Warning

    \n-

    The \u201cdelete selected objects\u201d action uses QuerySet.delete() for efficiency reasons, which\n+

    Avvertimento

    \n+

    The \u00abdelete selected objects\u00bb action uses QuerySet.delete() for efficiency reasons, which\n has an important caveat: your model\u2019s delete() method will not be\n called.

    \n

    If you wish to override this behavior, you can override\n ModelAdmin.delete_queryset() or write a custom action which does\n deletion in your preferred manner \u2013 for example, by calling\n Model.delete() for each of the selected items.

    \n

    For more background on bulk deletion, see the documentation on object\n@@ -124,18 +125,18 @@\n status = models.CharField(max_length=1, choices=STATUS_CHOICES)\n \n def __str__(self):\n return self.title\n

    \n
    \n

    A common task we might perform with a model like this is to update an\n-article\u2019s status from \u201cdraft\u201d to \u201cpublished\u201d. We could easily do this in the\n+article\u2019s status from \u00abdraft\u00bb to \u00abpublished\u00bb. We could easily do this in the\n admin one article at a time, but if we wanted to bulk-publish a group of\n articles, it\u2019d be tedious. So, let\u2019s write an action that lets us change an\n-article\u2019s status to \u201cpublished.\u201d

    \n+article\u2019s status to \u00abpublished.\u00bb

    \n
    \n

    Writing action functions\u00b6

    \n

    First, we\u2019ll need to write a function that gets called when the action is\n triggered from the admin. Action functions are regular functions that take\n three arguments:

    \n
      \n
    • The current ModelAdmin

    • \n@@ -146,26 +147,26 @@\n

      Our publish-these-articles function won\u2019t need the ModelAdmin or the\n request object, but we will use the queryset:

      \n
      def make_published(modeladmin, request, queryset):\n     queryset.update(status="p")\n 
      \n
      \n
      \n-

      Note

      \n+

      Nota

      \n

      For the best performance, we\u2019re using the queryset\u2019s update method. Other types of actions might need to deal\n with each object individually; in these cases we\u2019d iterate over the\n queryset:

      \n
      for obj in queryset:\n     do_something_with(obj)\n 
      \n
      \n
      \n

      That\u2019s actually all there is to writing an action! However, we\u2019ll take one\n-more optional-but-useful step and give the action a \u201cnice\u201d title in the admin.\n-By default, this action would appear in the action list as \u201cMake published\u201d \u2013\n+more optional-but-useful step and give the action a \u00abnice\u00bb title in the admin.\n+By default, this action would appear in the action list as \u00abMake published\u00bb \u2013\n the function name, with underscores replaced by spaces. That\u2019s fine, but we\n can provide a better, more human-friendly name by using the\n action() decorator on the make_published\n function:

      \n
      from django.contrib import admin\n \n ...\n@@ -173,15 +174,15 @@\n \n @admin.action(description="Mark selected stories as published")\n def make_published(modeladmin, request, queryset):\n     queryset.update(status="p")\n 
      \n
      \n
      \n-

      Note

      \n+

      Nota

      \n

      This might look familiar; the admin\u2019s\n list_display option uses a similar\n technique with the display() decorator to\n provide human-readable descriptions for callback functions registered\n there, too.

      \n
      \n
    \n@@ -328,26 +329,26 @@\n the business with the ContentType.

    \n

    Writing this view is left as an exercise to the reader.

    \n \n
    \n

    Making actions available site-wide\u00b6

    \n
    \n
    \n-AdminSite.add_action(action, name=None)[source]\u00b6
    \n+AdminSite.add_action(action, name=None)[sorgente]\u00b6\n

    Some actions are best if they\u2019re made available to any object in the admin\n site \u2013 the export action defined above would be a good candidate. You can\n make an action globally available using AdminSite.add_action(). For\n example:

    \n
    from django.contrib import admin\n \n admin.site.add_action(export_selected_objects)\n 
    \n
    \n

    This makes the export_selected_objects action globally available as an\n-action named \u201cexport_selected_objects\u201d. You can explicitly give the action\n+action named \u00abexport_selected_objects\u00bb. You can explicitly give the action\n a name \u2013 good if you later want to programmatically remove the action \u2013 by passing a second argument to\n AdminSite.add_action():

    \n
    admin.site.add_action(export_selected_objects, "export_selected")\n 
    \n
    \n
    \n \n@@ -357,19 +358,19 @@\n

    Sometimes you need to disable certain actions \u2013 especially those\n registered site-wide \u2013 for particular objects.\n There\u2019s a few ways you can disable actions:

    \n
    \n

    Disabling a site-wide action\u00b6

    \n
    \n
    \n-AdminSite.disable_action(name)[source]\u00b6
    \n+AdminSite.disable_action(name)[sorgente]\u00b6\n

    If you need to disable a site-wide action you can\n call AdminSite.disable_action().

    \n-

    For example, you can use this method to remove the built-in \u201cdelete selected\n-objects\u201d action:

    \n+

    For example, you can use this method to remove the built-in \u00abdelete selected\n+objects\u00bb action:

    \n
    admin.site.disable_action("delete_selected")\n 
    \n
    \n

    Once you\u2019ve done the above, that action will no longer be available\n site-wide.

    \n

    If, however, you need to reenable a globally-disabled action for one\n particular model, list it explicitly in your ModelAdmin.actions list:

    \n@@ -403,20 +404,20 @@\n

    This tells the ModelAdmin to not display or allow any actions,\n including any site-wide actions.

    \n
    \n
    \n

    Conditionally enabling or disabling actions\u00b6

    \n
    \n
    \n-ModelAdmin.get_actions(request)[source]\u00b6
    \n+ModelAdmin.get_actions(request)[sorgente]\u00b6\n

    Finally, you can conditionally enable or disable actions on a per-request\n (and hence per-user basis) by overriding ModelAdmin.get_actions().

    \n

    This returns a dictionary of actions allowed. The keys are action names, and\n the values are (function, name, short_description) tuples.

    \n-

    For example, if you only want users whose names begin with \u2018J\u2019 to be able\n+

    For example, if you only want users whose names begin with \u201cJ\u201d to be able\n to delete objects in bulk:

    \n
    class MyModelAdmin(admin.ModelAdmin):\n     ...\n \n     def get_actions(self, request):\n         actions = super().get_actions(request)\n         if request.user.username[0].upper() != "J":\n@@ -473,15 +474,15 @@\n 
    \n
    \n
    \n
    \n

    The action decorator\u00b6

    \n
    \n
    \n-action(*, permissions=None, description=None)[source]\u00b6
    \n+action(*, permissions=None, description=None)[sorgente]\u00b6\n

    This decorator can be used for setting specific attributes on custom action\n functions that can be used with\n actions:

    \n
    @admin.action(\n     permissions=["publish"],\n     description="Mark selected stories as published",\n )\n@@ -553,37 +554,37 @@\n 
  • The action decorator
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The Django admin site

    \n+ title=\"capitolo precedente\">The Django admin site

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    ModelAdmin List Filters

    \n+ title=\"capitolo successivo\">ModelAdmin List Filters

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,25 +1,25 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAd\bdm\bmi\bin\bn a\bac\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-The basic workflow of Django\u2019s admin is, in a nutshell, \u201cselect an object, then\n-change it.\u201d This works well for a majority of use cases. However, if you need\n+The basic workflow of Django\u2019s admin is, in a nutshell, \u00abselect an object, then\n+change it.\u00bb This works well for a majority of use cases. However, if you need\n to make the same change to many objects at once, this workflow can be quite\n tedious.\n-In these cases, Django\u2019s admin lets you write and register \u201cactions\u201d \u2013\n+In these cases, Django\u2019s admin lets you write and register \u00abactions\u00bb \u2013\n functions that get called with a list of objects selected on the change list\n page.\n If you look at any change list in the admin, you\u2019ll see this feature in action;\n-Django ships with a \u201cdelete selected objects\u201d action available to all models.\n+Django ships with a \u00abdelete selected objects\u00bb action available to all models.\n For example, here\u2019s the user module from Django\u2019s built-in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh\n app:\n [../../../_images/admin-actions.png]\n-Warning\n-The \u201cdelete selected objects\u201d action uses _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bd_\be_\bl_\be_\bt_\be_\b(_\b) for efficiency\n+Avvertimento\n+The \u00abdelete selected objects\u00bb action uses _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bd_\be_\bl_\be_\bt_\be_\b(_\b) for efficiency\n reasons, which has an important caveat: your model\u2019s delete() method will not\n be called.\n If you wish to override this behavior, you can override\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bd_\be_\bl_\be_\bt_\be_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt_\b(_\b) or write a custom action which does deletion in\n your preferred manner \u2013 for example, by calling Model.delete() for each of the\n selected items.\n For more background on bulk deletion, see the documentation on _\bo_\bb_\bj_\be_\bc_\bt_\b _\bd_\be_\bl_\be_\bt_\bi_\bo_\bn.\n@@ -41,50 +41,50 @@\n title = models.CharField(max_length=100)\n body = models.TextField()\n status = models.CharField(max_length=1, choices=STATUS_CHOICES)\n \n def __str__(self):\n return self.title\n A common task we might perform with a model like this is to update an article\u2019s\n-status from \u201cdraft\u201d to \u201cpublished\u201d. We could easily do this in the admin one\n+status from \u00abdraft\u00bb to \u00abpublished\u00bb. We could easily do this in the admin one\n article at a time, but if we wanted to bulk-publish a group of articles, it\u2019d\n be tedious. So, let\u2019s write an action that lets us change an article\u2019s status\n-to \u201cpublished.\u201d\n+to \u00abpublished.\u00bb\n *\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg a\bac\bct\bti\bio\bon\bn f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n First, we\u2019ll need to write a function that gets called when the action is\n triggered from the admin. Action functions are regular functions that take\n three arguments:\n * The current _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n * An _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt representing the current request,\n * A _\bQ_\bu_\be_\br_\by_\bS_\be_\bt containing the set of objects selected by the user.\n Our publish-these-articles function won\u2019t need the _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn or the request\n object, but we will use the queryset:\n def make_published(modeladmin, request, queryset):\n queryset.update(status=\"p\")\n-Note\n+Nota\n For the best performance, we\u2019re using the queryset\u2019s _\bu_\bp_\bd_\ba_\bt_\be_\b _\bm_\be_\bt_\bh_\bo_\bd. Other types\n of actions might need to deal with each object individually; in these cases\n we\u2019d iterate over the queryset:\n for obj in queryset:\n do_something_with(obj)\n That\u2019s actually all there is to writing an action! However, we\u2019ll take one more\n-optional-but-useful step and give the action a \u201cnice\u201d title in the admin. By\n-default, this action would appear in the action list as \u201cMake published\u201d \u2013 the\n+optional-but-useful step and give the action a \u00abnice\u00bb title in the admin. By\n+default, this action would appear in the action list as \u00abMake published\u00bb \u2013 the\n function name, with underscores replaced by spaces. That\u2019s fine, but we can\n provide a better, more human-friendly name by using the _\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b) decorator on\n the make_published function:\n from django.contrib import admin\n \n ...\n \n \n @admin.action(description=\"Mark selected stories as published\")\n def make_published(modeladmin, request, queryset):\n queryset.update(status=\"p\")\n-Note\n+Nota\n This might look familiar; the admin\u2019s _\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by option uses a similar\n technique with the _\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b) decorator to provide human-readable descriptions\n for callback functions registered there, too.\n *\b**\b**\b**\b* A\bAd\bdd\bdi\bin\bng\bg a\bac\bct\bti\bio\bon\bns\bs t\bto\bo t\bth\bhe\be _\bM\bM_\bo\bo_\bd\bd_\be\be_\bl\bl_\bA\bA_\bd\bd_\bm\bm_\bi\bi_\bn\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Next, we\u2019ll need to inform our _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn of the action. This works just like\n any other configuration option. So, the complete admin.py with the action and\n its registration would look like:\n@@ -201,36 +201,36 @@\n )\n )\n As you can see, the action is rather short; all the complex logic would belong\n in your export view. This would need to deal with objects of any type, hence\n the business with the ContentType.\n Writing this view is left as an exercise to the reader.\n *\b**\b**\b**\b* M\bMa\bak\bki\bin\bng\bg a\bac\bct\bti\bio\bon\bns\bs a\bav\bva\bai\bil\bla\bab\bbl\ble\be s\bsi\bit\bte\be-\b-w\bwi\bid\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- AdminSite.add_action(a\bac\bct\bti\bio\bon\bn, n\bna\bam\bme\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ AdminSite.add_action(a\bac\bct\bti\bio\bon\bn, n\bna\bam\bme\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Some actions are best if they\u2019re made available to a\ban\bny\by object in the\n admin site \u2013 the export action defined above would be a good candidate.\n You can make an action globally available using _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b._\ba_\bd_\bd_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b).\n For example:\n from django.contrib import admin\n \n admin.site.add_action(export_selected_objects)\n This makes the export_selected_objects action globally available as an\n- action named \u201cexport_selected_objects\u201d. You can explicitly give the\n+ action named \u00abexport_selected_objects\u00bb. You can explicitly give the\n action a name \u2013 good if you later want to programmatically _\br_\be_\bm_\bo_\bv_\be_\b _\bt_\bh_\be\n _\ba_\bc_\bt_\bi_\bo_\bn \u2013 by passing a second argument to _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b._\ba_\bd_\bd_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b):\n admin.site.add_action(export_selected_objects, \"export_selected\")\n *\b**\b**\b**\b* D\bDi\bis\bsa\bab\bbl\bli\bin\bng\bg a\bac\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Sometimes you need to disable certain actions \u2013 especially those _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\be_\bd\n _\bs_\bi_\bt_\be_\b-_\bw_\bi_\bd_\be \u2013 for particular objects. There\u2019s a few ways you can disable actions:\n *\b**\b**\b* D\bDi\bis\bsa\bab\bbl\bli\bin\bng\bg a\ba s\bsi\bit\bte\be-\b-w\bwi\bid\bde\be a\bac\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n- AdminSite.disable_action(n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ AdminSite.disable_action(n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If you need to disable a _\bs_\bi_\bt_\be_\b-_\bw_\bi_\bd_\be_\b _\ba_\bc_\bt_\bi_\bo_\bn you can call\n _\bA_\bd_\bm_\bi_\bn_\bS_\bi_\bt_\be_\b._\bd_\bi_\bs_\ba_\bb_\bl_\be_\b__\ba_\bc_\bt_\bi_\bo_\bn_\b(_\b).\n- For example, you can use this method to remove the built-in \u201cdelete\n- selected objects\u201d action:\n+ For example, you can use this method to remove the built-in \u00abdelete\n+ selected objects\u00bb action:\n admin.site.disable_action(\"delete_selected\")\n Once you\u2019ve done the above, that action will no longer be available site-\n wide.\n If, however, you need to reenable a globally-disabled action for one\n particular model, list it explicitly in your ModelAdmin.actions list:\n # Globally disable delete selected\n admin.site.disable_action(\"delete_selected\")\n@@ -250,20 +250,20 @@\n If you want n\bno\bo bulk actions available for a given _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn, set\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\ba_\bc_\bt_\bi_\bo_\bn_\bs to None:\n class MyModelAdmin(admin.ModelAdmin):\n actions = None\n This tells the _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn to not display or allow any actions, including any\n _\bs_\bi_\bt_\be_\b-_\bw_\bi_\bd_\be_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs.\n *\b**\b**\b* C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bll\bly\by e\ben\bna\bab\bbl\bli\bin\bng\bg o\bor\br d\bdi\bis\bsa\bab\bbl\bli\bin\bng\bg a\bac\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b*\n- ModelAdmin.get_actions(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ModelAdmin.get_actions(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Finally, you can conditionally enable or disable actions on a per-request\n (and hence per-user basis) by overriding _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bg_\be_\bt_\b__\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b(_\b).\n This returns a dictionary of actions allowed. The keys are action names,\n and the values are (function, name, short_description) tuples.\n- For example, if you only want users whose names begin with \u2018J\u2019 to be able\n+ For example, if you only want users whose names begin with \u201cJ\u201d to be able\n to delete objects in bulk:\n class MyModelAdmin(admin.ModelAdmin):\n ...\n \n def get_actions(self, request):\n actions = super().get_actions(request)\n if request.user.username[0].upper() != \"J\":\n@@ -302,15 +302,15 @@\n \n def has_publish_permission(self, request):\n \"\"\"Does the user have the publish permission?\"\"\"\n opts = self.opts\n codename = get_permission_codename(\"publish\", opts)\n return request.user.has_perm(\"%s.%s\" % (opts.app_label, codename))\n *\b**\b**\b**\b**\b* T\bTh\bhe\be a\bac\bct\bti\bio\bon\bn d\bde\bec\bco\bor\bra\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- action(*\b*, p\bpe\ber\brm\bmi\bis\bss\bsi\bio\bon\bns\bs=\b=N\bNo\bon\bne\be, d\bde\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ action(*\b*, p\bpe\ber\brm\bmi\bis\bss\bsi\bio\bon\bns\bs=\b=N\bNo\bon\bne\be, d\bde\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This decorator can be used for setting specific attributes on custom\n action functions that can be used with _\ba_\bc_\bt_\bi_\bo_\bn_\bs:\n @admin.action(\n permissions=[\"publish\"],\n description=\"Mark selected stories as published\",\n )\n def make_published(self, request, queryset):\n@@ -345,16 +345,16 @@\n # _\bM_\ba_\bk_\bi_\bn_\bg_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bs_\bi_\bt_\be_\b-_\bw_\bi_\bd_\be\n # _\bD_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bD_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\ba_\b _\bs_\bi_\bt_\be_\b-_\bw_\bi_\bd_\be_\b _\ba_\bc_\bt_\bi_\bo_\bn\n # _\bD_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\ba_\bl_\bl_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\ba_\b _\bp_\ba_\br_\bt_\bi_\bc_\bu_\bl_\ba_\br_\b _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\bl_\by_\b _\be_\bn_\ba_\bb_\bl_\bi_\bn_\bg_\b _\bo_\br_\b _\bd_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bS_\be_\bt_\bt_\bi_\bn_\bg_\b _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs\n o _\bT_\bh_\be_\b _\ba_\bc_\bt_\bi_\bo_\bn_\b _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bL_\bi_\bs_\bt_\b _\bF_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/admindocs.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/admindocs.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The Django admin documentation generator — Django 5.1.4 documentation\n+ The Django admin documentation generator — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,15 +95,15 @@\n 'admin/' entry, so that requests to /admin/doc/ don\u2019t get\n handled by the latter entry.

    \n
  • Install the docutils 0.19+ package.

  • \n
  • Optional: Using the admindocs bookmarklets requires\n django.contrib.admindocs.middleware.XViewMiddleware to be installed.

  • \n \n

    Once those steps are complete, you can start browsing the documentation by\n-going to your admin interface and clicking the \u201cDocumentation\u201d link in the\n+going to your admin interface and clicking the \u00abDocumentation\u00bb link in the\n upper right of the page.

    \n \n
    \n

    Documentation helpers\u00b6

    \n

    The following special markup can be used in your docstrings to easily create\n hyperlinks to other components:

    \n
    \n@@ -247,37 +248,37 @@\n
  • Included Bookmarklets
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    ModelAdmin List Filters

    \n+ title=\"capitolo precedente\">ModelAdmin List Filters

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    JavaScript customizations in the admin

    \n+ title=\"capitolo successivo\">JavaScript customizations in the admin

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be D\bDj\bja\ban\bng\bgo\bo a\bad\bdm\bmi\bin\bn d\bdo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn g\bge\ben\bne\ber\bra\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django\u2019s _\ba_\bd_\bm_\bi_\bn_\bd_\bo_\bc_\bs app pulls documentation from the docstrings of models,\n views, template tags, and template filters for any app in _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS and\n makes that documentation available from the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -11,15 +11,15 @@\n * Add path('admin/doc/', include('django.contrib.admindocs.urls')) to your\n urlpatterns. Make sure it\u2019s included b\bbe\bef\bfo\bor\bre\be the 'admin/' entry, so that\n requests to /admin/doc/ don\u2019t get handled by the latter entry.\n * Install the _\bd_\bo_\bc_\bu_\bt_\bi_\bl_\bs 0.19+ package.\n * O\bOp\bpt\bti\bio\bon\bna\bal\bl:\b: Using the admindocs bookmarklets requires\n django.contrib.admindocs.middleware.XViewMiddleware to be installed.\n Once those steps are complete, you can start browsing the documentation by\n-going to your admin interface and clicking the \u201cDocumentation\u201d link in the\n+going to your admin interface and clicking the \u00abDocumentation\u00bb link in the\n upper right of the page.\n *\b**\b**\b**\b**\b* D\bDo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn h\bhe\bel\blp\bpe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The following special markup can be used in your docstrings to easily create\n hyperlinks to other components:\n D\bDj\bja\ban\bng\bgo\bo C\bCo\bom\bmp\bpo\bon\bne\ben\bnt\bt r\bre\beS\bSt\btr\bru\buc\bct\btu\bur\bre\bed\bdT\bTe\bex\bxt\bt r\bro\bol\ble\bes\bs\n Models :model:`app_label.ModelName`\n Views :view:`app_label.view_name`\n@@ -103,16 +103,16 @@\n o _\bO_\bv_\be_\br_\bv_\bi_\be_\bw\n o _\bD_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bh_\be_\bl_\bp_\be_\br_\bs\n o _\bM_\bo_\bd_\be_\bl_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bV_\bi_\be_\bw_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bI_\bn_\bc_\bl_\bu_\bd_\be_\bd_\b _\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bl_\be_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bL_\bi_\bs_\bt_\b _\bF_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/filters.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/filters.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- ModelAdmin List Filters — Django 5.1.4 documentation\n+ ModelAdmin List Filters — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -164,15 +165,15 @@\n \n \n class PersonAdmin(admin.ModelAdmin):\n list_filter = [DecadeBornListFilter]\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    As a convenience, the HttpRequest object is passed to the lookups\n and queryset methods, for example:

    \n
    class AuthDecadeBornListFilter(DecadeBornListFilter):\n     def lookups(self, request, model_admin):\n         if request.user.is_superuser:\n             return super().lookups(request, model_admin)\n \n@@ -258,15 +259,15 @@\n         super().__init__(field, request, params, model, model_admin, field_path)\n \n     def expected_parameters(self):\n         return [self.lookup_kwarg]\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The GenericForeignKey field is\n not supported.

    \n
    \n

    List filters typically appear only if the filter has more than one choice. A\n filter\u2019s has_output() method controls whether or not it appears.

    \n

    It is possible to specify a custom template for rendering a list filter:

    \n
    class FilterWithCustomTemplate(admin.SimpleListFilter):\n@@ -306,37 +307,37 @@\n 
  • Facets
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Admin actions

    \n+ title=\"capitolo precedente\">Admin actions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The Django admin documentation generator

    \n+ title=\"capitolo successivo\">The Django admin documentation generator

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\blA\bAd\bdm\bmi\bin\bn L\bLi\bis\bst\bt F\bFi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n ModelAdmin classes can define list filters that appear in the right sidebar of\n the change list page of the admin, as illustrated in the following screenshot:\n [../../../_images/list_filter.png]\n To activate per-field filtering, set _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br to a list or tuple\n@@ -72,15 +72,15 @@\n birthday__gte=date(1990, 1, 1),\n birthday__lte=date(1999, 12, 31),\n )\n \n \n class PersonAdmin(admin.ModelAdmin):\n list_filter = [DecadeBornListFilter]\n-Note\n+Nota\n As a convenience, the HttpRequest object is passed to the lookups and queryset\n methods, for example:\n class AuthDecadeBornListFilter(DecadeBornListFilter):\n def lookups(self, request, model_admin):\n if request.user.is_superuser:\n return super().lookups(request, model_admin)\n \n@@ -148,15 +148,15 @@\n def __init__(self, field, request, params, model, model_admin, field_path):\n self.lookup_kwarg = \"%s__in\" % field_path\n super().__init__(field, request, params, model, model_admin,\n field_path)\n \n def expected_parameters(self):\n return [self.lookup_kwarg]\n-Note\n+Nota\n The _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by field is not supported.\n List filters typically appear only if the filter has more than one choice. A\n filter\u2019s has_output() method controls whether or not it appears.\n It is possible to specify a custom template for rendering a list filter:\n class FilterWithCustomTemplate(admin.SimpleListFilter):\n template = \"custom_template.html\"\n See the default template provided by Django (admin/filter.html) for a concrete\n@@ -168,16 +168,16 @@\n applied filters. See _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bs_\bh_\bo_\bw_\b__\bf_\ba_\bc_\be_\bt_\bs for more details.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bL_\bi_\bs_\bt_\b _\bF_\bi_\bl_\bt_\be_\br_\bs\n o _\bU_\bs_\bi_\bn_\bg_\b _\ba_\b _\bf_\bi_\be_\bl_\bd_\b _\bn_\ba_\bm_\be\n o _\bU_\bs_\bi_\bn_\bg_\b _\ba_\b _\bS_\bi_\bm_\bp_\bl_\be_\bL_\bi_\bs_\bt_\bF_\bi_\bl_\bt_\be_\br\n o _\bU_\bs_\bi_\bn_\bg_\b _\ba_\b _\bf_\bi_\be_\bl_\bd_\b _\bn_\ba_\bm_\be_\b _\ba_\bn_\bd_\b _\ba_\bn_\b _\be_\bx_\bp_\bl_\bi_\bc_\bi_\bt_\b _\bF_\bi_\be_\bl_\bd_\bL_\bi_\bs_\bt_\bF_\bi_\bl_\bt_\be_\br\n o _\bF_\ba_\bc_\be_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bA_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/admin/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The Django admin site — Django 5.1.4 documentation\n+ The Django admin site — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For information about serving the static files (images, JavaScript, and\n CSS) associated with the admin in production, see Serving files.

    \n

    Having problems? Try FAQ: The admin.

    \n
    \n \n \n
    \n

    ModelAdmin objects\u00b6

    \n
    \n
    \n-class ModelAdmin[source]\u00b6
    \n+class ModelAdmin[sorgente]\u00b6\n

    The ModelAdmin class is the representation of a model in the admin\n interface. Usually, these are stored in a file named admin.py in your\n application. Let\u2019s take a look at an example of the ModelAdmin:

    \n
    from django.contrib import admin\n from myapp.models import Author\n \n \n@@ -175,15 +176,15 @@\n 
    \n
    \n \n
    \n

    The register decorator\u00b6

    \n
    \n
    \n-register(*models, site=django.contrib.admin.sites.site)[source]\u00b6
    \n+register(*models, site=django.contrib.admin.sites.site)[sorgente]\u00b6\n

    There is also a decorator for registering your ModelAdmin classes:

    \n
    from django.contrib import admin\n from .models import Author\n \n \n @admin.register(Author)\n class AuthorAdmin(admin.ModelAdmin):\n@@ -236,15 +237,15 @@\n Overriding the default admin site for usage.

    \n
    \n \n \n \n
    \n
    \n-autodiscover()[source]\u00b6
    \n+autodiscover()[sorgente]\u00b6\n

    This function attempts to import an admin module in each installed\n application. Such modules are expected to register models with the admin.

    \n

    Typically you won\u2019t need to call this function directly as\n AdminConfig calls it when Django starts.

    \n
    \n \n

    If you are using a custom AdminSite, it is common to import all of the\n@@ -308,15 +309,15 @@\n

    date_hierarchy = "author__pub_date"\n 
    \n
    \n

    This will intelligently populate itself based on available data,\n e.g. if all the dates are in one month, it\u2019ll show the day-level\n drill-down only.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    date_hierarchy uses QuerySet.datetimes() internally. Please refer\n to its documentation for some caveats when time zone support is\n enabled (USE_TZ = True).

    \n
    \n \n \n
    \n@@ -381,15 +382,15 @@\n contain exactly the same fields.

    \n
    \n \n
    \n
    \n ModelAdmin.fields\u00b6
    \n

    Use the fields option to make simple layout changes in the forms on\n-the \u201cadd\u201d and \u201cchange\u201d pages such as showing only a subset of available\n+the \u00abadd\u00bb and \u00abchange\u00bb pages such as showing only a subset of available\n fields, modifying their order, or grouping them into rows. For example, you\n could define a simpler version of the admin form for the\n django.contrib.flatpages.models.FlatPage model as follows:

    \n
    class FlatPageAdmin(admin.ModelAdmin):\n     fields = ["url", "title", "content"]\n 
    \n
    \n@@ -421,17 +422,17 @@\n has editable=True, in a single fieldset, in the same order as the fields\n are defined in the model.

    \n
    \n \n
    \n
    \n ModelAdmin.fieldsets\u00b6
    \n-

    Set fieldsets to control the layout of admin \u201cadd\u201d and \u201cchange\u201d pages.

    \n+

    Set fieldsets to control the layout of admin \u00abadd\u00bb and \u00abchange\u00bb pages.

    \n

    fieldsets is a list of 2-tuples, in which each 2-tuple represents a\n-<fieldset> on the admin form page. (A <fieldset> is a \u201csection\u201d of\n+<fieldset> on the admin form page. (A <fieldset> is a \u00absection\u00bb of\n the form.)

    \n

    The 2-tuples are in the format (name, field_options), where name\n is a string representing the title of the fieldset and field_options is\n a dictionary of information about the fieldset, including a list of fields\n to be displayed in it.

    \n

    A full example, taken from the\n django.contrib.flatpages.models.FlatPage model:

    \n@@ -541,15 +542,15 @@\n
    \n
    \n ModelAdmin.filter_horizontal\u00b6
    \n

    By default, a ManyToManyField is displayed in\n the admin site with a <select multiple>. However, multiple-select boxes\n can be difficult to use when selecting many items. Adding a\n ManyToManyField to this list will instead use\n-a nifty unobtrusive JavaScript \u201cfilter\u201d interface that allows searching\n+a nifty unobtrusive JavaScript \u00abfilter\u00bb interface that allows searching\n within the options. The unselected and selected options appear in two boxes\n side by side. See filter_vertical to use a vertical\n interface.

    \n
    \n \n
    \n
    \n@@ -598,15 +599,15 @@\n \n \n class PersonAdmin(admin.ModelAdmin):\n exclude = ["age"]\n form = PersonForm\n
    \n
    \n-

    In the above example, the \u201cage\u201d field will be excluded but the \u201cname\u201d\n+

    In the above example, the \u00abage\u00bb field will be excluded but the \u00abname\u00bb\n field will be included in the generated form.

    \n
    \n \n \n
    \n
    \n ModelAdmin.formfield_overrides\u00b6
    \n@@ -634,15 +635,15 @@\n
    \n
    \n

    Note that the key in the dictionary is the actual field class, not a\n string. The value is another dictionary; these arguments will be passed to\n the form field\u2019s __init__() method. See The Forms API for\n details.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If you want to use a custom widget with a relation field (i.e.\n ForeignKey or\n ManyToManyField), make sure you haven\u2019t\n included that field\u2019s name in raw_id_fields, radio_fields, or\n autocomplete_fields.

    \n

    formfield_overrides won\u2019t let you change the widget on relation\n fields that have raw_id_fields, radio_fields, or\n@@ -739,16 +740,16 @@\n

  • If the field is a ForeignKey, Django will display the\n __str__() of the related object.

  • \n
  • ManyToManyField fields aren\u2019t supported, because that would\n entail executing a separate SQL statement for each row in the table.\n If you want to do this nonetheless, give your model a custom method,\n and add that method\u2019s name to list_display. (See below for more\n on custom methods in list_display.)

  • \n-
  • If the field is a BooleanField, Django will display a pretty \u201cyes\u201d,\n-\u201cno\u201d, or \u201cunknown\u201d icon instead of True, False, or None.

  • \n+
  • If the field is a BooleanField, Django will display a pretty \u00abyes\u00bb,\n+\u00abno\u00bb, or \u00abunknown\u00bb icon instead of True, False, or None.

  • \n
  • If the string given is a method of the model, ModelAdmin or a\n callable, Django will HTML-escape the output by default. To escape\n user input and allow your own unescaped tags, use\n format_html().

    \n

    Here\u2019s a full example model:

    \n
    from django.contrib import admin\n from django.db import models\n@@ -801,15 +802,15 @@\n     def birth_date_view(self, obj):\n         return obj.birth_date\n 
    \n
    \n
  • \n
  • If the string given is a method of the model, ModelAdmin or a\n callable that returns True, False, or None, Django will\n-display a pretty \u201cyes\u201d, \u201cno\u201d, or \u201cunknown\u201d icon if you wrap the method\n+display a pretty \u00abyes\u00bb, \u00abno\u00bb, or \u00abunknown\u00bb icon if you wrap the method\n with the display() decorator passing the\n boolean argument with the value set to True:

    \n
    from django.contrib import admin\n from django.db import models\n \n \n class Person(models.Model):\n@@ -867,15 +868,15 @@\n hyphen prefix on the field name. Using the above example, this would look\n like:

    \n
    @admin.display(ordering="-first_name")\n def colored_first_name(self): ...\n 
    \n
    \n

    The ordering argument supports query lookups to sort by values on\n-related models. This example includes an \u201cauthor first name\u201d column in\n+related models. This example includes an \u00abauthor first name\u00bb column in\n the list display and allows sorting it by first name:

    \n
    class Blog(models.Model):\n     title = models.CharField(max_length=255)\n     author = models.ForeignKey(Person, on_delete=models.CASCADE)\n \n \n class BlogAdmin(admin.ModelAdmin):\n@@ -958,15 +959,15 @@\n \n \n \n 
    \n
    \n ModelAdmin.list_display_links\u00b6
    \n

    Use list_display_links to control if and which fields in\n-list_display should be linked to the \u201cchange\u201d page for an object.

    \n+list_display should be linked to the \u00abchange\u00bb page for an object.

    \n

    By default, the change list page will link the first column \u2013 the first\n field specified in list_display \u2013 to the change page for each item.\n But list_display_links lets you change this:

    \n
      \n
    • Set it to None to get no links at all.

    • \n
    • Set it to a list or tuple of fields (in the same format as\n list_display) whose columns you want converted to links.

      \n@@ -995,15 +996,15 @@\n
      \n ModelAdmin.list_editable\u00b6
      \n

      Set list_editable to a list of field names on the model which will\n allow editing on the change list page. That is, fields listed in\n list_editable will be displayed as form widgets on the change list\n page, allowing users to edit and save multiple rows at once.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      list_editable interacts with a couple of other options in\n particular ways; you should note the following rules:

      \n
        \n
      • Any field in list_editable must also be in list_display.\n You can\u2019t edit a field that\u2019s not displayed!

      • \n
      • The same field can\u2019t be listed in both list_editable and\n list_display_links \u2013 a field can\u2019t be both a form and\n@@ -1022,16 +1023,16 @@\n activate filtering upon, but several more advanced options as available.\n See ModelAdmin List Filters for the details.

        \n
    \n \n
    \n
    \n ModelAdmin.list_max_show_all\u00b6
    \n-

    Set list_max_show_all to control how many items can appear on a \u201cShow\n-all\u201d admin change list page. The admin will display a \u201cShow all\u201d link on the\n+

    Set list_max_show_all to control how many items can appear on a \u00abShow\n+all\u00bb admin change list page. The admin will display a \u00abShow all\u00bb link on the\n change list only if the total result count is less than or equal to this\n setting. By default, this is set to 200.

    \n
    \n \n
    \n
    \n ModelAdmin.list_per_page\u00b6
    \n@@ -1059,15 +1060,15 @@\n list_select_related = ["author", "category"]\n
    \n
    \n

    will call select_related('author', 'category').

    \n

    If you need to specify a dynamic value based on the request, you can\n implement a get_list_select_related() method.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    ModelAdmin ignores this attribute when\n select_related() was already\n called on the changelist\u2019s QuerySet.

    \n
    \n \n \n
    \n@@ -1316,18 +1317,18 @@\n
    \n
    \n \n \n
    \n
    \n ModelAdmin.save_as\u00b6
    \n-

    Set save_as to enable a \u201csave as new\u201d feature on admin change forms.

    \n-

    Normally, objects have three save options: \u201cSave\u201d, \u201cSave and continue\n-editing\u201d, and \u201cSave and add another\u201d. If save_as is True, \u201cSave\n-and add another\u201d will be replaced by a \u201cSave as new\u201d button that creates a\n+

    Set save_as to enable a \u00absave as new\u00bb feature on admin change forms.

    \n+

    Normally, objects have three save options: \u00abSave\u00bb, \u00abSave and continue\n+editing\u00bb, and \u00abSave and add another\u00bb. If save_as is True, \u00abSave\n+and add another\u00bb will be replaced by a \u00abSave as new\u00bb button that creates a\n new object (with a new ID) rather than updating the existing object.

    \n

    By default, save_as is set to False.

    \n
    \n \n
    \n
    \n ModelAdmin.save_as_continue\u00b6
    \n@@ -1352,15 +1353,15 @@\n
    \n ModelAdmin.search_fields\u00b6
    \n

    Set search_fields to enable a search box on the admin change list page.\n This should be set to a list of field names that will be searched whenever\n somebody submits a search query in that text box.

    \n

    These fields should be some kind of text field, such as CharField or\n TextField. You can also perform a related lookup on a ForeignKey or\n-ManyToManyField with the lookup API \u201cfollow\u201d notation:

    \n+ManyToManyField with the lookup API \u00abfollow\u00bb notation:

    \n
    search_fields = ["foreign_key__related_fieldname"]\n 
    \n
    \n

    For example, if you have a blog entry with an author, the following\n definition would enable searching blog entries by the email address of the\n author:

    \n
    search_fields = ["user__email"]\n@@ -1448,21 +1449,21 @@\n 

    If you need to specify this list dynamically, implement a\n get_sortable_by() method instead.

    \n
    \n \n
    \n
    \n ModelAdmin.view_on_site\u00b6
    \n-

    Set view_on_site to control whether or not to display the \u201cView on site\u201d link.\n+

    Set view_on_site to control whether or not to display the \u00abView on site\u00bb link.\n This link should bring you to a URL where you can display the saved object.

    \n

    This value can be either a boolean flag or a callable. If True (the\n default), the object\u2019s get_absolute_url()\n method will be used to generate the url.

    \n

    If your model has a get_absolute_url() method\n-but you don\u2019t want the \u201cView on site\u201d button to appear, you only need to set\n+but you don\u2019t want the \u00abView on site\u00bb button to appear, you only need to set\n view_on_site to False:

    \n
    from django.contrib import admin\n \n \n class PersonAdmin(admin.ModelAdmin):\n     view_on_site = False\n 
    \n@@ -1533,23 +1534,23 @@\n
    \n \n \n \n
    \n

    ModelAdmin methods\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    When overriding ModelAdmin.save_model() and\n ModelAdmin.delete_model(), your code must save/delete the\n object. They aren\u2019t meant for veto purposes, rather they allow you to\n perform extra operations.

    \n
    \n
    \n
    \n-ModelAdmin.save_model(request, obj, form, change)[source]\u00b6
    \n+ModelAdmin.save_model(request, obj, form, change)[sorgente]\u00b6\n

    The save_model method is given the HttpRequest, a model instance,\n a ModelForm instance, and a boolean value based on whether it is adding\n or changing the object. Overriding this method allows doing pre- or\n post-save operations. Call super().save_model() to save the object\n using Model.save().

    \n

    For example to attach request.user to the object prior to saving:

    \n
    from django.contrib import admin\n@@ -1561,32 +1562,32 @@\n         super().save_model(request, obj, form, change)\n 
    \n
    \n
    \n \n
    \n
    \n-ModelAdmin.delete_model(request, obj)[source]\u00b6
    \n+ModelAdmin.delete_model(request, obj)[sorgente]\u00b6\n

    The delete_model method is given the HttpRequest and a model\n instance. Overriding this method allows doing pre- or post-delete\n operations. Call super().delete_model() to delete the object using\n Model.delete().

    \n
    \n \n
    \n
    \n-ModelAdmin.delete_queryset(request, queryset)[source]\u00b6
    \n+ModelAdmin.delete_queryset(request, queryset)[sorgente]\u00b6\n

    The delete_queryset() method is given the HttpRequest and a\n QuerySet of objects to be deleted. Override this method to customize\n-the deletion process for the \u201cdelete selected objects\u201d action.

    \n+the deletion process for the \u00abdelete selected objects\u00bb action.

    \n
    \n \n
    \n
    \n-ModelAdmin.save_formset(request, form, formset, change)[source]\u00b6
    \n+ModelAdmin.save_formset(request, form, formset, change)[sorgente]\u00b6\n

    The save_formset method is given the HttpRequest, the parent\n ModelForm instance and a boolean value based on whether it is adding or\n changing the parent object.

    \n

    For example, to attach request.user to each changed formset\n model instance:

    \n
    class ArticleAdmin(admin.ModelAdmin):\n     def save_formset(self, request, form, formset, change):\n@@ -1599,15 +1600,15 @@\n         formset.save_m2m()\n 
    \n
    \n

    See also Saving objects in the formset.

    \n
    \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    All hooks that return a ModelAdmin property return the property itself\n rather than a copy of its value. Dynamically modifying the value can lead\n to surprising results.

    \n

    Let\u2019s take ModelAdmin.get_readonly_fields() as an example:

    \n
    class PersonAdmin(admin.ModelAdmin):\n     readonly_fields = ["name"]\n \n@@ -1636,15 +1637,15 @@\n             return ["name"]\n 
    \n
    \n \n \n
    \n
    \n-ModelAdmin.get_search_results(request, queryset, search_term)[source]\u00b6
    \n+ModelAdmin.get_search_results(request, queryset, search_term)[sorgente]\u00b6\n

    The get_search_results method modifies the list of objects displayed\n into those that match the provided search term. It accepts the request, a\n queryset that applies the current filters, and the user-provided search term.\n It returns a tuple containing a queryset modified to implement the search, and\n a boolean indicating if the results may contain duplicates.

    \n

    The default implementation searches the fields named in ModelAdmin.search_fields.

    \n

    This method may be overridden with your own custom search method. For\n@@ -1676,15 +1677,15 @@\n ('name', '=age') which results in a string comparison for the numeric\n field, for example ... OR UPPER("polls_choice"."votes"::text) = UPPER('4')\n on PostgreSQL.

    \n
    \n \n
    \n
    \n-ModelAdmin.save_related(request, form, formsets, change)[source]\u00b6
    \n+ModelAdmin.save_related(request, form, formsets, change)[sorgente]\u00b6\n

    The save_related method is given the HttpRequest, the parent\n ModelForm instance, the list of inline formsets and a boolean value\n based on whether the parent is being added or changed. Here you can do any\n pre- or post-save operations for objects related to the parent. Note\n that at this point the parent object and its form have already been saved.

    \n
    \n \n@@ -1713,24 +1714,24 @@\n obj being edited (or None on an add form) and is expected to return\n a dictionary, as described above in the ModelAdmin.prepopulated_fields\n section.

    \n \n \n
    \n
    \n-ModelAdmin.get_list_display(request)[source]\u00b6
    \n+ModelAdmin.get_list_display(request)[sorgente]\u00b6\n

    The get_list_display method is given the HttpRequest and is\n expected to return a list or tuple of field names that will be\n displayed on the changelist view as described above in the\n ModelAdmin.list_display section.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_list_display_links(request, list_display)[source]\u00b6
    \n+ModelAdmin.get_list_display_links(request, list_display)[sorgente]\u00b6\n

    The get_list_display_links method is given the HttpRequest and\n the list or tuple returned by ModelAdmin.get_list_display().\n It is expected to return either None or a list or tuple of field\n names on the changelist that will be linked to the change view, as described\n in the ModelAdmin.list_display_links section.

    \n
    \n \n@@ -1757,31 +1758,31 @@\n being edited (or None on an add form) and is expected to return a list\n of 2-tuples, in which each 2-tuple represents a <fieldset> on the\n admin form page, as described above in the ModelAdmin.fieldsets section.

    \n \n \n
    \n
    \n-ModelAdmin.get_list_filter(request)[source]\u00b6
    \n+ModelAdmin.get_list_filter(request)[sorgente]\u00b6\n

    The get_list_filter method is given the HttpRequest and is expected\n to return the same kind of sequence type as for the\n list_filter attribute.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_list_select_related(request)[source]\u00b6
    \n+ModelAdmin.get_list_select_related(request)[sorgente]\u00b6\n

    The get_list_select_related method is given the HttpRequest and\n should return a boolean or list as ModelAdmin.list_select_related\n does.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_search_fields(request)[source]\u00b6
    \n+ModelAdmin.get_search_fields(request)[sorgente]\u00b6\n

    The get_search_fields method is given the HttpRequest and is expected\n to return the same kind of sequence type as for the\n search_fields attribute.

    \n
    \n \n
    \n
    \n@@ -1797,15 +1798,15 @@\n return {*self.get_list_display(request)} - {"rank"}\n
    \n
  • \n \n \n
    \n
    \n-ModelAdmin.get_inline_instances(request, obj=None)[source]\u00b6
    \n+ModelAdmin.get_inline_instances(request, obj=None)[sorgente]\u00b6\n

    The get_inline_instances method is given the HttpRequest and the\n obj being edited (or None on an add form) and is expected to return\n a list or tuple of InlineModelAdmin\n objects, as described below in the InlineModelAdmin\n section. For example, the following would return inlines without the default\n filtering based on add, change, delete, and view permissions:

    \n
    class MyModelAdmin(admin.ModelAdmin):\n@@ -1813,30 +1814,30 @@\n \n     def get_inline_instances(self, request, obj=None):\n         return [inline(self.model, self.admin_site) for inline in self.inlines]\n 
    \n
    \n

    If you override this method, make sure that the returned inlines are\n instances of the classes defined in inlines or you might encounter\n-a \u201cBad Request\u201d error when adding related objects.

    \n+a \u00abBad Request\u00bb error when adding related objects.

    \n
    \n \n
    \n
    \n ModelAdmin.get_inlines(request, obj)\u00b6
    \n

    The get_inlines method is given the HttpRequest and the\n obj being edited (or None on an add form) and is expected to return\n an iterable of inlines. You can override this method to dynamically add\n inlines based on the request or model instance instead of specifying them\n in ModelAdmin.inlines.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_urls()[source]\u00b6
    \n+ModelAdmin.get_urls()[sorgente]\u00b6\n

    The get_urls method on a ModelAdmin returns the URLs to be used for\n that ModelAdmin in the same way as a URLconf. Therefore you can extend\n them as documented in URL dispatcher, using the\n AdminSite.admin_view() wrapper on your views:

    \n
    from django.contrib import admin\n from django.template.response import TemplateResponse\n from django.urls import path\n@@ -1863,28 +1864,28 @@\n 
    {% extends "admin/base_site.html" %}\n {% block content %}\n ...\n {% endblock %}\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Notice how the self.my_view function is wrapped in\n self.admin_site.admin_view. This is important, since it ensures two\n things:

    \n
      \n
    1. Permission checks are run, ensuring only active staff users can\n access the view.

    2. \n
    3. The django.views.decorators.cache.never_cache() decorator is\n applied to prevent caching, ensuring the returned information is\n up-to-date.

    4. \n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Notice that the custom patterns are included before the regular admin\n URLs: the admin URL patterns are very permissive and will match nearly\n anything, so you\u2019ll usually want to prepend your custom URLs to the\n built-in ones.

    \n

    In this example, my_view will be accessed at\n /admin/myapp/mymodel/my_view/ (assuming the admin URLs are included\n at /admin/.)

    \n@@ -1897,15 +1898,15 @@\n
    \n

    ModelAdmin views have model_admin attributes. Other\n AdminSite views have admin_site attributes.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_form(request, obj=None, **kwargs)[source]\u00b6
    \n+ModelAdmin.get_form(request, obj=None, **kwargs)[sorgente]\u00b6\n

    Returns a ModelForm class for use in the admin add\n and change views, see add_view() and change_view().

    \n

    The base implementation uses modelform_factory()\n to subclass form, modified by attributes such as fields\n and exclude. So, for example, if you wanted to offer additional\n fields to superusers, you could swap in a different base form like so:

    \n
    class MyModelAdmin(admin.ModelAdmin):\n@@ -1917,15 +1918,15 @@\n 
    \n

    You may also return a custom ModelForm class\n directly.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_formsets_with_inlines(request, obj=None)[source]\u00b6
    \n+ModelAdmin.get_formsets_with_inlines(request, obj=None)[sorgente]\u00b6\n

    Yields (FormSet, InlineModelAdmin) pairs for use in admin add\n and change views.

    \n

    For example if you wanted to display a particular inline only in the change\n view, you could override get_formsets_with_inlines as follows:

    \n
    class MyModelAdmin(admin.ModelAdmin):\n     inlines = [MyInline, SomeOtherInline]\n \n@@ -2015,23 +2016,23 @@\n a ValidationError when the model itself\n is validated before saving.

    \n
    \n
    \n \n
    \n
    \n-ModelAdmin.get_changelist(request, **kwargs)[source]\u00b6
    \n+ModelAdmin.get_changelist(request, **kwargs)[sorgente]\u00b6\n

    Returns the Changelist class to be used for listing. By default,\n django.contrib.admin.views.main.ChangeList is used. By inheriting this\n class you can change the behavior of the listing.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_changelist_form(request, **kwargs)[source]\u00b6
    \n+ModelAdmin.get_changelist_form(request, **kwargs)[sorgente]\u00b6\n

    Returns a ModelForm class for use in the Formset\n on the changelist page. To use a custom form, for example:

    \n
    from django import forms\n \n \n class MyForm(forms.ModelForm):\n     pass\n@@ -2052,15 +2053,15 @@\n omit the Meta.model attribute, since ModelAdmin will provide the\n correct model to use.

    \n
    \n
    \n \n
    \n
    \n-ModelAdmin.get_changelist_formset(request, **kwargs)[source]\u00b6
    \n+ModelAdmin.get_changelist_formset(request, **kwargs)[sorgente]\u00b6\n

    Returns a ModelFormSet class for use on the\n changelist page if list_editable is used. To use a\n custom formset, for example:

    \n
    from django.forms import BaseModelFormSet\n \n \n class MyAdminFormSet(BaseModelFormSet):\n@@ -2108,15 +2109,15 @@\n ModelAdmin.has_view_permission(request, obj=None)\u00b6\n 

    Should return True if viewing obj is permitted, False otherwise.\n If obj is None, should return True or False to indicate whether\n viewing of objects of this type is permitted in general (e.g., False\n will be interpreted as meaning that the current user is not permitted to\n view any object of this type).

    \n

    The default implementation returns True if the user has either the\n-\u201cchange\u201d or \u201cview\u201d permission.

    \n+\u00abchange\u00bb or \u00abview\u00bb permission.

    \n
    \n \n
    \n
    \n ModelAdmin.has_add_permission(request)\u00b6
    \n

    Should return True if adding an object is permitted, False\n otherwise.

    \n@@ -2170,71 +2171,71 @@\n return qs.filter(author=request.user)\n
    \n
    \n \n \n
    \n
    \n-ModelAdmin.message_user(request, message, level=messages.INFO, extra_tags='', fail_silently=False)[source]\u00b6
    \n+ModelAdmin.message_user(request, message, level=messages.INFO, extra_tags='', fail_silently=False)[sorgente]\u00b6\n

    Sends a message to the user using the django.contrib.messages\n backend. See the custom ModelAdmin example.

    \n

    Keyword arguments allow you to change the message level, add extra CSS\n tags, or fail silently if the contrib.messages framework is not\n installed. These keyword arguments match those for\n django.contrib.messages.add_message(), see that function\u2019s\n documentation for more details. One difference is that the level may be\n passed as a string label in addition to integer/constant.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_paginator(request, queryset, per_page, orphans=0, allow_empty_first_page=True)[source]\u00b6
    \n+ModelAdmin.get_paginator(request, queryset, per_page, orphans=0, allow_empty_first_page=True)[sorgente]\u00b6\n

    Returns an instance of the paginator to use for this view. By default,\n instantiates an instance of paginator.

    \n
    \n \n
    \n
    \n-ModelAdmin.response_add(request, obj, post_url_continue=None)[source]\u00b6
    \n+ModelAdmin.response_add(request, obj, post_url_continue=None)[sorgente]\u00b6\n

    Determines the HttpResponse for the\n add_view() stage.

    \n

    response_add is called after the admin form is submitted and\n just after the object and all the related instances have\n been created and saved. You can override it to change the default behavior\n after the object has been created.

    \n
    \n \n
    \n
    \n-ModelAdmin.response_change(request, obj)[source]\u00b6
    \n+ModelAdmin.response_change(request, obj)[sorgente]\u00b6\n

    Determines the HttpResponse for the\n change_view() stage.

    \n

    response_change is called after the admin form is submitted and\n just after the object and all the related instances have\n been saved. You can override it to change the default\n behavior after the object has been changed.

    \n
    \n \n
    \n
    \n-ModelAdmin.response_delete(request, obj_display, obj_id)[source]\u00b6
    \n+ModelAdmin.response_delete(request, obj_display, obj_id)[sorgente]\u00b6\n

    Determines the HttpResponse for the\n delete_view() stage.

    \n

    response_delete is called after the object has been\n deleted. You can override it to change the default\n behavior after the object has been deleted.

    \n

    obj_display is a string with the name of the deleted\n object.

    \n

    obj_id is the serialized identifier used to retrieve the object to be\n deleted.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_formset_kwargs(request, obj, inline, prefix)[source]\u00b6
    \n+ModelAdmin.get_formset_kwargs(request, obj, inline, prefix)[sorgente]\u00b6\n

    A hook for customizing the keyword arguments passed to the constructor of a\n formset. For example, to pass request to formset forms:

    \n
    class MyModelAdmin(admin.ModelAdmin):\n     def get_formset_kwargs(self, request, obj, inline, prefix):\n         return {\n             **super().get_formset_kwargs(request, obj, inline, prefix),\n             "form_kwargs": {"request": request},\n@@ -2242,32 +2243,32 @@\n 
    \n
    \n

    You can also use it to set initial for formset forms.

    \n
    \n \n
    \n
    \n-ModelAdmin.get_changeform_initial_data(request)[source]\u00b6
    \n+ModelAdmin.get_changeform_initial_data(request)[sorgente]\u00b6\n

    A hook for the initial data on admin change forms. By default, fields are\n given initial values from GET parameters. For instance,\n ?name=initial_value will set the name field\u2019s initial value to be\n initial_value.

    \n

    This method should return a dictionary in the form\n {'fieldname': 'fieldval'}:

    \n
    def get_changeform_initial_data(self, request):\n     return {"name": "custom_initial_value"}\n 
    \n
    \n
    \n \n
    \n
    \n-ModelAdmin.get_deleted_objects(objs, request)[source]\u00b6
    \n+ModelAdmin.get_deleted_objects(objs, request)[sorgente]\u00b6\n

    A hook for customizing the deletion process of the delete_view() and\n-the \u201cdelete selected\u201d action.

    \n+the \u00abdelete selected\u00bb action.

    \n

    The objs argument is a homogeneous iterable of objects (a QuerySet\n or a list of model instances) to be deleted, and request is the\n HttpRequest.

    \n

    This method must return a 4-tuple of\n (deleted_objects, model_count, perms_needed, protected).

    \n

    deleted_objects is a list of strings representing all the objects that\n will be deleted. If there are any related objects to be deleted, the list\n@@ -2283,41 +2284,41 @@\n template.

    \n
    \n \n
    \n

    Other methods\u00b6

    \n
    \n
    \n-ModelAdmin.add_view(request, form_url='', extra_context=None)[source]\u00b6
    \n+ModelAdmin.add_view(request, form_url='', extra_context=None)[sorgente]\u00b6\n

    Django view for the model instance addition page. See note below.

    \n
    \n \n
    \n
    \n-ModelAdmin.change_view(request, object_id, form_url='', extra_context=None)[source]\u00b6
    \n+ModelAdmin.change_view(request, object_id, form_url='', extra_context=None)[sorgente]\u00b6\n

    Django view for the model instance editing page. See note below.

    \n
    \n \n
    \n
    \n-ModelAdmin.changelist_view(request, extra_context=None)[source]\u00b6
    \n+ModelAdmin.changelist_view(request, extra_context=None)[sorgente]\u00b6\n

    Django view for the model instances change list/actions page. See note\n below.

    \n
    \n \n
    \n
    \n-ModelAdmin.delete_view(request, object_id, extra_context=None)[source]\u00b6
    \n+ModelAdmin.delete_view(request, object_id, extra_context=None)[sorgente]\u00b6\n

    Django view for the model instance(s) deletion confirmation page. See note\n below.

    \n
    \n \n
    \n
    \n-ModelAdmin.history_view(request, object_id, extra_context=None)[source]\u00b6
    \n+ModelAdmin.history_view(request, object_id, extra_context=None)[sorgente]\u00b6\n

    Django view for the page that shows the modification history for a given\n model instance.

    \n
    \n \n

    Unlike the hook-type ModelAdmin methods detailed in the previous section,\n these five methods are in reality designed to be invoked as Django views from\n the admin application URL dispatching handler to render the pages that deal\n@@ -2381,21 +2382,21 @@\n Changed in Django 5.0:

    jQuery was upgraded from 3.6.4 to 3.7.1.

    \n \n

    The ModelAdmin class requires jQuery by default, so there is no need\n to add jQuery to your ModelAdmin\u2019s list of media resources unless you have\n a specific need. For example, if you require the jQuery library to be in the\n global namespace (for example when using third-party jQuery plugins) or if you\n need a newer version of jQuery, you will have to include your own copy.

    \n-

    Django provides both uncompressed and \u2018minified\u2019 versions of jQuery, as\n+

    Django provides both uncompressed and \u201cminified\u201d versions of jQuery, as\n jquery.js and jquery.min.js respectively.

    \n

    ModelAdmin and InlineModelAdmin have a media property\n that returns a list of Media objects which store paths to the JavaScript\n files for the forms and/or formsets. If DEBUG is True it will\n return the uncompressed versions of the various JavaScript files, including\n-jquery.js; if not, it will return the \u2018minified\u2019 versions.

    \n+jquery.js; if not, it will return the \u201cminified\u201d versions.

    \n
    \n \n
    \n

    Adding custom validation to the admin\u00b6

    \n

    You can also add custom validation of data in the admin. The automatic admin\n interface reuses django.forms, and the ModelAdmin class gives you\n the ability to define your own form:

    \n@@ -2423,20 +2424,20 @@\n
    \n
    \n class InlineModelAdmin\u00b6
    \n
    \n \n
    \n
    \n-class TabularInline[source]\u00b6
    \n+class TabularInline[sorgente]\u00b6\n
    \n \n
    \n
    \n-class StackedInline[source]\u00b6
    \n+class StackedInline[sorgente]\u00b6\n

    The admin interface has the ability to edit models on the same page as a\n parent model. These are called inlines. Suppose you have these two models:

    \n
    from django.db import models\n \n \n class Author(models.Model):\n     name = models.CharField(max_length=100)\n@@ -2524,15 +2525,15 @@\n InlineModelAdmin.form\u00b6\n 

    The value for form defaults to ModelForm. This is what is passed\n through to inlineformset_factory() when\n creating the formset for this inline.

    \n
    \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    When writing custom validation for InlineModelAdmin forms, be cautious\n of writing validation that relies on features of the parent model. If the\n parent model fails to validate, it may be left in an inconsistent state as\n described in the warning in Validation on a ModelForm.

    \n
    \n
    \n
    \n@@ -2550,15 +2551,15 @@\n
    \n
    \n InlineModelAdmin.extra\u00b6
    \n

    This controls the number of extra forms the formset will display in\n addition to the initial forms. Defaults to 3. See the\n formsets documentation for more\n information.

    \n-

    For users with JavaScript-enabled browsers, an \u201cAdd another\u201d link is\n+

    For users with JavaScript-enabled browsers, an \u00abAdd another\u00bb link is\n provided to enable any number of additional inlines to be added in addition\n to those provided as a result of the extra argument.

    \n

    The dynamic link will not appear if the number of currently displayed forms\n exceeds max_num, or if the user does not have JavaScript enabled.

    \n

    InlineModelAdmin.get_extra() also allows you to customize the number\n of extra forms.

    \n
    \n@@ -2712,15 +2713,15 @@\n
    \n InlineModelAdmin.has_delete_permission(request, obj=None)\u00b6
    \n

    Should return True if deleting an inline object is permitted, False\n otherwise. obj is the parent object being edited.

    \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    The obj argument passed to InlineModelAdmin methods is the parent\n object being edited or None when adding a new parent.

    \n
    \n
    \n
    \n

    Working with a model with two or more foreign keys to the same parent model\u00b6

    \n

    It is sometimes possible to have more than one foreign key to the same model.\n@@ -2954,15 +2955,15 @@\n of the directories you just created.

    \n

    For example, if we wanted to add a tool to the change list view for all the\n models in an app named my_app, we would copy\n contrib/admin/templates/admin/change_list.html to the\n templates/admin/my_app/ directory of our project, and make any necessary\n changes.

    \n

    If we wanted to add a tool to the change list view for only a specific model\n-named \u2018Page\u2019, we would copy that same file to the\n+named \u201cPage\u201d, we would copy that same file to the\n templates/admin/my_app/page directory of our project.

    \n
    \n
    \n

    Overriding vs. replacing an admin template\u00b6

    \n

    Because of the modular design of the admin templates, it is usually neither\n necessary nor advisable to replace an entire template. It is almost always\n better to override only the section of the template which you need to change.

    \n@@ -3013,15 +3014,15 @@\n
  • submit_line.html

  • \n \n

    For those templates that cannot be overridden in this way, you may still\n override them for your entire project by placing the new version in your\n templates/admin directory. This is particularly useful to create custom 404\n and 500 pages.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Some of the admin templates, such as change_list_results.html are used\n to render custom inclusion tags. These may be overridden, but in such cases\n you are probably better off creating your own version of the tag in\n question and giving it a different name. That way you can use it\n selectively.

    \n
    \n
    \n@@ -3059,15 +3060,15 @@\n defined at django/contrib/admin/static/admin/css/dark_mode.css. This is\n linked to the document in {% block dark-mode-vars %}.

    \n \n
    \n

    AdminSite objects\u00b6

    \n
    \n
    \n-class AdminSite(name='admin')[source]\u00b6
    \n+class AdminSite(name='admin')[sorgente]\u00b6\n

    A Django administrative site is represented by an instance of\n django.contrib.admin.sites.AdminSite; by default, an instance of\n this class is created as django.contrib.admin.site and you can\n register your models and ModelAdmin instances with it.

    \n

    If you want to customize the default admin site, you can override it.

    \n

    When constructing an instance of an AdminSite, you can provide\n a unique instance name using the name argument to the constructor. This\n@@ -3088,42 +3089,42 @@\n

    AdminSite attributes\u00b6

    \n

    Templates can override or extend base admin templates as described in\n Overriding admin templates.

    \n
    \n
    \n AdminSite.site_header\u00b6
    \n

    The text to put at the top of each admin page, as a <div> (a string).\n-By default, this is \u201cDjango administration\u201d.

    \n+By default, this is \u00abDjango administration\u00bb.

    \n
    \n Changed in Django 5.0:

    In older versions, site_header was using an <h1> tag.

    \n
    \n
    \n \n
    \n
    \n AdminSite.site_title\u00b6
    \n

    The text to put at the end of each admin page\u2019s <title> (a string). By\n-default, this is \u201cDjango site admin\u201d.

    \n+default, this is \u00abDjango site admin\u00bb.

    \n
    \n \n
    \n
    \n AdminSite.site_url\u00b6
    \n-

    The URL for the \u201cView site\u201d link at the top of each admin page. By default,\n+

    The URL for the \u00abView site\u00bb link at the top of each admin page. By default,\n site_url is /. Set it to None to remove the link.

    \n

    For sites running on a subpath, the each_context() method checks if\n the current request has request.META['SCRIPT_NAME'] set and uses that\n value if site_url isn\u2019t set to something other than /.

    \n
    \n \n
    \n
    \n AdminSite.index_title\u00b6
    \n

    The text to put at the top of the admin index page (a string). By default,\n-this is \u201cSite administration\u201d.

    \n+this is \u00abSite administration\u00bb.

    \n
    \n \n
    \n
    \n AdminSite.index_template\u00b6
    \n

    Path to a custom template that will be used by the admin site main index\n view.

    \n@@ -3155,15 +3156,15 @@\n
    \n
    \n AdminSite.final_catch_all_view\u00b6
    \n

    A boolean value that determines whether to add a final catch-all view to\n the admin that redirects unauthenticated users to the login page. By\n default, it is set to True.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Setting this to False is not recommended as the view protects\n against a potential model enumeration privacy issue.

    \n
    \n
    \n \n
    \n
    \n@@ -3199,15 +3200,15 @@\n
    \n \n
    \n
    \n

    AdminSite methods\u00b6

    \n
    \n
    \n-AdminSite.each_context(request)[source]\u00b6
    \n+AdminSite.each_context(request)[sorgente]\u00b6\n

    Returns a dictionary of variables to put in the template context for\n every page in the admin site.

    \n

    Includes the following variables and values by default:

    \n \n
    \n \n
    \n
    \n-AdminSite.get_app_list(request, app_label=None)[source]\u00b6
    \n+AdminSite.get_app_list(request, app_label=None)[sorgente]\u00b6\n

    Returns a list of applications from the application registry available for the current user. You can optionally\n pass an app_label argument to get details for a single app. Each entry\n in the list is a dictionary representing an application with the following\n keys:

    \n
      \n
    • app_label: the application label

    • \n
    • app_url: the URL of the application index in the admin

    • \n@@ -3266,55 +3267,55 @@\n

      Lists of applications and models are sorted alphabetically by their names.\n You can override this method to change the default order on the admin index\n page.

      \n
    \n \n
    \n
    \n-AdminSite.has_permission(request)[source]\u00b6
    \n+AdminSite.has_permission(request)[sorgente]\u00b6\n

    Returns True if the user for the given HttpRequest has permission\n to view at least one page in the admin site. Defaults to requiring both\n User.is_active and\n User.is_staff to be\n True.

    \n
    \n \n
    \n
    \n-AdminSite.register(model_or_iterable, admin_class=None, **options)[source]\u00b6
    \n+AdminSite.register(model_or_iterable, admin_class=None, **options)[sorgente]\u00b6\n

    Registers the given model class (or iterable of classes) with the given\n admin_class. admin_class defaults to\n ModelAdmin (the default admin options). If\n keyword arguments are given \u2013 e.g. list_display \u2013 they\u2019ll be applied\n as options to the admin class.

    \n

    Raises ImproperlyConfigured if a model is\n abstract. and django.contrib.admin.exceptions.AlreadyRegistered if a\n model is already registered.

    \n
    \n \n
    \n
    \n-AdminSite.unregister(model_or_iterable)[source]\u00b6
    \n+AdminSite.unregister(model_or_iterable)[sorgente]\u00b6\n

    Unregisters the given model class (or iterable of classes).

    \n

    Raises django.contrib.admin.exceptions.NotRegistered if a model isn\u2019t\n already registered.

    \n
    \n \n
    \n
    \n-AdminSite.get_model_admin(model)[source]\u00b6
    \n+AdminSite.get_model_admin(model)[sorgente]\u00b6\n
    \n New in Django 5.0.
    \n

    Returns an admin class for the given model class. Raises\n django.contrib.admin.exceptions.NotRegistered if a model isn\u2019t registered.

    \n
    \n \n
    \n
    \n-AdminSite.get_log_entries(request)[source]\u00b6
    \n+AdminSite.get_log_entries(request)[sorgente]\u00b6\n
    \n New in Django 5.0.
    \n

    Returns a queryset for the related\n LogEntry instances, shown on the site\n index page. This method can be overridden to filter the log entries by\n other criteria.

    \n
    \n@@ -3445,15 +3446,15 @@\n

    Just like ModelAdmin, AdminSite provides a\n get_urls() method\n that can be overridden to define additional views for the site. To add\n a new view to your admin site, extend the base\n get_urls() method to include\n a pattern for your new view.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Any view you render that uses the admin templates, or extends the base\n admin template, should set request.current_app before rendering the\n template. It should be set to either self.name if your view is on an\n AdminSite or self.admin_site.name if your view is on a\n ModelAdmin.

    \n
    \n
    \n@@ -3493,16 +3494,16 @@\n name="password_reset_complete",\n ),\n \n \n

    (This assumes you\u2019ve added the admin at admin/ and requires that you put\n the URLs starting with ^admin/ before the line that includes the admin app\n itself).

    \n-

    The presence of the admin_password_reset named URL will cause a \u201cforgotten\n-your password?\u201d link to appear on the default admin log-in page under the\n+

    The presence of the admin_password_reset named URL will cause a \u00abforgotten\n+your password?\u00bb link to appear on the default admin log-in page under the\n password box.

    \n \n \n
    \n

    LogEntry objects\u00b6

    \n
    \n
    \n@@ -3570,21 +3571,21 @@\n
    \n \n
    \n
    \n

    LogEntry methods\u00b6

    \n
    \n
    \n-LogEntry.get_edited_object()[source]\u00b6
    \n+LogEntry.get_edited_object()[sorgente]\u00b6\n

    A shortcut that returns the referenced object.

    \n
    \n \n
    \n
    \n-LogEntry.get_change_message()[source]\u00b6
    \n+LogEntry.get_change_message()[sorgente]\u00b6\n

    Formats and translates change_message into the current user\n language. Messages created before Django 1.10 will always be displayed in\n the language in which they were logged.

    \n
    \n \n
    \n \n@@ -3714,15 +3715,15 @@\n object which has an app_label and model_name attributes and is usually\n supplied by the admin views for the current model.

    \n \n
    \n

    The display decorator\u00b6

    \n
    \n
    \n-display(*, boolean=None, ordering=None, description=None, empty_value=None)[source]\u00b6
    \n+display(*, boolean=None, ordering=None, description=None, empty_value=None)[sorgente]\u00b6\n

    This decorator can be used for setting specific attributes on custom\n display functions that can be used with\n list_display or\n readonly_fields:

    \n
    @admin.display(\n     boolean=True,\n     ordering="-publish_date",\n@@ -3759,15 +3760,15 @@\n 
    \n \n
    \n
    \n

    The staff_member_required decorator\u00b6

    \n
    \n
    \n-staff_member_required(redirect_field_name='next', login_url='admin:login')[source]\u00b6
    \n+staff_member_required(redirect_field_name='next', login_url='admin:login')[sorgente]\u00b6\n

    This decorator is used on the admin views that require authorization. A\n view decorated with this function will have the following behavior:

    \n
      \n
    • If the user is logged in, is a staff member (User.is_staff=True), and\n is active (User.is_active=True), execute the view normally.

    • \n
    • Otherwise, the request will be redirected to the URL specified by the\n login_url parameter, with the originally requested path in a query\n@@ -3860,37 +3861,37 @@\n

    • The staff_member_required decorator
    • \n
    \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    contrib packages

    \n+ title=\"capitolo precedente\">contrib packages

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Admin actions

    \n+ title=\"capitolo successivo\">Admin actions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be D\bDj\bja\ban\bng\bgo\bo a\bad\bdm\bmi\bin\bn s\bsi\bit\bte\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n One of the most powerful parts of Django is the automatic admin interface. It\n reads metadata from your models to provide a quick, model-centric interface\n where trusted users can manage content on your site. The admin\u2019s recommended\n use is limited to an organization\u2019s internal management tool. It\u2019s not intended\n@@ -38,20 +38,20 @@\n admin interface. For each of those models, register them with the admin as\n described in _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn.\n *\b**\b**\b**\b* O\bOt\bth\bhe\ber\br t\bto\bop\bpi\bic\bcs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n * _\bA_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs\n * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b _\bL_\bi_\bs_\bt_\b _\bF_\bi_\bl_\bt_\be_\br_\bs\n * _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br\n * _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n-See also\n+Vedi anche\n For information about serving the static files (images, JavaScript, and CSS)\n associated with the admin in production, see _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs.\n Having problems? Try _\bF_\bA_\bQ_\b:_\b _\bT_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn.\n *\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\blA\bAd\bdm\bmi\bin\bn o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ModelAdmin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ModelAdmin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The ModelAdmin class is the representation of a model in the admin\n interface. Usually, these are stored in a file named admin.py in your\n application. Let\u2019s take a look at an example of the ModelAdmin:\n from django.contrib import admin\n from myapp.models import Author\n \n \n@@ -68,15 +68,15 @@\n without providing a ModelAdmin description. The preceding example could\n be simplified to:\n from django.contrib import admin\n from myapp.models import Author\n \n admin.site.register(Author)\n *\b**\b**\b**\b* T\bTh\bhe\be r\bre\beg\bgi\bis\bst\bte\ber\br d\bde\bec\bco\bor\bra\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- register(*\b*m\bmo\bod\bde\bel\bls\bs, s\bsi\bit\bte\be=\b=d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bad\bdm\bmi\bin\bn.\b.s\bsi\bit\bte\bes\bs.\b.s\bsi\bit\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ register(*\b*m\bmo\bod\bde\bel\bls\bs, s\bsi\bit\bte\be=\b=d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bad\bdm\bmi\bin\bn.\b.s\bsi\bit\bte\bes\bs.\b.s\bsi\bit\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n There is also a decorator for registering your ModelAdmin classes:\n from django.contrib import admin\n from .models import Author\n \n \n @admin.register(Author)\n class AuthorAdmin(admin.ModelAdmin):\n@@ -103,15 +103,15 @@\n c\bcl\bla\bas\bss\bs apps.SimpleAdminConfig_\b\u00b6\n This class works like _\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg, except it doesn\u2019t call _\ba_\bu_\bt_\bo_\bd_\bi_\bs_\bc_\bo_\bv_\be_\br_\b(_\b).\n default_site_\b\u00b6\n A dotted import path to the default admin site\u2019s class or to a\n callable that returns a site instance. Defaults to\n 'django.contrib.admin.sites.AdminSite'. See _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt\n _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be for usage.\n- autodiscover()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ autodiscover()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This function attempts to import an admin module in each installed\n application. Such modules are expected to register models with the admin.\n Typically you won\u2019t need to call this function directly as _\bA_\bd_\bm_\bi_\bn_\bC_\bo_\bn_\bf_\bi_\bg\n calls it when Django starts.\n If you are using a custom AdminSite, it is common to import all of the\n ModelAdmin subclasses into your code and register them to the custom AdminSite.\n In that case, in order to disable auto-discovery, you should put\n@@ -144,15 +144,15 @@\n Example:\n date_hierarchy = \"pub_date\"\n You can also specify a field on a related model using the __ lookup, for\n example:\n date_hierarchy = \"author__pub_date\"\n This will intelligently populate itself based on available data, e.g. if\n all the dates are in one month, it\u2019ll show the day-level drill-down only.\n- Note\n+ Nota\n date_hierarchy uses _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\bs_\b(_\b) internally. Please refer to its\n documentation for some caveats when time zone support is enabled (_\bU_\bS_\bE_\b__\bT_\bZ\n _\b=_\b _\bT_\br_\bu_\be).\n ModelAdmin.empty_value_display_\b\u00b6\n This attribute overrides the default display value for record\u2019s fields\n that are empty (None, empty string, etc.). The default value is - (a\n dash). For example:\n@@ -195,15 +195,15 @@\n class AuthorAdmin(admin.ModelAdmin):\n exclude = [\"birth_date\"]\n Since the Author model only has three fields, name, title, and\n birth_date, the forms resulting from the above declarations will contain\n exactly the same fields.\n ModelAdmin.fields_\b\u00b6\n Use the fields option to make simple layout changes in the forms on the\n- \u201cadd\u201d and \u201cchange\u201d pages such as showing only a subset of available\n+ \u00abadd\u00bb and \u00abchange\u00bb pages such as showing only a subset of available\n fields, modifying their order, or grouping them into rows. For example,\n you could define a simpler version of the admin form for the\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be model as follows:\n class FlatPageAdmin(admin.ModelAdmin):\n fields = [\"url\", \"title\", \"content\"]\n In the above example, only the fields url, title and content will be\n displayed, sequentially, in the form. fields can contain values defined\n@@ -223,17 +223,17 @@\n This fields option should not be confused with the fields dictionary key\n that is within the _\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs option, as described in the next section.\n If neither fields nor _\bf_\bi_\be_\bl_\bd_\bs_\be_\bt_\bs options are present, Django will default\n to displaying each field that isn\u2019t an AutoField and has editable=True,\n in a single fieldset, in the same order as the fields are defined in the\n model.\n ModelAdmin.fieldsets_\b\u00b6\n- Set fieldsets to control the layout of admin \u201cadd\u201d and \u201cchange\u201d pages.\n+ Set fieldsets to control the layout of admin \u00abadd\u00bb and \u00abchange\u00bb pages.\n fieldsets is a list of 2-tuples, in which each 2-tuple represents a\n-
    on the admin form page. (A
    is a \u201csection\u201d of the\n+
    on the admin form page. (A
    is a \u00absection\u00bb of the\n form.)\n The 2-tuples are in the format (name, field_options), where name is a\n string representing the title of the fieldset and field_options is a\n dictionary of information about the fieldset, including a list of fields\n to be displayed in it.\n A full example, taken from the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be\n model:\n@@ -316,15 +316,15 @@\n TabularInline layout by defining fields in the field_options dictionary.\n All other features are not supported. This includes the use of name to\n define a title for a group of fields.\n ModelAdmin.filter_horizontal_\b\u00b6\n By default, a _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd is displayed in the admin site with a\n \n- \n+ \n \n
    \n \n \n
    \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* J\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt c\bcu\bus\bst\bto\bom\bmi\biz\bza\bat\bti\bio\bon\bns\bs i\bin\bn t\bth\bhe\be a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* I\bIn\bnl\bli\bin\bne\be f\bfo\bor\brm\bm e\bev\bve\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You may want to execute some JavaScript when an inline form is added or removed\n in the admin change form. The formset:added and formset:removed events allow\n this. event.detail.formsetName is the formset the row belongs to. For the\n@@ -51,16 +51,16 @@\n handleFormsetAdded($row.get(0), formsetName)\n }\n })\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n o _\bI_\bn_\bl_\bi_\bn_\be_\b _\bf_\bo_\br_\bm_\b _\be_\bv_\be_\bn_\bt_\bs\n # _\bS_\bu_\bp_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bo_\bl_\bd_\be_\br_\b _\bt_\bh_\ba_\bn_\b _\b4_\b._\b1\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/auth.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/auth.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- django.contrib.auth — Django 5.1.4 documentation\n+ django.contrib.auth — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -616,15 +617,15 @@\n user_login_failed\u00b6\n

    Sent when the user failed to login successfully

    \n
    \n
    sender

    The name of the module used for authentication.

    \n
    \n
    credentials

    A dictionary of keyword arguments containing the user credentials that were\n passed to authenticate() or your own custom\n-authentication backend. Credentials matching a set of \u2018sensitive\u2019 patterns,\n+authentication backend. Credentials matching a set of \u201csensitive\u201d patterns,\n (including password) will not be sent in the clear as part of the signal.

    \n
    \n
    request

    The HttpRequest object, if one was provided to\n authenticate().

    \n
    \n
    \n
    \n@@ -636,48 +637,48 @@\n information on how to use them and how to write your own authentication\n backends, see the Other authentication sources section of the User authentication guide.

    \n
    \n

    Available authentication backends\u00b6

    \n

    The following backends are available in django.contrib.auth.backends:

    \n
    \n
    \n-class BaseBackend[source]\u00b6
    \n+class BaseBackend[sorgente]\u00b6\n

    A base class that provides default implementations for all required\n methods. By default, it will reject any user and provide no permissions.

    \n
    \n
    \n-get_user_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_user_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Returns an empty set.

    \n
    \n \n
    \n
    \n-get_group_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_group_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Returns an empty set.

    \n
    \n \n
    \n
    \n-get_all_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_all_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Uses get_user_permissions() and get_group_permissions() to\n get the set of permission strings the user_obj has.

    \n
    \n \n
    \n
    \n-has_perm(user_obj, perm, obj=None)[source]\u00b6
    \n+has_perm(user_obj, perm, obj=None)[sorgente]\u00b6\n

    Uses get_all_permissions() to check if user_obj has the\n permission string perm.

    \n
    \n \n
    \n \n
    \n
    \n-class ModelBackend[source]\u00b6
    \n+class ModelBackend[sorgente]\u00b6\n

    This is the default authentication backend used by Django. It\n authenticates using credentials consisting of a user identifier and\n password. For Django\u2019s default user model, the user identifier is the\n username, for custom user models it is the field specified by\n USERNAME_FIELD (see Customizing Users and authentication).

    \n

    It also handles the default permissions model as defined for\n User and\n@@ -687,81 +688,81 @@\n parameter for object-specific permissions, but this backend does not\n implement them other than returning an empty set of permissions if\n obj is not None.

    \n

    with_perm() also allows an object to be passed as a parameter, but\n unlike others methods it returns an empty queryset if obj is not None.

    \n
    \n
    \n-authenticate(request, username=None, password=None, **kwargs)[source]\u00b6
    \n+authenticate(request, username=None, password=None, **kwargs)[sorgente]\u00b6\n

    Tries to authenticate username with password by calling\n User.check_password. If no username\n is provided, it tries to fetch a username from kwargs using the\n key CustomUser.USERNAME_FIELD. Returns an\n authenticated user or None.

    \n

    request is an HttpRequest and may be None\n if it wasn\u2019t provided to authenticate()\n (which passes it on to the backend).

    \n
    \n \n
    \n
    \n-get_user_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_user_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Returns the set of permission strings the user_obj has from their\n own user permissions. Returns an empty set if\n is_anonymous or\n is_active is False.

    \n
    \n \n
    \n
    \n-get_group_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_group_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Returns the set of permission strings the user_obj has from the\n permissions of the groups they belong. Returns an empty set if\n is_anonymous or\n is_active is False.

    \n
    \n \n
    \n
    \n-get_all_permissions(user_obj, obj=None)[source]\u00b6
    \n+get_all_permissions(user_obj, obj=None)[sorgente]\u00b6\n

    Returns the set of permission strings the user_obj has, including both\n user permissions and group permissions. Returns an empty set if\n is_anonymous or\n is_active is False.

    \n
    \n \n
    \n
    \n-has_perm(user_obj, perm, obj=None)[source]\u00b6
    \n+has_perm(user_obj, perm, obj=None)[sorgente]\u00b6\n

    Uses get_all_permissions() to check if user_obj has the\n permission string perm. Returns False if the user is not\n is_active.

    \n
    \n \n
    \n
    \n-has_module_perms(user_obj, app_label)[source]\u00b6
    \n+has_module_perms(user_obj, app_label)[sorgente]\u00b6\n

    Returns whether the user_obj has any permissions on the app\n app_label.

    \n
    \n \n
    \n
    \n-user_can_authenticate()[source]\u00b6
    \n+user_can_authenticate()[sorgente]\u00b6\n

    Returns whether the user is allowed to authenticate. To match the\n behavior of AuthenticationForm\n which prohibits inactive users from logging in,\n this method returns False for users with is_active=False. Custom user models that\n don\u2019t have an is_active\n field are allowed.

    \n
    \n \n
    \n
    \n-with_perm(perm, is_active=True, include_superusers=True, obj=None)[source]\u00b6
    \n+with_perm(perm, is_active=True, include_superusers=True, obj=None)[sorgente]\u00b6\n

    Returns all active users who have the permission perm either in\n the form of "<app label>.<permission codename>" or a\n Permission instance. Returns an\n empty queryset if no users who have the perm found.

    \n

    If is_active is True (default), returns only active users, or\n if False, returns only inactive users. Use None to return all\n users irrespective of active state.

    \n@@ -769,27 +770,27 @@\n include superusers.

    \n
    \n \n
    \n \n
    \n
    \n-class AllowAllUsersModelBackend[source]\u00b6
    \n+class AllowAllUsersModelBackend[sorgente]\u00b6\n

    Same as ModelBackend except that it doesn\u2019t reject inactive users\n because user_can_authenticate() always returns True.

    \n

    When using this backend, you\u2019ll likely want to customize the\n AuthenticationForm used by the\n LoginView by overriding the\n confirm_login_allowed()\n method as it rejects inactive users.

    \n
    \n \n
    \n
    \n-class RemoteUserBackend[source]\u00b6
    \n+class RemoteUserBackend[sorgente]\u00b6\n

    Use this backend to take advantage of external-to-Django-handled\n authentication. It authenticates using usernames passed in\n request.META['REMOTE_USER']. See\n the Authenticating against REMOTE_USER\n documentation.

    \n

    If you need more control, you can create your own authentication backend\n that inherits from this class and override these attributes or methods:

    \n@@ -798,38 +799,38 @@\n create_unknown_user\u00b6\n

    True or False. Determines whether or not a user object is\n created if not already in the database Defaults to True.

    \n
    \n \n
    \n
    \n-authenticate(request, remote_user)[source]\u00b6
    \n+authenticate(request, remote_user)[sorgente]\u00b6\n

    The username passed as remote_user is considered trusted. This\n method returns the user object with the given username, creating a new\n user object if create_unknown_user is\n True.

    \n

    Returns None if create_unknown_user is\n False and a User object with the given username is not found in\n the database.

    \n

    request is an HttpRequest and may be None\n if it wasn\u2019t provided to authenticate()\n (which passes it on to the backend).

    \n
    \n \n
    \n
    \n-clean_username(username)[source]\u00b6
    \n+clean_username(username)[sorgente]\u00b6\n

    Performs any cleaning on the username (e.g. stripping LDAP DN\n information) prior to using it to get or create a user object. Returns\n the cleaned username.

    \n
    \n \n
    \n
    \n-configure_user(request, user, created=True)[source]\u00b6
    \n+configure_user(request, user, created=True)[sorgente]\u00b6\n

    Configures the user on each authentication attempt. This method is\n called immediately after fetching or creating the user being\n authenticated, and can be used to perform custom setup actions, such as\n setting the user\u2019s groups based on attributes in an LDAP directory.\n Returns the user object.

    \n

    The setup can be performed either once when the user is created\n (created is True) or on existing users (created is\n@@ -849,27 +850,27 @@\n field are allowed.

    \n
    \n \n \n \n
    \n
    \n-class AllowAllUsersRemoteUserBackend[source]\u00b6
    \n+class AllowAllUsersRemoteUserBackend[sorgente]\u00b6\n

    Same as RemoteUserBackend except that it doesn\u2019t reject inactive\n users because user_can_authenticate always\n returns True.

    \n
    \n \n
    \n
    \n
    \n

    Utility functions\u00b6

    \n
    \n
    \n-get_user(request)[source]\u00b6
    \n+get_user(request)[sorgente]\u00b6\n
    \n \n
    \n
    \n aget_user(request)\u00b6
    \n

    Asynchronous version: aget_user()

    \n

    Returns the user model instance associated with the given request\u2019s\n@@ -935,37 +936,37 @@\n

  • Utility functions
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    JavaScript customizations in the admin

    \n+ title=\"capitolo precedente\">JavaScript customizations in the admin

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The contenttypes framework

    \n+ title=\"capitolo successivo\">The contenttypes framework

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bau\but\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document provides API reference material for the components of Django\u2019s\n authentication system. For more details on the usage of these components or how\n to customize authentication and authorization see the _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bo_\bp_\bi_\bc\n _\bg_\bu_\bi_\bd_\be.\n@@ -258,124 +258,125 @@\n user_login_failed_\b\u00b6\n Sent when the user failed to login successfully\n sender\n The name of the module used for authentication.\n credentials\n A dictionary of keyword arguments containing the user credentials\n that were passed to _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b) or your own custom\n- authentication backend. Credentials matching a set of \u2018sensitive\u2019\n+ authentication backend. Credentials matching a set of \u201csensitive\u201d\n patterns, (including password) will not be sent in the clear as\n part of the signal.\n request\n The _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object, if one was provided to _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b).\n *\b**\b**\b**\b**\b* A\bAu\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bti\bio\bon\bn b\bba\bac\bck\bke\ben\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n This section details the authentication backends that come with Django. For\n information on how to use them and how to write your own authentication\n backends, see the _\bO_\bt_\bh_\be_\br_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bs_\bo_\bu_\br_\bc_\be_\bs_\b _\bs_\be_\bc_\bt_\bi_\bo_\bn of the _\bU_\bs_\be_\br\n _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b* A\bAv\bva\bai\bil\bla\bab\bbl\ble\be a\bau\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bti\bio\bon\bn b\bba\bac\bck\bke\ben\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n The following backends are available in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs:\n- c\bcl\bla\bas\bss\bs BaseBackend_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseBackend_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A base class that provides default implementations for all required\n methods. By default, it will reject any user and provide no permissions.\n- get_user_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_user_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns an empty set.\n- get_group_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_group_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns an empty set.\n- get_all_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_all_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b) and _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b) to get the\n set of permission strings the user_obj has.\n- has_perm(u\bus\bse\ber\br_\b_o\bob\bbj\bj, p\bpe\ber\brm\bm, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ has_perm(u\bus\bse\ber\br_\b_o\bob\bbj\bj, p\bpe\ber\brm\bm, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses _\bg_\be_\bt_\b__\ba_\bl_\bl_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b) to check if user_obj has the permission\n string perm.\n- c\bcl\bla\bas\bss\bs ModelBackend_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ModelBackend_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This is the default authentication backend used by Django. It\n authenticates using credentials consisting of a user identifier and\n password. For Django\u2019s default user model, the user identifier is the\n username, for custom user models it is the field specified by\n USERNAME_FIELD (see _\bC_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\bi_\bn_\bg_\b _\bU_\bs_\be_\br_\bs_\b _\ba_\bn_\bd_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn).\n It also handles the default permissions model as defined for _\bU_\bs_\be_\br and\n _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\bM_\bi_\bx_\bi_\bn.\n _\bh_\ba_\bs_\b__\bp_\be_\br_\bm_\b(_\b), _\bg_\be_\bt_\b__\ba_\bl_\bl_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b), _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b), and\n _\bg_\be_\bt_\b__\bg_\br_\bo_\bu_\bp_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b) allow an object to be passed as a parameter for\n object-specific permissions, but this backend does not implement them\n other than returning an empty set of permissions if obj is not None.\n _\bw_\bi_\bt_\bh_\b__\bp_\be_\br_\bm_\b(_\b) also allows an object to be passed as a parameter, but unlike\n others methods it returns an empty queryset if obj is not None.\n- authenticate(r\bre\beq\bqu\bue\bes\bst\bt, u\bus\bse\ber\brn\bna\bam\bme\be=\b=N\bNo\bon\bne\be, p\bpa\bas\bss\bsw\bwo\bor\brd\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ authenticate(r\bre\beq\bqu\bue\bes\bst\bt, u\bus\bse\ber\brn\bna\bam\bme\be=\b=N\bNo\bon\bne\be, p\bpa\bas\bss\bsw\bwo\bor\brd\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Tries to authenticate username with password by calling\n _\bU_\bs_\be_\br_\b._\bc_\bh_\be_\bc_\bk_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd. If no username is provided, it tries to fetch\n a username from kwargs using the key _\bC_\bu_\bs_\bt_\bo_\bm_\bU_\bs_\be_\br_\b._\bU_\bS_\bE_\bR_\bN_\bA_\bM_\bE_\b__\bF_\bI_\bE_\bL_\bD.\n Returns an authenticated user or None.\n request is an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt and may be None if it wasn\u2019t provided to\n _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b) (which passes it on to the backend).\n- get_user_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_user_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the set of permission strings the user_obj has from their\n own user permissions. Returns an empty set if _\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs or\n _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be is False.\n- get_group_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_group_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the set of permission strings the user_obj has from the\n permissions of the groups they belong. Returns an empty set if\n _\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs or _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be is False.\n- get_all_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_all_permissions(u\bus\bse\ber\br_\b_o\bob\bbj\bj, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the set of permission strings the user_obj has, including\n both user permissions and group permissions. Returns an empty set\n if _\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs or _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be is False.\n- has_perm(u\bus\bse\ber\br_\b_o\bob\bbj\bj, p\bpe\ber\brm\bm, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ has_perm(u\bus\bse\ber\br_\b_o\bob\bbj\bj, p\bpe\ber\brm\bm, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses _\bg_\be_\bt_\b__\ba_\bl_\bl_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b(_\b) to check if user_obj has the permission\n string perm. Returns False if the user is not _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be.\n- has_module_perms(u\bus\bse\ber\br_\b_o\bob\bbj\bj, a\bap\bpp\bp_\b_l\bla\bab\bbe\bel\bl)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ has_module_perms(u\bus\bse\ber\br_\b_o\bob\bbj\bj, a\bap\bpp\bp_\b_l\bla\bab\bbe\bel\bl)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns whether the user_obj has any permissions on the app\n app_label.\n- user_can_authenticate()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ user_can_authenticate()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns whether the user is allowed to authenticate. To match the\n behavior of _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm which _\bp_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bs_\b _\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b _\bu_\bs_\be_\br_\bs_\b _\bf_\br_\bo_\bm\n _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bi_\bn, this method returns False for users with\n _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b=_\bF_\ba_\bl_\bs_\be. Custom user models that don\u2019t have an _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be\n field are allowed.\n with_perm(p\bpe\ber\brm\bm, i\bis\bs_\b_a\bac\bct\bti\biv\bve\be=\b=T\bTr\bru\bue\be, i\bin\bnc\bcl\blu\bud\bde\be_\b_s\bsu\bup\bpe\ber\bru\bus\bse\ber\brs\bs=\b=T\bTr\bru\bue\be, o\bob\bbj\bj=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns all active users who have the permission perm either in the\n form of \".\" or a _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn\n instance. Returns an empty queryset if no users who have the perm\n found.\n If is_active is True (default), returns only active users, or if\n False, returns only inactive users. Use None to return all users\n irrespective of active state.\n If include_superusers is True (default), the result will include\n superusers.\n- c\bcl\bla\bas\bss\bs AllowAllUsersModelBackend_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AllowAllUsersModelBackend_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Same as _\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd except that it doesn\u2019t reject inactive users because\n _\bu_\bs_\be_\br_\b__\bc_\ba_\bn_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b) always returns True.\n When using this backend, you\u2019ll likely want to customize the\n _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm used by the _\bL_\bo_\bg_\bi_\bn_\bV_\bi_\be_\bw by overriding the\n _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bl_\bo_\bg_\bi_\bn_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b(_\b) method as it rejects inactive users.\n- c\bcl\bla\bas\bss\bs RemoteUserBackend_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RemoteUserBackend_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Use this backend to take advantage of external-to-Django-handled\n authentication. It authenticates using usernames passed in _\br_\be_\bq_\bu_\be_\bs_\bt_\b._\bM_\bE_\bT_\bA\n _\b[_\b'_\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR_\b'_\b]. See the _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bn_\bg_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR\n documentation.\n If you need more control, you can create your own authentication backend\n that inherits from this class and override these attributes or methods:\n create_unknown_user_\b\u00b6\n True or False. Determines whether or not a user object is created\n if not already in the database Defaults to True.\n- authenticate(r\bre\beq\bqu\bue\bes\bst\bt, r\bre\bem\bmo\bot\bte\be_\b_u\bus\bse\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ authenticate(r\bre\beq\bqu\bue\bes\bst\bt, r\bre\bem\bmo\bot\bte\be_\b_u\bus\bse\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The username passed as remote_user is considered trusted. This\n method returns the user object with the given username, creating a\n new user object if _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bn_\bk_\bn_\bo_\bw_\bn_\b__\bu_\bs_\be_\br is True.\n Returns None if _\bc_\br_\be_\ba_\bt_\be_\b__\bu_\bn_\bk_\bn_\bo_\bw_\bn_\b__\bu_\bs_\be_\br is False and a User object with\n the given username is not found in the database.\n request is an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt and may be None if it wasn\u2019t provided to\n _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b) (which passes it on to the backend).\n- clean_username(u\bus\bse\ber\brn\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ clean_username(u\bus\bse\ber\brn\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Performs any cleaning on the username (e.g. stripping LDAP DN\n information) prior to using it to get or create a user object.\n Returns the cleaned username.\n- configure_user(r\bre\beq\bqu\bue\bes\bst\bt, u\bus\bse\ber\br, c\bcr\bre\bea\bat\bte\bed\bd=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ configure_user(r\bre\beq\bqu\bue\bes\bst\bt, u\bus\bse\ber\br, c\bcr\bre\bea\bat\bte\bed\bd=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Configures the user on each authentication attempt. This method is\n called immediately after fetching or creating the user being\n authenticated, and can be used to perform custom setup actions,\n such as setting the user\u2019s groups based on attributes in an LDAP\n directory. Returns the user object.\n The setup can be performed either once when the user is created\n (created is True) or on existing users (created is False) as a way\n@@ -383,19 +384,19 @@\n systems.\n request is an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt and may be None if it wasn\u2019t provided to\n _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b(_\b) (which passes it on to the backend).\n user_can_authenticate()_\b\u00b6\n Returns whether the user is allowed to authenticate. This method\n returns False for users with _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be_\b=_\bF_\ba_\bl_\bs_\be. Custom user models\n that don\u2019t have an _\bi_\bs_\b__\ba_\bc_\bt_\bi_\bv_\be field are allowed.\n- c\bcl\bla\bas\bss\bs AllowAllUsersRemoteUserBackend_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AllowAllUsersRemoteUserBackend_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Same as _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bB_\ba_\bc_\bk_\be_\bn_\bd except that it doesn\u2019t reject inactive users\n because _\bu_\bs_\be_\br_\b__\bc_\ba_\bn_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be always returns True.\n *\b**\b**\b**\b**\b* U\bUt\bti\bil\bli\bit\bty\by f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- get_user(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_user(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n aget_user(r\bre\beq\bqu\bue\bes\bst\bt)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: aget_user()\n Returns the user model instance associated with the given request\u2019s\n session.\n It checks if the authentication backend stored in the session is present\n in _\bA_\bU_\bT_\bH_\bE_\bN_\bT_\bI_\bC_\bA_\bT_\bI_\bO_\bN_\b__\bB_\bA_\bC_\bK_\bE_\bN_\bD_\bS. If so, it uses the backend\u2019s get_user()\n method to retrieve the user model instance and then verifies the session\n@@ -422,16 +423,16 @@\n o _\bG_\br_\bo_\bu_\bp_\b _\bm_\bo_\bd_\be_\bl\n # _\bF_\bi_\be_\bl_\bd_\bs\n o _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n o _\bL_\bo_\bg_\bi_\bn_\b _\ba_\bn_\bd_\b _\bl_\bo_\bg_\bo_\bu_\bt_\b _\bs_\bi_\bg_\bn_\ba_\bl_\bs\n o _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n # _\bA_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n o _\bU_\bt_\bi_\bl_\bi_\bt_\by_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/contenttypes.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/contenttypes.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The contenttypes framework — Django 5.1.4 documentation\n+ The contenttypes framework — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -96,15 +97,15 @@\n from those models. ContentType\n also has a custom manager that adds methods for\n working with ContentType and for\n obtaining instances of ContentType\n for a particular model.

    \n

    Relations between your models and\n ContentType can also be used to\n-enable \u201cgeneric\u201d relationships between an instance of one of your\n+enable \u00abgeneric\u00bb relationships between an instance of one of your\n models and instances of any model you have installed.

    \n
    \n
    \n

    Installing the contenttypes framework\u00b6

    \n

    The contenttypes framework is included in the default\n INSTALLED_APPS list created by django-admin startproject,\n but if you\u2019ve removed it or if you manually set up your\n@@ -119,15 +120,15 @@\n to tie user permissions to specific models.

    \n \n
    \n
    \n

    The ContentType model\u00b6

    \n
    \n
    \n-class ContentType[source]\u00b6
    \n+class ContentType[sorgente]\u00b6\n

    Each instance of ContentType\n has two fields which, taken together, uniquely describe an installed\n model:

    \n
    \n
    \n app_label\u00b6
    \n

    The name of the application the model is part of. This is taken from\n@@ -142,15 +143,15 @@\n model\u00b6\n

    The name of the model class.

    \n
    \n \n

    Additionally, the following property is available:

    \n
    \n
    \n-name[source]\u00b6
    \n+name[sorgente]\u00b6\n

    The human-readable name of the content type. This is taken from the\n verbose_name\n attribute of the model.

    \n
    \n \n
    \n \n@@ -174,29 +175,29 @@\n

    Methods on ContentType instances\u00b6

    \n

    Each ContentType instance has\n methods that allow you to get from a\n ContentType instance to the\n model it represents, or to retrieve objects from that model:

    \n
    \n
    \n-ContentType.get_object_for_this_type(using=None, **kwargs)[source]\u00b6
    \n+ContentType.get_object_for_this_type(using=None, **kwargs)[sorgente]\u00b6\n

    Takes a set of valid lookup arguments for the\n model the ContentType\n represents, and does\n a get() lookup\n on that model, returning the corresponding object. The using argument\n can be used to specify a different database than the default one.

    \n
    \n Changed in Django 5.1:

    The using argument was added.

    \n
    \n
    \n \n
    \n
    \n-ContentType.model_class()[source]\u00b6
    \n+ContentType.model_class()[sorgente]\u00b6\n

    Returns the model class represented by this\n ContentType instance.

    \n
    \n \n

    For example, we could look up the\n ContentType for the\n User model:

    \n@@ -234,68 +235,68 @@\n

    Several of Django\u2019s bundled applications make use of the latter technique.\n For example,\n the permissions system in\n Django\u2019s authentication framework uses a\n Permission model with a foreign\n key to ContentType; this lets\n Permission represent concepts like\n-\u201ccan add blog entry\u201d or \u201ccan delete news story\u201d.

    \n+\u00abcan add blog entry\u00bb or \u00abcan delete news story\u00bb.

    \n
    \n

    The ContentTypeManager\u00b6

    \n
    \n
    \n-class ContentTypeManager[source]\u00b6
    \n+class ContentTypeManager[sorgente]\u00b6\n

    ContentType also has a custom\n manager, ContentTypeManager,\n which adds the following methods:

    \n
    \n
    \n-clear_cache()[source]\u00b6
    \n+clear_cache()[sorgente]\u00b6\n

    Clears an internal cache used by\n ContentType to keep track\n of models for which it has created\n ContentType instances. You\n probably won\u2019t ever need to call this method yourself; Django will call\n it automatically when it\u2019s needed.

    \n
    \n \n
    \n
    \n-get_for_id(id)[source]\u00b6
    \n+get_for_id(id)[sorgente]\u00b6\n

    Lookup a ContentType by ID.\n Since this method uses the same shared cache as\n get_for_model(),\n it\u2019s preferred to use this method over the usual\n ContentType.objects.get(pk=id)

    \n
    \n \n
    \n
    \n-get_for_model(model, for_concrete_model=True)[source]\u00b6
    \n+get_for_model(model, for_concrete_model=True)[sorgente]\u00b6\n

    Takes either a model class or an instance of a model, and returns the\n ContentType instance\n representing that model. for_concrete_model=False allows fetching\n the ContentType of a proxy\n model.

    \n
    \n \n
    \n
    \n-get_for_models(*models, for_concrete_models=True)[source]\u00b6
    \n+get_for_models(*models, for_concrete_models=True)[sorgente]\u00b6\n

    Takes a variadic number of model classes, and returns a dictionary\n mapping the model classes to the\n ContentType instances\n representing them. for_concrete_models=False allows fetching the\n ContentType of proxy\n models.

    \n
    \n \n
    \n
    \n-get_by_natural_key(app_label, model)[source]\u00b6
    \n+get_by_natural_key(app_label, model)[sorgente]\u00b6\n

    Returns the ContentType\n instance uniquely identified by the given application label and model\n name. The primary purpose of this method is to allow\n ContentType objects to be\n referenced via a natural key\n during deserialization.

    \n
    \n@@ -318,15 +319,15 @@\n

    Generic relations\u00b6

    \n

    Adding a foreign key from one of your own models to\n ContentType allows your model to\n effectively tie itself to another model class, as in the example of the\n Permission model above. But it\u2019s possible\n to go one step further and use\n ContentType to enable truly\n-generic (sometimes called \u201cpolymorphic\u201d) relationships between models.

    \n+generic (sometimes called \u00abpolymorphic\u00bb) relationships between models.

    \n

    For example, it could be used for a tagging system like so:

    \n
    from django.contrib.contenttypes.fields import GenericForeignKey\n from django.contrib.contenttypes.models import ContentType\n from django.db import models\n \n \n class TaggedItem(models.Model):\n@@ -340,38 +341,38 @@\n \n     class Meta:\n         indexes = [\n             models.Index(fields=["content_type", "object_id"]),\n         ]\n 
    \n
    \n-

    A normal ForeignKey can only \u201cpoint\n-to\u201d one other model, which means that if the TaggedItem model used a\n+

    A normal ForeignKey can only \u00abpoint\n+to\u00bb one other model, which means that if the TaggedItem model used a\n ForeignKey it would have to\n choose one and only one model to store tags for. The contenttypes\n application provides a special field type (GenericForeignKey) which\n works around this and allows the relationship to be with any\n model:

    \n
    \n
    \n-class GenericForeignKey[source]\u00b6
    \n+class GenericForeignKey[sorgente]\u00b6\n

    There are three parts to setting up a\n GenericForeignKey:

    \n
      \n
    1. Give your model a ForeignKey\n to ContentType. The usual\n-name for this field is \u201ccontent_type\u201d.

    2. \n+name for this field is \u00abcontent_type\u00bb.

      \n
    3. Give your model a field that can store primary key values from the\n models you\u2019ll be relating to. For most models, this means a\n PositiveIntegerField. The usual name\n-for this field is \u201cobject_id\u201d.

    4. \n+for this field is \u00abobject_id\u00bb.

      \n
    5. Give your model a\n GenericForeignKey, and\n pass it the names of the two fields described above. If these fields\n-are named \u201ccontent_type\u201d and \u201cobject_id\u201d, you can omit this \u2013 those\n+are named \u00abcontent_type\u00bb and \u00abobject_id\u00bb, you can omit this \u2013 those\n are the default field names\n GenericForeignKey will\n look for.

    6. \n
    \n

    Unlike for the ForeignKey, a database index is\n not automatically created on the\n GenericForeignKey, so it\u2019s\n@@ -387,23 +388,23 @@\n get_for_model().

    \n
    \n \n
    \n \n
    \n

    Primary key type compatibility

    \n-

    The \u201cobject_id\u201d field doesn\u2019t have to be the same type as the\n+

    The \u00abobject_id\u00bb field doesn\u2019t have to be the same type as the\n primary key fields on the related models, but their primary key values\n-must be coercible to the same type as the \u201cobject_id\u201d field by its\n+must be coercible to the same type as the \u00abobject_id\u00bb field by its\n get_db_prep_value() method.

    \n

    For example, if you want to allow generic relations to models with either\n IntegerField or\n CharField primary key fields, you\n can use CharField for the\n-\u201cobject_id\u201d field on your model since integers can be coerced to\n+\u00abobject_id\u00bb field on your model since integers can be coerced to\n strings by get_db_prep_value().

    \n

    For maximum flexibility you can use a\n TextField which doesn\u2019t have a\n maximum length defined, however this may incur significant performance\n penalties depending on your database backend.

    \n

    There is no one-size-fits-all solution for which field type is best. You\n should evaluate the models you expect to be pointing to and determine\n@@ -451,28 +452,28 @@\n

    \n

    Likewise, GenericForeignKeys\n does not appear in ModelForms.

    \n
    \n

    Reverse generic relations\u00b6

    \n
    \n
    \n-class GenericRelation[source]\u00b6
    \n+class GenericRelation[sorgente]\u00b6\n
    \n
    \n related_query_name\u00b6
    \n

    The relation on the related object back to this object doesn\u2019t exist by\n default. Setting related_query_name creates a relation from the\n related object back to this one. This allows querying and filtering\n from the related object.

    \n
    \n \n
    \n \n

    If you know which models you\u2019ll be using most often, you can also add\n-a \u201creverse\u201d generic relationship to enable an additional API. For example:

    \n+a \u00abreverse\u00bb generic relationship to enable an additional API. For example:

    \n
    from django.contrib.contenttypes.fields import GenericRelation\n from django.db import models\n \n \n class Bookmark(models.Model):\n     url = models.URLField()\n     tags = GenericRelation(TaggedItem)\n@@ -587,20 +588,20 @@\n \n 
    \n
    \n-class BaseGenericInlineFormSet[source]\u00b6
    \n+class BaseGenericInlineFormSet[sorgente]\u00b6\n
    \n \n
    \n
    \n-generic_inlineformset_factory(model, form=ModelForm, formset=BaseGenericInlineFormSet, ct_field='content_type', fk_field='object_id', fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, validate_max=False, for_concrete_model=True, min_num=None, validate_min=False, absolute_max=None, can_delete_extra=True)[source]\u00b6
    \n+generic_inlineformset_factory(model, form=ModelForm, formset=BaseGenericInlineFormSet, ct_field='content_type', fk_field='object_id', fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, validate_max=False, for_concrete_model=True, min_num=None, validate_min=False, absolute_max=None, can_delete_extra=True)[sorgente]\u00b6\n

    Returns a GenericInlineFormSet using\n modelformset_factory().

    \n

    You must provide ct_field and fk_field if they are different from\n the defaults, content_type and object_id respectively. Other\n parameters are similar to those documented in\n modelformset_factory() and\n inlineformset_factory().

    \n@@ -618,15 +619,15 @@\n GenericInlineModelAdmin)

    \n

    These classes and functions enable the use of generic relations in forms\n and the admin. See the model formset and\n admin documentation for more\n information.

    \n
    \n
    \n-class GenericInlineModelAdmin[source]\u00b6
    \n+class GenericInlineModelAdmin[sorgente]\u00b6\n

    The GenericInlineModelAdmin\n class inherits all properties from an\n InlineModelAdmin class. However,\n it adds a couple of its own for working with the generic relation:

    \n
    \n
    \n ct_field\u00b6
    \n@@ -642,32 +643,32 @@\n object. Defaults to object_id.

    \n
    \n \n
    \n \n
    \n
    \n-class GenericTabularInline[source]\u00b6
    \n+class GenericTabularInline[sorgente]\u00b6\n
    \n \n
    \n
    \n-class GenericStackedInline[source]\u00b6
    \n+class GenericStackedInline[sorgente]\u00b6\n

    Subclasses of GenericInlineModelAdmin with stacked and tabular\n layouts, respectively.

    \n
    \n \n
    \n
    \n

    GenericPrefetch()\u00b6

    \n
    \n New in Django 5.0.
    \n
    \n
    \n-class GenericPrefetch(lookup, querysets, to_attr=None)[source]\u00b6
    \n+class GenericPrefetch(lookup, querysets, to_attr=None)[sorgente]\u00b6\n
    \n \n

    This lookup is similar to Prefetch() and it should only be used on\n GenericForeignKey. The querysets argument accepts a list of querysets,\n each for a different ContentType. This is useful for GenericForeignKey\n with non-homogeneous set of results.

    \n
    >>> from django.contrib.contenttypes.prefetch import GenericPrefetch\n@@ -717,37 +718,37 @@\n \n \n \n \n \n   
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    django.contrib.auth

    \n+ title=\"capitolo precedente\">django.contrib.auth

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The flatpages app

    \n+ title=\"capitolo successivo\">The flatpages app

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be c\bco\bon\bnt\bte\ben\bnt\btt\bty\byp\bpe\bes\bs f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django includes a _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs application that can track all of the models\n installed in your Django-powered project, providing a high-level, generic\n interface for working with your models.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -12,63 +12,63 @@\n project, and new instances of _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be are automatically created whenever\n new models are installed.\n Instances of _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be have methods for returning the model classes they\n represent and for querying objects from those models. _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be also has a\n _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bm_\ba_\bn_\ba_\bg_\be_\br that adds methods for working with _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be and for obtaining\n instances of _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be for a particular model.\n Relations between your models and _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be can also be used to enable\n-\u201cgeneric\u201d relationships between an instance of one of your models and instances\n+\u00abgeneric\u00bb relationships between an instance of one of your models and instances\n of any model you have installed.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg t\bth\bhe\be c\bco\bon\bnt\bte\ben\bnt\btt\bty\byp\bpe\bes\bs f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The contenttypes framework is included in the default _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS list\n created by django-admin startproject, but if you\u2019ve removed it or if you\n manually set up your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS list, you can enable it by adding\n 'django.contrib.contenttypes' to your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting.\n It\u2019s generally a good idea to have the contenttypes framework installed;\n several of Django\u2019s other bundled applications require it:\n * The admin application uses it to log the history of each object added or\n changed through the admin interface.\n * Django\u2019s _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk uses it to tie user permissions to\n specific models.\n *\b**\b**\b**\b**\b* T\bTh\bhe\be C\bCo\bon\bnt\bte\ben\bnt\btT\bTy\byp\bpe\be m\bmo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ContentType_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ContentType_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Each instance of _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be has two fields which, taken together,\n uniquely describe an installed model:\n app_label_\b\u00b6\n The name of the application the model is part of. This is taken\n from the _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl attribute of the model, and includes only the\n l\bla\bas\bst\bt part of the application\u2019s Python import path;\n django.contrib.contenttypes, for example, becomes an _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl of\n contenttypes.\n model_\b\u00b6\n The name of the model class.\n Additionally, the following property is available:\n- name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The human-readable name of the content type. This is taken from the\n _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be attribute of the model.\n Let\u2019s look at an example to see how this works. If you already have the\n _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs application installed, and then add _\bt_\bh_\be_\b _\bs_\bi_\bt_\be_\bs_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn to your\n _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting and run manage.py migrate to install it, the model\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bs_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bS_\bi_\bt_\be will be installed into your database. Along\n with it a new instance of _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be will be created with the following\n values:\n * _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl will be set to 'sites' (the last part of the Python path\n django.contrib.sites).\n * _\bm_\bo_\bd_\be_\bl will be set to 'site'.\n *\b**\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs o\bon\bn C\bCo\bon\bnt\bte\ben\bnt\btT\bTy\byp\bpe\be i\bin\bns\bst\bta\ban\bnc\bce\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Each _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instance has methods that allow you to get from a _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be\n instance to the model it represents, or to retrieve objects from that model:\n- ContentType.get_object_for_this_type(u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ContentType.get_object_for_this_type(u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Takes a set of valid _\bl_\bo_\bo_\bk_\bu_\bp_\b _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs for the model the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be\n represents, and does _\ba_\b _\bg_\be_\bt_\b(_\b)_\b _\bl_\bo_\bo_\bk_\bu_\bp on that model, returning the\n corresponding object. The using argument can be used to specify a\n different database than the default one.\n Changed in Django 5.1:\n The using argument was added.\n- ContentType.model_class()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ContentType.model_class()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the model class represented by this _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instance.\n For example, we could look up the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be for the _\bU_\bs_\be_\br model:\n >>> from django.contrib.contenttypes.models import ContentType\n >>> user_type = ContentType.objects.get(app_label=\"auth\", model=\"user\")\n >>> user_type\n \n And then use it to query for a particular _\bU_\bs_\be_\br, or to get access to the User\n@@ -86,54 +86,54 @@\n retrieve objects from it.\n 2. You can relate another model to _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be as a way of tying instances\n of it to particular model classes, and use these methods to get access to\n those model classes.\n Several of Django\u2019s bundled applications make use of the latter technique. For\n example, _\bt_\bh_\be_\b _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\bs_\by_\bs_\bt_\be_\bm in Django\u2019s authentication framework uses a\n _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn model with a foreign key to _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be; this lets _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn\n-represent concepts like \u201ccan add blog entry\u201d or \u201ccan delete news story\u201d.\n+represent concepts like \u00abcan add blog entry\u00bb or \u00abcan delete news story\u00bb.\n *\b**\b**\b**\b* T\bTh\bhe\be C\bCo\bon\bnt\bte\ben\bnt\btT\bTy\byp\bpe\beM\bMa\ban\bna\bag\bge\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ContentTypeManager_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ContentTypeManager_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be also has a custom manager, _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br, which adds the\n following methods:\n- clear_cache()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ clear_cache()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Clears an internal cache used by _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be to keep track of\n models for which it has created _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instances. You probably\n won\u2019t ever need to call this method yourself; Django will call it\n automatically when it\u2019s needed.\n- get_for_id(i\bid\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_for_id(i\bid\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Lookup a _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be by ID. Since this method uses the same shared\n cache as _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b), it\u2019s preferred to use this method over\n the usual ContentType.objects.get(pk=id)\n- get_for_model(m\bmo\bod\bde\bel\bl, f\bfo\bor\br_\b_c\bco\bon\bnc\bcr\bre\bet\bte\be_\b_m\bmo\bod\bde\bel\bl=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_for_model(m\bmo\bod\bde\bel\bl, f\bfo\bor\br_\b_c\bco\bon\bnc\bcr\bre\bet\bte\be_\b_m\bmo\bod\bde\bel\bl=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Takes either a model class or an instance of a model, and returns\n the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instance representing that model.\n for_concrete_model=False allows fetching the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be of a proxy\n model.\n- get_for_models(*\b*m\bmo\bod\bde\bel\bls\bs, f\bfo\bor\br_\b_c\bco\bon\bnc\bcr\bre\bet\bte\be_\b_m\bmo\bod\bde\bel\bls\bs=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_for_models(*\b*m\bmo\bod\bde\bel\bls\bs, f\bfo\bor\br_\b_c\bco\bon\bnc\bcr\bre\bet\bte\be_\b_m\bmo\bod\bde\bel\bls\bs=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Takes a variadic number of model classes, and returns a dictionary\n mapping the model classes to the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instances representing\n them. for_concrete_models=False allows fetching the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be of\n proxy models.\n- get_by_natural_key(a\bap\bpp\bp_\b_l\bla\bab\bbe\bel\bl, m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_by_natural_key(a\bap\bpp\bp_\b_l\bla\bab\bbe\bel\bl, m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be instance uniquely identified by the given\n application label and model name. The primary purpose of this\n method is to allow _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be objects to be referenced via a\n _\bn_\ba_\bt_\bu_\br_\ba_\bl_\b _\bk_\be_\by during deserialization.\n The _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b) method is especially useful when you know you need to work\n with a _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be but don\u2019t want to go to the trouble of obtaining the model\u2019s\n metadata to perform a manual lookup:\n >>> from django.contrib.auth.models import User\n >>> ContentType.objects.get_for_model(User)\n \n *\b**\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc r\bre\bel\bla\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Adding a foreign key from one of your own models to _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be allows your\n model to effectively tie itself to another model class, as in the example of\n the _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn model above. But it\u2019s possible to go one step further and use\n-_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be to enable truly generic (sometimes called \u201cpolymorphic\u201d)\n+_\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be to enable truly generic (sometimes called \u00abpolymorphic\u00bb)\n relationships between models.\n For example, it could be used for a tagging system like so:\n from django.contrib.contenttypes.fields import GenericForeignKey\n from django.contrib.contenttypes.models import ContentType\n from django.db import models\n \n \n@@ -146,45 +146,45 @@\n def __str__(self):\n return self.tag\n \n class Meta:\n indexes = [\n models.Index(fields=[\"content_type\", \"object_id\"]),\n ]\n-A normal _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by can only \u201cpoint to\u201d one other model, which means that if\n+A normal _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by can only \u00abpoint to\u00bb one other model, which means that if\n the TaggedItem model used a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by it would have to choose one and only one\n model to store tags for. The contenttypes application provides a special field\n type (GenericForeignKey) which works around this and allows the relationship to\n be with any model:\n- c\bcl\bla\bas\bss\bs GenericForeignKey_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericForeignKey_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n There are three parts to setting up a _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by:\n 1. Give your model a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by to _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be. The usual name for\n- this field is \u201ccontent_type\u201d.\n+ this field is \u00abcontent_type\u00bb.\n 2. Give your model a field that can store primary key values from the\n models you\u2019ll be relating to. For most models, this means a\n- _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd. The usual name for this field is \u201cobject_id\u201d.\n+ _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd. The usual name for this field is \u00abobject_id\u00bb.\n 3. Give your model a _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by, and pass it the names of the\n two fields described above. If these fields are named\n- \u201ccontent_type\u201d and \u201cobject_id\u201d, you can omit this \u2013 those are the\n+ \u00abcontent_type\u00bb and \u00abobject_id\u00bb, you can omit this \u2013 those are the\n default field names _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by will look for.\n Unlike for the _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by, a database index is n\bno\bot\bt automatically created\n on the _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by, so it\u2019s recommended that you use _\bM_\be_\bt_\ba_\b._\bi_\bn_\bd_\be_\bx_\be_\bs\n to add your own multiple column index. This behavior _\bm_\ba_\by_\b _\bc_\bh_\ba_\bn_\bg_\be in the\n future.\n for_concrete_model_\b\u00b6\n If False, the field will be able to reference proxy models. Default\n is True. This mirrors the for_concrete_model argument to\n _\bg_\be_\bt_\b__\bf_\bo_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b).\n Primary key type compatibility\n-The \u201cobject_id\u201d field doesn\u2019t have to be the same type as the primary key\n+The \u00abobject_id\u00bb field doesn\u2019t have to be the same type as the primary key\n fields on the related models, but their primary key values must be coercible to\n-the same type as the \u201cobject_id\u201d field by its _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) method.\n+the same type as the \u00abobject_id\u00bb field by its _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) method.\n For example, if you want to allow generic relations to models with either\n _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd or _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd primary key fields, you can use _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd for the\n-\u201cobject_id\u201d field on your model since integers can be coerced to strings by\n+\u00abobject_id\u00bb field on your model since integers can be coerced to strings by\n _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b).\n For maximum flexibility you can use a _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd which doesn\u2019t have a maximum\n length defined, however this may incur significant performance penalties\n depending on your database backend.\n There is no one-size-fits-all solution for which field type is best. You should\n evaluate the models you expect to be pointing to and determine which solution\n will be most effective for your use case.\n@@ -213,22 +213,22 @@\n will n\bno\bot\bt work:\n # This will fail\n >>> TaggedItem.objects.filter(content_object=guido)\n # This will also fail\n >>> TaggedItem.objects.get(content_object=guido)\n Likewise, _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\bys does not appear in _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bms.\n *\b**\b**\b**\b* R\bRe\bev\bve\ber\brs\bse\be g\bge\ben\bne\ber\bri\bic\bc r\bre\bel\bla\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GenericRelation_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericRelation_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n related_query_name_\b\u00b6\n The relation on the related object back to this object doesn\u2019t\n exist by default. Setting related_query_name creates a relation\n from the related object back to this one. This allows querying and\n filtering from the related object.\n If you know which models you\u2019ll be using most often, you can also add a\n-\u201creverse\u201d generic relationship to enable an additional API. For example:\n+\u00abreverse\u00bb generic relationship to enable an additional API. For example:\n from django.contrib.contenttypes.fields import GenericRelation\n from django.db import models\n \n \n class Bookmark(models.Model):\n url = models.URLField()\n tags = GenericRelation(TaggedItem)\n@@ -307,50 +307,50 @@\n >>> Bookmark.objects.aggregate(Count(\"tags\"))\n {'tags__count': 3}\n *\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc r\bre\bel\bla\bat\bti\bio\bon\bn i\bin\bn f\bfo\bor\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\bf_\bo_\br_\bm_\bs module provides:\n * _\bB_\ba_\bs_\be_\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bF_\bo_\br_\bm_\bS_\be_\bt\n * A formset factory, _\bg_\be_\bn_\be_\br_\bi_\bc_\b__\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b), for use with\n _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by.\n- c\bcl\bla\bas\bss\bs BaseGenericInlineFormSet_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseGenericInlineFormSet_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n generic_inlineformset_factory(m\bmo\bod\bde\bel\bl, f\bfo\bor\brm\bm=\b=M\bMo\bod\bde\bel\blF\bFo\bor\brm\bm,\n f\bfo\bor\brm\bms\bse\bet\bt=\b=B\bBa\bas\bse\beG\bGe\ben\bne\ber\bri\bic\bcI\bIn\bnl\bli\bin\bne\beF\bFo\bor\brm\bmS\bSe\bet\bt, c\bct\bt_\b_f\bfi\bie\bel\bld\bd=\b='\b'c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be'\b',\n f\bfk\bk_\b_f\bfi\bie\bel\bld\bd=\b='\b'o\bob\bbj\bje\bec\bct\bt_\b_i\bid\bd'\b', f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be, e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be, e\bex\bxt\btr\bra\ba=\b=3\b3, c\bca\ban\bn_\b_o\bor\brd\bde\ber\br=\b=F\bFa\bal\bls\bse\be,\n c\bca\ban\bn_\b_d\bde\bel\ble\bet\bte\be=\b=T\bTr\bru\bue\be, m\bma\bax\bx_\b_n\bnu\bum\bm=\b=N\bNo\bon\bne\be, f\bfo\bor\brm\bmf\bfi\bie\bel\bld\bd_\b_c\bca\bal\bll\blb\bba\bac\bck\bk=\b=N\bNo\bon\bne\be, v\bva\bal\bli\bid\bda\bat\bte\be_\b_m\bma\bax\bx=\b=F\bFa\bal\bls\bse\be,\n f\bfo\bor\br_\b_c\bco\bon\bnc\bcr\bre\bet\bte\be_\b_m\bmo\bod\bde\bel\bl=\b=T\bTr\bru\bue\be, m\bmi\bin\bn_\b_n\bnu\bum\bm=\b=N\bNo\bon\bne\be, v\bva\bal\bli\bid\bda\bat\bte\be_\b_m\bmi\bin\bn=\b=F\bFa\bal\bls\bse\be, a\bab\bbs\bso\bol\blu\but\bte\be_\b_m\bma\bax\bx=\b=N\bNo\bon\bne\be,\n- c\bca\ban\bn_\b_d\bde\bel\ble\bet\bte\be_\b_e\bex\bxt\btr\bra\ba=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bca\ban\bn_\b_d\bde\bel\ble\bet\bte\be_\b_e\bex\bxt\btr\bra\ba=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a GenericInlineFormSet using _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b).\n You must provide ct_field and fk_field if they are different from the\n defaults, content_type and object_id respectively. Other parameters are\n similar to those documented in _\bm_\bo_\bd_\be_\bl_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b) and\n _\bi_\bn_\bl_\bi_\bn_\be_\bf_\bo_\br_\bm_\bs_\be_\bt_\b__\bf_\ba_\bc_\bt_\bo_\br_\by_\b(_\b).\n The for_concrete_model argument corresponds to the _\bf_\bo_\br_\b__\bc_\bo_\bn_\bc_\br_\be_\bt_\be_\b__\bm_\bo_\bd_\be_\bl\n argument on GenericForeignKey.\n *\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bc r\bre\bel\bla\bat\bti\bio\bon\bns\bs i\bin\bn a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b._\ba_\bd_\bm_\bi_\bn module provides _\bG_\be_\bn_\be_\br_\bi_\bc_\bT_\ba_\bb_\bu_\bl_\ba_\br_\bI_\bn_\bl_\bi_\bn_\be and\n _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bt_\ba_\bc_\bk_\be_\bd_\bI_\bn_\bl_\bi_\bn_\be (subclasses of _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn)\n These classes and functions enable the use of generic relations in forms and\n the admin. See the _\bm_\bo_\bd_\be_\bl_\b _\bf_\bo_\br_\bm_\bs_\be_\bt and _\ba_\bd_\bm_\bi_\bn documentation for more information.\n- c\bcl\bla\bas\bss\bs GenericInlineModelAdmin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericInlineModelAdmin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn class inherits all properties from an\n _\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn class. However, it adds a couple of its own for working\n with the generic relation:\n ct_field_\b\u00b6\n The name of the _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be foreign key field on the model.\n Defaults to content_type.\n ct_fk_field_\b\u00b6\n The name of the integer field that represents the ID of the related\n object. Defaults to object_id.\n- c\bcl\bla\bas\bss\bs GenericTabularInline_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs GenericStackedInline_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericTabularInline_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericStackedInline_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Subclasses of _\bG_\be_\bn_\be_\br_\bi_\bc_\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn with stacked and tabular layouts,\n respectively.\n *\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bcP\bPr\bre\bef\bfe\bet\btc\bch\bh(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n New in Django 5.0.\n- c\bcl\bla\bas\bss\bs GenericPrefetch(l\blo\boo\bok\bku\bup\bp, q\bqu\bue\ber\bry\bys\bse\bet\bts\bs, t\bto\bo_\b_a\bat\btt\btr\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GenericPrefetch(l\blo\boo\bok\bku\bup\bp, q\bqu\bue\ber\bry\bys\bse\bet\bts\bs, t\bto\bo_\b_a\bat\btt\btr\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This lookup is similar to Prefetch() and it should only be used on\n GenericForeignKey. The querysets argument accepts a list of querysets, each for\n a different ContentType. This is useful for GenericForeignKey with non-\n homogeneous set of results.\n >>> from django.contrib.contenttypes.prefetch import GenericPrefetch\n >>> bookmark = Bookmark.objects.create(url=\"https://www.djangoproject.com/\")\n >>> animal = Animal.objects.create(name=\"lion\", weight=100)\n@@ -370,16 +370,16 @@\n # _\bT_\bh_\be_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bT_\by_\bp_\be_\bM_\ba_\bn_\ba_\bg_\be_\br\n o _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bR_\be_\bv_\be_\br_\bs_\be_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bn_\bd_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn\n # _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bf_\bo_\br_\bm_\bs\n # _\bG_\be_\bn_\be_\br_\bi_\bc_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\ba_\bd_\bm_\bi_\bn\n # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b(_\b)\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\ba_\bp_\bp\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/flatpages.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/flatpages.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The flatpages app — Django 5.1.4 documentation\n+ The flatpages app — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,19 +76,19 @@\n
    \n
    \n
    \n
    \n \n
    \n

    The flatpages app\u00b6

    \n-

    Django comes with an optional \u201cflatpages\u201d application. It lets you store \u201cflat\u201d\n+

    Django comes with an optional \u00abflatpages\u00bb application. It lets you store \u00abflat\u00bb\n HTML content in a database and handles the management for you via Django\u2019s\n admin interface and a Python API.

    \n

    A flatpage is an object with a URL, title and content. Use it for one-off,\n-special-case pages, such as \u201cAbout\u201d or \u201cPrivacy Policy\u201d pages, that you want to\n+special-case pages, such as \u00abAbout\u00bb or \u00abPrivacy Policy\u00bb pages, that you want to\n store in a database but for which you don\u2019t want to develop a custom Django\n application.

    \n

    A flatpage can use a custom template or a default, systemwide flatpage\n template. It can be associated with one, or multiple, sites.

    \n

    The content field may optionally be left blank if you prefer to put your\n content in a custom template.

    \n
    \n@@ -133,26 +134,26 @@\n

    There are several ways to include the flat pages in your URLconf. You can\n dedicate a particular path to flat pages:

    \n
    urlpatterns = [\n     path("pages/", include("django.contrib.flatpages.urls")),\n ]\n 
    \n
    \n-

    You can also set it up as a \u201ccatchall\u201d pattern. In this case, it is important\n+

    You can also set it up as a \u00abcatchall\u00bb pattern. In this case, it is important\n to place the pattern at the end of the other urlpatterns:

    \n
    from django.contrib.flatpages import views\n \n # Your other patterns here\n urlpatterns += [\n     re_path(r"^(?P<url>.*/)$", views.flatpage),\n ]\n 
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If you set APPEND_SLASH to False, you must remove the slash\n in the catchall pattern or flatpages without a trailing slash will not be\n matched.

    \n
    \n

    Another common setup is to use flat pages for a limited set of known pages and\n to hard code the urls, so you can reference them with the url template\n tag:

    \n@@ -167,15 +168,15 @@\n
    \n
    \n

    Using the middleware\u00b6

    \n

    The FlatpageFallbackMiddleware\n can do all of the work.

    \n
    \n
    \n-class FlatpageFallbackMiddleware[source]\u00b6
    \n+class FlatpageFallbackMiddleware[sorgente]\u00b6\n

    Each time any Django application raises a 404 error, this middleware\n checks the flatpages database for the requested URL as a last resort.\n Specifically, it checks for a flatpage with the given URL with a site ID\n that corresponds to the SITE_ID setting.

    \n

    If it finds a match, it follows this algorithm:

    \n
      \n
    • If the flatpage has a custom template, it loads that template.\n@@ -210,33 +211,33 @@\n

      \n

      Ensure that your 404 template works

      \n

      Note that the\n FlatpageFallbackMiddleware\n only steps in once another view has successfully produced a 404 response.\n If another view or middleware class attempts to produce a 404 but ends up\n raising an exception instead, the response will become an HTTP 500\n-(\u201cInternal Server Error\u201d) and the\n+(\u00abInternal Server Error\u00bb) and the\n FlatpageFallbackMiddleware\n will not attempt to serve a flat page.

      \n
      \n
    \n
    \n
    \n

    How to add, change and delete flatpages\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Permissions to add or edit flatpages should be restricted to trusted users.\n Flatpages are defined by raw HTML and are not sanitized by Django. As a\n consequence, a malicious flatpage can lead to various security\n vulnerabilities, including permission escalation.

    \n
    \n
    \n

    Via the admin interface\u00b6

    \n

    If you\u2019ve activated the automatic Django admin interface, you should see a\n-\u201cFlatpages\u201d section on the admin index page. Edit flatpages as you edit any\n+\u00abFlatpages\u00bb section on the admin index page. Edit flatpages as you edit any\n other object in the system.

    \n

    The FlatPage model has an enable_comments field that isn\u2019t used by\n contrib.flatpages, but that could be useful for your project or third-party\n apps. It doesn\u2019t appear in the admin interface, but you can add it by\n registering a custom ModelAdmin for FlatPage:

    \n
    from django.contrib import admin\n from django.contrib.flatpages.admin import FlatPageAdmin\n@@ -268,15 +269,15 @@\n 
    \n
    \n
    \n
    \n

    Via the Python API\u00b6

    \n
    \n
    \n-class FlatPage[source]\u00b6
    \n+class FlatPage[sorgente]\u00b6\n

    Flatpages are represented by a standard\n Django model,\n which lives in django/contrib/flatpages/models.py. You can access\n flatpage objects via the Django database API.

    \n
    \n \n
    \n@@ -290,15 +291,15 @@\n
    \n
    \n
    \n

    Flatpage templates\u00b6

    \n

    By default, flatpages are rendered via the template\n flatpages/default.html, but you can override that for a\n particular flatpage: in the admin, a collapsed fieldset titled\n-\u201cAdvanced options\u201d (clicking will expand it) contains a field for\n+\u00abAdvanced options\u00bb (clicking will expand it) contains a field for\n specifying a template name. If you\u2019re creating a flat page via the\n Python API you can set the template name as the field template_name on the\n FlatPage object.

    \n

    Creating the flatpages/default.html template is your responsibility;\n in your template directory, create a flatpages directory containing a\n file default.html.

    \n

    Flatpage templates are passed a single context variable, flatpage,\n@@ -365,15 +366,15 @@\n

    \n
    \n
    \n
    \n

    Integrating with django.contrib.sitemaps\u00b6

    \n
    \n
    \n-class FlatPageSitemap[source]\u00b6
    \n+class FlatPageSitemap[sorgente]\u00b6\n

    The sitemaps.FlatPageSitemap class looks at all\n publicly visible flatpages defined for the current\n SITE_ID (see the sites documentation) and creates an entry in the sitemap. These entries\n include only the location\n attribute \u2013 not lastmod,\n changefreq or\n priority.

    \n@@ -439,37 +440,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The contenttypes framework

    \n+ title=\"capitolo precedente\">The contenttypes framework

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango

    \n+ title=\"capitolo successivo\">GeoDjango

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be f\bfl\bla\bat\btp\bpa\bag\bge\bes\bs a\bap\bpp\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Django comes with an optional \u201cflatpages\u201d application. It lets you store \u201cflat\u201d\n+Django comes with an optional \u00abflatpages\u00bb application. It lets you store \u00abflat\u00bb\n HTML content in a database and handles the management for you via Django\u2019s\n admin interface and a Python API.\n A flatpage is an object with a URL, title and content. Use it for one-off,\n-special-case pages, such as \u201cAbout\u201d or \u201cPrivacy Policy\u201d pages, that you want to\n+special-case pages, such as \u00abAbout\u00bb or \u00abPrivacy Policy\u00bb pages, that you want to\n store in a database but for which you don\u2019t want to develop a custom Django\n application.\n A flatpage can use a custom template or a default, systemwide flatpage\n template. It can be associated with one, or multiple, sites.\n The content field may optionally be left blank if you prefer to put your\n content in a custom template.\n *\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -38,36 +38,36 @@\n with a site.\n *\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg t\bth\bhe\be U\bUR\bRL\bLc\bco\bon\bnf\bf_\b?\b\u00b6 *\b**\b**\b**\b*\n There are several ways to include the flat pages in your URLconf. You can\n dedicate a particular path to flat pages:\n urlpatterns = [\n path(\"pages/\", include(\"django.contrib.flatpages.urls\")),\n ]\n-You can also set it up as a \u201ccatchall\u201d pattern. In this case, it is important\n+You can also set it up as a \u00abcatchall\u00bb pattern. In this case, it is important\n to place the pattern at the end of the other urlpatterns:\n from django.contrib.flatpages import views\n \n # Your other patterns here\n urlpatterns += [\n re_path(r\"^(?P.*/)$\", views.flatpage),\n ]\n-Warning\n+Avvertimento\n If you set _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH to False, you must remove the slash in the catchall\n pattern or flatpages without a trailing slash will not be matched.\n Another common setup is to use flat pages for a limited set of known pages and\n to hard code the urls, so you can reference them with the _\bu_\br_\bl template tag:\n from django.contrib.flatpages import views\n \n urlpatterns += [\n path(\"about-us/\", views.flatpage, {\"url\": \"/about-us/\"}, name=\"about\"),\n path(\"license/\", views.flatpage, {\"url\": \"/license/\"}, name=\"license\"),\n ]\n *\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg t\bth\bhe\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n The _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be can do all of the work.\n- c\bcl\bla\bas\bss\bs FlatpageFallbackMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FlatpageFallbackMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Each time any Django application raises a 404 error, this middleware\n checks the flatpages database for the requested URL as a last resort.\n Specifically, it checks for a flatpage with the given URL with a site ID\n that corresponds to the _\bS_\bI_\bT_\bE_\b__\bI_\bD setting.\n If it finds a match, it follows this algorithm:\n * If the flatpage has a custom template, it loads that template.\n Otherwise, it loads the template flatpages/default.html.\n@@ -91,25 +91,25 @@\n when processing the response, and ensures that any other response-processing\n middleware see the real flatpage response rather than the 404.\n For more on middleware, read the _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bd_\bo_\bc_\bs.\n Ensure that your 404 template works\n Note that the _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be only steps in once another view has\n successfully produced a 404 response. If another view or middleware class\n attempts to produce a 404 but ends up raising an exception instead, the\n-response will become an HTTP 500 (\u201cInternal Server Error\u201d) and the\n+response will become an HTTP 500 (\u00abInternal Server Error\u00bb) and the\n _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be will not attempt to serve a flat page.\n *\b**\b**\b**\b**\b* H\bHo\bow\bw t\bto\bo a\bad\bdd\bd,\b, c\bch\bha\ban\bng\bge\be a\ban\bnd\bd d\bde\bel\ble\bet\bte\be f\bfl\bla\bat\btp\bpa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Warning\n+Avvertimento\n Permissions to add or edit flatpages should be restricted to trusted users.\n Flatpages are defined by raw HTML and are n\bno\bot\bt s\bsa\ban\bni\bit\bti\biz\bze\bed\bd by Django. As a\n consequence, a malicious flatpage can lead to various security vulnerabilities,\n including permission escalation.\n *\b**\b**\b**\b* V\bVi\bia\ba t\bth\bhe\be a\bad\bdm\bmi\bin\bn i\bin\bnt\bte\ber\brf\bfa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n If you\u2019ve activated the automatic Django admin interface, you should see a\n-\u201cFlatpages\u201d section on the admin index page. Edit flatpages as you edit any\n+\u00abFlatpages\u00bb section on the admin index page. Edit flatpages as you edit any\n other object in the system.\n The FlatPage model has an enable_comments field that isn\u2019t used by\n contrib.flatpages, but that could be useful for your project or third-party\n apps. It doesn\u2019t appear in the admin interface, but you can add it by\n registering a custom ModelAdmin for FlatPage:\n from django.contrib import admin\n from django.contrib.flatpages.admin import FlatPageAdmin\n@@ -135,27 +135,27 @@\n ]\n \n \n # Re-register FlatPageAdmin\n admin.site.unregister(FlatPage)\n admin.site.register(FlatPage, FlatPageAdmin)\n *\b**\b**\b**\b* V\bVi\bia\ba t\bth\bhe\be P\bPy\byt\bth\bho\bon\bn A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FlatPage_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FlatPage_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Flatpages are represented by a standard _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bm_\bo_\bd_\be_\bl, which lives in\n _\bd_\bj_\ba_\bn_\bg_\bo_\b/_\bc_\bo_\bn_\bt_\br_\bi_\bb_\b/_\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b/_\bm_\bo_\bd_\be_\bl_\bs_\b._\bp_\by. You can access flatpage objects via\n the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI.\n Check for duplicate flatpage URLs.\n If you add or modify flatpages via your own code, you will likely want to check\n for duplicate flatpage URLs within the same site. The flatpage form used in the\n admin performs this validation check, and can be imported from\n django.contrib.flatpages.forms.FlatpageForm and used in your own views.\n *\b**\b**\b**\b**\b* F\bFl\bla\bat\btp\bpa\bag\bge\be t\bte\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n By default, flatpages are rendered via the template flatpages/default.html, but\n you can override that for a particular flatpage: in the admin, a collapsed\n-fieldset titled \u201cAdvanced options\u201d (clicking will expand it) contains a field\n+fieldset titled \u00abAdvanced options\u00bb (clicking will expand it) contains a field\n for specifying a template name. If you\u2019re creating a flat page via the Python\n API you can set the template name as the field template_name on the FlatPage\n object.\n Creating the flatpages/default.html template is your responsibility; in your\n template directory, create a flatpages directory containing a file\n default.html.\n Flatpage templates are passed a single context variable, flatpage, which is the\n@@ -200,15 +200,15 @@\n to those beginning with a particular base URL. This argument may be passed as a\n string, or as a variable to be resolved from the context.\n For example:\n {% get_flatpages '/about/' as about_pages %}\n {% get_flatpages about_prefix as about_pages %}\n {% get_flatpages '/about/' for someuser as about_pages %}\n *\b**\b**\b**\b**\b* I\bIn\bnt\bte\beg\bgr\bra\bat\bti\bin\bng\bg w\bwi\bit\bth\bh _\bd\bd_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b.\b._\bc\bc_\bo\bo_\bn\bn_\bt\bt_\br\br_\bi\bi_\bb\bb_\b.\b._\bs\bs_\bi\bi_\bt\bt_\be\be_\bm\bm_\ba\ba_\bp\bp_\bs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FlatPageSitemap_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FlatPageSitemap_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The _\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b._\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\bS_\bi_\bt_\be_\bm_\ba_\bp class looks at all publicly visible\n _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs defined for the current _\bS_\bI_\bT_\bE_\b__\bI_\bD (see the _\bs_\bi_\bt_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn)\n and creates an entry in the sitemap. These entries include only the\n _\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn attribute \u2013 not _\bl_\ba_\bs_\bt_\bm_\bo_\bd, _\bc_\bh_\ba_\bn_\bg_\be_\bf_\br_\be_\bq or _\bp_\br_\bi_\bo_\br_\bi_\bt_\by.\n *\b**\b**\b**\b* E\bEx\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Here\u2019s an example of a URLconf using _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\bS_\bi_\bt_\be_\bm_\ba_\bp:\n from django.contrib.flatpages.sitemaps import FlatPageSitemap\n@@ -236,16 +236,16 @@\n # _\bV_\bi_\ba_\b _\bt_\bh_\be_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bA_\bP_\bI\n o _\bF_\bl_\ba_\bt_\bp_\ba_\bg_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bG_\be_\bt_\bt_\bi_\bn_\bg_\b _\ba_\b _\bl_\bi_\bs_\bt_\b _\bo_\bf_\b _\bF_\bl_\ba_\bt_\bP_\ba_\bg_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bi_\bn_\b _\by_\bo_\bu_\br_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n # _\bD_\bi_\bs_\bp_\bl_\ba_\by_\bi_\bn_\bg_\b _\br_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs\n # _\bL_\bi_\bm_\bi_\bt_\bi_\bn_\bg_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\bb_\by_\b _\bb_\ba_\bs_\be_\b _\bU_\bR_\bL\n o _\bI_\bn_\bt_\be_\bg_\br_\ba_\bt_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs\n # _\bE_\bx_\ba_\bm_\bp_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/admin.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/admin.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango\u2019s admin site — Django 5.1.4 documentation\n+ GeoDjango\u2019s admin site — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -79,15 +80,15 @@\n \n
    \n

    GeoDjango\u2019s admin site\u00b6

    \n
    \n

    GISModelAdmin\u00b6

    \n
    \n
    \n-class GISModelAdmin[source]\u00b6
    \n+class GISModelAdmin[sorgente]\u00b6\n
    \n
    \n gis_widget\u00b6
    \n

    The widget class to be used for\n GeometryField. Defaults to\n OSMWidget.

    \n
    \n@@ -121,37 +122,37 @@\n
  • GISModelAdmin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Management Commands

    \n+ title=\"capitolo precedente\">GeoDjango Management Commands

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Geographic Feeds

    \n+ title=\"capitolo successivo\">Geographic Feeds

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,24 +1,24 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs a\bad\bdm\bmi\bin\bn s\bsi\bit\bte\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* G\bGI\bIS\bSM\bMo\bod\bde\bel\blA\bAd\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GISModelAdmin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GISModelAdmin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n gis_widget_\b\u00b6\n The widget class to be used for _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd. Defaults to\n _\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt.\n gis_widget_kwargs_\b\u00b6\n The keyword arguments that would be passed to the _\bg_\bi_\bs_\b__\bw_\bi_\bd_\bg_\be_\bt.\n Defaults to an empty dictionary.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n o _\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bF_\be_\be_\bd_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/commands.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/commands.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Management Commands — Django 5.1.4 documentation\n+ GeoDjango Management Commands — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -202,37 +203,37 @@\n
  • ogrinspect
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoJSON Serializer

    \n+ title=\"capitolo precedente\">GeoJSON Serializer

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango\u2019s admin site

    \n+ title=\"capitolo successivo\">GeoDjango\u2019s admin site

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo M\bMa\ban\bna\bag\bge\bem\bme\ben\bnt\bt C\bCo\bom\bmm\bma\ban\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* i\bin\bns\bsp\bpe\bec\bct\btd\bdb\bb_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n django-admin inspectdb\n When _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs is in your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS, the _\bi_\bn_\bs_\bp_\be_\bc_\bt_\bd_\bb management\n command is overridden with one from GeoDjango. The overridden command is\n@@ -47,16 +47,16 @@\n --srid SRID_\b\u00b6\n The SRID to use for the geometry field. If not set, ogrinspect attempts\n to automatically determine of the SRID of the data source.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n o _\bi_\bn_\bs_\bp_\be_\bc_\bt_\bd_\bb\n o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/db-api.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/db-api.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Database API — Django 5.1.4 documentation\n+ GeoDjango Database API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -187,15 +188,15 @@\n
    \n
    \n
    \n

    Spatial Lookups\u00b6

    \n

    GeoDjango\u2019s lookup types may be used with any manager method like\n filter(), exclude(), etc. However, the lookup types unique to\n GeoDjango are only available on spatial fields.

    \n-

    Filters on \u2018normal\u2019 fields (e.g. CharField)\n+

    Filters on \u201cnormal\u201d fields (e.g. CharField)\n may be chained with those on geographic fields. Geographic lookups accept\n geometry and raster input on both sides and input types can be mixed freely.

    \n

    The general structure of geographic lookups is described below. A complete\n reference can be found in the spatial lookup reference.

    \n
    \n

    Geometry Lookups\u00b6

    \n

    Geographic queries with geometries take the following general form (assuming\n@@ -272,29 +273,29 @@\n

  • distance_lt

  • \n
  • distance_lte

  • \n
  • distance_gt

  • \n
  • distance_gte

  • \n
  • dwithin (except MariaDB and MySQL)

  • \n \n
    \n-

    Note

    \n+

    Nota

    \n

    For measuring, rather than querying on distances, use the\n Distance function.

    \n
    \n

    Distance lookups take a tuple parameter comprising:

    \n
      \n
    1. A geometry or raster to base calculations from; and

    2. \n
    3. A number or Distance object containing the distance.

    4. \n
    \n

    If a Distance object is used,\n it may be expressed in any units (the SQL generated will use units\n converted to those of the field); otherwise, numeric parameters are assumed\n to be in the units of the field.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    In PostGIS, ST_Distance_Sphere does not limit the geometry types\n geographic distance queries are performed with. [3] However,\n these queries may take a long time, as great-circle distances must be\n calculated on the fly for every row in the query. This is because the\n spatial index on traditional geometry fields cannot be used.

    \n

    For much better performance on WGS84 distance queries, consider using\n geography columns in your database instead because\n@@ -998,37 +999,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Model API

    \n+ title=\"capitolo precedente\">GeoDjango Model API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Forms API

    \n+ title=\"capitolo successivo\">GeoDjango Forms API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo D\bDa\bat\bta\bab\bba\bas\bse\be A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl B\bBa\bac\bck\bke\ben\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n GeoDjango currently provides the following spatial database backends:\n * django.contrib.gis.db.backends.postgis\n * django.contrib.gis.db.backends.mysql\n@@ -84,15 +84,15 @@\n ... \"bands\": [{\"data\": range(100)}],\n ... },\n ... )\n *\b**\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl L\bLo\boo\bok\bku\bup\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n GeoDjango\u2019s lookup types may be used with any manager method like filter(),\n exclude(), etc. However, the lookup types unique to GeoDjango are only\n available on spatial fields.\n-Filters on \u2018normal\u2019 fields (e.g. _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd) may be chained with those on\n+Filters on \u201cnormal\u201d fields (e.g. _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd) may be chained with those on\n geographic fields. Geographic lookups accept geometry and raster input on both\n sides and input types can be mixed freely.\n The general structure of geographic lookups is described below. A complete\n reference can be found in the _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be.\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\by L\bLo\boo\bok\bku\bup\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Geographic queries with geometries take the following general form (assuming\n the Zipcode model used in the _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\bo_\bd_\be_\bl_\b _\bA_\bP_\bI):\n@@ -149,23 +149,23 @@\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: PostGIS, MariaDB, MySQL, Oracle, SpatiaLite, PGRaster (Native)\n The following distance lookups are available:\n * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt\n * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bl_\bt_\be\n * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bg_\bt\n * _\bd_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b__\bg_\bt_\be\n * _\bd_\bw_\bi_\bt_\bh_\bi_\bn (except MariaDB and MySQL)\n-Note\n+Nota\n For m\bme\bea\bas\bsu\bur\bri\bin\bng\bg, rather than querying on distances, use the _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be function.\n Distance lookups take a tuple parameter comprising:\n 1. A geometry or raster to base calculations from; and\n 2. A number or _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be object containing the distance.\n If a _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be object is used, it may be expressed in any units (the SQL\n generated will use units converted to those of the field); otherwise, numeric\n parameters are assumed to be in the units of the field.\n-Note\n+Nota\n In PostGIS, ST_Distance_Sphere does n\bno\bot\bt limit the geometry types geographic\n distance queries are performed with. _\b[_\b3_\b] However, these queries may take a long\n time, as great-circle distances must be calculated on the fly for e\bev\bve\ber\bry\by row in\n the query. This is because the spatial index on traditional geometry fields\n cannot be used.\n For much better performance on WGS84 distance queries, consider using _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by\n _\bc_\bo_\bl_\bu_\bm_\bn_\bs in your database instead because they are able to use their spatial\n@@ -318,16 +318,16 @@\n o _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bQ_\bu_\be_\br_\bi_\be_\bs\n # _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn\n # _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\b _\bL_\bo_\bo_\bk_\bu_\bp_\bs\n o _\bC_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bT_\ba_\bb_\bl_\be_\bs\n # _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bL_\bo_\bo_\bk_\bu_\bp_\bs\n # _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\bo_\bd_\be_\bl_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bm_\bs_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/deployment.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/deployment.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Deploying GeoDjango — Django 5.1.4 documentation\n+ Deploying GeoDjango — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -79,15 +80,15 @@\n \n
    \n

    Deploying GeoDjango\u00b6

    \n

    Basically, the deployment of a GeoDjango application is not different from\n the deployment of a normal Django application. Please consult Django\u2019s\n deployment documentation.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    GeoDjango uses the GDAL geospatial library which is\n not thread safe at this time. Thus, it is highly recommended\n to not use threading when deploying \u2013 in other words, use an\n appropriate configuration of Apache.

    \n

    For example, when configuring your application with mod_wsgi,\n set the WSGIDaemonProcess attribute threads to 1, unless\n Apache may crash when running your GeoDjango application. Increase the\n@@ -102,37 +103,37 @@\n \n \n

    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Testing GeoDjango apps

    \n+ title=\"capitolo precedente\">Testing GeoDjango apps

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    django.contrib.humanize

    \n+ title=\"capitolo successivo\">django.contrib.humanize

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDe\bep\bpl\blo\boy\byi\bin\bng\bg G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Basically, the deployment of a GeoDjango application is not different from the\n deployment of a normal Django application. Please consult Django\u2019s _\bd_\be_\bp_\bl_\bo_\by_\bm_\be_\bn_\bt\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n-Warning\n+Avvertimento\n GeoDjango uses the GDAL geospatial library which is not thread safe at this\n time. Thus, it is h\bhi\big\bgh\bhl\bly\by recommended to not use threading when deploying \u2013 in\n other words, use an appropriate configuration of Apache.\n For example, when configuring your application with mod_wsgi, set the\n WSGIDaemonProcess attribute threads to 1, unless Apache may crash when running\n your GeoDjango application. Increase the number of processes instead.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/feeds.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/feeds.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Geographic Feeds — Django 5.1.4 documentation\n+ Geographic Feeds — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,15 +89,15 @@\n
    \n
    \n

    API Reference\u00b6

    \n
    \n

    Feed Subclass\u00b6

    \n
    \n
    \n-class Feed[source]\u00b6
    \n+class Feed[sorgente]\u00b6\n

    In addition to methods provided by the\n django.contrib.syndication.views.Feed base class, GeoDjango\u2019s\n Feed class provides the following overrides. Note that these overrides\n may be done in multiple ways:

    \n
    from django.contrib.gis.feeds import Feed\n \n \n@@ -149,29 +150,29 @@\n 
    \n
    \n

    SyndicationFeed Subclasses\u00b6

    \n

    The following django.utils.feedgenerator.SyndicationFeed subclasses\n are available:

    \n
    \n
    \n-class GeoRSSFeed[source]\u00b6
    \n+class GeoRSSFeed[sorgente]\u00b6\n
    \n \n
    \n
    \n-class GeoAtom1Feed[source]\u00b6
    \n+class GeoAtom1Feed[sorgente]\u00b6\n
    \n \n
    \n
    \n-class W3CGeoFeed[source]\u00b6
    \n+class W3CGeoFeed[sorgente]\u00b6\n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    W3C Geo formatted feeds only support\n PointField geometries.

    \n
    \n
    \n
    \n
    \n \n@@ -197,37 +198,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango\u2019s admin site

    \n+ title=\"capitolo precedente\">GeoDjango\u2019s admin site

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Geographic Sitemaps

    \n+ title=\"capitolo successivo\">Geographic Sitemaps

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\bog\bgr\bra\bap\bph\bhi\bic\bc F\bFe\bee\bed\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n GeoDjango has its own _\bF_\be_\be_\bd subclass that may embed location information in RSS/\n Atom feeds formatted according to either the _\bS_\bi_\bm_\bp_\bl_\be_\b _\bG_\be_\bo_\bR_\bS_\bS or _\bW_\b3_\bC_\b _\bG_\be_\bo\n standards. Because GeoDjango\u2019s syndication API is a superset of Django\u2019s,\n please consult _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for details on general usage.\n *\b**\b**\b**\b**\b* E\bEx\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* A\bAP\bPI\bI R\bRe\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* F\bFe\bee\bed\bd S\bSu\bub\bbc\bcl\bla\bas\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Feed_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Feed_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n In addition to methods provided by the\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b._\bv_\bi_\be_\bw_\bs_\b._\bF_\be_\be_\bd base class, GeoDjango\u2019s Feed class\n provides the following overrides. Note that these overrides may be done\n in multiple ways:\n from django.contrib.gis.feeds import Feed\n \n \n@@ -46,27 +46,27 @@\n class ZipcodeFeed(Feed):\n def item_geometry(self, obj):\n # Returns the polygon.\n return obj.poly\n *\b**\b**\b**\b* S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd S\bSu\bub\bbc\bcl\bla\bas\bss\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n The following _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bf_\be_\be_\bd_\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br_\b._\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd subclasses are\n available:\n- c\bcl\bla\bas\bss\bs GeoRSSFeed_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs GeoAtom1Feed_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs W3CGeoFeed_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n-Note\n+ c\bcl\bla\bas\bss\bs GeoRSSFeed_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeoAtom1Feed_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs W3CGeoFeed_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+Nota\n _\bW_\b3_\bC_\b _\bG_\be_\bo formatted feeds only support _\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd geometries.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bF_\be_\be_\bd_\bs\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n # _\bF_\be_\be_\bd_\b _\bS_\bu_\bb_\bc_\bl_\ba_\bs_\bs\n # _\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\be_\be_\bd_\b _\bS_\bu_\bb_\bc_\bl_\ba_\bs_\bs_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bS_\bi_\bt_\be_\bm_\ba_\bp_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/forms-api.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/forms-api.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Forms API — Django 5.1.4 documentation\n+ GeoDjango Forms API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,71 +113,71 @@\n
    \n
    \n

    Form field classes\u00b6

    \n
    \n

    GeometryField\u00b6

    \n
    \n
    \n-class GeometryField[source]\u00b6
    \n+class GeometryField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    PointField\u00b6

    \n
    \n
    \n-class PointField[source]\u00b6
    \n+class PointField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    LineStringField\u00b6

    \n
    \n
    \n-class LineStringField[source]\u00b6
    \n+class LineStringField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    PolygonField\u00b6

    \n
    \n
    \n-class PolygonField[source]\u00b6
    \n+class PolygonField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    MultiPointField\u00b6

    \n
    \n
    \n-class MultiPointField[source]\u00b6
    \n+class MultiPointField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    MultiLineStringField\u00b6

    \n
    \n
    \n-class MultiLineStringField[source]\u00b6
    \n+class MultiLineStringField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    MultiPolygonField\u00b6

    \n
    \n
    \n-class MultiPolygonField[source]\u00b6
    \n+class MultiPolygonField[sorgente]\u00b6\n
    \n \n
    \n
    \n

    GeometryCollectionField\u00b6

    \n
    \n
    \n-class GeometryCollectionField[source]\u00b6
    \n+class GeometryCollectionField[sorgente]\u00b6\n
    \n \n
    \n
    \n
    \n

    Form widgets\u00b6

    \n

    GeoDjango form widgets allow you to display and edit geographic data on a\n@@ -230,38 +231,38 @@\n \n

    \n
    \n

    Widget classes\u00b6

    \n

    BaseGeometryWidget

    \n
    \n
    \n-class BaseGeometryWidget[source]\u00b6
    \n+class BaseGeometryWidget[sorgente]\u00b6\n

    This is an abstract base widget containing the logic needed by subclasses.\n You cannot directly use this widget for a geometry field.\n Note that the rendering of GeoDjango widgets is based on a template,\n identified by the template_name class attribute.

    \n
    \n \n

    OpenLayersWidget

    \n
    \n
    \n-class OpenLayersWidget[source]\u00b6
    \n+class OpenLayersWidget[sorgente]\u00b6\n

    This is the default widget used by all GeoDjango form fields.\n template_name is gis/openlayers.html.

    \n

    OpenLayersWidget and OSMWidget use the ol.js file hosted\n on the cdn.jsdelivr.net content-delivery network. You can subclass\n these widgets in order to specify your own version of the ol.js file in\n the js property of the inner Media class (see\n Assets as a static definition).

    \n
    \n \n

    OSMWidget

    \n
    \n
    \n-class OSMWidget[source]\u00b6
    \n+class OSMWidget[sorgente]\u00b6\n

    This widget uses an OpenStreetMap base layer to display geographic objects\n on. Attributes are:

    \n
    \n
    \n template_name\u00b6
    \n

    gis/openlayers-osm.html

    \n
    \n@@ -330,37 +331,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Database API

    \n+ title=\"capitolo precedente\">GeoDjango Database API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GIS QuerySet API Reference

    \n+ title=\"capitolo successivo\">GIS QuerySet API Reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo F\bFo\bor\brm\bms\bs A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n GeoDjango provides some specialized form fields and widgets in order to\n visually display and edit geolocalized data on a map. By default, they use\n _\bO_\bp_\be_\bn_\bL_\ba_\by_\be_\br_\bs-powered maps, with a base WMS layer provided by _\bN_\bA_\bS_\bA.\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bd a\bar\brg\bgu\bum\bme\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -17,29 +17,29 @@\n *\b**\b**\b**\b* g\bge\beo\bom\bm_\b_t\bty\byp\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.geom_type_\b\u00b6\n You generally shouldn\u2019t have to set or change that attribute which should\n be set up depending on the field class. It matches the OpenGIS standard\n geometry name.\n *\b**\b**\b**\b**\b* F\bFo\bor\brm\bm f\bfi\bie\bel\bld\bd c\bcl\bla\bas\bss\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* P\bPo\boi\bin\bnt\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PointField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PointField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* L\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bgF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LineStringField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LineStringField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* P\bPo\bol\bly\byg\bgo\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PolygonField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PolygonField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\boi\bin\bnt\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPointField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPointField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biL\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bgF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiLineStringField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiLineStringField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\bol\bly\byg\bgo\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPolygonField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPolygonField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byC\bCo\bol\bll\ble\bec\bct\bti\bio\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryCollectionField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryCollectionField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b**\b* F\bFo\bor\brm\bm w\bwi\bid\bdg\bge\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n GeoDjango form widgets allow you to display and edit geographic data on a\n visual map. Note that none of the currently available widgets supports 3D\n geometries, hence geometry fields will fallback using a Textarea widget for\n such data.\n *\b**\b**\b**\b* W\bWi\bid\bdg\bge\bet\bt a\bat\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n GeoDjango widgets are template-based, so their attributes are mostly different\n@@ -62,29 +62,29 @@\n \n \n class MyGeoForm(forms.Form):\n point = forms.PointField(widget=forms.OSMWidget(attrs={\"display_raw\":\n True}))\n *\b**\b**\b**\b* W\bWi\bid\bdg\bge\bet\bt c\bcl\bla\bas\bss\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseGeometryWidget\n- c\bcl\bla\bas\bss\bs BaseGeometryWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseGeometryWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This is an abstract base widget containing the logic needed by\n subclasses. You cannot directly use this widget for a geometry field.\n Note that the rendering of GeoDjango widgets is based on a template,\n identified by the _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bn_\ba_\bm_\be class attribute.\n OpenLayersWidget\n- c\bcl\bla\bas\bss\bs OpenLayersWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OpenLayersWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This is the default widget used by all GeoDjango form fields.\n template_name is gis/openlayers.html.\n OpenLayersWidget and _\bO_\bS_\bM_\bW_\bi_\bd_\bg_\be_\bt use the ol.js file hosted on the\n cdn.jsdelivr.net content-delivery network. You can subclass these widgets\n in order to specify your own version of the ol.js file in the js property\n of the inner Media class (see _\bA_\bs_\bs_\be_\bt_\bs_\b _\ba_\bs_\b _\ba_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bo_\bn).\n OSMWidget\n- c\bcl\bla\bas\bss\bs OSMWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OSMWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This widget uses an OpenStreetMap base layer to display geographic\n objects on. Attributes are:\n template_name_\b\u00b6\n gis/openlayers-osm.html\n default_lat_\b\u00b6\n default_lon_\b\u00b6\n The default center latitude and longitude are 47 and 5,\n@@ -106,16 +106,16 @@\n # _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt_\bF_\bi_\be_\bl_\bd\n # _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg_\bF_\bi_\be_\bl_\bd\n # _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn_\bF_\bi_\be_\bl_\bd\n # _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn_\bF_\bi_\be_\bl_\bd\n o _\bF_\bo_\br_\bm_\b _\bw_\bi_\bd_\bg_\be_\bt_\bs\n # _\bW_\bi_\bd_\bg_\be_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bW_\bi_\bd_\bg_\be_\bt_\b _\bc_\bl_\ba_\bs_\bs_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\bI_\bS_\b _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/functions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/functions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Geographic Database Functions — Django 5.1.4 documentation\n+ Geographic Database Functions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -152,29 +153,29 @@\n \n \n
    \n
    \n

    Area\u00b6

    \n
    \n
    \n-class Area(expression, **extra)[source]\u00b6
    \n+class Area(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the area of the\n field as an Area measure.

    \n

    MySQL and SpatiaLite without LWGEOM/RTTOPO don\u2019t support area calculations on\n geographic SRSes.

    \n
    \n
    \n

    AsGeoJSON\u00b6

    \n
    \n
    \n-class AsGeoJSON(expression, bbox=False, crs=False, precision=8, **extra)[source]\u00b6
    \n+class AsGeoJSON(expression, bbox=False, crs=False, precision=8, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a GeoJSON representation of the geometry. Note that the result\n is not a complete GeoJSON structure but only the geometry key content of a\n GeoJSON structure. See also GeoJSON Serializer.

    \n@@ -209,15 +210,15 @@\n \n \n
    \n
    \n

    AsGML\u00b6

    \n
    \n
    \n-class AsGML(expression, version=2, precision=8, **extra)[source]\u00b6
    \n+class AsGML(expression, version=2, precision=8, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: Oracle, PostGIS,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Geographic Markup\n Language (GML) representation of the geometry.

    \n

    Example:

    \n@@ -245,15 +246,15 @@\n \n \n
    \n
    \n

    AsKML\u00b6

    \n
    \n
    \n-class AsKML(expression, precision=8, **extra)[source]\u00b6
    \n+class AsKML(expression, precision=8, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Keyhole Markup\n Language (KML) representation of the geometry.

    \n

    Example:

    \n
    >>> qs = Zipcode.objects.annotate(kml=AsKML("poly"))\n@@ -277,15 +278,15 @@\n \n \n 
    \n
    \n

    AsSVG\u00b6

    \n
    \n
    \n-class AsSVG(expression, relative=False, precision=8, **extra)[source]\u00b6
    \n+class AsSVG(expression, relative=False, precision=8, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Scalable Vector\n Graphics (SVG) representation of the geometry.

    \n \n \n@@ -307,15 +308,15 @@\n \n
    \n
    \n
    \n

    AsWKB\u00b6

    \n
    \n
    \n-class AsWKB(expression, **extra)[source]\u00b6
    \n+class AsWKB(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Well-known\n binary (WKB) representation of the geometry.

    \n

    Example:

    \n@@ -324,15 +325,15 @@\n
    \n
    \n \n
    \n

    AsWKT\u00b6

    \n
    \n
    \n-class AsWKT(expression, **extra)[source]\u00b6
    \n+class AsWKT(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Well-known text\n (WKT) representation of the geometry.

    \n

    Example:

    \n@@ -341,29 +342,29 @@\n
    \n
    \n \n
    \n

    Azimuth\u00b6

    \n
    \n
    \n-class Azimuth(point_a, point_b, **extra)[source]\u00b6
    \n+class Azimuth(point_a, point_b, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite (LWGEOM/RTTOPO)

    \n

    Returns the azimuth in radians of the segment defined by the given point\n geometries, or None if the two points are coincident. The azimuth is angle\n referenced from north and is positive clockwise: north = 0; east = \u03c0/2;\n south = \u03c0; west = 3\u03c0/2.

    \n
    \n
    \n

    BoundingCircle\u00b6

    \n
    \n
    \n-class BoundingCircle(expression, num_seg=48, **extra)[source]\u00b6
    \n+class BoundingCircle(expression, num_seg=48, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n Oracle,\n SpatiaLite 5.1+

    \n

    Accepts a single geographic field or expression and returns the smallest circle\n polygon that can fully contain the geometry.

    \n@@ -372,54 +373,54 @@\n Changed in Django 5.1:

    SpatiaLite 5.1+ support was added.

    \n
    \n \n
    \n

    Centroid\u00b6

    \n
    \n
    \n-class Centroid(expression, **extra)[source]\u00b6
    \n+class Centroid(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the centroid\n value of the geometry.

    \n
    \n
    \n

    ClosestPoint\u00b6

    \n
    \n New in Django 5.0.
    \n
    \n
    \n-class ClosestPoint(expr1, expr2, **extra)[source]\u00b6
    \n+class ClosestPoint(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the 2-dimensional\n point on geometry A that is closest to geometry B.

    \n
    \n
    \n

    Difference\u00b6

    \n
    \n
    \n-class Difference(expr1, expr2, **extra)[source]\u00b6
    \n+class Difference(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the geometric\n difference, that is the part of geometry A that does not intersect with\n geometry B.

    \n
    \n
    \n

    Distance\u00b6

    \n
    \n
    \n-class Distance(expr1, expr2, spheroid=None, **extra)[source]\u00b6
    \n+class Distance(expr1, expr2, spheroid=None, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the distance between\n them, as a Distance object. On MySQL, a raw\n float value is returned when the coordinates are geodetic.

    \n@@ -442,55 +443,55 @@\n Wollongong 990071.220408 m\n Shellharbour 972804.613941 m\n Thirroul 1002334.36351 m\n ...\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Because the distance attribute is a\n Distance object, you can easily express\n the value in the units of your choice. For example, city.distance.mi is\n the distance value in miles and city.distance.km is the distance value\n in kilometers. See Measurement Objects for usage details and the list of\n Supported units.

    \n
    \n \n
    \n

    Envelope\u00b6

    \n
    \n
    \n-class Envelope(expression, **extra)[source]\u00b6
    \n+class Envelope(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle,\n PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the geometry\n representing the bounding box of the geometry.

    \n
    \n
    \n

    ForcePolygonCW\u00b6

    \n
    \n
    \n-class ForcePolygonCW(expression, **extra)[source]\u00b6
    \n+class ForcePolygonCW(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a modified version\n of the polygon/multipolygon in which all exterior rings are oriented clockwise\n and all interior rings are oriented counterclockwise. Non-polygonal geometries\n are returned unchanged.

    \n
    \n
    \n

    FromWKB\u00b6

    \n
    \n
    \n-class FromWKB(expression, srid=0, **extra)[source]\u00b6
    \n+class FromWKB(expression, srid=0, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Creates geometry from Well-known binary (WKB) representation. The optional\n srid argument allows to specify the SRID of the resulting geometry.\n srid is ignored on Oracle.

    \n@@ -498,15 +499,15 @@\n Changed in Django 5.1:

    The srid argument was added.

    \n
    \n \n
    \n

    FromWKT\u00b6

    \n
    \n
    \n-class FromWKT(expression, srid=0, **extra)[source]\u00b6
    \n+class FromWKT(expression, srid=0, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Creates geometry from Well-known text (WKT) representation. The optional\n srid argument allows to specify the SRID of the resulting geometry.\n srid is ignored on Oracle.

    \n@@ -514,77 +515,77 @@\n Changed in Django 5.1:

    The srid argument was added.

    \n
    \n \n
    \n

    GeoHash\u00b6

    \n
    \n
    \n-class GeoHash(expression, precision=None, **extra)[source]\u00b6
    \n+class GeoHash(expression, precision=None, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MySQL,\n PostGIS, SpatiaLite\n (LWGEOM/RTTOPO)

    \n

    Accepts a single geographic field or expression and returns a GeoHash\n representation of the geometry.

    \n

    The precision keyword argument controls the number of characters in the\n result.

    \n
    \n
    \n

    GeometryDistance\u00b6

    \n
    \n
    \n-class GeometryDistance(expr1, expr2, **extra)[source]\u00b6
    \n+class GeometryDistance(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS

    \n

    Accepts two geographic fields or expressions and returns the distance between\n them. When used in an order_by() clause,\n it provides index-assisted nearest-neighbor result sets.

    \n
    \n
    \n

    Intersection\u00b6

    \n
    \n
    \n-class Intersection(expr1, expr2, **extra)[source]\u00b6
    \n+class Intersection(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the geometric\n intersection between them.

    \n
    \n
    \n

    IsEmpty\u00b6

    \n
    \n
    \n-class IsEmpty(expr)[source]\u00b6
    \n+class IsEmpty(expr)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS

    \n

    Accepts a geographic field or expression and tests if the value is an empty\n geometry. Returns True if its value is empty and False otherwise.

    \n
    \n
    \n

    IsValid\u00b6

    \n
    \n
    \n-class IsValid(expr)[source]\u00b6
    \n+class IsValid(expr)[sorgente]\u00b6\n
    \n \n

    Availability: MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts a geographic field or expression and tests if the value is well formed.\n Returns True if its value is a valid geometry and False otherwise.

    \n
    \n
    \n

    Length\u00b6

    \n
    \n
    \n-class Length(expression, spheroid=True, **extra)[source]\u00b6
    \n+class Length(expression, spheroid=True, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n Oracle, PostGIS, SpatiaLite

    \n

    Accepts a single geographic linestring or multilinestring field or expression\n and returns its length as a Distance\n measure.

    \n@@ -594,128 +595,128 @@\n resource-intensive) with the spheroid keyword argument.

    \n

    MySQL doesn\u2019t support length calculations on geographic SRSes.

    \n
    \n
    \n

    LineLocatePoint\u00b6

    \n
    \n
    \n-class LineLocatePoint(linestring, point, **extra)[source]\u00b6
    \n+class LineLocatePoint(linestring, point, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Returns a float between 0 and 1 representing the location of the closest point on\n linestring to the given point, as a fraction of the 2D line length.

    \n
    \n
    \n

    MakeValid\u00b6

    \n
    \n
    \n-class MakeValid(expr)[source]\u00b6
    \n+class MakeValid(expr)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite (LWGEOM/RTTOPO)

    \n

    Accepts a geographic field or expression and attempts to convert the value into\n a valid geometry without losing any of the input vertices. Geometries that are\n already valid are returned without changes. Simple polygons might become a\n multipolygon and the result might be of lower dimension than the input.

    \n
    \n
    \n

    MemSize\u00b6

    \n
    \n
    \n-class MemSize(expression, **extra)[source]\u00b6
    \n+class MemSize(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS

    \n

    Accepts a single geographic field or expression and returns the memory size\n (number of bytes) that the geometry field takes.

    \n
    \n
    \n

    NumGeometries\u00b6

    \n
    \n
    \n-class NumGeometries(expression, **extra)[source]\u00b6
    \n+class NumGeometries(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the number of\n geometries if the geometry field is a collection (e.g., a GEOMETRYCOLLECTION\n or MULTI* field). Returns 1 for single geometries.

    \n

    On MySQL, returns None for single geometries.

    \n
    \n
    \n

    NumPoints\u00b6

    \n
    \n
    \n-class NumPoints(expression, **extra)[source]\u00b6
    \n+class NumPoints(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the number of points\n in a geometry.

    \n

    On MySQL, returns None for any non-LINESTRING geometry.

    \n
    \n
    \n

    Perimeter\u00b6

    \n
    \n
    \n-class Perimeter(expression, **extra)[source]\u00b6
    \n+class Perimeter(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n Oracle, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns the perimeter of the\n geometry field as a Distance object.

    \n
    \n
    \n

    PointOnSurface\u00b6

    \n
    \n
    \n-class PointOnSurface(expression, **extra)[source]\u00b6
    \n+class PointOnSurface(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n MariaDB, Oracle, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a Point geometry\n guaranteed to lie on the surface of the field; otherwise returns None.

    \n
    \n
    \n

    Reverse\u00b6

    \n
    \n
    \n-class Reverse(expression, **extra)[source]\u00b6
    \n+class Reverse(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS, Oracle,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a geometry with\n reversed coordinates.

    \n
    \n
    \n

    Scale\u00b6

    \n
    \n
    \n-class Scale(expression, x, y, z=0.0, **extra)[source]\u00b6
    \n+class Scale(expression, x, y, z=0.0, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS, SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a geometry with\n scaled coordinates by multiplying them with the x, y, and optionally\n z parameters.

    \n
    \n
    \n

    SnapToGrid\u00b6

    \n
    \n
    \n-class SnapToGrid(expression, *args, **extra)[source]\u00b6
    \n+class SnapToGrid(expression, *args, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a geometry with all\n points snapped to the given grid. How the geometry is snapped to the grid\n depends on how many numeric (either float, integer, or long) arguments are\n@@ -739,61 +740,61 @@\n \n \n

    \n
    \n

    SymDifference\u00b6

    \n
    \n
    \n-class SymDifference(expr1, expr2, **extra)[source]\u00b6
    \n+class SymDifference(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle,\n SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the geometric\n symmetric difference (union without the intersection) between the given\n parameters.

    \n
    \n
    \n

    Transform\u00b6

    \n
    \n
    \n-class Transform(expression, srid, **extra)[source]\u00b6
    \n+class Transform(expression, srid, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n Oracle, SpatiaLite

    \n

    Accepts a geographic field or expression and a SRID integer code, and returns\n the transformed geometry to the spatial reference system specified by the\n srid parameter.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    What spatial reference system an integer SRID corresponds to may depend on\n the spatial database used. In other words, the SRID numbers used for Oracle\n are not necessarily the same as those used by PostGIS.

    \n
    \n
    \n
    \n

    Translate\u00b6

    \n
    \n
    \n-class Translate(expression, x, y, z=0.0, **extra)[source]\u00b6
    \n+class Translate(expression, x, y, z=0.0, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Accepts a single geographic field or expression and returns a geometry with\n its coordinates offset by the x, y, and optionally z numeric\n parameters.

    \n
    \n
    \n

    Union\u00b6

    \n
    \n
    \n-class Union(expr1, expr2, **extra)[source]\u00b6
    \n+class Union(expr1, expr2, **extra)[sorgente]\u00b6\n
    \n \n

    Availability: MariaDB, MySQL,\n PostGIS, Oracle, SpatiaLite

    \n

    Accepts two geographic fields or expressions and returns the union of both\n geometries.

    \n
    \n@@ -852,37 +853,37 @@\n
  • Union
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GIS QuerySet API Reference

    \n+ title=\"capitolo precedente\">GIS QuerySet API Reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Measurement Objects

    \n+ title=\"capitolo successivo\">Measurement Objects

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\bog\bgr\bra\bap\bph\bhi\bic\bc D\bDa\bat\bta\bab\bba\bas\bse\be F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The functions documented on this page allow users to access geographic database\n functions to be used in annotations, aggregations, or filters in Django.\n Example:\n >>> from django.contrib.gis.db.models.functions import Length\n@@ -18,23 +18,23 @@\n _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be _\bB_\bo_\bu_\bn_\bd_\bi_\bn_\bg_\bC_\bi_\br_\bc_\bl_\be _\bI_\bn_\bt_\be_\br_\bs_\be_\bc_\bt_\bi_\bo_\bn _\bM_\ba_\bk_\be_\bV_\ba_\bl_\bi_\bd _\bA_\bs_\bG_\bM_\bL _\bI_\bs_\bV_\ba_\bl_\bi_\bd\n _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be _\bC_\be_\bn_\bt_\br_\bo_\bi_\bd _\bS_\by_\bm_\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be _\bR_\be_\bv_\be_\br_\bs_\be _\bA_\bs_\bK_\bM_\bL _\bM_\be_\bm_\bS_\bi_\bz_\be\n _\bL_\be_\bn_\bg_\bt_\bh _\bC_\bl_\bo_\bs_\be_\bs_\bt_\bP_\bo_\bi_\bn_\bt _\bU_\bn_\bi_\bo_\bn _\bS_\bc_\ba_\bl_\be _\bA_\bs_\bS_\bV_\bG _\bN_\bu_\bm_\bG_\be_\bo_\bm_\be_\bt_\br_\bi_\be_\bs\n _\bE_\bn_\bv_\be_\bl_\bo_\bp_\be _\bS_\bn_\ba_\bp_\bT_\bo_\bG_\br_\bi_\bd _\bF_\br_\bo_\bm_\bW_\bK_\bB _\bA_\bs_\bW_\bK_\bB\n _\bP_\be_\br_\bi_\bm_\be_\bt_\be_\br _\bL_\bi_\bn_\be_\bL_\bo_\bc_\ba_\bt_\be_\bP_\bo_\bi_\bn_\bt _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm _\bF_\br_\bo_\bm_\bW_\bK_\bT _\bA_\bs_\bW_\bK_\bT _\bN_\bu_\bm_\bP_\bo_\bi_\bn_\bt_\bs\n _\bP_\bo_\bi_\bn_\bt_\bO_\bn_\bS_\bu_\br_\bf_\ba_\bc_\be _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be _\bG_\be_\bo_\bH_\ba_\bs_\bh\n *\b**\b**\b**\b**\b* A\bAr\bre\bea\ba_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Area(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Area(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns the area of the\n field as an _\bA_\br_\be_\ba measure.\n MySQL and SpatiaLite without LWGEOM/RTTOPO don\u2019t support area calculations on\n geographic SRSes.\n *\b**\b**\b**\b**\b* A\bAs\bsG\bGe\beo\boJ\bJS\bSO\bON\bN_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs AsGeoJSON(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, b\bbb\bbo\box\bx=\b=F\bFa\bal\bls\bse\be, c\bcr\brs\bs=\b=F\bFa\bal\bls\bse\be, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bG_\be_\bo_\bJ_\bS_\bO_\bN\n representation of the geometry. Note that the result is not a complete GeoJSON\n structure but only the geometry key content of a GeoJSON structure. See also\n _\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br.\n Example:\n >>> City.objects.annotate(json=AsGeoJSON(\"point\")).get(name=\"Chicago\").json\n@@ -45,105 +45,105 @@\n Set this to True if you want the coordinate reference system\n crs to be included in the returned GeoJSON. Ignored on MySQL and\n Oracle.\n It may be used to specify the number of significant digits for\n precision the coordinates in the GeoJSON representation \u2013 the default\n value is 8. Ignored on Oracle.\n *\b**\b**\b**\b**\b* A\bAs\bsG\bGM\bML\bL_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AsGML(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, v\bve\ber\brs\bsi\bio\bon\bn=\b=2\b2, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AsGML(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, v\bve\ber\brs\bsi\bio\bon\bn=\b=2\b2, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bM_\ba_\br_\bk_\bu_\bp\n _\bL_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\b(_\bG_\bM_\bL_\b) representation of the geometry.\n Example:\n >>> qs = Zipcode.objects.annotate(gml=AsGML(\"poly\"))\n >>> print(qs[0].gml)\n -147.78711,70.245363 ...\n -147.78711,70.245363\n K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bt D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n Specifies the number of significant digits for the coordinates\n precision in the GML representation \u2013 the default value is 8. Ignored on\n Oracle.\n version Specifies the GML version to use: 2 (default) or 3.\n *\b**\b**\b**\b**\b* A\bAs\bsK\bKM\bML\bL_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AsKML(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AsKML(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bK_\be_\by_\bh_\bo_\bl_\be_\b _\bM_\ba_\br_\bk_\bu_\bp\n _\bL_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\b(_\bK_\bM_\bL_\b) representation of the geometry.\n Example:\n >>> qs = Zipcode.objects.annotate(kml=AsKML(\"poly\"))\n >>> print(qs[0].kml)\n -103.04135,36.217596,0 ...\n -103.04135,36.217596,0\n K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bt D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n This keyword may be used to specify the number of significant\n precision digits for the coordinates in the KML representation \u2013 the\n default value is 8.\n *\b**\b**\b**\b**\b* A\bAs\bsS\bSV\bVG\bG_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AsSVG(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, r\bre\bel\bla\bat\bti\biv\bve\be=\b=F\bFa\bal\bls\bse\be, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AsSVG(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, r\bre\bel\bla\bat\bti\biv\bve\be=\b=F\bFa\bal\bls\bse\be, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=8\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bS_\bc_\ba_\bl_\ba_\bb_\bl_\be_\b _\bV_\be_\bc_\bt_\bo_\br\n _\bG_\br_\ba_\bp_\bh_\bi_\bc_\bs_\b _\b(_\bS_\bV_\bG_\b) representation of the geometry.\n K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bt D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n If set to True, the path data will be implemented in terms of\n relative relative moves. Defaults to False, meaning that absolute moves\n are used instead.\n This keyword may be used to specify the number of significant\n precision digits for the coordinates in the SVG representation \u2013 the\n default value is 8.\n *\b**\b**\b**\b**\b* A\bAs\bsW\bWK\bKB\bB_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AsWKB(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AsWKB(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bW_\be_\bl_\bl_\b-_\bk_\bn_\bo_\bw_\bn_\b _\bb_\bi_\bn_\ba_\br_\by\n _\b(_\bW_\bK_\bB_\b) representation of the geometry.\n Example:\n >>> bytes(City.objects.annotate(wkb=AsWKB(\"point\")).get\n (name=\"Chelyabinsk\").wkb)\n b'\\x01\\x01\\x00\\x00\\x00]3\\xf9f\\x9b\\x91K@\\x00X\\x1d9\\xd2\\xb9N@'\n *\b**\b**\b**\b**\b* A\bAs\bsW\bWK\bKT\bT_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AsWKT(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AsWKT(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a _\bW_\be_\bl_\bl_\b-_\bk_\bn_\bo_\bw_\bn_\b _\bt_\be_\bx_\bt_\b \n _\b(_\bW_\bK_\bT_\b) representation of the geometry.\n Example:\n >>> City.objects.annotate(wkt=AsWKT(\"point\")).get(name=\"Chelyabinsk\").wkt\n 'POINT (55.137555 61.451728)'\n *\b**\b**\b**\b**\b* A\bAz\bzi\bim\bmu\but\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Azimuth(p\bpo\boi\bin\bnt\bt_\b_a\ba, p\bpo\boi\bin\bnt\bt_\b_b\bb, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Azimuth(p\bpo\boi\bin\bnt\bt_\b_a\ba, p\bpo\boi\bin\bnt\bt_\b_b\bb, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite (LWGEOM/RTTOPO)\n Returns the azimuth in radians of the segment defined by the given point\n geometries, or None if the two points are coincident. The azimuth is angle\n referenced from north and is positive clockwise: north = 0; east = \u03c0/2; south =\n \u03c0; west = 3\u03c0/2.\n *\b**\b**\b**\b**\b* B\bBo\bou\bun\bnd\bdi\bin\bng\bgC\bCi\bir\brc\bcl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BoundingCircle(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnu\bum\bm_\b_s\bse\beg\bg=\b=4\b48\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BoundingCircle(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnu\bum\bm_\b_s\bse\beg\bg=\b=4\b48\b8, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, _\bO_\br_\ba_\bc_\bl_\be, SpatiaLite 5.1+\n Accepts a single geographic field or expression and returns the smallest circle\n polygon that can fully contain the geometry.\n The num_seg parameter is used only on PostGIS.\n Changed in Django 5.1:\n SpatiaLite 5.1+ support was added.\n *\b**\b**\b**\b**\b* C\bCe\ben\bnt\btr\bro\boi\bid\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Centroid(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Centroid(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns the centroid value\n of the geometry.\n *\b**\b**\b**\b**\b* C\bCl\blo\bos\bse\bes\bst\btP\bPo\boi\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n New in Django 5.0.\n- c\bcl\bla\bas\bss\bs ClosestPoint(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ClosestPoint(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts two geographic fields or expressions and returns the 2-dimensional\n point on geometry A that is closest to geometry B.\n *\b**\b**\b**\b**\b* D\bDi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Difference(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Difference(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts two geographic fields or expressions and returns the geometric\n difference, that is the part of geometry A that does not intersect with\n geometry B.\n *\b**\b**\b**\b**\b* D\bDi\bis\bst\bta\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Distance(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, s\bsp\bph\bhe\ber\bro\boi\bid\bd=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Distance(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, s\bsp\bph\bhe\ber\bro\boi\bid\bd=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts two geographic fields or expressions and returns the distance between\n them, as a _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be object. On MySQL, a raw float value is returned when the\n coordinates are geodetic.\n On backends that support distance calculation on geodetic coordinates, the\n proper backend function is automatically chosen depending on the SRID value of\n the geometries (e.g. _\bS_\bT_\b__\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be_\bS_\bp_\bh_\be_\br_\be on PostGIS).\n@@ -160,170 +160,170 @@\n pnt)):\n ... print(city.name, city.distance)\n ...\n Wollongong 990071.220408 m\n Shellharbour 972804.613941 m\n Thirroul 1002334.36351 m\n ...\n-Note\n+Nota\n Because the distance attribute is a _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be object, you can easily express the\n value in the units of your choice. For example, city.distance.mi is the\n distance value in miles and city.distance.km is the distance value in\n kilometers. See _\bM_\be_\ba_\bs_\bu_\br_\be_\bm_\be_\bn_\bt_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs for usage details and the list of _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd\n _\bu_\bn_\bi_\bt_\bs.\n *\b**\b**\b**\b**\b* E\bEn\bnv\bve\bel\blo\bop\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Envelope(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Envelope(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bO_\br_\ba_\bc_\bl_\be, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns the geometry\n representing the bounding box of the geometry.\n *\b**\b**\b**\b**\b* F\bFo\bor\brc\bce\beP\bPo\bol\bly\byg\bgo\bon\bnC\bCW\bW_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ForcePolygonCW(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ForcePolygonCW(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a modified version\n of the polygon/multipolygon in which all exterior rings are oriented clockwise\n and all interior rings are oriented counterclockwise. Non-polygonal geometries\n are returned unchanged.\n *\b**\b**\b**\b**\b* F\bFr\bro\bom\bmW\bWK\bKB\bB_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FromWKB(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FromWKB(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Creates geometry from _\bW_\be_\bl_\bl_\b-_\bk_\bn_\bo_\bw_\bn_\b _\bb_\bi_\bn_\ba_\br_\by_\b _\b(_\bW_\bK_\bB_\b) representation. The optional srid\n argument allows to specify the SRID of the resulting geometry. srid is ignored\n on Oracle.\n Changed in Django 5.1:\n The srid argument was added.\n *\b**\b**\b**\b**\b* F\bFr\bro\bom\bmW\bWK\bKT\bT_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FromWKT(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FromWKT(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Creates geometry from _\bW_\be_\bl_\bl_\b-_\bk_\bn_\bo_\bw_\bn_\b _\bt_\be_\bx_\bt_\b _\b(_\bW_\bK_\bT_\b) representation. The optional srid\n argument allows to specify the SRID of the resulting geometry. srid is ignored\n on Oracle.\n Changed in Django 5.1:\n The srid argument was added.\n *\b**\b**\b**\b**\b* G\bGe\beo\boH\bHa\bas\bsh\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeoHash(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeoHash(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite (LWGEOM/RTTOPO)\n Accepts a single geographic field or expression and returns a _\bG_\be_\bo_\bH_\ba_\bs_\bh\n representation of the geometry.\n The precision keyword argument controls the number of characters in the result.\n *\b**\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byD\bDi\bis\bst\bta\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryDistance(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryDistance(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n Accepts two geographic fields or expressions and returns the distance between\n them. When used in an _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) clause, it provides index-assisted nearest-\n neighbor result sets.\n *\b**\b**\b**\b**\b* I\bIn\bnt\bte\ber\brs\bse\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Intersection(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Intersection(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts two geographic fields or expressions and returns the geometric\n intersection between them.\n *\b**\b**\b**\b**\b* I\bIs\bsE\bEm\bmp\bpt\bty\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs IsEmpty(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs IsEmpty(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n Accepts a geographic field or expression and tests if the value is an empty\n geometry. Returns True if its value is empty and False otherwise.\n *\b**\b**\b**\b**\b* I\bIs\bsV\bVa\bal\bli\bid\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs IsValid(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs IsValid(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a geographic field or expression and tests if the value is well formed.\n Returns True if its value is a valid geometry and False otherwise.\n *\b**\b**\b**\b**\b* L\bLe\ben\bng\bgt\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Length(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsp\bph\bhe\ber\bro\boi\bid\bd=\b=T\bTr\bru\bue\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Length(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsp\bph\bhe\ber\bro\boi\bid\bd=\b=T\bTr\bru\bue\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, Oracle, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic linestring or multilinestring field or expression\n and returns its length as a _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be measure.\n On PostGIS and SpatiaLite, when the coordinates are geodetic (angular), you can\n specify if the calculation should be based on a simple sphere (less accurate,\n less resource-intensive) or on a spheroid (more accurate, more resource-\n intensive) with the spheroid keyword argument.\n MySQL doesn\u2019t support length calculations on geographic SRSes.\n *\b**\b**\b**\b**\b* L\bLi\bin\bne\beL\bLo\boc\bca\bat\bte\beP\bPo\boi\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LineLocatePoint(l\bli\bin\bne\bes\bst\btr\bri\bin\bng\bg, p\bpo\boi\bin\bnt\bt, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LineLocatePoint(l\bli\bin\bne\bes\bst\btr\bri\bin\bng\bg, p\bpo\boi\bin\bnt\bt, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Returns a float between 0 and 1 representing the location of the closest point\n on linestring to the given point, as a fraction of the 2D line length.\n *\b**\b**\b**\b**\b* M\bMa\bak\bke\beV\bVa\bal\bli\bid\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MakeValid(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MakeValid(e\bex\bxp\bpr\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite (LWGEOM/RTTOPO)\n Accepts a geographic field or expression and attempts to convert the value into\n a valid geometry without losing any of the input vertices. Geometries that are\n already valid are returned without changes. Simple polygons might become a\n multipolygon and the result might be of lower dimension than the input.\n *\b**\b**\b**\b**\b* M\bMe\bem\bmS\bSi\biz\bze\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MemSize(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MemSize(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n Accepts a single geographic field or expression and returns the memory size\n (number of bytes) that the geometry field takes.\n *\b**\b**\b**\b**\b* N\bNu\bum\bmG\bGe\beo\bom\bme\bet\btr\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs NumGeometries(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs NumGeometries(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns the number of\n geometries if the geometry field is a collection (e.g., a GEOMETRYCOLLECTION or\n MULTI* field). Returns 1 for single geometries.\n On MySQL, returns None for single geometries.\n *\b**\b**\b**\b**\b* N\bNu\bum\bmP\bPo\boi\bin\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs NumPoints(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs NumPoints(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns the number of\n points in a geometry.\n On MySQL, returns None for any non-LINESTRING geometry.\n *\b**\b**\b**\b**\b* P\bPe\ber\bri\bim\bme\bet\bte\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Perimeter(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Perimeter(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns the perimeter of\n the geometry field as a _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be object.\n *\b**\b**\b**\b**\b* P\bPo\boi\bin\bnt\btO\bOn\bnS\bSu\bur\brf\bfa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PointOnSurface(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PointOnSurface(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, MariaDB, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns a Point geometry\n guaranteed to lie on the surface of the field; otherwise returns None.\n *\b**\b**\b**\b**\b* R\bRe\bev\bve\ber\brs\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Reverse(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Reverse(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a single geographic field or expression and returns a geometry with\n reversed coordinates.\n *\b**\b**\b**\b**\b* S\bSc\bca\bal\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Scale(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, x\bx, y\by, z\bz=\b=0\b0.\b.0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Scale(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, x\bx, y\by, z\bz=\b=0\b0.\b.0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a geometry with\n scaled coordinates by multiplying them with the x, y, and optionally z\n parameters.\n *\b**\b**\b**\b**\b* S\bSn\bna\bap\bpT\bTo\boG\bGr\bri\bid\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SnapToGrid(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b*a\bar\brg\bgs\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SnapToGrid(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b*a\bar\brg\bgs\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a geometry with all\n points snapped to the given grid. How the geometry is snapped to the grid\n depends on how many numeric (either float, integer, or long) arguments are\n given.\n N\bNu\bum\bmb\bbe\ber\br o\bof\bf A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n 1 A single size to snap both the X and Y grids to.\n 2 X and Y sizes to snap the grid to.\n 4 X, Y sizes and the corresponding X, Y origins.\n *\b**\b**\b**\b**\b* S\bSy\bym\bmD\bDi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SymDifference(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SymDifference(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts two geographic fields or expressions and returns the geometric\n symmetric difference (union without the intersection) between the given\n parameters.\n *\b**\b**\b**\b**\b* T\bTr\bra\ban\bns\bsf\bfo\bor\brm\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Transform(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Transform(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, s\bsr\bri\bid\bd, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts a geographic field or expression and a SRID integer code, and returns\n the transformed geometry to the spatial reference system specified by the srid\n parameter.\n-Note\n+Nota\n What spatial reference system an integer SRID corresponds to may depend on the\n spatial database used. In other words, the SRID numbers used for Oracle are not\n necessarily the same as those used by PostGIS.\n *\b**\b**\b**\b**\b* T\bTr\bra\ban\bns\bsl\bla\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Translate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, x\bx, y\by, z\bz=\b=0\b0.\b.0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Translate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, x\bx, y\by, z\bz=\b=0\b0.\b.0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Accepts a single geographic field or expression and returns a geometry with its\n coordinates offset by the x, y, and optionally z numeric parameters.\n *\b**\b**\b**\b**\b* U\bUn\bni\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Union(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Union(e\bex\bxp\bpr\br1\b1, e\bex\bxp\bpr\br2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: MariaDB, _\bM_\by_\bS_\bQ_\bL, _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Accepts two geographic fields or expressions and returns the union of both\n geometries.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n o _\bA_\br_\be_\ba\n o _\bA_\bs_\bG_\be_\bo_\bJ_\bS_\bO_\bN\n@@ -358,16 +358,16 @@\n o _\bR_\be_\bv_\be_\br_\bs_\be\n o _\bS_\bc_\ba_\bl_\be\n o _\bS_\bn_\ba_\bp_\bT_\bo_\bG_\br_\bi_\bd\n o _\bS_\by_\bm_\bD_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm\n o _\bT_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be\n o _\bU_\bn_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\bI_\bS_\b _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\be_\ba_\bs_\bu_\br_\be_\bm_\be_\bn_\bt_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/gdal.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/gdal.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GDAL API — Django 5.1.4 documentation\n+ GDAL API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,24 +77,24 @@\n
    \n
    \n
    \n \n
    \n

    GDAL API\u00b6

    \n

    GDAL stands for Geospatial Data Abstraction Library,\n-and is a veritable \u201cSwiss army knife\u201d of GIS data functionality. A subset\n+and is a veritable \u00abSwiss army knife\u00bb of GIS data functionality. A subset\n of GDAL is the OGR Simple Features Library, which specializes\n in reading and writing vector geographic data in a variety of standard\n formats.

    \n

    GeoDjango provides a high-level Python interface for some of the\n capabilities of OGR, including the reading and coordinate transformation\n of vector spatial data and minimal support for GDAL\u2019s features with respect\n to raster (image) data.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Although the module is named gdal, GeoDjango only supports some of the\n capabilities of OGR and GDAL\u2019s raster features at this time.

    \n
    \n
    \n

    Overview\u00b6

    \n
    \n

    Sample Data\u00b6

    \n@@ -120,15 +121,15 @@\n object, contains some number of geographic features (Feature),\n information about the type of features contained in that layer (e.g.\n points, polygons, etc.), as well as the names and types of any\n additional fields (Field) of data that may be associated with\n each feature in that layer.

    \n
    \n
    \n-class DataSource(ds_input, encoding='utf-8')[source]\u00b6
    \n+class DataSource(ds_input, encoding='utf-8')[sorgente]\u00b6\n

    The constructor for DataSource only requires one parameter: the path of\n the file you want to read. However, OGR also supports a variety of more\n complex data sources, including databases, that may be accessed by passing\n a special name string instead of a path. For more information, see the\n OGR Vector Formats documentation. The name property of a\n DataSource instance gives the OGR name of the underlying data source\n that it is using.

    \n@@ -145,21 +146,21 @@\n '/path/to/your/cities.shp'\n >>> ds.layer_count # This file only contains one layer\n 1\n
    \n
    \n
    \n
    \n-layer_count[source]\u00b6
    \n+layer_count[sorgente]\u00b6\n
    \n \n

    Returns the number of layers in the data source.

    \n
    \n
    \n-name[source]\u00b6
    \n+name[sorgente]\u00b6\n
    \n \n

    Returns the name of the data source.

    \n \n \n \n
    \n@@ -570,20 +571,20 @@\n \n \n
    \n
    \n

    Driver\u00b6

    \n
    \n
    \n-class Driver(dr_input)[source]\u00b6
    \n+class Driver(dr_input)[sorgente]\u00b6\n

    The Driver class is used internally to wrap an OGR DataSource\n driver.

    \n
    \n
    \n-driver_count[source]\u00b6
    \n+driver_count[sorgente]\u00b6\n
    \n \n

    Returns the number of OGR vector drivers currently registered.

    \n
    \n \n
    \n \n@@ -599,30 +600,30 @@\n coordinate transformation:

    \n
    >>> from django.contrib.gis.gdal import OGRGeometry\n >>> polygon = OGRGeometry("POLYGON((0 0, 5 0, 5 5, 0 5))")\n 
    \n
    \n
    \n
    \n-class OGRGeometry(geom_input, srs=None)[source]\u00b6
    \n+class OGRGeometry(geom_input, srs=None)[sorgente]\u00b6\n

    This object is a wrapper for the OGR Geometry class. These objects are\n instantiated directly from the given geom_input parameter, which may be\n a string containing WKT, HEX, GeoJSON, a buffer containing WKB data, or\n an OGRGeomType object. These objects are also returned from the\n Feature.geom attribute, when reading vector data from\n Layer (which is in turn a part of a DataSource).

    \n
    \n
    \n-classmethod from_gml(gml_string)[source]\u00b6
    \n+classmethod from_gml(gml_string)[sorgente]\u00b6\n
    \n \n

    Constructs an OGRGeometry from the given GML string.

    \n
    \n
    \n-classmethod from_bbox(bbox)[source]\u00b6
    \n+classmethod from_bbox(bbox)[sorgente]\u00b6\n
    \n \n

    Constructs a Polygon from the given bounding-box (a 4-tuple).

    \n
    \n
    \n __len__()\u00b6
    \n
    \n@@ -645,44 +646,44 @@\n \n

    Returns the point at the specified index for a LineString, the\n interior ring at the specified index for a Polygon, or the geometry\n at the specified index in a GeometryCollection. Not applicable to\n other geometry types.

    \n
    \n
    \n-dimension[source]\u00b6
    \n+dimension[sorgente]\u00b6\n
    \n \n

    Returns the number of coordinated dimensions of the geometry, i.e. 0\n for points, 1 for lines, and so forth:

    \n
    >>> polygon.dimension\n 2\n 
    \n
    \n
    \n
    \n-coord_dim[source]\u00b6
    \n+coord_dim[sorgente]\u00b6\n
    \n \n

    Returns the coordinate dimension of this geometry. For example, the value\n would be 2 for two-dimensional geometries.

    \n
    \n-

    Deprecated since version 5.1: The coord_dim setter is deprecated. Use set_3d() instead.

    \n+

    Deprecato dalla versione 5.1: The coord_dim setter is deprecated. Use set_3d() instead.

    \n
    \n
    \n
    \n-is_3d[source]\u00b6
    \n+is_3d[sorgente]\u00b6\n
    \n \n
    \n New in Django 5.1.
    \n

    A boolean indicating if this geometry has Z coordinates.

    \n
    \n
    \n-set_3d(value)[source]\u00b6
    \n+set_3d(value)[sorgente]\u00b6\n
    \n \n
    \n New in Django 5.1.
    \n

    A method that adds or removes the Z coordinate dimension.

    \n
    >>> p = OGRGeometry("POINT (1 2 3)")\n >>> p.is_3d\n@@ -690,23 +691,23 @@\n >>> p.set_3d(False)\n >>> p.wkt\n "POINT (1 2)"\n 
    \n
    \n
    \n
    \n-is_measured[source]\u00b6
    \n+is_measured[sorgente]\u00b6\n
    \n \n
    \n New in Django 5.1.
    \n

    A boolean indicating if this geometry has M coordinates.

    \n
    \n
    \n-set_measured(value)[source]\u00b6
    \n+set_measured(value)[sorgente]\u00b6\n
    \n \n
    \n New in Django 5.1.
    \n

    A method to add or remove the M coordinate dimension.

    \n
    >>> p = OGRGeometry("POINT (1 2)")\n >>> p.is_measured\n@@ -714,80 +715,80 @@\n >>> p.set_measured(True)\n >>> p.wkt\n "POINT M (1 2 0)"\n 
    \n
    \n
    \n
    \n-geom_count[source]\u00b6
    \n+geom_count[sorgente]\u00b6\n
    \n \n

    Returns the number of elements in this geometry:

    \n
    >>> polygon.geom_count\n 1\n 
    \n
    \n
    \n
    \n-point_count[source]\u00b6
    \n+point_count[sorgente]\u00b6\n
    \n \n

    Returns the number of points used to describe this geometry:

    \n
    >>> polygon.point_count\n 4\n 
    \n
    \n
    \n
    \n-num_points[source]\u00b6
    \n+num_points[sorgente]\u00b6\n
    \n \n

    Alias for point_count.

    \n
    \n
    \n-num_coords[source]\u00b6
    \n+num_coords[sorgente]\u00b6\n
    \n \n

    Alias for point_count.

    \n
    \n
    \n-geom_type[source]\u00b6
    \n+geom_type[sorgente]\u00b6\n
    \n \n

    Returns the type of this geometry, as an OGRGeomType object.

    \n
    \n
    \n-geom_name[source]\u00b6
    \n+geom_name[sorgente]\u00b6\n
    \n \n

    Returns the name of the type of this geometry:

    \n
    >>> polygon.geom_name\n 'POLYGON'\n 
    \n
    \n
    \n
    \n-area[source]\u00b6
    \n+area[sorgente]\u00b6\n
    \n \n

    Returns the area of this geometry, or 0 for geometries that do not contain\n an area:

    \n
    >>> polygon.area\n 25.0\n 
    \n
    \n
    \n
    \n-envelope[source]\u00b6
    \n+envelope[sorgente]\u00b6\n
    \n \n

    Returns the envelope of this geometry, as an Envelope object.

    \n
    \n
    \n-extent[source]\u00b6
    \n+extent[sorgente]\u00b6\n
    \n \n

    Returns the envelope of this geometry as a 4-tuple, instead of as an\n Envelope object:

    \n
    >>> point.extent\n (0.0, 0.0, 5.0, 5.0)\n 
    \n@@ -813,215 +814,215 @@\n \n

    Returns or sets the spatial reference identifier corresponding to\n SpatialReference of this geometry. Returns None if\n there is no spatial reference information associated with this\n geometry, or if an SRID cannot be determined.

    \n
    \n
    \n-geos[source]\u00b6
    \n+geos[sorgente]\u00b6\n
    \n \n

    Returns a GEOSGeometry object\n corresponding to this geometry.

    \n
    \n
    \n-gml[source]\u00b6
    \n+gml[sorgente]\u00b6\n
    \n \n

    Returns a string representation of this geometry in GML format:

    \n
    >>> OGRGeometry("POINT(1 2)").gml\n '<gml:Point><gml:coordinates>1,2</gml:coordinates></gml:Point>'\n 
    \n
    \n
    \n
    \n-hex[source]\u00b6
    \n+hex[sorgente]\u00b6\n
    \n \n

    Returns a string representation of this geometry in HEX WKB format:

    \n
    >>> OGRGeometry("POINT(1 2)").hex\n '0101000000000000000000F03F0000000000000040'\n 
    \n
    \n
    \n
    \n-json[source]\u00b6
    \n+json[sorgente]\u00b6\n
    \n \n

    Returns a string representation of this geometry in JSON format:

    \n
    >>> OGRGeometry("POINT(1 2)").json\n '{ "type": "Point", "coordinates": [ 1.000000, 2.000000 ] }'\n 
    \n
    \n
    \n
    \n-kml[source]\u00b6
    \n+kml[sorgente]\u00b6\n
    \n \n

    Returns a string representation of this geometry in KML format.

    \n
    \n
    \n-wkb_size[source]\u00b6
    \n+wkb_size[sorgente]\u00b6\n
    \n \n

    Returns the size of the WKB buffer needed to hold a WKB representation\n of this geometry:

    \n
    >>> OGRGeometry("POINT(1 2)").wkb_size\n 21\n 
    \n
    \n
    \n
    \n-wkb[source]\u00b6
    \n+wkb[sorgente]\u00b6\n
    \n \n

    Returns a buffer containing a WKB representation of this geometry.

    \n
    \n
    \n-wkt[source]\u00b6
    \n+wkt[sorgente]\u00b6\n
    \n \n

    Returns a string representation of this geometry in WKT format.

    \n
    \n
    \n-ewkt[source]\u00b6
    \n+ewkt[sorgente]\u00b6\n
    \n \n

    Returns the EWKT representation of this geometry.

    \n
    \n
    \n-clone()[source]\u00b6
    \n+clone()[sorgente]\u00b6\n
    \n \n

    Returns a new OGRGeometry clone of this geometry object.

    \n
    \n
    \n-close_rings()[source]\u00b6
    \n+close_rings()[sorgente]\u00b6\n
    \n \n

    If there are any rings within this geometry that have not been closed,\n this routine will do so by adding the starting point to the end:

    \n
    >>> triangle = OGRGeometry("LINEARRING (0 0,0 1,1 0)")\n >>> triangle.close_rings()\n >>> triangle.wkt\n 'LINEARRING (0 0,0 1,1 0,0 0)'\n 
    \n
    \n
    \n
    \n-transform(coord_trans, clone=False)[source]\u00b6
    \n+transform(coord_trans, clone=False)[sorgente]\u00b6\n
    \n \n

    Transforms this geometry to a different spatial reference system. May take\n a CoordTransform object, a SpatialReference object, or\n any other input accepted by SpatialReference (including spatial\n reference WKT and PROJ strings, or an integer SRID).

    \n

    By default nothing is returned and the geometry is transformed in-place.\n However, if the clone keyword is set to True then a transformed\n clone of this geometry is returned instead.

    \n
    \n
    \n-intersects(other)[source]\u00b6
    \n+intersects(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry intersects the other, otherwise returns\n False.

    \n
    \n
    \n-equals(other)[source]\u00b6
    \n+equals(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry is equivalent to the other, otherwise\n returns False.

    \n
    \n
    \n-disjoint(other)[source]\u00b6
    \n+disjoint(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry is spatially disjoint to (i.e. does\n not intersect) the other, otherwise returns False.

    \n
    \n
    \n-touches(other)[source]\u00b6
    \n+touches(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry touches the other, otherwise returns\n False.

    \n
    \n
    \n-crosses(other)[source]\u00b6
    \n+crosses(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry crosses the other, otherwise returns\n False.

    \n
    \n
    \n-within(other)[source]\u00b6
    \n+within(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry is contained within the other, otherwise\n returns False.

    \n
    \n
    \n-contains(other)[source]\u00b6
    \n+contains(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry contains the other, otherwise returns\n False.

    \n
    \n
    \n-overlaps(other)[source]\u00b6
    \n+overlaps(other)[sorgente]\u00b6\n
    \n \n

    Returns True if this geometry overlaps the other, otherwise returns\n False.

    \n
    \n
    \n-boundary()[source]\u00b6
    \n+boundary()[sorgente]\u00b6\n
    \n \n

    The boundary of this geometry, as a new OGRGeometry object.

    \n
    \n
    \n-convex_hull[source]\u00b6
    \n+convex_hull[sorgente]\u00b6\n
    \n \n

    The smallest convex polygon that contains this geometry, as a new\n OGRGeometry object.

    \n
    \n
    \n-difference()[source]\u00b6
    \n+difference()[sorgente]\u00b6\n
    \n \n

    Returns the region consisting of the difference of this geometry and\n the other, as a new OGRGeometry object.

    \n
    \n
    \n-intersection()[source]\u00b6
    \n+intersection()[sorgente]\u00b6\n
    \n \n

    Returns the region consisting of the intersection of this geometry and\n the other, as a new OGRGeometry object.

    \n
    \n
    \n-sym_difference()[source]\u00b6
    \n+sym_difference()[sorgente]\u00b6\n
    \n \n

    Returns the region consisting of the symmetric difference of this\n geometry and the other, as a new OGRGeometry object.

    \n
    \n
    \n-union()[source]\u00b6
    \n+union()[sorgente]\u00b6\n
    \n \n

    Returns the region consisting of the union of this geometry and\n the other, as a new OGRGeometry object.

    \n
    \n
    \n-centroid[source]\u00b6
    \n+centroid[sorgente]\u00b6\n
    \n \n

    Returns a Point representing the centroid of this geometry.

    \n
    \n Changed in Django 5.1:

    centroid was promoted from a Polygon only attribute to\n being available on all geometry types.

    \n
    \n@@ -1175,28 +1176,28 @@\n
    \n \n \n
    \n

    OGRGeomType\u00b6

    \n
    \n
    \n-class OGRGeomType(type_input)[source]\u00b6
    \n+class OGRGeomType(type_input)[sorgente]\u00b6\n

    This class allows for the representation of an OGR geometry type\n in any of several ways:

    \n
    >>> from django.contrib.gis.gdal import OGRGeomType\n >>> gt1 = OGRGeomType(3)  # Using an integer for the type\n >>> gt2 = OGRGeomType("Polygon")  # Using a string\n >>> gt3 = OGRGeomType("POLYGON")  # It's case-insensitive\n >>> print(gt1 == 3, gt1 == "Polygon")  # Equivalence works w/non-OGRGeomType objects\n True True\n 
    \n
    \n
    \n
    \n-name[source]\u00b6
    \n+name[sorgente]\u00b6\n
    \n \n

    Returns a short-hand string form of the OGR Geometry type:

    \n
    >>> gt1.name\n 'Polygon'\n 
    \n
    \n@@ -1208,15 +1209,15 @@\n

    Returns the number corresponding to the OGR geometry type:

    \n
    >>> gt1.num\n 3\n 
    \n
    \n
    \n
    \n-django[source]\u00b6
    \n+django[sorgente]\u00b6\n
    \n \n

    Returns the Django field type (a subclass of GeometryField) to use for\n storing this OGR type, or None if there is no appropriate Django type:

    \n
    >>> gt1.django\n 'PolygonField'\n 
    \n@@ -1224,82 +1225,82 @@\n
    \n \n
    \n
    \n

    Envelope\u00b6

    \n
    \n
    \n-class Envelope(*args)[source]\u00b6
    \n+class Envelope(*args)[sorgente]\u00b6\n

    Represents an OGR Envelope structure that contains the minimum and maximum\n X, Y coordinates for a rectangle bounding box. The naming of the variables\n is compatible with the OGR Envelope C structure.

    \n
    \n
    \n-min_x[source]\u00b6
    \n+min_x[sorgente]\u00b6\n
    \n \n

    The value of the minimum X coordinate.

    \n
    \n
    \n-min_y[source]\u00b6
    \n+min_y[sorgente]\u00b6\n
    \n \n

    The value of the maximum X coordinate.

    \n
    \n
    \n-max_x[source]\u00b6
    \n+max_x[sorgente]\u00b6\n
    \n \n

    The value of the minimum Y coordinate.

    \n
    \n
    \n-max_y[source]\u00b6
    \n+max_y[sorgente]\u00b6\n
    \n \n

    The value of the maximum Y coordinate.

    \n
    \n
    \n-ur[source]\u00b6
    \n+ur[sorgente]\u00b6\n
    \n \n

    The upper-right coordinate, as a tuple.

    \n
    \n
    \n-ll[source]\u00b6
    \n+ll[sorgente]\u00b6\n
    \n \n

    The lower-left coordinate, as a tuple.

    \n
    \n
    \n-tuple[source]\u00b6
    \n+tuple[sorgente]\u00b6\n
    \n \n

    A tuple representing the envelope.

    \n
    \n
    \n-wkt[source]\u00b6
    \n+wkt[sorgente]\u00b6\n
    \n \n

    A string representing this envelope as a polygon in WKT format.

    \n
    \n
    \n-expand_to_include(*args)[source]\u00b6
    \n+expand_to_include(*args)[sorgente]\u00b6\n
    \n \n
    \n \n
    \n \n
    \n

    Coordinate System Objects\u00b6

    \n
    \n

    SpatialReference\u00b6

    \n
    \n
    \n-class SpatialReference(srs_input)[source]\u00b6
    \n+class SpatialReference(srs_input)[sorgente]\u00b6\n

    Spatial reference objects are initialized on the given srs_input,\n which may be one of the following:

    \n
      \n
    • OGC Well Known Text (WKT) (a string)

    • \n
    • EPSG code (integer or string)

    • \n
    • PROJ string

    • \n
    • A shorthand string for well-known standards ('WGS84', 'WGS72',\n@@ -1323,15 +1324,15 @@\n ... AUTHORITY["EPSG","9122"]],\n ... AUTHORITY["EPSG","4326"]]"""\n ... ) # OGC WKT\n

    \n
    \n
    \n
    \n-__getitem__(target)[source]\u00b6
    \n+__getitem__(target)[sorgente]\u00b6\n
    \n \n

    Returns the value of the given string attribute node, None if the node\n doesn\u2019t exist. Can also take a tuple as a parameter, (target, child), where\n child is the index of the attribute in the WKT. For example:

    \n
    >>> wkt = 'GEOGCS["WGS 84", DATUM["WGS_1984, ... AUTHORITY["EPSG","4326"]]'\n >>> srs = SpatialReference(wkt)  # could also use 'WGS84', or 4326\n@@ -1349,219 +1350,219 @@\n EPSG\n >>> print(srs["UNIT|AUTHORITY", 1])  # The authority value for the units\n 9122\n 
    \n
    \n
    \n
    \n-attr_value(target, index=0)[source]\u00b6
    \n+attr_value(target, index=0)[sorgente]\u00b6\n
    \n \n

    The attribute value for the given target node (e.g. 'PROJCS').\n The index keyword specifies an index of the child node to return.

    \n
    \n
    \n-auth_name(target)[source]\u00b6
    \n+auth_name(target)[sorgente]\u00b6\n
    \n \n

    Returns the authority name for the given string target node.

    \n
    \n
    \n-auth_code(target)[source]\u00b6
    \n+auth_code(target)[sorgente]\u00b6\n
    \n \n

    Returns the authority code for the given string target node.

    \n
    \n
    \n-clone()[source]\u00b6
    \n+clone()[sorgente]\u00b6\n
    \n \n

    Returns a clone of this spatial reference object.

    \n
    \n
    \n-identify_epsg()[source]\u00b6
    \n+identify_epsg()[sorgente]\u00b6\n
    \n \n

    This method inspects the WKT of this SpatialReference and will add EPSG\n authority nodes where an EPSG identifier is applicable.

    \n
    \n
    \n-from_esri()[source]\u00b6
    \n+from_esri()[sorgente]\u00b6\n
    \n \n

    Morphs this SpatialReference from ESRI\u2019s format to EPSG

    \n
    \n
    \n-to_esri()[source]\u00b6
    \n+to_esri()[sorgente]\u00b6\n
    \n \n

    Morphs this SpatialReference to ESRI\u2019s format.

    \n
    \n
    \n-validate()[source]\u00b6
    \n+validate()[sorgente]\u00b6\n
    \n \n

    Checks to see if the given spatial reference is valid, if not\n an exception will be raised.

    \n
    \n
    \n-import_epsg(epsg)[source]\u00b6
    \n+import_epsg(epsg)[sorgente]\u00b6\n
    \n \n

    Import spatial reference from EPSG code.

    \n
    \n
    \n-import_proj(proj)[source]\u00b6
    \n+import_proj(proj)[sorgente]\u00b6\n
    \n \n

    Import spatial reference from PROJ string.

    \n
    \n
    \n-import_user_input(user_input)[source]\u00b6
    \n+import_user_input(user_input)[sorgente]\u00b6\n
    \n \n
    \n
    \n-import_wkt(wkt)[source]\u00b6
    \n+import_wkt(wkt)[sorgente]\u00b6\n
    \n \n

    Import spatial reference from WKT.

    \n
    \n
    \n-import_xml(xml)[source]\u00b6
    \n+import_xml(xml)[sorgente]\u00b6\n
    \n \n

    Import spatial reference from XML.

    \n
    \n
    \n-name[source]\u00b6
    \n+name[sorgente]\u00b6\n
    \n \n

    Returns the name of this Spatial Reference.

    \n
    \n
    \n-srid[source]\u00b6
    \n+srid[sorgente]\u00b6\n
    \n \n

    Returns the SRID of top-level authority, or None if undefined.

    \n
    \n
    \n-linear_name[source]\u00b6
    \n+linear_name[sorgente]\u00b6\n
    \n \n

    Returns the name of the linear units.

    \n
    \n
    \n-linear_units[source]\u00b6
    \n+linear_units[sorgente]\u00b6\n
    \n \n

    Returns the value of the linear units.

    \n
    \n
    \n-angular_name[source]\u00b6
    \n+angular_name[sorgente]\u00b6\n
    \n \n-

    Returns the name of the angular units.\u201d

    \n+

    Returns the name of the angular units.\u00bb

    \n
    \n
    \n-angular_units[source]\u00b6
    \n+angular_units[sorgente]\u00b6\n
    \n \n

    Returns the value of the angular units.

    \n
    \n
    \n-units[source]\u00b6
    \n+units[sorgente]\u00b6\n
    \n \n

    Returns a 2-tuple of the units value and the units name and will\n automatically determines whether to return the linear or angular units.

    \n
    \n
    \n-ellipsoid[source]\u00b6
    \n+ellipsoid[sorgente]\u00b6\n
    \n \n

    Returns a tuple of the ellipsoid parameters for this spatial reference:\n (semimajor axis, semiminor axis, and inverse flattening).

    \n
    \n
    \n-semi_major[source]\u00b6
    \n+semi_major[sorgente]\u00b6\n
    \n \n

    Returns the semi major axis of the ellipsoid for this spatial reference.

    \n
    \n
    \n-semi_minor[source]\u00b6
    \n+semi_minor[sorgente]\u00b6\n
    \n \n

    Returns the semi minor axis of the ellipsoid for this spatial reference.

    \n
    \n
    \n-inverse_flattening[source]\u00b6
    \n+inverse_flattening[sorgente]\u00b6\n
    \n \n

    Returns the inverse flattening of the ellipsoid for this spatial reference.

    \n
    \n
    \n-geographic[source]\u00b6
    \n+geographic[sorgente]\u00b6\n
    \n \n

    Returns True if this spatial reference is geographic (root node is\n GEOGCS).

    \n
    \n
    \n-local[source]\u00b6
    \n+local[sorgente]\u00b6\n
    \n \n

    Returns True if this spatial reference is local (root node is\n LOCAL_CS).

    \n
    \n
    \n-projected[source]\u00b6
    \n+projected[sorgente]\u00b6\n
    \n \n

    Returns True if this spatial reference is a projected coordinate system\n (root node is PROJCS).

    \n
    \n
    \n-wkt[source]\u00b6
    \n+wkt[sorgente]\u00b6\n
    \n \n

    Returns the WKT representation of this spatial reference.

    \n
    \n
    \n-pretty_wkt[source]\u00b6
    \n+pretty_wkt[sorgente]\u00b6\n
    \n \n-

    Returns the \u2018pretty\u2019 representation of the WKT.

    \n+

    Returns the \u201cpretty\u201d representation of the WKT.

    \n
    \n
    \n-proj[source]\u00b6
    \n+proj[sorgente]\u00b6\n
    \n \n

    Returns the PROJ representation for this spatial reference.

    \n
    \n
    \n-proj4[source]\u00b6
    \n+proj4[sorgente]\u00b6\n
    \n \n

    Alias for SpatialReference.proj.

    \n
    \n
    \n-xml[source]\u00b6
    \n+xml[sorgente]\u00b6\n
    \n \n

    Returns the XML representation of this spatial reference.

    \n \n \n \n
    \n

    CoordTransform\u00b6

    \n
    \n
    \n-class CoordTransform(source, target)[source]\u00b6
    \n+class CoordTransform(source, target)[sorgente]\u00b6\n
    \n \n

    Represents a coordinate system transform. It is initialized with two\n SpatialReference, representing the source and target coordinate\n systems, respectively. These objects should be used when performing the same\n coordinate transformation repeatedly on different geometries:

    \n
    >>> ct = CoordTransform(SpatialReference("WGS84"), SpatialReference("NAD83"))\n@@ -1582,24 +1583,24 @@\n formats and data sources using a consistent interface.  Each\n data source is represented by a GDALRaster object which contains\n one or more layers of data named bands.  Each band, represented by a\n GDALBand object, contains georeferenced image data. For example, an RGB\n image is represented as three bands: one for red, one for green, and one for\n blue.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    For raster data there is no difference between a raster instance and its\n data source. Unlike for the Geometry objects, GDALRaster objects are\n always a data source. Temporary rasters can be instantiated in memory\n using the corresponding driver, but they will be of the same class as file-based\n raster sources.

    \n
    \n
    \n
    \n-class GDALRaster(ds_input, write=False)[source]\u00b6
    \n+class GDALRaster(ds_input, write=False)[sorgente]\u00b6\n

    The constructor for GDALRaster accepts two parameters. The first\n parameter defines the raster source, and the second parameter defines if a\n raster should be opened in write mode. For newly-created rasters, the second\n parameter is ignored and the new raster is always created in write mode.

    \n

    The first parameter can take three forms: a string or\n Path representing a file path (filesystem or GDAL virtual\n filesystem), a dictionary with values defining a new raster, or a bytes\n@@ -1653,26 +1654,26 @@\n True\n >>> rst.name # Stored in a random path in the vsimem filesystem.\n '/vsimem/da300bdb-129d-49a8-b336-e410a9428dad'\n

    \n
    \n
    \n
    \n-name[source]\u00b6
    \n+name[sorgente]\u00b6\n

    The name of the source which is equivalent to the input file path or the name\n provided upon instantiation.

    \n
    >>> GDALRaster({"width": 10, "height": 10, "name": "myraster", "srid": 4326}).name\n 'myraster'\n 
    \n
    \n
    \n \n
    \n
    \n-driver[source]\u00b6
    \n+driver[sorgente]\u00b6\n

    The name of the GDAL driver used to handle the input file. For GDALRasters created\n from a file, the driver type is detected automatically. The creation of rasters from\n scratch is an in-memory raster by default ('MEM'), but can be\n altered as needed. For instance, use GTiff for a GeoTiff file.\n For a list of file types, see also the GDAL Raster Formats list.

    \n

    An in-memory raster is created through the following example:

    \n
    >>> GDALRaster({"width": 10, "height": 10, "srid": 4326}).driver.name\n@@ -1698,35 +1699,35 @@\n 'GTiff'\n 
    \n
    \n
    \n \n
    \n
    \n-width[source]\u00b6
    \n+width[sorgente]\u00b6\n

    The width of the source in pixels (X-axis).

    \n
    >>> GDALRaster({"width": 10, "height": 20, "srid": 4326}).width\n 10\n 
    \n
    \n
    \n \n
    \n
    \n-height[source]\u00b6
    \n+height[sorgente]\u00b6\n

    The height of the source in pixels (Y-axis).

    \n
    >>> GDALRaster({"width": 10, "height": 20, "srid": 4326}).height\n 20\n 
    \n
    \n
    \n \n
    \n
    \n-srs[source]\u00b6
    \n+srs[sorgente]\u00b6\n

    The spatial reference system of the raster, as a\n SpatialReference instance. The SRS can be changed by\n setting it to an other SpatialReference or providing any input\n that is accepted by the SpatialReference constructor.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.srs.srid\n 4326\n@@ -1735,15 +1736,15 @@\n 3086\n 
    \n
    \n
    \n \n
    \n
    \n-srid[source]\u00b6
    \n+srid[sorgente]\u00b6\n

    The Spatial Reference System Identifier (SRID) of the raster. This\n property is a shortcut to getting or setting the SRID through the\n srs attribute.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.srid\n 4326\n >>> rst.srid = 3086\n@@ -1753,15 +1754,15 @@\n 3086\n 
    \n
    \n
    \n \n
    \n
    \n-geotransform[source]\u00b6
    \n+geotransform[sorgente]\u00b6\n

    The affine transformation matrix used to georeference the source, as a\n tuple of six coefficients which map pixel/line coordinates into\n georeferenced space using the following relationship:

    \n
    Xgeo = GT(0) + Xpixel * GT(1) + Yline * GT(2)\n Ygeo = GT(3) + Xpixel * GT(4) + Yline * GT(5)\n 
    \n
    \n@@ -1774,15 +1775,15 @@\n [0.0, 1.0, 0.0, 0.0, 0.0, -1.0]\n
    \n
    \n \n \n
    \n
    \n-origin[source]\u00b6
    \n+origin[sorgente]\u00b6\n

    Coordinates of the top left origin of the raster in the spatial\n reference system of the source, as a point object with x and y\n members.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.origin\n [0.0, 0.0]\n >>> rst.origin.x = 1\n@@ -1790,15 +1791,15 @@\n [1.0, 0.0]\n 
    \n
    \n
    \n \n
    \n
    \n-scale[source]\u00b6
    \n+scale[sorgente]\u00b6\n

    Pixel width and height used for georeferencing the raster, as a point\n object with x and y members. See geotransform for more\n information.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.scale\n [1.0, -1.0]\n >>> rst.scale.x = 2\n@@ -1806,15 +1807,15 @@\n [2.0, -1.0]\n 
    \n
    \n
    \n \n
    \n
    \n-skew[source]\u00b6
    \n+skew[sorgente]\u00b6\n

    Skew coefficients used to georeference the raster, as a point object\n with x and y members. In case of north up images, these\n coefficients are both 0.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.skew\n [0.0, 0.0]\n >>> rst.skew.x = 3\n@@ -1822,15 +1823,15 @@\n [3.0, 0.0]\n 
    \n
    \n
    \n \n
    \n
    \n-extent[source]\u00b6
    \n+extent[sorgente]\u00b6\n

    Extent (boundary values) of the raster source, as a 4-tuple\n (xmin, ymin, xmax, ymax) in the spatial reference system of the\n source.

    \n
    >>> rst = GDALRaster({"width": 10, "height": 20, "srid": 4326})\n >>> rst.extent\n (0.0, -20.0, 10.0, 0.0)\n >>> rst.origin.x = 100\n@@ -1838,15 +1839,15 @@\n (100.0, -20.0, 110.0, 0.0)\n 
    \n
    \n
    \n \n
    \n
    \n-bands[source]\u00b6
    \n+bands[sorgente]\u00b6\n

    List of all bands of the source, as GDALBand instances.

    \n
    >>> rst = GDALRaster(\n ...     {\n ...         "width": 1,\n ...         "height": 2,\n ...         "srid": 4326,\n ...         "bands": [{"data": [0, 1]}, {"data": [2, 3]}],\n@@ -1858,15 +1859,15 @@\n array([[ 2.,  3.]], dtype=float32)\n 
    \n
    \n
    \n \n
    \n
    \n-warp(ds_input, resampling='NearestNeighbour', max_error=0.0)[source]\u00b6
    \n+warp(ds_input, resampling='NearestNeighbour', max_error=0.0)[sorgente]\u00b6\n

    Returns a warped version of this raster.

    \n

    The warping parameters can be specified through the ds_input\n argument. The use of ds_input is analogous to the corresponding\n argument of the class constructor. It is a dictionary with the\n characteristics of the target raster. Allowed dictionary key values are\n width, height, SRID, origin, scale, skew, datatype, driver, and name\n (filename).

    \n@@ -1907,15 +1908,15 @@\n [ 31., 33., 35.]], dtype=float32)\n
    \n
    \n \n \n
    \n
    \n-transform(srs, driver=None, name=None, resampling='NearestNeighbour', max_error=0.0)[source]\u00b6
    \n+transform(srs, driver=None, name=None, resampling='NearestNeighbour', max_error=0.0)[sorgente]\u00b6\n

    Transforms this raster to a different spatial reference system\n (srs), which may be a SpatialReference object, or any\n other input accepted by SpatialReference (including spatial\n reference WKT and PROJ strings, or an integer SRID).

    \n

    It calculates the bounds and scale of the current raster in the new\n spatial reference system and warps the raster using the\n warp function.

    \n@@ -1944,15 +1945,15 @@\n [-82.98492744885776, 27.601924753080144]\n
    \n
    \n \n \n
    \n
    \n-info[source]\u00b6
    \n+info[sorgente]\u00b6\n

    Returns a string with a summary of the raster. This is equivalent to\n the gdalinfo command line utility.

    \n
    \n \n
    \n
    \n metadata\u00b6
    \n@@ -1975,22 +1976,22 @@\n {'DEFAULT': {'VERSION': '2.0'}}\n
    \n
    \n \n \n
    \n
    \n-vsi_buffer[source]\u00b6
    \n+vsi_buffer[sorgente]\u00b6\n

    A bytes representation of this raster. Returns None for rasters\n that are not stored in GDAL\u2019s virtual filesystem.

    \n
    \n \n
    \n
    \n-is_vsi_based[source]\u00b6
    \n+is_vsi_based[sorgente]\u00b6\n

    A boolean indicating if this raster is stored in GDAL\u2019s virtual\n filesystem.

    \n
    \n \n \n \n \n@@ -2040,61 +2041,61 @@\n

    If a persistent cache value is found, that value is returned. For\n raster formats using Persistent Auxiliary Metadata (PAM) services, the\n statistics might be cached in an auxiliary file. In some cases this\n metadata might be out of sync with the pixel values or cause values\n from a previous call to be returned which don\u2019t reflect the value of\n the approximate argument. In such cases, use the refresh\n argument to get updated values and store them in the cache.

    \n-

    For empty bands (where all pixel values are \u201cno data\u201d), all statistics\n+

    For empty bands (where all pixel values are \u00abno data\u00bb), all statistics\n are returned as None.

    \n

    The statistics can also be retrieved directly by accessing the\n min, max, mean, and std properties.

    \n \n \n
    \n
    \n min\u00b6
    \n-

    The minimum pixel value of the band (excluding the \u201cno data\u201d value).

    \n+

    The minimum pixel value of the band (excluding the \u00abno data\u00bb value).

    \n
    \n \n
    \n
    \n max\u00b6
    \n-

    The maximum pixel value of the band (excluding the \u201cno data\u201d value).

    \n+

    The maximum pixel value of the band (excluding the \u00abno data\u00bb value).

    \n
    \n \n
    \n
    \n mean\u00b6
    \n-

    The mean of all pixel values of the band (excluding the \u201cno data\u201d\n+

    The mean of all pixel values of the band (excluding the \u00abno data\u00bb\n value).

    \n
    \n \n
    \n
    \n std\u00b6
    \n

    The standard deviation of all pixel values of the band (excluding the\n-\u201cno data\u201d value).

    \n+\u00abno data\u00bb value).

    \n
    \n \n
    \n
    \n nodata_value\u00b6
    \n-

    The \u201cno data\u201d value for a band is generally a special marker value used\n+

    The \u00abno data\u00bb value for a band is generally a special marker value used\n to mark pixels that are not valid data. Such pixels should generally not\n be displayed, nor contribute to analysis operations.

    \n-

    To delete an existing \u201cno data\u201d value, set this property to None.

    \n+

    To delete an existing \u00abno data\u00bb value, set this property to None.

    \n
    \n \n
    \n
    \n datatype(as_string=False)\u00b6
    \n

    The data type contained in the band, as an integer constant between 0\n (Unknown) and 14. If as_string is True, the data type is\n-returned as a string. Check out the \u201cGDAL Pixel Type\u201d column in the\n+returned as a string. Check out the \u00abGDAL Pixel Type\u00bb column in the\n datatype value table for possible values.

    \n
    \n \n
    \n
    \n color_interp(as_string=False)\u00b6
    \n

    The color interpretation for the band, as an integer between 0and 16.\n@@ -2344,16 +2345,16 @@\n \n

    \n
    \n bands
    \n

    A list of band_input dictionaries with band input data. The resulting\n band indices are the same as in the list provided. The definition of the\n band input dictionary is given below. If band data isn\u2019t provided, the\n-raster bands values are instantiated as an array of zeros and the \u201cno\n-data\u201d value is set to None.

    \n+raster bands values are instantiated as an array of zeros and the \u00abno\n+data\u00bb value is set to None.

    \n
    \n \n
    \n
    \n papsz_options
    \n

    A dictionary with raster creation options. The key-value pairs of the\n input dictionary are passed to the driver on creation of the raster.

    \n@@ -2385,15 +2386,15 @@\n
    \n \n \n
    \n

    The band_input dictionary\u00b6

    \n

    The bands key in the ds_input dictionary is a list of band_input\n dictionaries. Each band_input dictionary can contain pixel values and the\n-\u201cno data\u201d value to be set on the bands of the new raster. The data array can\n+\u00abno data\u00bb value to be set on the bands of the new raster. The data array can\n have the full size of the new raster or be smaller. For arrays that are smaller\n than the full raster, the size, shape, and offset keys control the\n pixel values. The corresponding keys are passed to the data()\n method. Their functionality is the same as setting the band data with that\n method. The following table describes the keys that can be used.

    \n \n \n@@ -2526,21 +2527,21 @@\n location (e.g., /home/john/lib/libgdal.so).

    \n \n \n
    \n

    Exceptions\u00b6

    \n
    \n
    \n-exception GDALException[source]\u00b6
    \n+exception GDALException[sorgente]\u00b6\n

    The base GDAL exception, indicating a GDAL-related error.

    \n
    \n \n
    \n
    \n-exception SRSException[source]\u00b6
    \n+exception SRSException[sorgente]\u00b6\n

    An exception raised when an error occurs when constructing or using a\n spatial reference system object.

    \n
    \n \n
    \n \n \n@@ -2607,37 +2608,37 @@\n
  • Exceptions
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GEOS API

    \n+ title=\"capitolo precedente\">GEOS API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Geolocation with GeoIP2

    \n+ title=\"capitolo successivo\">Geolocation with GeoIP2

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGD\bDA\bAL\bL A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-_\bG_\bD_\bA_\bL stands for G\bGe\beo\bos\bsp\bpa\bat\bti\bia\bal\bl D\bDa\bat\bta\ba A\bAb\bbs\bst\btr\bra\bac\bct\bti\bio\bon\bn L\bLi\bib\bbr\bra\bar\bry\by, and is a veritable \u201cSwiss\n-army knife\u201d of GIS data functionality. A subset of GDAL is the _\bO_\bG_\bR Simple\n+_\bG_\bD_\bA_\bL stands for G\bGe\beo\bos\bsp\bpa\bat\bti\bia\bal\bl D\bDa\bat\bta\ba A\bAb\bbs\bst\btr\bra\bac\bct\bti\bio\bon\bn L\bLi\bib\bbr\bra\bar\bry\by, and is a veritable \u00abSwiss\n+army knife\u00bb of GIS data functionality. A subset of GDAL is the _\bO_\bG_\bR Simple\n Features Library, which specializes in reading and writing vector geographic\n data in a variety of standard formats.\n GeoDjango provides a high-level Python interface for some of the capabilities\n of OGR, including the reading and coordinate transformation of vector spatial\n data and minimal support for GDAL\u2019s features with respect to raster (image)\n data.\n-Note\n+Nota\n Although the module is named gdal, GeoDjango only supports some of the\n capabilities of OGR and GDAL\u2019s raster features at this time.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSa\bam\bmp\bpl\ble\be D\bDa\bat\bta\ba_\b?\b\u00b6 *\b**\b**\b**\b*\n The GDAL/OGR tools described here are designed to help you read in your\n geospatial data, in order for most of them to be useful you have to have some\n data to work with. If you\u2019re starting out and don\u2019t yet have any data of your\n@@ -30,15 +30,15 @@\n data from a variety of OGR-supported geospatial file formats and data sources\n using a consistent interface. Each data source is represented by a _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be\n object which contains one or more layers of data. Each layer, represented by a\n _\bL_\ba_\by_\be_\br object, contains some number of geographic features (_\bF_\be_\ba_\bt_\bu_\br_\be),\n information about the type of features contained in that layer (e.g. points,\n polygons, etc.), as well as the names and types of any additional fields\n (_\bF_\bi_\be_\bl_\bd) of data that may be associated with each feature in that layer.\n- c\bcl\bla\bas\bss\bs DataSource(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DataSource(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b')_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The constructor for DataSource only requires one parameter: the path of\n the file you want to read. However, OGR also supports a variety of more\n complex data sources, including databases, that may be accessed by\n passing a special name string instead of a path. For more information,\n see the _\bO_\bG_\bR_\b _\bV_\be_\bc_\bt_\bo_\br_\b _\bF_\bo_\br_\bm_\ba_\bt_\bs documentation. The _\bn_\ba_\bm_\be property of a\n DataSource instance gives the OGR name of the underlying data source that\n it is using.\n@@ -51,17 +51,17 @@\n data themselves, see the next section:\n >>> from django.contrib.gis.gdal import DataSource\n >>> ds = DataSource(\"/path/to/your/cities.shp\")\n >>> ds.name\n '/path/to/your/cities.shp'\n >>> ds.layer_count # This file only contains one layer\n 1\n- layer_count_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ layer_count_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of layers in the data source.\n- name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of the data source.\n *\b**\b**\b**\b* L\bLa\bay\bye\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs Layer_\b\u00b6\n Layer is a wrapper for a layer of data in a DataSource object. You never\n create a Layer object directly. Instead, you retrieve them from a\n _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be object, which is essentially a standard Python container of\n Layer objects. For example, you can access a specific layer by its index\n@@ -263,111 +263,111 @@\n 'Pueblo'\n as_datetime()_\b\u00b6\n Returns the value of the field as a tuple of date and time components:\n >>> city[\"Created\"].as_datetime()\n (c_long(1999), c_long(5), c_long(23), c_long(0), c_long(0), c_long(0),\n c_long(0))\n *\b**\b**\b**\b* D\bDr\bri\biv\bve\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Driver(d\bdr\br_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Driver(d\bdr\br_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The Driver class is used internally to wrap an OGR _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be driver.\n- driver_count_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ driver_count_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of OGR vector drivers currently registered.\n *\b**\b**\b**\b**\b* O\bOG\bGR\bR G\bGe\beo\bom\bme\bet\btr\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* O\bOG\bGR\bRG\bGe\beo\bom\bme\bet\btr\bry\by_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects share similar functionality with _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects and\n are thin wrappers around OGR\u2019s internal geometry representation. Thus, they\n allow for more efficient access to data when using _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be. Unlike its GEOS\n counterpart, _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by supports spatial reference systems and coordinate\n transformation:\n >>> from django.contrib.gis.gdal import OGRGeometry\n >>> polygon = OGRGeometry(\"POLYGON((0 0, 5 0, 5 5, 0 5))\")\n- c\bcl\bla\bas\bss\bs OGRGeometry(g\bge\beo\bom\bm_\b_i\bin\bnp\bpu\but\bt, s\bsr\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OGRGeometry(g\bge\beo\bom\bm_\b_i\bin\bnp\bpu\but\bt, s\bsr\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This object is a wrapper for the _\bO_\bG_\bR_\b _\bG_\be_\bo_\bm_\be_\bt_\br_\by class. These objects are\n instantiated directly from the given geom_input parameter, which may be a\n string containing WKT, HEX, GeoJSON, a buffer containing WKB data, or an\n _\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be object. These objects are also returned from the _\bF_\be_\ba_\bt_\bu_\br_\be_\b._\bg_\be_\bo_\bm\n attribute, when reading vector data from _\bL_\ba_\by_\be_\br (which is in turn a part\n of a _\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be).\n- c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_gml(g\bgm\bml\bl_\b_s\bst\btr\bri\bin\bng\bg)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_gml(g\bgm\bml\bl_\b_s\bst\btr\bri\bin\bng\bg)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Constructs an _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by from the given GML string.\n- c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_bbox(b\bbb\bbo\box\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_bbox(b\bbb\bbo\box\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Constructs a _\bP_\bo_\bl_\by_\bg_\bo_\bn from the given bounding-box (a 4-tuple).\n __len__()_\b\u00b6\n Returns the number of points in a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg, the number of rings in a\n _\bP_\bo_\bl_\by_\bg_\bo_\bn, or the number of geometries in a _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn. Not\n applicable to other geometry types.\n __iter__()_\b\u00b6\n Iterates over the points in a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg, the rings in a _\bP_\bo_\bl_\by_\bg_\bo_\bn, or the\n geometries in a _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn. Not applicable to other geometry\n types.\n __getitem__()_\b\u00b6\n Returns the point at the specified index for a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg, the interior\n ring at the specified index for a _\bP_\bo_\bl_\by_\bg_\bo_\bn, or the geometry at the\n specified index in a _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn. Not applicable to other geometry\n types.\n- dimension_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ dimension_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of coordinated dimensions of the geometry, i.e. 0 for\n points, 1 for lines, and so forth:\n >>> polygon.dimension\n 2\n- coord_dim_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ coord_dim_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the coordinate dimension of this geometry. For example, the value\n would be 2 for two-dimensional geometries.\n- Deprecated since version 5.1: The coord_dim setter is deprecated. Use\n+ Deprecato dalla versione 5.1: The coord_dim setter is deprecated. Use\n _\bs_\be_\bt_\b__\b3_\bd_\b(_\b) instead.\n- is_3d_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_3d_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n New in Django 5.1.\n A boolean indicating if this geometry has Z coordinates.\n- set_3d(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ set_3d(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n New in Django 5.1.\n A method that adds or removes the Z coordinate dimension.\n >>> p = OGRGeometry(\"POINT (1 2 3)\")\n >>> p.is_3d\n True\n >>> p.set_3d(False)\n >>> p.wkt\n \"POINT (1 2)\"\n- is_measured_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_measured_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n New in Django 5.1.\n A boolean indicating if this geometry has M coordinates.\n- set_measured(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ set_measured(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n New in Django 5.1.\n A method to add or remove the M coordinate dimension.\n >>> p = OGRGeometry(\"POINT (1 2)\")\n >>> p.is_measured\n False\n >>> p.set_measured(True)\n >>> p.wkt\n \"POINT M (1 2 0)\"\n- geom_count_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geom_count_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of elements in this geometry:\n >>> polygon.geom_count\n 1\n- point_count_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ point_count_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of points used to describe this geometry:\n >>> polygon.point_count\n 4\n- num_points_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ num_points_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Alias for _\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bu_\bn_\bt.\n- num_coords_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ num_coords_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Alias for _\bp_\bo_\bi_\bn_\bt_\b__\bc_\bo_\bu_\bn_\bt.\n- geom_type_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geom_type_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the type of this geometry, as an _\bO_\bG_\bR_\bG_\be_\bo_\bm_\bT_\by_\bp_\be object.\n- geom_name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geom_name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of the type of this geometry:\n >>> polygon.geom_name\n 'POLYGON'\n- area_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ area_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the area of this geometry, or 0 for geometries that do not\n contain an area:\n >>> polygon.area\n 25.0\n- envelope_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ envelope_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the envelope of this geometry, as an _\bE_\bn_\bv_\be_\bl_\bo_\bp_\be object.\n- extent_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ extent_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the envelope of this geometry as a 4-tuple, instead of as an\n _\bE_\bn_\bv_\be_\bl_\bo_\bp_\be object:\n >>> point.extent\n (0.0, 0.0, 5.0, 5.0)\n srs_\b\u00b6\n This property controls the spatial reference for this geometry, or None\n if no spatial reference system has been assigned to it. If assigned,\n@@ -377,98 +377,98 @@\n >>> city.geom.srs.name\n 'GCS_WGS_1984'\n srid_\b\u00b6\n Returns or sets the spatial reference identifier corresponding to\n _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be of this geometry. Returns None if there is no spatial\n reference information associated with this geometry, or if an SRID cannot\n be determined.\n- geos_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geos_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by object corresponding to this geometry.\n- gml_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ gml_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string representation of this geometry in GML format:\n >>> OGRGeometry(\"POINT(1 2)\").gml\n '1,2'\n- hex_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ hex_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string representation of this geometry in HEX WKB format:\n >>> OGRGeometry(\"POINT(1 2)\").hex\n '0101000000000000000000F03F0000000000000040'\n- json_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ json_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string representation of this geometry in JSON format:\n >>> OGRGeometry(\"POINT(1 2)\").json\n '{ \"type\": \"Point\", \"coordinates\": [ 1.000000, 2.000000 ] }'\n- kml_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ kml_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string representation of this geometry in KML format.\n- wkb_size_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ wkb_size_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the size of the WKB buffer needed to hold a WKB representation of\n this geometry:\n >>> OGRGeometry(\"POINT(1 2)\").wkb_size\n 21\n- wkb_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ wkb_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a buffer containing a WKB representation of this geometry.\n- wkt_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ wkt_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string representation of this geometry in WKT format.\n- ewkt_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ewkt_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the EWKT representation of this geometry.\n- clone()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ clone()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by clone of this geometry object.\n- close_rings()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ close_rings()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If there are any rings within this geometry that have not been closed,\n this routine will do so by adding the starting point to the end:\n >>> triangle = OGRGeometry(\"LINEARRING (0 0,0 1,1 0)\")\n >>> triangle.close_rings()\n >>> triangle.wkt\n 'LINEARRING (0 0,0 1,1 0,0 0)'\n- transform(c\bco\boo\bor\brd\bd_\b_t\btr\bra\ban\bns\bs, c\bcl\blo\bon\bne\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ transform(c\bco\boo\bor\brd\bd_\b_t\btr\bra\ban\bns\bs, c\bcl\blo\bon\bne\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Transforms this geometry to a different spatial reference system. May\n take a _\bC_\bo_\bo_\br_\bd_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm object, a _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be object, or any other\n input accepted by _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be (including spatial reference WKT and\n PROJ strings, or an integer SRID).\n By default nothing is returned and the geometry is transformed in-place.\n However, if the clone keyword is set to True then a transformed clone of\n this geometry is returned instead.\n- intersects(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ intersects(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry intersects the other, otherwise returns\n False.\n- equals(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ equals(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry is equivalent to the other, otherwise\n returns False.\n- disjoint(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ disjoint(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry is spatially disjoint to (i.e. does not\n intersect) the other, otherwise returns False.\n- touches(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ touches(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry touches the other, otherwise returns False.\n- crosses(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ crosses(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry crosses the other, otherwise returns False.\n- within(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ within(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry is contained within the other, otherwise\n returns False.\n- contains(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ contains(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry contains the other, otherwise returns\n False.\n- overlaps(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ overlaps(o\bot\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this geometry overlaps the other, otherwise returns\n False.\n- boundary()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ boundary()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The boundary of this geometry, as a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- convex_hull_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ convex_hull_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The smallest convex polygon that contains this geometry, as a new\n _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- difference()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ difference()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the region consisting of the difference of this geometry and the\n other, as a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- intersection()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ intersection()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the region consisting of the intersection of this geometry and\n the other, as a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- sym_difference()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ sym_difference()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the region consisting of the symmetric difference of this\n geometry and the other, as a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- union()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ union()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the region consisting of the union of this geometry and the\n other, as a new _\bO_\bG_\bR_\bG_\be_\bo_\bm_\be_\bt_\br_\by object.\n- centroid_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ centroid_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bP_\bo_\bi_\bn_\bt representing the centroid of this geometry.\n Changed in Django 5.1:\n centroid was promoted from a _\bP_\bo_\bl_\by_\bg_\bo_\bn only attribute to being available on\n all geometry types.\n tuple_\b\u00b6\n Returns the coordinates of a point geometry as a tuple, the coordinates\n of a line geometry as a tuple of tuples, and so forth:\n@@ -525,62 +525,62 @@\n exterior_ring_\b\u00b6\n An alias for _\bs_\bh_\be_\bl_\bl.\n c\bcl\bla\bas\bss\bs GeometryCollection_\b\u00b6\n add(g\bge\beo\bom\bm)_\b\u00b6\n Adds a geometry to this geometry collection. Not applicable to other\n geometry types.\n *\b**\b**\b**\b* O\bOG\bGR\bRG\bGe\beo\bom\bmT\bTy\byp\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs OGRGeomType(t\bty\byp\bpe\be_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OGRGeomType(t\bty\byp\bpe\be_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This class allows for the representation of an OGR geometry type in any\n of several ways:\n >>> from django.contrib.gis.gdal import OGRGeomType\n >>> gt1 = OGRGeomType(3) # Using an integer for the type\n >>> gt2 = OGRGeomType(\"Polygon\") # Using a string\n >>> gt3 = OGRGeomType(\"POLYGON\") # It's case-insensitive\n >>> print(gt1 == 3, gt1 == \"Polygon\") # Equivalence works w/non-\n OGRGeomType objects\n True True\n- name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a short-hand string form of the OGR Geometry type:\n >>> gt1.name\n 'Polygon'\n num_\b\u00b6\n Returns the number corresponding to the OGR geometry type:\n >>> gt1.num\n 3\n- django_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ django_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the Django field type (a subclass of GeometryField) to use for\n storing this OGR type, or None if there is no appropriate Django type:\n >>> gt1.django\n 'PolygonField'\n *\b**\b**\b**\b* E\bEn\bnv\bve\bel\blo\bop\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Envelope(*\b*a\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Envelope(*\b*a\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Represents an OGR Envelope structure that contains the minimum and\n maximum X, Y coordinates for a rectangle bounding box. The naming of the\n variables is compatible with the OGR Envelope C structure.\n- min_x_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ min_x_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The value of the minimum X coordinate.\n- min_y_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ min_y_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The value of the maximum X coordinate.\n- max_x_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ max_x_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The value of the minimum Y coordinate.\n- max_y_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ max_y_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The value of the maximum Y coordinate.\n- ur_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ur_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The upper-right coordinate, as a tuple.\n- ll_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ll_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The lower-left coordinate, as a tuple.\n- tuple_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ tuple_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A tuple representing the envelope.\n- wkt_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ wkt_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A string representing this envelope as a polygon in WKT format.\n- expand_to_include(*\b*a\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ expand_to_include(*\b*a\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b**\b* C\bCo\boo\bor\brd\bdi\bin\bna\bat\bte\be S\bSy\bys\bst\bte\bem\bm O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\blR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SpatialReference(s\bsr\brs\bs_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SpatialReference(s\bsr\brs\bs_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Spatial reference objects are initialized on the given srs_input, which\n may be one of the following:\n * OGC Well Known Text (WKT) (a string)\n * EPSG code (integer or string)\n * PROJ string\n * A shorthand string for well-known standards ('WGS84', 'WGS72',\n 'NAD27', 'NAD83')\n@@ -598,15 +598,15 @@\n ... AUTHORITY[\"EPSG\",\"6326\"]],\n ... PRIMEM[\"Greenwich\",0,\n ... AUTHORITY[\"EPSG\",\"8901\"]],\n ... UNIT[\"degree\",0.01745329251994328,\n ... AUTHORITY[\"EPSG\",\"9122\"]],\n ... AUTHORITY[\"EPSG\",\"4326\"]]\"\"\"\n ... ) # OGC WKT\n- __getitem__(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ __getitem__(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the given string attribute node, None if the node\n doesn\u2019t exist. Can also take a tuple as a parameter, (target, child),\n where child is the index of the attribute in the WKT. For example:\n >>> wkt = 'GEOGCS[\"WGS 84\", DATUM[\"WGS_1984, ... AUTHORITY\n [\"EPSG\",\"4326\"]]'\n >>> srs = SpatialReference(wkt) # could also use 'WGS84', or 4326\n >>> print(srs[\"GEOGCS\"])\n@@ -620,87 +620,87 @@\n >>> print(srs[\"TOWGS84\", 4]) # the fourth value in this wkt\n 0\n >>> print(srs[\"UNIT|AUTHORITY\"]) # For the units authority, have to use\n the pipe symbol.\n EPSG\n >>> print(srs[\"UNIT|AUTHORITY\", 1]) # The authority value for the units\n 9122\n- attr_value(t\bta\bar\brg\bge\bet\bt, i\bin\bnd\bde\bex\bx=\b=0\b0)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ attr_value(t\bta\bar\brg\bge\bet\bt, i\bin\bnd\bde\bex\bx=\b=0\b0)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The attribute value for the given target node (e.g. 'PROJCS'). The index\n keyword specifies an index of the child node to return.\n- auth_name(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ auth_name(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the authority name for the given string target node.\n- auth_code(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ auth_code(t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the authority code for the given string target node.\n- clone()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ clone()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a clone of this spatial reference object.\n- identify_epsg()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ identify_epsg()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method inspects the WKT of this SpatialReference and will add EPSG\n authority nodes where an EPSG identifier is applicable.\n- from_esri()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ from_esri()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Morphs this SpatialReference from ESRI\u2019s format to EPSG\n- to_esri()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ to_esri()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Morphs this SpatialReference to ESRI\u2019s format.\n- validate()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ validate()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Checks to see if the given spatial reference is valid, if not an\n exception will be raised.\n- import_epsg(e\bep\bps\bsg\bg)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ import_epsg(e\bep\bps\bsg\bg)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Import spatial reference from EPSG code.\n- import_proj(p\bpr\bro\boj\bj)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ import_proj(p\bpr\bro\boj\bj)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Import spatial reference from PROJ string.\n- import_user_input(u\bus\bse\ber\br_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- import_wkt(w\bwk\bkt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ import_user_input(u\bus\bse\ber\br_\b_i\bin\bnp\bpu\but\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ import_wkt(w\bwk\bkt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Import spatial reference from WKT.\n- import_xml(x\bxm\bml\bl)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ import_xml(x\bxm\bml\bl)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Import spatial reference from XML.\n- name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of this Spatial Reference.\n- srid_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ srid_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the SRID of top-level authority, or None if undefined.\n- linear_name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ linear_name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of the linear units.\n- linear_units_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ linear_units_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the linear units.\n- angular_name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Returns the name of the angular units.\u201d\n- angular_units_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ angular_name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Returns the name of the angular units.\u00bb\n+ angular_units_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the angular units.\n- units_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ units_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a 2-tuple of the units value and the units name and will\n automatically determines whether to return the linear or angular units.\n- ellipsoid_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ellipsoid_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a tuple of the ellipsoid parameters for this spatial reference:\n (semimajor axis, semiminor axis, and inverse flattening).\n- semi_major_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ semi_major_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the semi major axis of the ellipsoid for this spatial reference.\n- semi_minor_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ semi_minor_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the semi minor axis of the ellipsoid for this spatial reference.\n- inverse_flattening_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ inverse_flattening_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the inverse flattening of the ellipsoid for this spatial\n reference.\n- geographic_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geographic_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this spatial reference is geographic (root node is\n GEOGCS).\n- local_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ local_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this spatial reference is local (root node is LOCAL_CS).\n- projected_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ projected_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if this spatial reference is a projected coordinate system\n (root node is PROJCS).\n- wkt_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ wkt_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the WKT representation of this spatial reference.\n- pretty_wkt_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Returns the \u2018pretty\u2019 representation of the WKT.\n- proj_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ pretty_wkt_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Returns the \u201cpretty\u201d representation of the WKT.\n+ proj_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the PROJ representation for this spatial reference.\n- proj4_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ proj4_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Alias for _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b._\bp_\br_\bo_\bj.\n- xml_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ xml_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the XML representation of this spatial reference.\n *\b**\b**\b**\b* C\bCo\boo\bor\brd\bdT\bTr\bra\ban\bns\bsf\bfo\bor\brm\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CoordTransform(s\bso\bou\bur\brc\bce\be, t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CoordTransform(s\bso\bou\bur\brc\bce\be, t\bta\bar\brg\bge\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Represents a coordinate system transform. It is initialized with two\n _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be, representing the source and target coordinate systems,\n respectively. These objects should be used when performing the same coordinate\n transformation repeatedly on different geometries:\n >>> ct = CoordTransform(SpatialReference(\"WGS84\"), SpatialReference(\"NAD83\"))\n >>> for feat in layer:\n ... geom = feat.geom # getting clone of feature geometry\n@@ -711,20 +711,20 @@\n _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br is a wrapper for the GDAL raster source object that supports reading\n data from a variety of GDAL-supported geospatial file formats and data sources\n using a consistent interface. Each data source is represented by a _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br\n object which contains one or more layers of data named bands. Each band,\n represented by a _\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd object, contains georeferenced image data. For\n example, an RGB image is represented as three bands: one for red, one for\n green, and one for blue.\n-Note\n+Nota\n For raster data there is no difference between a raster instance and its data\n source. Unlike for the Geometry objects, _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br objects are always a data\n source. Temporary rasters can be instantiated in memory using the corresponding\n driver, but they will be of the same class as file-based raster sources.\n- c\bcl\bla\bas\bss\bs GDALRaster(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, w\bwr\bri\bit\bte\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GDALRaster(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, w\bwr\bri\bit\bte\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The constructor for GDALRaster accepts two parameters. The first\n parameter defines the raster source, and the second parameter defines if\n a raster should be opened in write mode. For newly-created rasters, the\n second parameter is ignored and the new raster is always created in write\n mode.\n The first parameter can take three forms: a string or _\bP_\ba_\bt_\bh representing a\n file path (filesystem or GDAL virtual filesystem), a dictionary with\n@@ -776,21 +776,21 @@\n >>> rst_file = open(\"/path/to/your/raster.tif\", \"rb\")\n >>> rst_bytes = rst_file.read()\n >>> rst = GDALRaster(rst_bytes)\n >>> rst.is_vsi_based\n True\n >>> rst.name # Stored in a random path in the vsimem filesystem.\n '/vsimem/da300bdb-129d-49a8-b336-e410a9428dad'\n- name_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ name_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The name of the source which is equivalent to the input file path\n or the name provided upon instantiation.\n >>> GDALRaster({\"width\": 10, \"height\": 10, \"name\": \"myraster\",\n \"srid\": 4326}).name\n 'myraster'\n- driver_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ driver_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The name of the GDAL driver used to handle the input file. For\n GDALRasters created from a file, the driver type is detected\n automatically. The creation of rasters from scratch is an in-memory\n raster by default ('MEM'), but can be altered as needed. For\n instance, use GTiff for a GeoTiff file. For a list of file types,\n see also the _\bG_\bD_\bA_\bL_\b _\bR_\ba_\bs_\bt_\be_\br_\b _\bF_\bo_\br_\bm_\ba_\bt_\bs list.\n An in-memory raster is created through the following example:\n@@ -812,112 +812,112 @@\n ... }\n ... )\n >>> rst.name\n '/tmp/tmp7x9H4J.tif' # The exact filename will be\n different on your computer\n >>> rst.driver.name\n 'GTiff'\n- width_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ width_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The width of the source in pixels (X-axis).\n >>> GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326}).width\n 10\n- height_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ height_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The height of the source in pixels (Y-axis).\n >>> GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326}).height\n 20\n- srs_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ srs_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The spatial reference system of the raster, as a _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n instance. The SRS can be changed by setting it to an other\n _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be or providing any input that is accepted by the\n _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be constructor.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.srs.srid\n 4326\n >>> rst.srs = 3086\n >>> rst.srs.srid\n 3086\n- srid_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ srid_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The Spatial Reference System Identifier (SRID) of the raster. This\n property is a shortcut to getting or setting the SRID through the\n _\bs_\br_\bs attribute.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.srid\n 4326\n >>> rst.srid = 3086\n >>> rst.srid\n 3086\n >>> rst.srs.srid # This is equivalent\n 3086\n- geotransform_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ geotransform_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The affine transformation matrix used to georeference the source,\n as a tuple of six coefficients which map pixel/line coordinates\n into georeferenced space using the following relationship:\n Xgeo = GT(0) + Xpixel * GT(1) + Yline * GT(2)\n Ygeo = GT(3) + Xpixel * GT(4) + Yline * GT(5)\n The same values can be retrieved by accessing the _\bo_\br_\bi_\bg_\bi_\bn (indices 0\n and 3), _\bs_\bc_\ba_\bl_\be (indices 1 and 5) and _\bs_\bk_\be_\bw (indices 2 and 4)\n properties.\n The default is [0.0, 1.0, 0.0, 0.0, 0.0, -1.0].\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.geotransform\n [0.0, 1.0, 0.0, 0.0, 0.0, -1.0]\n- origin_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ origin_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Coordinates of the top left origin of the raster in the spatial\n reference system of the source, as a point object with x and y\n members.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.origin\n [0.0, 0.0]\n >>> rst.origin.x = 1\n >>> rst.origin\n [1.0, 0.0]\n- scale_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ scale_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Pixel width and height used for georeferencing the raster, as a\n point object with x and y members. See _\bg_\be_\bo_\bt_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm for more\n information.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.scale\n [1.0, -1.0]\n >>> rst.scale.x = 2\n >>> rst.scale\n [2.0, -1.0]\n- skew_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ skew_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Skew coefficients used to georeference the raster, as a point\n object with x and y members. In case of north up images, these\n coefficients are both 0.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.skew\n [0.0, 0.0]\n >>> rst.skew.x = 3\n >>> rst.skew\n [3.0, 0.0]\n- extent_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ extent_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Extent (boundary values) of the raster source, as a 4-tuple (xmin,\n ymin, xmax, ymax) in the spatial reference system of the source.\n >>> rst = GDALRaster({\"width\": 10, \"height\": 20, \"srid\": 4326})\n >>> rst.extent\n (0.0, -20.0, 10.0, 0.0)\n >>> rst.origin.x = 100\n >>> rst.extent\n (100.0, -20.0, 110.0, 0.0)\n- bands_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ bands_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n List of all bands of the source, as _\bG_\bD_\bA_\bL_\bB_\ba_\bn_\bd instances.\n >>> rst = GDALRaster(\n ... {\n ... \"width\": 1,\n ... \"height\": 2,\n ... \"srid\": 4326,\n ... \"bands\": [{\"data\": [0, 1]}, {\"data\": [2, 3]}],\n ... }\n ... )\n >>> len(rst.bands)\n 2\n >>> rst.bands[1].data()\n array([[ 2., 3.]], dtype=float32)\n- warp(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, r\bre\bes\bsa\bam\bmp\bpl\bli\bin\bng\bg=\b='\b'N\bNe\bea\bar\bre\bes\bst\btN\bNe\bei\big\bgh\bhb\bbo\bou\bur\br'\b', m\bma\bax\bx_\b_e\ber\brr\bro\bor\br=\b=0\b0.\b.0\b0)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ warp(d\bds\bs_\b_i\bin\bnp\bpu\but\bt, r\bre\bes\bsa\bam\bmp\bpl\bli\bin\bng\bg=\b='\b'N\bNe\bea\bar\bre\bes\bst\btN\bNe\bei\big\bgh\bhb\bbo\bou\bur\br'\b', m\bma\bax\bx_\b_e\ber\brr\bro\bor\br=\b=0\b0.\b.0\b0)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a warped version of this raster.\n The warping parameters can be specified through the ds_input\n argument. The use of ds_input is analogous to the corresponding\n argument of the class constructor. It is a dictionary with the\n characteristics of the target raster. Allowed dictionary key values\n are width, height, SRID, origin, scale, skew, datatype, driver, and\n name (filename).\n@@ -955,15 +955,15 @@\n >>> target = rst.warp({\"scale\": [200, -200], \"width\": 3, \"height\":\n 3})\n >>> target.bands[0].data()\n array([[ 7., 9., 11.],\n [ 19., 21., 23.],\n [ 31., 33., 35.]], dtype=float32)\n transform(s\bsr\brs\bs, d\bdr\bri\biv\bve\ber\br=\b=N\bNo\bon\bne\be, n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, r\bre\bes\bsa\bam\bmp\bpl\bli\bin\bng\bg=\b='\b'N\bNe\bea\bar\bre\bes\bst\btN\bNe\bei\big\bgh\bhb\bbo\bou\bur\br'\b',\n- m\bma\bax\bx_\b_e\ber\brr\bro\bor\br=\b=0\b0.\b.0\b0)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ m\bma\bax\bx_\b_e\ber\brr\bro\bor\br=\b=0\b0.\b.0\b0)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Transforms this raster to a different spatial reference system\n (srs), which may be a _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be object, or any other input\n accepted by _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be (including spatial reference WKT and\n PROJ strings, or an integer SRID).\n It calculates the bounds and scale of the current raster in the new\n spatial reference system and warps the raster using the _\bw_\ba_\br_\bp\n function.\n@@ -986,15 +986,15 @@\n ... \"bands\": [{\"data\": range(36), \"nodata_value\": 99}],\n ... }\n ... )\n >>> target_srs = SpatialReference(4326)\n >>> target = rst.transform(target_srs)\n >>> target.origin\n [-82.98492744885776, 27.601924753080144]\n- info_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ info_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string with a summary of the raster. This is equivalent\n to the _\bg_\bd_\ba_\bl_\bi_\bn_\bf_\bo command line utility.\n metadata_\b\u00b6\n The metadata of this raster, represented as a nested dictionary.\n The first-level key is the metadata domain. The second-level\n contains the metadata item names and values from each domain.\n To set or update a metadata item, pass the corresponding metadata\n@@ -1008,18 +1008,18 @@\n >>> rst.metadata = {\"DEFAULT\": {\"OWNER\": \"Django\", \"VERSION\":\n \"1.0\"}}\n >>> rst.metadata\n {'DEFAULT': {'OWNER': 'Django', 'VERSION': '1.0'}}\n >>> rst.metadata = {\"DEFAULT\": {\"OWNER\": None, \"VERSION\": \"2.0\"}}\n >>> rst.metadata\n {'DEFAULT': {'VERSION': '2.0'}}\n- vsi_buffer_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ vsi_buffer_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A bytes representation of this raster. Returns None for rasters\n that are not stored in GDAL\u2019s virtual filesystem.\n- is_vsi_based_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_vsi_based_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A boolean indicating if this raster is stored in GDAL\u2019s virtual\n filesystem.\n *\b**\b**\b**\b* G\bGD\bDA\bAL\bLB\bBa\ban\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs GDALBand_\b\u00b6\n GDALBand instances are not created explicitly, but rather obtained from a\n _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br object, through its _\bb_\ba_\bn_\bd_\bs attribute. The GDALBands contain the\n actual pixel values of the raster.\n@@ -1044,39 +1044,39 @@\n If a persistent cache value is found, that value is returned. For\n raster formats using Persistent Auxiliary Metadata (PAM) services,\n the statistics might be cached in an auxiliary file. In some cases\n this metadata might be out of sync with the pixel values or cause\n values from a previous call to be returned which don\u2019t reflect the\n value of the approximate argument. In such cases, use the refresh\n argument to get updated values and store them in the cache.\n- For empty bands (where all pixel values are \u201cno data\u201d), all\n+ For empty bands (where all pixel values are \u00abno data\u00bb), all\n statistics are returned as None.\n The statistics can also be retrieved directly by accessing the _\bm_\bi_\bn,\n _\bm_\ba_\bx, _\bm_\be_\ba_\bn, and _\bs_\bt_\bd properties.\n min_\b\u00b6\n- The minimum pixel value of the band (excluding the \u201cno data\u201d\n+ The minimum pixel value of the band (excluding the \u00abno data\u00bb\n value).\n max_\b\u00b6\n- The maximum pixel value of the band (excluding the \u201cno data\u201d\n+ The maximum pixel value of the band (excluding the \u00abno data\u00bb\n value).\n mean_\b\u00b6\n- The mean of all pixel values of the band (excluding the \u201cno data\u201d\n+ The mean of all pixel values of the band (excluding the \u00abno data\u00bb\n value).\n std_\b\u00b6\n The standard deviation of all pixel values of the band (excluding\n- the \u201cno data\u201d value).\n+ the \u00abno data\u00bb value).\n nodata_value_\b\u00b6\n- The \u201cno data\u201d value for a band is generally a special marker value\n+ The \u00abno data\u00bb value for a band is generally a special marker value\n used to mark pixels that are not valid data. Such pixels should\n generally not be displayed, nor contribute to analysis operations.\n- To delete an existing \u201cno data\u201d value, set this property to None.\n+ To delete an existing \u00abno data\u00bb value, set this property to None.\n datatype(a\bas\bs_\b_s\bst\btr\bri\bin\bng\bg=\b=F\bFa\bal\bls\bse\be)_\b\u00b6\n The data type contained in the band, as an integer constant between\n 0 (Unknown) and 14. If as_string is True, the data type is returned\n- as a string. Check out the \u201cGDAL Pixel Type\u201d column in the _\bd_\ba_\bt_\ba_\bt_\by_\bp_\be\n+ as a string. Check out the \u00abGDAL Pixel Type\u00bb column in the _\bd_\ba_\bt_\ba_\bt_\by_\bp_\be\n _\bv_\ba_\bl_\bu_\be_\b _\bt_\ba_\bb_\bl_\be for possible values.\n color_interp(a\bas\bs_\b_s\bst\btr\bri\bin\bng\bg=\b=F\bFa\bal\bls\bse\be)_\b\u00b6\n The color interpretation for the band, as an integer between 0and\n 16. If as_string is True, the data type is returned as a string\n with the following possible values: GCI_Undefined, GCI_GrayIndex,\n GCI_PaletteIndex, GCI_RedBand, GCI_GreenBand, GCI_BlueBand,\n GCI_AlphaBand, GCI_HueBand, GCI_SaturationBand, GCI_LightnessBand,\n@@ -1207,16 +1207,16 @@\n created without passing band data upon creation. If the number of bands\n isn\u2019t specified, it\u2019s automatically calculated from the length of the\n bands input. The number of bands can\u2019t be changed after creation.\n bands\n A list of band_input dictionaries with band input data. The resulting\n band indices are the same as in the list provided. The definition of the\n band input dictionary is given below. If band data isn\u2019t provided, the\n- raster bands values are instantiated as an array of zeros and the \u201cno\n- data\u201d value is set to None.\n+ raster bands values are instantiated as an array of zeros and the \u00abno\n+ data\u00bb value is set to None.\n papsz_options\n A dictionary with raster creation options. The key-value pairs of the\n input dictionary are passed to the driver on creation of the raster.\n The available options are driver-specific and are described in the\n documentation of each driver.\n The values in the dictionary are not case-sensitive and are automatically\n converted to the correct string format upon creation.\n@@ -1237,15 +1237,15 @@\n ... \"blockxsize\": 23,\n ... \"blockysize\": 23,\n ... },\n ... }\n ... )\n *\b**\b**\b* T\bTh\bhe\be b\bba\ban\bnd\bd_\b_i\bin\bnp\bpu\but\bt d\bdi\bic\bct\bti\bio\bon\bna\bar\bry\by_\b?\b\u00b6 *\b**\b**\b*\n The bands key in the ds_input dictionary is a list of band_input dictionaries.\n-Each band_input dictionary can contain pixel values and the \u201cno data\u201d value to\n+Each band_input dictionary can contain pixel values and the \u00abno data\u00bb value to\n be set on the bands of the new raster. The data array can have the full size of\n the new raster or be smaller. For arrays that are smaller than the full raster,\n the size, shape, and offset keys control the pixel values. The corresponding\n keys are passed to the _\bd_\ba_\bt_\ba_\b(_\b) method. Their functionality is the same as\n setting the band data with that method. The following table describes the keys\n that can be used.\n K\bKe\bey\by D\bDe\bef\bfa\bau\bul\blt\bt U\bUs\bsa\bag\bge\be\n@@ -1323,17 +1323,17 @@\n _\bF_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for available options).\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGD\bDA\bAL\bL_\b_L\bLI\bIB\bBR\bRA\bAR\bRY\bY_\b_P\bPA\bAT\bTH\bH_\b?\b\u00b6 *\b**\b**\b**\b*\n A string specifying the location of the GDAL library. Typically, this setting\n is only used if the GDAL library is in a non-standard location (e.g., /home/\n john/lib/libgdal.so).\n *\b**\b**\b**\b**\b* E\bEx\bxc\bce\bep\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GDALException_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GDALException_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The base GDAL exception, indicating a GDAL-related error.\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn SRSException_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn SRSException_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n An exception raised when an error occurs when constructing or using a\n spatial reference system object.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\bD_\bA_\bL_\b _\bA_\bP_\bI\n o _\bO_\bv_\be_\br_\bv_\bi_\be_\bw\n # _\bS_\ba_\bm_\bp_\bl_\be_\b _\bD_\ba_\bt_\ba\n o _\bV_\be_\bc_\bt_\bo_\br_\b _\bD_\ba_\bt_\ba_\b _\bS_\bo_\bu_\br_\bc_\be_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n@@ -1359,16 +1359,16 @@\n # _\bU_\bs_\bi_\bn_\bg_\b _\bm_\be_\bm_\bo_\br_\by_\b-_\bb_\ba_\bs_\be_\bd_\b _\bV_\bi_\br_\bt_\bu_\ba_\bl_\b _\bF_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm\n # _\bU_\bs_\bi_\bn_\bg_\b _\bo_\bt_\bh_\be_\br_\b _\bV_\bi_\br_\bt_\bu_\ba_\bl_\b _\bF_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm_\bs\n # _\bC_\bo_\bm_\bp_\br_\be_\bs_\bs_\be_\bd_\b _\br_\ba_\bs_\bt_\be_\br_\bs\n # _\bN_\be_\bt_\bw_\bo_\br_\bk_\b _\br_\ba_\bs_\bt_\be_\br_\bs\n o _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n # _\bG_\bD_\bA_\bL_\b__\bL_\bI_\bB_\bR_\bA_\bR_\bY_\b__\bP_\bA_\bT_\bH\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\bE_\bO_\bS_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\bG_\be_\bo_\bI_\bP_\b2\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoip2.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoip2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Geolocation with GeoIP2 — Django 5.1.4 documentation\n+ Geolocation with GeoIP2 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -126,15 +127,15 @@\n
    \n
    \n \n
    \n

    API Reference\u00b6

    \n
    \n
    \n-class GeoIP2(path=None, cache=0, country=None, city=None)[source]\u00b6
    \n+class GeoIP2(path=None, cache=0, country=None, city=None)[sorgente]\u00b6\n
    \n \n

    The GeoIP object does not require any parameters to use the default\n settings. However, at the very least the GEOIP_PATH setting\n should be set with the path of the location of your GeoIP datasets. The\n following initialization keywords may be used to customize any of the\n defaults.

    \n@@ -174,83 +175,83 @@\n
    \n
    \n

    Methods\u00b6

    \n
    \n

    Instantiating\u00b6

    \n
    \n
    \n-classmethod GeoIP2.open(path, cache)[source]\u00b6
    \n+classmethod GeoIP2.open(path, cache)[sorgente]\u00b6\n
    \n \n

    This classmethod instantiates the GeoIP object from the given database path\n and given cache setting.

    \n
    \n-

    Deprecated since version 5.1: Use the GeoIP2() constructor instead.

    \n+

    Deprecato dalla versione 5.1: Use the GeoIP2() constructor instead.

    \n
    \n
    \n
    \n

    Querying\u00b6

    \n

    All the following querying routines may take an instance of\n IPv4Address or IPv6Address, a string IP\n address, or a fully qualified domain name (FQDN). For example,\n IPv4Address("205.186.163.125"), "205.186.163.125", and\n "djangoproject.com" would all be valid query parameters.

    \n
    \n
    \n-GeoIP2.city(query)[source]\u00b6
    \n+GeoIP2.city(query)[sorgente]\u00b6\n
    \n \n

    Returns a dictionary of city information for the given query. Some\n of the values in the dictionary may be undefined (None).

    \n
    \n
    \n-GeoIP2.country(query)[source]\u00b6
    \n+GeoIP2.country(query)[sorgente]\u00b6\n
    \n \n

    Returns a dictionary with the country code and country for the given\n query.

    \n
    \n
    \n-GeoIP2.country_code(query)[source]\u00b6
    \n+GeoIP2.country_code(query)[sorgente]\u00b6\n
    \n \n

    Returns the country code corresponding to the query.

    \n
    \n
    \n-GeoIP2.country_name(query)[source]\u00b6
    \n+GeoIP2.country_name(query)[sorgente]\u00b6\n
    \n \n

    Returns the country name corresponding to the query.

    \n
    \n
    \n

    Coordinate Retrieval\u00b6

    \n
    \n
    \n-GeoIP2.coords(query)[source]\u00b6
    \n+GeoIP2.coords(query)[sorgente]\u00b6\n
    \n \n

    Returns a coordinate tuple of (longitude, latitude).

    \n
    \n-

    Deprecated since version 5.1: Use GeoIP2.lon_lat() instead.

    \n+

    Deprecato dalla versione 5.1: Use GeoIP2.lon_lat() instead.

    \n
    \n
    \n
    \n-GeoIP2.lon_lat(query)[source]\u00b6
    \n+GeoIP2.lon_lat(query)[sorgente]\u00b6\n
    \n \n

    Returns a coordinate tuple of (longitude, latitude).

    \n
    \n
    \n-GeoIP2.lat_lon(query)[source]\u00b6
    \n+GeoIP2.lat_lon(query)[sorgente]\u00b6\n
    \n \n

    Returns a coordinate tuple of (latitude, longitude),

    \n
    \n
    \n-GeoIP2.geos(query)[source]\u00b6
    \n+GeoIP2.geos(query)[sorgente]\u00b6\n
    \n \n

    Returns a Point object corresponding to the\n query.

    \n
    \n
    \n
    \n@@ -272,15 +273,15 @@\n 'GeoLite2-City.mmdb'.

    \n
    \n \n
    \n

    Exceptions\u00b6

    \n
    \n
    \n-exception GeoIP2Exception[source]\u00b6
    \n+exception GeoIP2Exception[sorgente]\u00b6\n

    The exception raised when an error occurs in the GeoIP2 wrapper.\n Exceptions from the underlying geoip2 library are passed through\n unchanged.

    \n
    \n \n

    Footnotes

    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GDAL API

    \n+ title=\"capitolo precedente\">GDAL API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Utilities

    \n+ title=\"capitolo successivo\">GeoDjango Utilities

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\bol\blo\boc\bca\bat\bti\bio\bon\bn w\bwi\bit\bth\bh G\bGe\beo\boI\bIP\bP2\b2_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The _\bG_\be_\bo_\bI_\bP_\b2 object is a wrapper for the _\bM_\ba_\bx_\bM_\bi_\bn_\bd_\b _\bg_\be_\bo_\bi_\bp_\b2_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bl_\bi_\bb_\br_\ba_\br_\by. _\b[_\b1_\b]\n In order to perform IP-based geolocation, the _\bG_\be_\bo_\bI_\bP_\b2 object requires the _\bg_\be_\bo_\bi_\bp_\b2\n Python package and the GeoIP Country and/or City datasets in binary format (the\n CSV files will not work!), downloaded from e.g. _\bM_\ba_\bx_\bM_\bi_\bn_\bd or _\bD_\bB_\b-_\bI_\bP websites. Grab\n@@ -40,15 +40,15 @@\n >>> g.lat_lon(\"salon.com\")\n (39.0437, -77.4875)\n >>> g.lon_lat(\"uh.edu\")\n (-95.4342, 29.834)\n >>> g.geos(\"24.124.1.80\").wkt\n 'POINT (-97 38)'\n *\b**\b**\b**\b**\b* A\bAP\bPI\bI R\bRe\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeoIP2(p\bpa\bat\bth\bh=\b=N\bNo\bon\bne\be, c\bca\bac\bch\bhe\be=\b=0\b0, c\bco\bou\bun\bnt\btr\bry\by=\b=N\bNo\bon\bne\be, c\bci\bit\bty\by=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeoIP2(p\bpa\bat\bth\bh=\b=N\bNo\bon\bne\be, c\bca\bac\bch\bhe\be=\b=0\b0, c\bco\bou\bun\bnt\btr\bry\by=\b=N\bNo\bon\bne\be, c\bci\bit\bty\by=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The GeoIP object does not require any parameters to use the default settings.\n However, at the very least the _\bG_\bE_\bO_\bI_\bP_\b__\bP_\bA_\bT_\bH setting should be set with the path\n of the location of your GeoIP datasets. The following initialization keywords\n may be used to customize any of the defaults.\n K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n Base directory to where GeoIP data is located or the full\n path path to where the city or country data files (.mmdb) are\n@@ -62,55 +62,55 @@\n country GeoLite2-Country.mmdb. Setting this keyword overrides the\n _\bG_\bE_\bO_\bI_\bP_\b__\bC_\bO_\bU_\bN_\bT_\bR_\bY setting.\n The name of the GeoIP city data file. Defaults to GeoLite2-\n city City.mmdb. Setting this keyword overrides the _\bG_\bE_\bO_\bI_\bP_\b__\bC_\bI_\bT_\bY\n setting.\n *\b**\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* I\bIn\bns\bst\bta\ban\bnt\bti\bia\bat\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd GeoIP2.open(p\bpa\bat\bth\bh, c\bca\bac\bch\bhe\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd GeoIP2.open(p\bpa\bat\bth\bh, c\bca\bac\bch\bhe\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This classmethod instantiates the GeoIP object from the given database path and\n given cache setting.\n-Deprecated since version 5.1: Use the _\bG_\be_\bo_\bI_\bP_\b2_\b(_\b) constructor instead.\n+Deprecato dalla versione 5.1: Use the _\bG_\be_\bo_\bI_\bP_\b2_\b(_\b) constructor instead.\n *\b**\b**\b**\b* Q\bQu\bue\ber\bry\byi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n All the following querying routines may take an instance of _\bI_\bP_\bv_\b4_\bA_\bd_\bd_\br_\be_\bs_\bs or\n _\bI_\bP_\bv_\b6_\bA_\bd_\bd_\br_\be_\bs_\bs, a string IP address, or a fully qualified domain name (FQDN). For\n example, IPv4Address(\"205.186.163.125\"), \"205.186.163.125\", and\n \"djangoproject.com\" would all be valid query parameters.\n- GeoIP2.city(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.city(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a dictionary of city information for the given query. Some of the\n values in the dictionary may be undefined (None).\n- GeoIP2.country(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.country(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a dictionary with the country code and country for the given query.\n- GeoIP2.country_code(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.country_code(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the country code corresponding to the query.\n- GeoIP2.country_name(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.country_name(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the country name corresponding to the query.\n *\b**\b**\b**\b* C\bCo\boo\bor\brd\bdi\bin\bna\bat\bte\be R\bRe\bet\btr\bri\bie\bev\bva\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n- GeoIP2.coords(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.coords(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a coordinate tuple of (longitude, latitude).\n-Deprecated since version 5.1: Use _\bG_\be_\bo_\bI_\bP_\b2_\b._\bl_\bo_\bn_\b__\bl_\ba_\bt_\b(_\b) instead.\n- GeoIP2.lon_lat(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+Deprecato dalla versione 5.1: Use _\bG_\be_\bo_\bI_\bP_\b2_\b._\bl_\bo_\bn_\b__\bl_\ba_\bt_\b(_\b) instead.\n+ GeoIP2.lon_lat(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a coordinate tuple of (longitude, latitude).\n- GeoIP2.lat_lon(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.lat_lon(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a coordinate tuple of (latitude, longitude),\n- GeoIP2.geos(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ GeoIP2.geos(q\bqu\bue\ber\bry\by)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bP_\bo_\bi_\bn_\bt object corresponding to the query.\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGE\bEO\bOI\bIP\bP_\b_P\bPA\bAT\bTH\bH_\b?\b\u00b6 *\b**\b**\b**\b*\n A string or _\bp_\ba_\bt_\bh_\bl_\bi_\bb_\b._\bP_\ba_\bt_\bh specifying the directory where the GeoIP data files\n are located. This setting is r\bre\beq\bqu\bui\bir\bre\bed\bd unless manually specified with path\n keyword when initializing the _\bG_\be_\bo_\bI_\bP_\b2 object.\n *\b**\b**\b**\b* G\bGE\bEO\bOI\bIP\bP_\b_C\bCO\bOU\bUN\bNT\bTR\bRY\bY_\b?\b\u00b6 *\b**\b**\b**\b*\n The basename to use for the GeoIP country data file. Defaults to 'GeoLite2-\n Country.mmdb'.\n *\b**\b**\b**\b* G\bGE\bEO\bOI\bIP\bP_\b_C\bCI\bIT\bTY\bY_\b?\b\u00b6 *\b**\b**\b**\b*\n The basename to use for the GeoIP city data file. Defaults to 'GeoLite2-\n City.mmdb'.\n *\b**\b**\b**\b**\b* E\bEx\bxc\bce\bep\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GeoIP2Exception_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GeoIP2Exception_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The exception raised when an error occurs in the _\bG_\be_\bo_\bI_\bP_\b2 wrapper.\n Exceptions from the underlying geoip2 library are passed through\n unchanged.\n Footnotes\n [_\b1]\n GeoIP(R) is a registered trademark of MaxMind, Inc.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n@@ -122,16 +122,16 @@\n # _\bQ_\bu_\be_\br_\by_\bi_\bn_\bg\n # _\bC_\bo_\bo_\br_\bd_\bi_\bn_\ba_\bt_\be_\b _\bR_\be_\bt_\br_\bi_\be_\bv_\ba_\bl\n o _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n # _\bG_\bE_\bO_\bI_\bP_\b__\bP_\bA_\bT_\bH\n # _\bG_\bE_\bO_\bI_\bP_\b__\bC_\bO_\bU_\bN_\bT_\bR_\bY\n # _\bG_\bE_\bO_\bI_\bP_\b__\bC_\bI_\bT_\bY\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\bD_\bA_\bL_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bU_\bt_\bi_\bl_\bi_\bt_\bi_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoquerysets.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoquerysets.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GIS QuerySet API Reference — Django 5.1.4 documentation\n+ GIS QuerySet API Reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -468,15 +469,15 @@\n \n
    \n
    \n
    \n

    exact, same_as\u00b6

    \n

    Availability: PostGIS,\n Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

    \n-

    Tests if the geometry field is \u201cequal\u201d to the lookup geometry. On Oracle,\n+

    Tests if the geometry field is \u00abequal\u00bb to the lookup geometry. On Oracle,\n MySQL, and SpatiaLite, it tests spatial equality, while on PostGIS it tests\n equality of bounding boxes.

    \n

    Example:

    \n
    Zipcode.objects.filter(poly=geom)\n 
    \n
    \n \n@@ -611,15 +612,15 @@\n (geom, pattern); the form of pattern will depend on the spatial backend:

    \n
    \n

    MariaDB, PostGIS, and SpatiaLite\u00b6

    \n

    On these spatial backends the intersection pattern is a string comprising\n nine characters, which define intersections between the interior, boundary,\n and exterior of the geometry field and the lookup geometry.\n The intersection pattern matrix may only use the following characters:\n-1, 2, T, F, or *. This lookup type allows users to \u201cfine tune\u201d\n+1, 2, T, F, or *. This lookup type allows users to \u00abfine tune\u00bb\n a specific geometric relationship consistent with the DE-9IM model. [1]

    \n

    Geometry example:

    \n
    # A tuple lookup parameter is used to specify the geometry and\n # the intersection pattern (the pattern here is for 'contains').\n Zipcode.objects.filter(poly__relate=(geom, "T*T***FF*"))\n 
    \n
    \n@@ -1060,15 +1061,15 @@\n >>> WorldBorder.objects.aggregate(Extent("mpoly"), Union("mpoly"))\n \n \n
    \n

    Collect\u00b6

    \n
    \n
    \n-class Collect(geo_field, filter=None)[source]\u00b6
    \n+class Collect(geo_field, filter=None)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS, MySQL,\n SpatiaLite

    \n

    Returns a GEOMETRYCOLLECTION or a MULTI geometry object from the geometry\n column. This is analogous to a simplified version of the Union\n aggregate, except it can be several orders of magnitude faster than performing\n@@ -1081,15 +1082,15 @@\n Changed in Django 5.1:

    MySQL 8.0.24+ support was added.

    \n \n
    \n
    \n

    Extent\u00b6

    \n
    \n
    \n-class Extent(geo_field, filter=None)[source]\u00b6
    \n+class Extent(geo_field, filter=None)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n Oracle, SpatiaLite

    \n

    Returns the extent of all geo_field in the QuerySet as a 4-tuple,\n comprising the lower left coordinate and the upper right coordinate.

    \n

    Example:

    \n@@ -1102,15 +1103,15 @@\n Changed in Django 5.0:

    Support for using the filter argument was added.

    \n \n
    \n
    \n

    Extent3D\u00b6

    \n
    \n
    \n-class Extent3D(geo_field, filter=None)[source]\u00b6
    \n+class Extent3D(geo_field, filter=None)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS

    \n

    Returns the 3D extent of all geo_field in the QuerySet as a 6-tuple,\n comprising the lower left coordinate and upper right coordinate (each with x, y,\n and z coordinates).

    \n

    Example:

    \n@@ -1123,15 +1124,15 @@\n Changed in Django 5.0:

    Support for using the filter argument was added.

    \n \n
    \n
    \n

    MakeLine\u00b6

    \n
    \n
    \n-class MakeLine(geo_field, filter=None)[source]\u00b6
    \n+class MakeLine(geo_field, filter=None)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n SpatiaLite

    \n

    Returns a LineString constructed from the point field geometries in the\n QuerySet. Currently, ordering the queryset has no effect.

    \n

    Example:

    \n@@ -1144,25 +1145,25 @@\n Changed in Django 5.0:

    Support for using the filter argument was added.

    \n \n
    \n
    \n

    Union\u00b6

    \n
    \n
    \n-class Union(geo_field, filter=None)[source]\u00b6
    \n+class Union(geo_field, filter=None)[sorgente]\u00b6\n
    \n \n

    Availability: PostGIS,\n Oracle, SpatiaLite

    \n

    This method returns a GEOSGeometry object\n comprising the union of every geometry in the queryset. Please note that use of\n Union is processor intensive and may take a significant amount of time on\n large querysets.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If the computation time for using this method is too expensive, consider\n using Collect instead.

    \n
    \n

    Example:

    \n
    >>> u = Zipcode.objects.aggregate(Union(poly))  # This may take a long time.\n >>> u = Zipcode.objects.filter(poly__within=bbox).aggregate(\n ...     Union(poly)\n@@ -1182,15 +1183,15 @@\n [2]\n 

    See SDO_RELATE documentation, from the Oracle Spatial and\n Graph Developer\u2019s Guide.

    \n \n \n \n
    \n
    \n \n \n \n@@ -1260,37 +1261,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Forms API

    \n+ title=\"capitolo precedente\">GeoDjango Forms API

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Geographic Database Functions

    \n+ title=\"capitolo successivo\">Geographic Database Functions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGI\bIS\bS Q\bQu\bue\ber\bry\byS\bSe\bet\bt A\bAP\bPI\bI R\bRe\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl L\bLo\boo\bok\bku\bup\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The spatial lookups in this section are available for _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd and\n _\bR_\ba_\bs_\bt_\be_\br_\bF_\bi_\be_\bl_\bd.\n For an introduction, see the _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b _\bi_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn. For an overview of\n@@ -140,15 +140,15 @@\n PostGIS ST_Equals(poly, geom)\n Oracle SDO_EQUAL(poly, geom)\n MariaDB ST_Equals(poly, geom)\n MySQL ST_Equals(poly, geom)\n SpatiaLite Equals(poly, geom)\n *\b**\b**\b**\b* e\bex\bxa\bac\bct\bt,\b, s\bsa\bam\bme\be_\b_a\bas\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)\n-Tests if the geometry field is \u201cequal\u201d to the lookup geometry. On Oracle,\n+Tests if the geometry field is \u00abequal\u00bb to the lookup geometry. On Oracle,\n MySQL, and SpatiaLite, it tests spatial equality, while on PostGIS it tests\n equality of bounding boxes.\n Example:\n Zipcode.objects.filter(poly=geom)\n B\bBa\bac\bck\bke\ben\bnd\bd S\bSQ\bQL\bL E\bEq\bqu\bui\biv\bva\bal\ble\ben\bnt\bt\n PostGIS poly ~= geom\n Oracle SDO_EQUAL(poly, geom)\n@@ -195,15 +195,15 @@\n values given in the given pattern. This lookup requires a tuple parameter,\n (geom, pattern); the form of pattern will depend on the spatial backend:\n *\b**\b**\b* M\bMa\bar\bri\bia\baD\bDB\bB,\b, P\bPo\bos\bst\btG\bGI\bIS\bS,\b, a\ban\bnd\bd S\bSp\bpa\bat\bti\bia\baL\bLi\bit\bte\be_\b?\b\u00b6 *\b**\b**\b*\n On these spatial backends the intersection pattern is a string comprising nine\n characters, which define intersections between the interior, boundary, and\n exterior of the geometry field and the lookup geometry. The intersection\n pattern matrix may only use the following characters: 1, 2, T, F, or *. This\n-lookup type allows users to \u201cfine tune\u201d a specific geometric relationship\n+lookup type allows users to \u00abfine tune\u00bb a specific geometric relationship\n consistent with the DE-9IM model. _\b[_\b1_\b]\n Geometry example:\n # A tuple lookup parameter is used to specify the geometry and\n # the intersection pattern (the pattern here is for 'contains').\n Zipcode.objects.filter(poly__relate=(geom, \"T*T***FF*\"))\n PostGIS and MariaDB SQL equivalent:\n SELECT ... WHERE ST_Relate(poly, geom, 'T*T***FF*')\n@@ -397,70 +397,70 @@\n This keyword is for Oracle only. It is for the tolerance value\n tolerance used by the SDOAGGRTYPE procedure; the _\bO_\br_\ba_\bc_\bl_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n has more details.\n Example:\n >>> from django.contrib.gis.db.models import Extent, Union\n >>> WorldBorder.objects.aggregate(Extent(\"mpoly\"), Union(\"mpoly\"))\n *\b**\b**\b* C\bCo\bol\bll\ble\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Collect(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Collect(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, MySQL, SpatiaLite\n Returns a GEOMETRYCOLLECTION or a MULTI geometry object from the geometry\n column. This is analogous to a simplified version of the _\bU_\bn_\bi_\bo_\bn aggregate,\n except it can be several orders of magnitude faster than performing a union\n because it rolls up geometries into a collection or multi object, not caring\n about dissolving boundaries.\n Changed in Django 5.0:\n Support for using the filter argument was added.\n Changed in Django 5.1:\n MySQL 8.0.24+ support was added.\n *\b**\b**\b* E\bEx\bxt\bte\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Extent(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Extent(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n Returns the extent of all geo_field in the QuerySet as a 4-tuple, comprising\n the lower left coordinate and the upper right coordinate.\n Example:\n >>> qs = City.objects.filter(name__in=(\"Houston\", \"Dallas\")).aggregate(Extent\n (\"poly\"))\n >>> print(qs[\"poly__extent\"])\n (-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820)\n Changed in Django 5.0:\n Support for using the filter argument was added.\n *\b**\b**\b* E\bEx\bxt\bte\ben\bnt\bt3\b3D\bD_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Extent3D(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Extent3D(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n Returns the 3D extent of all geo_field in the QuerySet as a 6-tuple, comprising\n the lower left coordinate and upper right coordinate (each with x, y, and z\n coordinates).\n Example:\n >>> qs = City.objects.filter(name__in=(\"Houston\", \"Dallas\")).aggregate(Extent3D\n (\"poly\"))\n >>> print(qs[\"poly__extent3d\"])\n (-96.8016128540039, 29.7633724212646, 0, -95.3631439208984, 32.782058715820, 0)\n Changed in Django 5.0:\n Support for using the filter argument was added.\n *\b**\b**\b* M\bMa\bak\bke\beL\bLi\bin\bne\be_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MakeLine(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MakeLine(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, SpatiaLite\n Returns a LineString constructed from the point field geometries in the\n QuerySet. Currently, ordering the queryset has no effect.\n Example:\n >>> qs = City.objects.filter(name__in=(\"Houston\", \"Dallas\")).aggregate(MakeLine\n (\"poly\"))\n >>> print(qs[\"poly__makeline\"])\n LINESTRING (-95.3631510000000020 29.7633739999999989, -96.8016109999999941\n 32.7820570000000018)\n Changed in Django 5.0:\n Support for using the filter argument was added.\n *\b**\b**\b* U\bUn\bni\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Union(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Union(g\bge\beo\bo_\b_f\bfi\bie\bel\bld\bd, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A\bAv\bva\bai\bil\bla\bab\bbi\bil\bli\bit\bty\by: _\bP_\bo_\bs_\bt_\bG_\bI_\bS, Oracle, SpatiaLite\n This method returns a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by object comprising the union of every\n geometry in the queryset. Please note that use of Union is processor intensive\n and may take a significant amount of time on large querysets.\n-Note\n+Nota\n If the computation time for using this method is too expensive, consider using\n _\bC_\bo_\bl_\bl_\be_\bc_\bt instead.\n Example:\n >>> u = Zipcode.objects.aggregate(Union(poly)) # This may take a long time.\n >>> u = Zipcode.objects.filter(poly__within=bbox).aggregate(\n ... Union(poly)\n ... ) # A more sensible approach.\n@@ -470,15 +470,15 @@\n [_\b1]\n S\bSe\bee\be _\bO_\bp_\be_\bn_\bG_\bI_\bS_\b _\bS_\bi_\bm_\bp_\bl_\be_\b _\bF_\be_\ba_\bt_\bu_\br_\be_\b _\bS_\bp_\be_\bc_\bi_\bf_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bF_\bo_\br_\b _\bS_\bQ_\bL, at Ch. 2.1.13.2, p. 2-13 (The\n Dimensionally Extended Nine-Intersection Model).\n [_\b2]\n S\bSe\bee\be _\bS_\bD_\bO_\b__\bR_\bE_\bL_\bA_\bT_\bE_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn, from the Oracle Spatial and Graph Developer\u2019s\n Guide.\n [3] (_\b1,_\b2)\n-For an explanation of this routine, read _\bQ_\bu_\bi_\br_\bk_\bs_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\b\u201c_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b\u201d_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bl\n+For an explanation of this routine, read _\bQ_\bu_\bi_\br_\bk_\bs_\b _\bo_\bf_\b _\bt_\bh_\be_\b _\b\u00ab_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\bs_\b\u00bb_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bl\n _\bP_\br_\be_\bd_\bi_\bc_\ba_\bt_\be by Martin Davis (a PostGIS developer).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\bI_\bS_\b _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bL_\bo_\bo_\bk_\bu_\bp_\bs\n # _\bL_\bo_\bo_\bk_\bu_\bp_\bs_\b _\bw_\bi_\bt_\bh_\b _\br_\ba_\bs_\bt_\be_\br_\bs\n # _\bb_\bb_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs\n # _\bb_\bb_\bo_\bv_\be_\br_\bl_\ba_\bp_\bs\n@@ -516,16 +516,16 @@\n # _\bd_\bw_\bi_\bt_\bh_\bi_\bn\n # _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bC_\bo_\bl_\bl_\be_\bc_\bt\n # _\bE_\bx_\bt_\be_\bn_\bt\n # _\bE_\bx_\bt_\be_\bn_\bt_\b3_\bD\n # _\bM_\ba_\bk_\be_\bL_\bi_\bn_\be\n # _\bU_\bn_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bF_\bo_\br_\bm_\bs_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geos.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/geos.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GEOS API — Django 5.1.4 documentation\n+ GEOS API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -158,15 +159,15 @@\n condition in the garbage collector, your module is garbage collected before\n the GEOS object. To prevent this, create GEOSGeometry objects\n inside the local scope of your functions/methods.

    \n
    \n \n
    \n

    Geometries are Pythonic\u00b6

    \n-

    GEOSGeometry objects are \u2018Pythonic\u2019, in other words components may\n+

    GEOSGeometry objects are \u201cPythonic\u201d, in other words components may\n be accessed, modified, and iterated over using standard Python conventions.\n For example, you can iterate over the coordinates in a Point:

    \n
    >>> pnt = Point(5, 23)\n >>> [coord for coord in pnt]\n [5.0, 23.0]\n 
    \n
    \n@@ -245,17 +246,17 @@\n
    \n
    \n

    Geometry Objects\u00b6

    \n
    \n

    GEOSGeometry\u00b6

    \n
    \n
    \n-class GEOSGeometry(geo_input, srid=None)[source]\u00b6
    \n+class GEOSGeometry(geo_input, srid=None)[sorgente]\u00b6\n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • geo_input \u2013 Geometry input value (string or memoryview)

    • \n
    • srid (int) \u2013 spatial reference identifier

    • \n
    \n
    \n
    \n
    \n@@ -411,15 +412,15 @@\n GEOSGeometry.ring\u00b6\n

    Returns a boolean indicating whether the geometry is a LinearRing.

    \n
    \n \n
    \n
    \n GEOSGeometry.simple\u00b6
    \n-

    Returns a boolean indicating whether the geometry is \u2018simple\u2019. A geometry\n+

    Returns a boolean indicating whether the geometry is \u201csimple\u201d. A geometry\n is simple if and only if it does not intersect itself (except at boundary\n points). For example, a LineString object is not simple if it\n intersects itself. Thus, LinearRing and Polygon objects\n are always simple because they cannot intersect themselves, by definition.

    \n
    \n \n
    \n@@ -454,20 +455,20 @@\n

    Output Properties\u00b6

    \n

    The properties in this section export the GEOSGeometry object into\n a different. This output may be in the form of a string, buffer, or even\n another object.

    \n
    \n
    \n GEOSGeometry.ewkt\u00b6
    \n-

    Returns the \u201cextended\u201d Well-Known Text of the geometry. This representation\n+

    Returns the \u00abextended\u00bb Well-Known Text of the geometry. This representation\n is specific to PostGIS and is a superset of the OGC WKT standard. [1]\n Essentially the SRID is prepended to the WKT representation, for example\n SRID=4326;POINT(5 23).

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The output from this property does not include the 3dm, 3dz, and 4d\n information that PostGIS supports in its EWKT representations.

    \n
    \n
    \n \n
    \n
    \n@@ -830,15 +831,15 @@\n \n
    \n
    \n GEOSGeometry.distance(geom)\u00b6
    \n

    Returns the distance between the closest points on this geometry and the\n given geom (another GEOSGeometry object).

    \n
    \n-

    Note

    \n+

    Nota

    \n

    GEOS distance calculations are linear \u2013 in other words, GEOS does not\n perform a spherical calculation even if the SRID specifies a geographic\n coordinate system.

    \n
    \n
    \n \n
    \n@@ -872,15 +873,15 @@\n parameter (ct), which may be an integer SRID, spatial reference WKT\n string, a PROJ string, a SpatialReference\n object, or a CoordTransform object. By\n default, the geometry is transformed in-place and nothing is returned.\n However if the clone keyword is set, then the geometry is not modified\n and a transformed clone of the geometry is returned instead.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Raises GEOSException if GDAL is not\n available or if the geometry\u2019s SRID is None or less than 0. It\n doesn\u2019t impose any constraints on the geometry\u2019s SRID if called with a\n CoordTransform object.

    \n
    \n
    \n \n@@ -912,15 +913,15 @@\n \n
    \n
    \n
    \n

    Point\u00b6

    \n
    \n
    \n-class Point(x=None, y=None, z=None, srid=None)[source]\u00b6
    \n+class Point(x=None, y=None, z=None, srid=None)[sorgente]\u00b6\n

    Point objects are instantiated using arguments that represent the\n component coordinates of the point or with a single sequence coordinates.\n For example, the following are equivalent:

    \n
    >>> pnt = Point(5, 23)\n >>> pnt = Point([5, 23])\n 
    \n
    \n@@ -933,15 +934,15 @@\n
    \n \n
    \n
    \n

    LineString\u00b6

    \n
    \n
    \n-class LineString(*args, **kwargs)[source]\u00b6
    \n+class LineString(*args, **kwargs)[sorgente]\u00b6\n

    LineString objects are instantiated using arguments that are either a\n sequence of coordinates or Point objects. For example, the\n following are equivalent:

    \n
    >>> ls = LineString((0, 0), (1, 1))\n >>> ls = LineString(Point(0, 0), Point(1, 1))\n 
    \n
    \n@@ -966,58 +967,58 @@\n
    \n \n
    \n
    \n

    LinearRing\u00b6

    \n
    \n
    \n-class LinearRing(*args, **kwargs)[source]\u00b6
    \n+class LinearRing(*args, **kwargs)[sorgente]\u00b6\n

    LinearRing objects are constructed in the exact same way as\n LineString objects, however the coordinates must be closed, in\n other words, the first coordinates must be the same as the last\n coordinates. For example:

    \n
    >>> ls = LinearRing((0, 0), (0, 1), (1, 1), (0, 0))\n 
    \n
    \n

    Notice that (0, 0) is the first and last coordinate \u2013 if they were not\n equal, an error would be raised.

    \n
    \n
    \n-is_counterclockwise[source]\u00b6
    \n+is_counterclockwise[sorgente]\u00b6\n

    Returns whether this LinearRing is counterclockwise.

    \n
    \n \n
    \n \n
    \n
    \n

    Polygon\u00b6

    \n
    \n
    \n-class Polygon(*args, **kwargs)[source]\u00b6
    \n+class Polygon(*args, **kwargs)[sorgente]\u00b6\n

    Polygon objects may be instantiated by passing in parameters that\n represent the rings of the polygon. The parameters must either be\n LinearRing instances, or a sequence that may be used to construct a\n LinearRing:

    \n
    >>> ext_coords = ((0, 0), (0, 1), (1, 1), (1, 0), (0, 0))\n >>> int_coords = ((0.4, 0.4), (0.4, 0.6), (0.6, 0.6), (0.6, 0.4), (0.4, 0.4))\n >>> poly = Polygon(ext_coords, int_coords)\n >>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords))\n 
    \n
    \n
    \n
    \n-classmethod from_bbox(bbox)[source]\u00b6
    \n+classmethod from_bbox(bbox)[sorgente]\u00b6\n

    Returns a polygon object from the given bounding-box, a 4-tuple\n comprising (xmin, ymin, xmax, ymax).

    \n
    \n \n
    \n
    \n-num_interior_rings[source]\u00b6
    \n+num_interior_rings[sorgente]\u00b6\n

    Returns the number of interior rings in this geometry.

    \n
    \n \n
    \n \n
    \n

    Comparing Polygons

    \n@@ -1036,29 +1037,29 @@\n
    \n
    \n

    Geometry Collections\u00b6

    \n
    \n

    MultiPoint\u00b6

    \n
    \n
    \n-class MultiPoint(*args, **kwargs)[source]\u00b6
    \n+class MultiPoint(*args, **kwargs)[sorgente]\u00b6\n

    MultiPoint objects may be instantiated by passing in Point\n objects as arguments, or a single sequence of Point objects:

    \n
    >>> mp = MultiPoint(Point(0, 0), Point(1, 1))\n >>> mp = MultiPoint((Point(0, 0), Point(1, 1)))\n 
    \n
    \n
    \n \n
    \n
    \n

    MultiLineString\u00b6

    \n
    \n
    \n-class MultiLineString(*args, **kwargs)[source]\u00b6
    \n+class MultiLineString(*args, **kwargs)[sorgente]\u00b6\n

    MultiLineString objects may be instantiated by passing in\n LineString objects as arguments, or a single sequence of\n LineString objects:

    \n
    >>> ls1 = LineString((0, 0), (1, 1))\n >>> ls2 = LineString((2, 2), (3, 3))\n >>> mls = MultiLineString(ls1, ls2)\n >>> mls = MultiLineString([ls1, ls2])\n@@ -1080,15 +1081,15 @@\n 
    \n \n
    \n
    \n

    MultiPolygon\u00b6

    \n
    \n
    \n-class MultiPolygon(*args, **kwargs)[source]\u00b6
    \n+class MultiPolygon(*args, **kwargs)[sorgente]\u00b6\n

    MultiPolygon objects may be instantiated by passing Polygon\n objects as arguments, or a single sequence of Polygon objects:

    \n
    >>> p1 = Polygon(((0, 0), (0, 1), (1, 1), (0, 0)))\n >>> p2 = Polygon(((1, 1), (1, 2), (2, 2), (1, 1)))\n >>> mp = MultiPolygon(p1, p2)\n >>> mp = MultiPolygon([p1, p2])\n 
    \n@@ -1096,15 +1097,15 @@\n
    \n \n
    \n
    \n

    GeometryCollection\u00b6

    \n
    \n
    \n-class GeometryCollection(*args, **kwargs)[source]\u00b6
    \n+class GeometryCollection(*args, **kwargs)[sorgente]\u00b6\n

    GeometryCollection objects may be instantiated by passing in other\n GEOSGeometry as arguments, or a single sequence of\n GEOSGeometry objects:

    \n
    >>> poly = Polygon(((0, 0), (0, 1), (1, 1), (0, 0)))\n >>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly)\n >>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly))\n 
    \n@@ -1186,41 +1187,41 @@\n \n
    \n
    \n
    \n

    Geometry Factories\u00b6

    \n
    \n
    \n-fromfile(file_h)[source]\u00b6
    \n+fromfile(file_h)[sorgente]\u00b6\n
    \n-
    Parameters:
    \n+
    Parametri:
    \n

    file_h (a Python file object or a string path to the file) \u2013 input file that contains spatial data

    \n
    \n-
    Return type:
    \n+
    Tipo di ritorno:
    \n

    a GEOSGeometry corresponding to the spatial data in the file

    \n
    \n
    \n

    Example:

    \n
    >>> from django.contrib.gis.geos import fromfile\n >>> g = fromfile("/home/bob/geom.wkt")\n 
    \n
    \n
    \n \n
    \n
    \n-fromstr(string, srid=None)[source]\u00b6
    \n+fromstr(string, srid=None)[sorgente]\u00b6\n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • string (str) \u2013 string that contains spatial data

    • \n
    • srid (int) \u2013 spatial reference identifier

    • \n
    \n
    \n-
    Return type:
    \n+
    Tipo di ritorno:
    \n

    a GEOSGeometry corresponding to the spatial data in the string

    \n
    \n
    \n

    fromstr(string, srid) is equivalent to\n GEOSGeometry(string, srid).

    \n

    Example:

    \n
    >>> from django.contrib.gis.geos import fromstr\n@@ -1234,27 +1235,27 @@\n 

    I/O Objects\u00b6

    \n
    \n

    Reader Objects\u00b6

    \n

    The reader I/O classes return a GEOSGeometry instance from the WKB\n and/or WKT input given to their read(geom) method.

    \n
    \n
    \n-class WKBReader[source]\u00b6
    \n+class WKBReader[sorgente]\u00b6\n

    Example:

    \n
    >>> from django.contrib.gis.geos import WKBReader\n >>> wkb_r = WKBReader()\n >>> wkb_r.read("0101000000000000000000F03F000000000000F03F")\n <Point object at 0x103a88910>\n 
    \n
    \n
    \n \n
    \n
    \n-class WKTReader[source]\u00b6
    \n+class WKTReader[sorgente]\u00b6\n

    Example:

    \n
    >>> from django.contrib.gis.geos import WKTReader\n >>> wkt_r = WKTReader()\n >>> wkt_r.read("POINT(1 1)")\n <Point object at 0x103a88b50>\n 
    \n
    \n@@ -1265,38 +1266,38 @@\n

    Writer Objects\u00b6

    \n

    All writer objects have a write(geom) method that returns either the\n WKB or WKT of the given geometry. In addition, WKBWriter objects\n also have properties that may be used to change the byte order, and or\n include the SRID value (in other words, EWKB).

    \n
    \n
    \n-class WKBWriter(dim=2)[source]\u00b6
    \n+class WKBWriter(dim=2)[sorgente]\u00b6\n

    WKBWriter provides the most control over its output. By default it\n returns OGC-compliant WKB when its write method is called. However,\n it has properties that allow for the creation of EWKB, a superset of the\n WKB standard that includes additional information. See the\n WKBWriter.outdim documentation for more details about the dim\n argument.

    \n
    \n
    \n-write(geom)[source]\u00b6
    \n+write(geom)[sorgente]\u00b6\n
    \n \n

    Returns the WKB of the given geometry as a Python buffer object.\n Example:

    \n
    >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> pnt = Point(1, 1)\n >>> wkb_w = WKBWriter()\n >>> wkb_w.write(pnt)\n <read-only buffer for 0x103a898f0, size -1, offset 0 at 0x103a89930>\n 
    \n
    \n
    \n
    \n-write_hex(geom)[source]\u00b6
    \n+write_hex(geom)[sorgente]\u00b6\n
    \n \n

    Returns WKB of the geometry in hexadecimal. Example:

    \n
    >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> pnt = Point(1, 1)\n >>> wkb_w = WKBWriter()\n >>> wkb_w.write_hex(pnt)\n@@ -1333,15 +1334,15 @@\n '0101000000000000000000F03F000000000000F03F'\n >>> wkb_w.byteorder = 0\n '00000000013FF00000000000003FF0000000000000'\n 
    \n
    \n
    \n
    \n-outdim[source]\u00b6
    \n+outdim[sorgente]\u00b6\n
    \n \n

    This property may be set to change the output dimension of the geometry\n representation. In other words, if you have a 3D geometry then set to 3\n so that the Z value is included in the WKB.

    \n
    \n \n@@ -1369,15 +1370,15 @@\n >>> wkb_w.outdim=3# Tell writer to include Z values\n >>> wkb_w.write_hex(pnt)\n '0101000080000000000000F03F000000000000F03F000000000000F03F'\n \n \n
    \n
    \n-srid[source]\u00b6
    \n+srid[sorgente]\u00b6\n
    \n \n

    Set this property with a boolean to indicate whether the SRID of the\n geometry should be included with the WKB representation. Example:

    \n
    >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> wkb_w = WKBWriter()\n >>> pnt = Point(1, 1, srid=4326)\n@@ -1388,40 +1389,40 @@\n '0101000020E6100000000000000000F03F000000000000F03F'\n 
    \n
    \n \n \n
    \n
    \n-class WKTWriter(dim=2, trim=False, precision=None)[source]\u00b6
    \n+class WKTWriter(dim=2, trim=False, precision=None)[sorgente]\u00b6\n

    This class allows outputting the WKT representation of a geometry. See the\n WKBWriter.outdim, trim, and precision attributes for\n details about the constructor arguments.

    \n
    \n
    \n-write(geom)[source]\u00b6
    \n+write(geom)[sorgente]\u00b6\n
    \n \n

    Returns the WKT of the given geometry. Example:

    \n
    >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1, 1)\n >>> wkt_w = WKTWriter()\n >>> wkt_w.write(pnt)\n 'POINT (1.0000000000000000 1.0000000000000000)'\n 
    \n
    \n
    \n
    \n-outdim[source]\u00b6
    \n+outdim[sorgente]\u00b6\n

    See WKBWriter.outdim.

    \n
    \n \n
    \n
    \n-trim[source]\u00b6
    \n+trim[sorgente]\u00b6\n
    \n \n

    This property is used to enable or disable trimming of\n unnecessary decimals.

    \n
    >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1, 1)\n >>> wkt_w = WKTWriter()\n@@ -1432,15 +1433,15 @@\n >>> wkt_w.trim = True\n >>> wkt_w.write(pnt)\n 'POINT (1 1)'\n 
    \n
    \n
    \n
    \n-precision[source]\u00b6
    \n+precision[sorgente]\u00b6\n
    \n \n

    This property controls the rounding precision of coordinates;\n if set to None rounding is disabled.

    \n
    >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1.44, 1.66)\n >>> wkt_w = WKTWriter()\n@@ -1471,25 +1472,25 @@\n 

    Settings\u00b6

    \n
    \n

    GEOS_LIBRARY_PATH\u00b6

    \n

    A string specifying the location of the GEOS C library. Typically,\n this setting is only used if the GEOS C library is in a non-standard\n location (e.g., /home/bob/lib/libgeos_c.so).

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The setting must be the full path to the C shared library; in\n other words you want to use libgeos_c.so, not libgeos.so.

    \n
    \n
    \n \n
    \n

    Exceptions\u00b6

    \n
    \n
    \n-exception GEOSException[source]\u00b6
    \n+exception GEOSException[sorgente]\u00b6\n

    The base GEOS exception, indicates a GEOS-related error.

    \n
    \n \n
    \n \n \n \n@@ -1556,37 +1557,37 @@\n
  • Exceptions
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Measurement Objects

    \n+ title=\"capitolo precedente\">Measurement Objects

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GDAL API

    \n+ title=\"capitolo successivo\">GDAL API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGE\bEO\bOS\bS A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkg\bgr\bro\bou\bun\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* W\bWh\bha\bat\bt i\bis\bs G\bGE\bEO\bOS\bS?\b?_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bG_\bE_\bO_\bS stands for G\bGe\beo\bom\bme\bet\btr\bry\by E\bEn\bng\bgi\bin\bne\be -\b- O\bOp\bpe\ben\bn S\bSo\bou\bur\brc\bce\be, and is a C++ library, ported\n from the _\bJ_\ba_\bv_\ba_\b _\bT_\bo_\bp_\bo_\bl_\bo_\bg_\by_\b _\bS_\bu_\bi_\bt_\be. GEOS implements the OpenGIS _\bS_\bi_\bm_\bp_\bl_\be_\b _\bF_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\bf_\bo_\br\n@@ -60,15 +60,15 @@\n You find many TypeError or AttributeError exceptions filling your web server\u2019s\n log files. This generally means that you are creating GEOS objects at the top\n level of some of your Python modules. Then, due to a race condition in the\n garbage collector, your module is garbage collected before the GEOS object. To\n prevent this, create _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects inside the local scope of your\n functions/methods.\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bri\bie\bes\bs a\bar\bre\be P\bPy\byt\bth\bho\bon\bni\bic\bc_\b?\b\u00b6 *\b**\b**\b**\b*\n-_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects are \u2018Pythonic\u2019, in other words components may be accessed,\n+_\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects are \u201cPythonic\u201d, in other words components may be accessed,\n modified, and iterated over using standard Python conventions. For example, you\n can iterate over the coordinates in a _\bP_\bo_\bi_\bn_\bt:\n >>> pnt = Point(5, 23)\n >>> [coord for coord in pnt]\n [5.0, 23.0]\n With any geometry object, the _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b._\bc_\bo_\bo_\br_\bd_\bs property may be used to get\n the geometry coordinates as a Python tuple:\n@@ -124,16 +124,16 @@\n True\n >>> ls1 == ls2\n False\n >>> ls3 == ls2 # different SRIDs\n False\n *\b**\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\by O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGE\bEO\bOS\bSG\bGe\beo\bom\bme\bet\btr\bry\by_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GEOSGeometry(g\bge\beo\bo_\b_i\bin\bnp\bpu\but\bt, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Parameters:\n+ c\bcl\bla\bas\bss\bs GEOSGeometry(g\bge\beo\bo_\b_i\bin\bnp\bpu\but\bt, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Parametri:\n * g\bge\beo\bo_\b_i\bin\bnp\bpu\but\bt \u2013 Geometry input value (string or _\bm_\be_\bm_\bo_\br_\by_\bv_\bi_\be_\bw)\n * s\bsr\bri\bid\bd (_\bi\bi_\bn\bn_\bt\bt) \u2013 spatial reference identifier\n This is the base class for all GEOS geometry objects. It initializes on the\n given geo_input argument, and then assumes the proper geometry subclass (e.g.,\n GEOSGeometry('POINT(1 1)') will create a _\bP_\bo_\bi_\bn_\bt object).\n The srid parameter, if given, is set as the SRID of the created geometry if\n geo_input doesn\u2019t have an SRID. If different SRIDs are provided through the\n@@ -194,15 +194,15 @@\n Returns the number of geometries in this geometry. In other words, will\n return 1 on anything but geometry collections.\n GEOSGeometry.hasz_\b\u00b6\n Returns a boolean indicating whether the geometry is three-dimensional.\n GEOSGeometry.ring_\b\u00b6\n Returns a boolean indicating whether the geometry is a LinearRing.\n GEOSGeometry.simple_\b\u00b6\n- Returns a boolean indicating whether the geometry is \u2018simple\u2019. A geometry\n+ Returns a boolean indicating whether the geometry is \u201csimple\u201d. A geometry\n is simple if and only if it does not intersect itself (except at boundary\n points). For example, a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg object is not simple if it intersects\n itself. Thus, _\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg and _\bP_\bo_\bl_\by_\bg_\bo_\bn objects are always simple because\n they cannot intersect themselves, by definition.\n GEOSGeometry.valid_\b\u00b6\n Returns a boolean indicating whether the geometry is valid.\n GEOSGeometry.valid_reason_\b\u00b6\n@@ -216,19 +216,19 @@\n >>> pnt.srid = 4326\n >>> pnt.srid\n 4326\n *\b**\b**\b* O\bOu\but\btp\bpu\but\bt P\bPr\bro\bop\bpe\ber\brt\bti\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n The properties in this section export the _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by object into a different.\n This output may be in the form of a string, buffer, or even another object.\n GEOSGeometry.ewkt_\b\u00b6\n- Returns the \u201cextended\u201d Well-Known Text of the geometry. This\n+ Returns the \u00abextended\u00bb Well-Known Text of the geometry. This\n representation is specific to PostGIS and is a superset of the OGC WKT\n standard. _\b[_\b1_\b] Essentially the SRID is prepended to the WKT\n representation, for example SRID=4326;POINT(5 23).\n- Note\n+ Nota\n The output from this property does not include the 3dm, 3dz, and 4d\n information that PostGIS supports in its EWKT representations.\n GEOSGeometry.hex_\b\u00b6\n Returns the WKB of this Geometry in hexadecimal form. Please note that\n the SRID value is not included in this representation because it is not a\n part of the OGC specification (use the _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b._\bh_\be_\bx_\be_\bw_\bk_\bb property\n instead).\n@@ -395,15 +395,15 @@\n This property returns the extent of this geometry as a 4-tuple,\n consisting of (xmin, ymin, xmax, ymax).\n GEOSGeometry.clone()_\b\u00b6\n This method returns a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by that is a clone of the original.\n GEOSGeometry.distance(g\bge\beo\bom\bm)_\b\u00b6\n Returns the distance between the closest points on this geometry and the\n given geom (another _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by object).\n- Note\n+ Nota\n GEOS distance calculations are linear \u2013 in other words, GEOS does not\n perform a spherical calculation even if the SRID specifies a geographic\n coordinate system.\n GEOSGeometry.length_\b\u00b6\n Returns the length of this geometry (e.g., 0 for a _\bP_\bo_\bi_\bn_\bt, the length of a\n _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg, or the circumference of a _\bP_\bo_\bl_\by_\bg_\bo_\bn).\n GEOSGeometry.prepared_\b\u00b6\n@@ -417,15 +417,15 @@\n GEOSGeometry.transform(c\bct\bt, c\bcl\blo\bon\bne\be=\b=F\bFa\bal\bls\bse\be)_\b\u00b6\n Transforms the geometry according to the given coordinate transformation\n parameter (ct), which may be an integer SRID, spatial reference WKT\n string, a PROJ string, a _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be object, or a _\bC_\bo_\bo_\br_\bd_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm\n object. By default, the geometry is transformed in-place and nothing is\n returned. However if the clone keyword is set, then the geometry is not\n modified and a transformed clone of the geometry is returned instead.\n- Note\n+ Nota\n Raises _\bG_\bE_\bO_\bS_\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn if GDAL is not available or if the geometry\u2019s SRID\n is None or less than 0. It doesn\u2019t impose any constraints on the\n geometry\u2019s SRID if called with a _\bC_\bo_\bo_\br_\bd_\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm object.\n GEOSGeometry.make_valid()_\b\u00b6\n Returns a valid _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by equivalent, trying not to lose any of the\n input vertices. If the geometry is already valid, it is returned\n untouched. This is similar to the _\bM_\ba_\bk_\be_\bV_\ba_\bl_\bi_\bd database function. Requires\n@@ -437,26 +437,26 @@\n >>> g = MultiPoint(Point(0, 0), Point(2, 2), Point(1, 1))\n >>> print(g)\n MULTIPOINT (0 0, 2 2, 1 1)\n >>> g.normalize()\n >>> print(g)\n MULTIPOINT (2 2, 1 1, 0 0)\n *\b**\b**\b**\b* P\bPo\boi\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Point(x\bx=\b=N\bNo\bon\bne\be, y\by=\b=N\bNo\bon\bne\be, z\bz=\b=N\bNo\bon\bne\be, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Point(x\bx=\b=N\bNo\bon\bne\be, y\by=\b=N\bNo\bon\bne\be, z\bz=\b=N\bNo\bon\bne\be, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Point objects are instantiated using arguments that represent the\n component coordinates of the point or with a single sequence coordinates.\n For example, the following are equivalent:\n >>> pnt = Point(5, 23)\n >>> pnt = Point([5, 23])\n Empty Point objects may be instantiated by passing no arguments or an\n empty sequence. The following are equivalent:\n >>> pnt = Point()\n >>> pnt = Point([])\n *\b**\b**\b**\b* L\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LineString(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LineString(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n LineString objects are instantiated using arguments that are either a\n sequence of coordinates or _\bP_\bo_\bi_\bn_\bt objects. For example, the following are\n equivalent:\n >>> ls = LineString((0, 0), (1, 1))\n >>> ls = LineString(Point(0, 0), Point(1, 1))\n In addition, LineString objects may also be created by passing in a\n single sequence of coordinate or _\bP_\bo_\bi_\bn_\bt objects:\n@@ -465,77 +465,77 @@\n Empty LineString objects may be instantiated by passing no arguments or\n an empty sequence. The following are equivalent:\n >>> ls = LineString()\n >>> ls = LineString([])\n closed_\b\u00b6\n Returns whether or not this LineString is closed.\n *\b**\b**\b**\b* L\bLi\bin\bne\bea\bar\brR\bRi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LinearRing(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LinearRing(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n LinearRing objects are constructed in the exact same way as _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg\n objects, however the coordinates must be c\bcl\blo\bos\bse\bed\bd, in other words, the\n first coordinates must be the same as the last coordinates. For example:\n >>> ls = LinearRing((0, 0), (0, 1), (1, 1), (0, 0))\n Notice that (0, 0) is the first and last coordinate \u2013 if they were not\n equal, an error would be raised.\n- is_counterclockwise_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_counterclockwise_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns whether this LinearRing is counterclockwise.\n *\b**\b**\b**\b* P\bPo\bol\bly\byg\bgo\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Polygon(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Polygon(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Polygon objects may be instantiated by passing in parameters that\n represent the rings of the polygon. The parameters must either be\n _\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg instances, or a sequence that may be used to construct a\n _\bL_\bi_\bn_\be_\ba_\br_\bR_\bi_\bn_\bg:\n >>> ext_coords = ((0, 0), (0, 1), (1, 1), (1, 0), (0, 0))\n >>> int_coords = ((0.4, 0.4), (0.4, 0.6), (0.6, 0.6), (0.6, 0.4), (0.4,\n 0.4))\n >>> poly = Polygon(ext_coords, int_coords)\n >>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords))\n- c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_bbox(b\bbb\bbo\box\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd from_bbox(b\bbb\bbo\box\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a polygon object from the given bounding-box, a 4-tuple\n comprising (xmin, ymin, xmax, ymax).\n- num_interior_rings_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ num_interior_rings_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of interior rings in this geometry.\n Comparing Polygons\n Note that it is possible to compare Polygon objects directly with < or >, but\n as the comparison is made through Polygon\u2019s _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg, it does not mean much\n (but is consistent and quick). You can always force the comparison with the\n _\ba_\br_\be_\ba property:\n >>> if poly_1.area > poly_2.area:\n ... pass\n ...\n *\b**\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\by C\bCo\bol\bll\ble\bec\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\boi\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPoint(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPoint(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n MultiPoint objects may be instantiated by passing in _\bP_\bo_\bi_\bn_\bt objects as\n arguments, or a single sequence of _\bP_\bo_\bi_\bn_\bt objects:\n >>> mp = MultiPoint(Point(0, 0), Point(1, 1))\n >>> mp = MultiPoint((Point(0, 0), Point(1, 1)))\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biL\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiLineString(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiLineString(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n MultiLineString objects may be instantiated by passing in _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg\n objects as arguments, or a single sequence of _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg objects:\n >>> ls1 = LineString((0, 0), (1, 1))\n >>> ls2 = LineString((2, 2), (3, 3))\n >>> mls = MultiLineString(ls1, ls2)\n >>> mls = MultiLineString([ls1, ls2])\n merged_\b\u00b6\n Returns a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg representing the line merge of all the\n components in this MultiLineString.\n closed_\b\u00b6\n Returns True if and only if all elements are closed.\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\bol\bly\byg\bgo\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPolygon(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPolygon(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n MultiPolygon objects may be instantiated by passing _\bP_\bo_\bl_\by_\bg_\bo_\bn objects as\n arguments, or a single sequence of _\bP_\bo_\bl_\by_\bg_\bo_\bn objects:\n >>> p1 = Polygon(((0, 0), (0, 1), (1, 1), (0, 0)))\n >>> p2 = Polygon(((1, 1), (1, 2), (2, 2), (1, 1)))\n >>> mp = MultiPolygon(p1, p2)\n >>> mp = MultiPolygon([p1, p2])\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byC\bCo\bol\bll\ble\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryCollection(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryCollection(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n GeometryCollection objects may be instantiated by passing in other\n _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by as arguments, or a single sequence of _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects:\n >>> poly = Polygon(((0, 0), (0, 1), (1, 1), (0, 0)))\n >>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1,\n 1)), poly)\n >>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point\n (1, 1)), poly))\n@@ -562,68 +562,68 @@\n crosses(o\bot\bth\bhe\ber\br)_\b\u00b6\n disjoint(o\bot\bth\bhe\ber\br)_\b\u00b6\n intersects(o\bot\bth\bhe\ber\br)_\b\u00b6\n overlaps(o\bot\bth\bhe\ber\br)_\b\u00b6\n touches(o\bot\bth\bhe\ber\br)_\b\u00b6\n within(o\bot\bth\bhe\ber\br)_\b\u00b6\n *\b**\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\by F\bFa\bac\bct\bto\bor\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- fromfile(f\bfi\bil\ble\be_\b_h\bh)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Parameters:\n+ fromfile(f\bfi\bil\ble\be_\b_h\bh)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Parametri:\n f\bfi\bil\ble\be_\b_h\bh (a Python file object or a string path to the file) \u2013 input\n file that contains spatial data\n- Return type:\n+ Tipo di ritorno:\n a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by corresponding to the spatial data in the file\n Example:\n >>> from django.contrib.gis.geos import fromfile\n >>> g = fromfile(\"/home/bob/geom.wkt\")\n- fromstr(s\bst\btr\bri\bin\bng\bg, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Parameters:\n+ fromstr(s\bst\btr\bri\bin\bng\bg, s\bsr\bri\bid\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Parametri:\n * s\bst\btr\bri\bin\bng\bg (_\bs\bs_\bt\bt_\br\br) \u2013 string that contains spatial data\n * s\bsr\bri\bid\bd (_\bi\bi_\bn\bn_\bt\bt) \u2013 spatial reference identifier\n- Return type:\n+ Tipo di ritorno:\n a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by corresponding to the spatial data in the string\n fromstr(string, srid) is equivalent to _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b(_\bs_\bt_\br_\bi_\bn_\bg_\b,_\b _\bs_\br_\bi_\bd_\b).\n Example:\n >>> from django.contrib.gis.geos import fromstr\n >>> pnt = fromstr(\"POINT(-90.5 29.5)\", srid=4326)\n *\b**\b**\b**\b**\b* I\bI/\b/O\bO O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* R\bRe\bea\bad\bde\ber\br O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n The reader I/O classes return a _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by instance from the WKB and/or WKT\n input given to their read(geom) method.\n- c\bcl\bla\bas\bss\bs WKBReader_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WKBReader_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Example:\n >>> from django.contrib.gis.geos import WKBReader\n >>> wkb_r = WKBReader()\n >>> wkb_r.read(\"0101000000000000000000F03F000000000000F03F\")\n \n- c\bcl\bla\bas\bss\bs WKTReader_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WKTReader_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Example:\n >>> from django.contrib.gis.geos import WKTReader\n >>> wkt_r = WKTReader()\n >>> wkt_r.read(\"POINT(1 1)\")\n \n *\b**\b**\b**\b* W\bWr\bri\bit\bte\ber\br O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n All writer objects have a write(geom) method that returns either the WKB or WKT\n of the given geometry. In addition, _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br objects also have properties that\n may be used to change the byte order, and or include the SRID value (in other\n words, EWKB).\n- c\bcl\bla\bas\bss\bs WKBWriter(d\bdi\bim\bm=\b=2\b2)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WKBWriter(d\bdi\bim\bm=\b=2\b2)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n WKBWriter provides the most control over its output. By default it\n returns OGC-compliant WKB when its write method is called. However, it\n has properties that allow for the creation of EWKB, a superset of the WKB\n standard that includes additional information. See the _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b._\bo_\bu_\bt_\bd_\bi_\bm\n documentation for more details about the dim argument.\n- write(g\bge\beo\bom\bm)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ write(g\bge\beo\bom\bm)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the WKB of the given geometry as a Python buffer object. Example:\n >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> pnt = Point(1, 1)\n >>> wkb_w = WKBWriter()\n >>> wkb_w.write(pnt)\n \n- write_hex(g\bge\beo\bom\bm)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ write_hex(g\bge\beo\bom\bm)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns WKB of the geometry in hexadecimal. Example:\n >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> pnt = Point(1, 1)\n >>> wkb_w = WKBWriter()\n >>> wkb_w.write_hex(pnt)\n '0101000000000000000000F03F000000000000F03F'\n byteorder_\b\u00b6\n@@ -636,15 +636,15 @@\n >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> wkb_w = WKBWriter()\n >>> pnt = Point(1, 1)\n >>> wkb_w.write_hex(pnt)\n '0101000000000000000000F03F000000000000F03F'\n >>> wkb_w.byteorder = 0\n '00000000013FF00000000000003FF0000000000000'\n- outdim_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ outdim_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This property may be set to change the output dimension of the geometry\n representation. In other words, if you have a 3D geometry then set to 3\n so that the Z value is included in the WKB.\n O\bOu\but\btd\bdi\bim\bm V\bVa\bal\blu\bue\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n 2 The default, output 2D WKB.\n 3 Output 3D WKB.\n Example:\n@@ -654,52 +654,52 @@\n 2\n >>> pnt = Point(1, 1, 1)\n >>> wkb_w.write_hex(pnt) # By default, no Z value included:\n '0101000000000000000000F03F000000000000F03F'\n >>> wkb_w.outdim = 3 # Tell writer to include Z values\n >>> wkb_w.write_hex(pnt)\n '0101000080000000000000F03F000000000000F03F000000000000F03F'\n- srid_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ srid_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Set this property with a boolean to indicate whether the SRID of the\n geometry should be included with the WKB representation. Example:\n >>> from django.contrib.gis.geos import Point, WKBWriter\n >>> wkb_w = WKBWriter()\n >>> pnt = Point(1, 1, srid=4326)\n >>> wkb_w.write_hex(pnt) # By default, no SRID included:\n '0101000000000000000000F03F000000000000F03F'\n >>> wkb_w.srid = True # Tell writer to include SRID\n >>> wkb_w.write_hex(pnt)\n '0101000020E6100000000000000000F03F000000000000F03F'\n- c\bcl\bla\bas\bss\bs WKTWriter(d\bdi\bim\bm=\b=2\b2, t\btr\bri\bim\bm=\b=F\bFa\bal\bls\bse\be, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WKTWriter(d\bdi\bim\bm=\b=2\b2, t\btr\bri\bim\bm=\b=F\bFa\bal\bls\bse\be, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This class allows outputting the WKT representation of a geometry. See\n the _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b._\bo_\bu_\bt_\bd_\bi_\bm, _\bt_\br_\bi_\bm, and _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn attributes for details about\n the constructor arguments.\n- write(g\bge\beo\bom\bm)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ write(g\bge\beo\bom\bm)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the WKT of the given geometry. Example:\n >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1, 1)\n >>> wkt_w = WKTWriter()\n >>> wkt_w.write(pnt)\n 'POINT (1.0000000000000000 1.0000000000000000)'\n- outdim_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ outdim_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n See _\bW_\bK_\bB_\bW_\br_\bi_\bt_\be_\br_\b._\bo_\bu_\bt_\bd_\bi_\bm.\n- trim_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ trim_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This property is used to enable or disable trimming of unnecessary\n decimals.\n >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1, 1)\n >>> wkt_w = WKTWriter()\n >>> wkt_w.trim\n False\n >>> wkt_w.write(pnt)\n 'POINT (1.0000000000000000 1.0000000000000000)'\n >>> wkt_w.trim = True\n >>> wkt_w.write(pnt)\n 'POINT (1 1)'\n- precision_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ precision_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This property controls the rounding precision of coordinates; if set to\n None rounding is disabled.\n >>> from django.contrib.gis.geos import Point, WKTWriter\n >>> pnt = Point(1.44, 1.66)\n >>> wkt_w = WKTWriter()\n >>> print(wkt_w.precision)\n None\n@@ -715,19 +715,19 @@\n [_\b1]\n S\bSe\bee\be _\bP_\bo_\bs_\bt_\bG_\bI_\bS_\b _\bE_\bW_\bK_\bB_\b,_\b _\bE_\bW_\bK_\bT_\b _\ba_\bn_\bd_\b _\bC_\ba_\bn_\bo_\bn_\bi_\bc_\ba_\bl_\b _\bF_\bo_\br_\bm_\bs, PostGIS documentation at Ch. 4.1.2.\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGE\bEO\bOS\bS_\b_L\bLI\bIB\bBR\bRA\bAR\bRY\bY_\b_P\bPA\bAT\bTH\bH_\b?\b\u00b6 *\b**\b**\b**\b*\n A string specifying the location of the GEOS C library. Typically, this setting\n is only used if the GEOS C library is in a non-standard location (e.g., /home/\n bob/lib/libgeos_c.so).\n-Note\n+Nota\n The setting must be the f\bfu\bul\bll\bl path to the C\bC shared library; in other words you\n want to use libgeos_c.so, not libgeos.so.\n *\b**\b**\b**\b**\b* E\bEx\bxc\bce\bep\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GEOSException_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn GEOSException_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The base GEOS exception, indicates a GEOS-related error.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\bE_\bO_\bS_\b _\bA_\bP_\bI\n o _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd\n # _\bW_\bh_\ba_\bt_\b _\bi_\bs_\b _\bG_\bE_\bO_\bS_\b?\n # _\bF_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n@@ -755,16 +755,16 @@\n o _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bF_\ba_\bc_\bt_\bo_\br_\bi_\be_\bs\n o _\bI_\b/_\bO_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n # _\bR_\be_\ba_\bd_\be_\br_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n # _\bW_\br_\bi_\bt_\be_\br_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n o _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n # _\bG_\bE_\bO_\bS_\b__\bL_\bI_\bB_\bR_\bA_\bR_\bY_\b__\bP_\bA_\bT_\bH\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\be_\ba_\bs_\bu_\br_\be_\bm_\be_\bn_\bt_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\bD_\bA_\bL_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango — Django 5.1.4 documentation\n+ GeoDjango — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -246,37 +247,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The flatpages app

    \n+ title=\"capitolo precedente\">The flatpages app

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Tutorial

    \n+ title=\"capitolo successivo\">GeoDjango Tutorial

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n GeoDjango intends to be a world-class geographic web framework. Its goal is to\n make it as easy as possible to build GIS web applications and harness the power\n of spatially enabled data.\n * _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n@@ -118,16 +118,16 @@\n * _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bS_\bi_\bt_\be_\bm_\ba_\bp_\bs\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bs\n o _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n o _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bs_\bt_\bs\n * _\bD_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\ba_\bp_\bp\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/geolibs.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/geolibs.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Installing Geospatial libraries — Django 5.1.4 documentation\n+ Installing Geospatial libraries — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -121,15 +122,15 @@\n
    \n \n \n

    5.1, 5.0, 4.3

    \n

    Note that older or more recent versions of these libraries may also work\n totally fine with GeoDjango. Your mileage may vary.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The GeoDjango interfaces to GEOS, GDAL, and GeoIP may be used\n independently of Django. In other words, no database or settings file\n required \u2013 import them as normal from django.contrib.gis.

    \n
    \n

    On Debian/Ubuntu, you are advised to install the following packages which will\n install, directly or by dependency, the required geospatial libraries:

    \n
    $ sudo apt-get install binutils libproj-dev gdal-bin\n@@ -140,30 +141,30 @@\n 
    \n

    Building from source\u00b6

    \n

    When installing from source on UNIX and GNU/Linux systems, please follow\n the installation instructions carefully, and install the libraries in the\n given order. If using MySQL or Oracle as the spatial database, only GEOS\n is required.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    On Linux platforms, it may be necessary to run the ldconfig command\n after installing each library. For example:

    \n
    $ sudo make install\n $ sudo ldconfig\n 
    \n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    macOS users must install Xcode in order to compile software from source.

    \n
    \n
    \n

    GEOS\u00b6

    \n

    GEOS is a C++ library for performing geometric operations, and is the default\n-internal geometry representation used by GeoDjango (it\u2019s behind the \u201clazy\u201d\n+internal geometry representation used by GeoDjango (it\u2019s behind the \u00ablazy\u00bb\n geometries). Specifically, the C API library is called (e.g., libgeos_c.so)\n directly from Python using ctypes.

    \n

    First, download GEOS from the GEOS website and untar the source archive:

    \n
    $ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2\n $ tar xjf geos-X.Y.Z.tar.bz2\n 
    \n
    \n@@ -198,15 +199,15 @@\n modify the system\u2019s library path then the GEOS_LIBRARY_PATH\n setting may be added to your Django settings file with the full path to the\n GEOS C library. For example:

    \n
    GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The setting must be the full path to the C shared library; in\n other words you want to use libgeos_c.so, not libgeos.so.

    \n
    \n

    See also My logs are filled with GEOS-related errors.

    \n
    \n
    \n
    \n@@ -349,37 +350,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Installation

    \n+ title=\"capitolo precedente\">GeoDjango Installation

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Installing PostGIS

    \n+ title=\"capitolo successivo\">Installing PostGIS

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg G\bGe\beo\bos\bsp\bpa\bat\bti\bia\bal\bl l\bli\bib\bbr\bra\bar\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n GeoDjango uses and/or provides interfaces for the following open source\n geospatial libraries:\n P\bPr\bro\bog\bgr\bra\bam\bm D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn R\bRe\beq\bqu\bui\bir\bre\bed\bd S\bSu\bup\bpp\bpo\bor\brt\bte\bed\bd V\bVe\ber\brs\bsi\bio\bon\bns\bs\n _\bG_\bE_\bO_\bS Geometry Engine Open Yes 3.12, 3.11, 3.10, 3.9,\n@@ -15,37 +15,37 @@\n library\n _\bP_\bo_\bs_\bt_\bG_\bI_\bS Spatial extensions for Yes (PostgreSQL only) 3.4, 3.3, 3.2, 3.1, 3.0\n PostgreSQL\n _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be Spatial extensions for Yes (SQLite only) 5.1, 5.0, 4.3\n SQLite\n Note that older or more recent versions of these libraries m\bma\bay\by also work\n totally fine with GeoDjango. Your mileage may vary.\n-Note\n+Nota\n The GeoDjango interfaces to GEOS, GDAL, and GeoIP may be used independently of\n Django. In other words, no database or settings file required \u2013 import them as\n normal from _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs.\n On Debian/Ubuntu, you are advised to install the following packages which will\n install, directly or by dependency, the required geospatial libraries:\n $ sudo apt-get install binutils libproj-dev gdal-bin\n Please also consult platform-specific instructions if you are on _\bm_\ba_\bc_\bO_\bS or\n _\bW_\bi_\bn_\bd_\bo_\bw_\bs.\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\bld\bdi\bin\bng\bg f\bfr\bro\bom\bm s\bso\bou\bur\brc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When installing from source on UNIX and GNU/Linux systems, please follow the\n installation instructions carefully, and install the libraries in the given\n order. If using MySQL or Oracle as the spatial database, only GEOS is required.\n-Note\n+Nota\n On Linux platforms, it may be necessary to run the ldconfig command after\n installing each library. For example:\n $ sudo make install\n $ sudo ldconfig\n-Note\n+Nota\n macOS users must install _\bX_\bc_\bo_\bd_\be in order to compile software from source.\n *\b**\b**\b**\b* G\bGE\bEO\bOS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n GEOS is a C++ library for performing geometric operations, and is the default\n-internal geometry representation used by GeoDjango (it\u2019s behind the \u201clazy\u201d\n+internal geometry representation used by GeoDjango (it\u2019s behind the \u00ablazy\u00bb\n geometries). Specifically, the C API library is called (e.g., libgeos_c.so)\n directly from Python using ctypes.\n First, download GEOS from the GEOS website and untar the source archive:\n $ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2\n $ tar xjf geos-X.Y.Z.tar.bz2\n Then step into the GEOS directory, create a build folder, and step into it:\n $ cd geos-X.Y.Z\n@@ -66,15 +66,15 @@\n _\bb_\bi_\bn_\bu_\bt_\bi_\bl_\bs.\n *\b**\b* G\bGE\bEO\bOS\bS_\b_L\bLI\bIB\bBR\bRA\bAR\bRY\bY_\b_P\bPA\bAT\bTH\bH_\b?\b\u00b6 *\b**\b*\n If your GEOS library is in a non-standard location, or you don\u2019t want to modify\n the system\u2019s library path then the _\bG_\bE_\bO_\bS_\b__\bL_\bI_\bB_\bR_\bA_\bR_\bY_\b__\bP_\bA_\bT_\bH setting may be added to\n your Django settings file with the full path to the GEOS C library. For\n example:\n GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'\n-Note\n+Nota\n The setting must be the f\bfu\bul\bll\bl path to the C\bC shared library; in other words you\n want to use libgeos_c.so, not libgeos.so.\n See also _\bM_\by_\b _\bl_\bo_\bg_\bs_\b _\ba_\br_\be_\b _\bf_\bi_\bl_\bl_\be_\bd_\b _\bw_\bi_\bt_\bh_\b _\bG_\bE_\bO_\bS_\b-_\br_\be_\bl_\ba_\bt_\be_\bd_\b _\be_\br_\br_\bo_\br_\bs.\n *\b**\b**\b**\b* P\bPR\bRO\bOJ\bJ_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bP_\bR_\bO_\bJ is a library for converting geospatial data to different coordinate\n reference systems.\n First, download the PROJ source code:\n@@ -145,16 +145,16 @@\n # _\bC_\ba_\bn_\b\u2019_\bt_\b _\bf_\bi_\bn_\bd_\b _\bG_\bE_\bO_\bS_\b _\bl_\bi_\bb_\br_\ba_\br_\by\n # _\bG_\bE_\bO_\bS_\b__\bL_\bI_\bB_\bR_\bA_\bR_\bY_\b__\bP_\bA_\bT_\bH\n # _\bP_\bR_\bO_\bJ\n # _\bG_\bD_\bA_\bL\n # _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n # _\bC_\ba_\bn_\b\u2019_\bt_\b _\bf_\bi_\bn_\bd_\b _\bG_\bD_\bA_\bL_\b _\bl_\bi_\bb_\br_\ba_\br_\by\n # _\bG_\bD_\bA_\bL_\b__\bL_\bI_\bB_\bR_\bA_\bR_\bY_\b__\bP_\bA_\bT_\bH\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Installation — Django 5.1.4 documentation\n+ GeoDjango Installation — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,15 +113,15 @@\n how to install.

    \n \n
    \n

    Spatial database\u00b6

    \n

    PostgreSQL (with PostGIS), MySQL, Oracle, and SQLite (with SpatiaLite) are the\n spatial databases currently supported.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    PostGIS is recommended, because it is the most mature and feature-rich\n open source spatial database.

    \n
    \n

    The geospatial libraries required for a GeoDjango installation depends\n on the spatial database used. The following lists the library requirements,\n supported versions, and any notes for each of the supported database backends:

    \n \n@@ -194,15 +195,15 @@\n

    Troubleshooting\u00b6

    \n

    If you can\u2019t find the solution to your problem here then participate in the\n community! You can:

    \n
      \n
    • Ask your question on the GeoDjango forum.

    • \n
    • File a ticket on the Django trac if you think there\u2019s a bug. Make\n sure to provide a complete description of the problem, versions used,\n-and specify the component as \u201cGIS\u201d.

    • \n+and specify the component as \u00abGIS\u00bb.

      \n
    \n
    \n

    Library environment settings\u00b6

    \n

    By far, the most common problem when installing GeoDjango is that the\n external shared libraries (e.g., for GEOS and GDAL) cannot be located. [1]\n Typically, the cause of this problem is that the operating system isn\u2019t aware\n of the directory where the libraries built from source were installed.

    \n@@ -274,18 +275,18 @@\n

    This section also includes instructions for installing an upgraded version\n of Python from packages provided by the Python Software\n Foundation, however, this is not required.

    \n
    \n

    Python\u00b6

    \n

    Although macOS comes with Python installed, users can use framework\n installers provided by the Python Software Foundation. An advantage to\n-using the installer is that macOS\u2019s Python will remain \u201cpristine\u201d for internal\n+using the installer is that macOS\u2019s Python will remain \u00abpristine\u00bb for internal\n operating system use.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    You will need to modify the PATH environment variable in your\n .profile file so that the new version of Python is used when\n python is entered at the command-line:

    \n
    export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH\n 
    \n
    \n
    \n@@ -302,15 +303,15 @@\n \n \n

    You can check if the path is set up correctly by typing which psql at a\n terminal prompt.

    \n
    \n
    \n

    Homebrew\u00b6

    \n-

    Homebrew provides \u201crecipes\u201d for building binaries and packages from source.\n+

    Homebrew provides \u00abrecipes\u00bb for building binaries and packages from source.\n It provides recipes for the GeoDjango prerequisites on Macintosh computers\n running macOS. Because Homebrew still builds the software from source, Xcode\n is required.

    \n

    Summary:

    \n
    $ brew install postgresql\n $ brew install postgis\n $ brew install gdal\n@@ -335,15 +336,15 @@\n $ sudo port install proj6\n $ sudo port install postgis3\n $ sudo port install gdal\n $ sudo port install libgeoip\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    You will also have to modify the PATH in your .profile so\n that the MacPorts programs are accessible from the command-line:

    \n
    export PATH=/opt/local/bin:/opt/local/lib/postgresql13/bin\n 
    \n
    \n

    In addition, add the DYLD_FALLBACK_LIBRARY_PATH setting so that\n the libraries can be found by Python:

    \n@@ -366,49 +367,49 @@\n
    \n

    PostgreSQL\u00b6

    \n

    Download the latest PostgreSQL 15.x installer from the\n EnterpriseDB website. After downloading, run the installer, follow the\n on-screen directions, and keep the default options unless you know the\n consequences of changing them.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The PostgreSQL installer creates a new postgres database superuser\n You will be prompted once to set the password \u2013 make sure to remember it!

    \n
    \n-

    When the installer completes, it will ask to \u201cLaunch Stack Builder at exit?\u201d \u2013\n+

    When the installer completes, it will ask to \u00abLaunch Stack Builder at exit?\u00bb \u2013\n keep this checked, as it is necessary to install PostGIS.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If installed successfully, the PostgreSQL server will run in the background\n each time the system as started as a Windows service. A\n PostgreSQL 15 start menu group will created and contains\n shortcuts for the Application Stack Builder (ASB) as well as the\n-\u2018SQL Shell\u2019, which will launch a psql command window.

    \n+\u201cSQL Shell\u201d, which will launch a psql command window.

    \n
    \n
    \n
    \n

    PostGIS\u00b6

    \n

    From within the Stack Builder (to run outside of the installer,\n Start \u2023 PostgreSQL 15 \u2023 Application Stack Builder), select\n PostgreSQL 15 (x64) on port 5432 from the drop down\n menu and click next. Expand the\n Categories \u2023 Spatial Extensions menu tree and select\n PostGIS X.Y for PostgreSQL 15.

    \n

    After clicking next, you will be prompted to confirm the selected package and\n-\u201cDownload directory\u201d. Click next again, this will download PostGIS and you will\n+\u00abDownload directory\u00bb. Click next again, this will download PostGIS and you will\n be asked to click next to begin the PostGIS installer. Select the default\n options during install. The install process includes four Yes/No dialog boxes,\n-the default option for all four is \u201cNo\u201d.

    \n+the default option for all four is \u00abNo\u00bb.

    \n
    \n
    \n

    OSGeo4W\u00b6

    \n

    The OSGeo4W installer helps to install the PROJ, GDAL, and GEOS libraries\n required by GeoDjango. First, download the OSGeo4W installer, and\n run it. Select Express Web-GIS Install and click next. In the\n-\u2018Select Packages\u2019 list, ensure that GDAL is selected. If any other packages are\n+\u201cSelect Packages\u201d list, ensure that GDAL is selected. If any other packages are\n enabled by default, they are not required by GeoDjango and may be unchecked\n safely. After clicking next and accepting the license agreements, the packages\n will be automatically downloaded and installed, after which you may exit the\n installer.

    \n
    \n
    \n

    Modify Windows environment\u00b6

    \n@@ -423,22 +424,22 @@\n set PATH=%PATH%;%OSGEO4W_ROOT%\\bin\n reg ADD "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"\n reg ADD "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"\n reg ADD "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"\n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    Administrator privileges are required to execute these commands.\n To do this, run command prompt as administrator and enter the commands\n above. You need to log out and log back in again for the settings to take\n effect.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you customized the OSGeo4W installation directories, then you will need\n to modify the OSGEO4W_ROOT variables accordingly.

    \n
    \n
    \n
    \n

    Install Django and set up database\u00b6

    \n

    Install Django on your system. It is\n@@ -526,37 +527,37 @@\n \n \n \n \n \n \n

    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Tutorial

    \n+ title=\"capitolo precedente\">GeoDjango Tutorial

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Installing Geospatial libraries

    \n+ title=\"capitolo successivo\">Installing Geospatial libraries

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo I\bIn\bns\bst\bta\bal\bll\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In general, GeoDjango installation requires:\n 1. _\bP_\by_\bt_\bh_\bo_\bn_\b _\ba_\bn_\bd_\b _\bD_\bj_\ba_\bn_\bg_\bo\n 2. _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n@@ -21,15 +21,15 @@\n *\b**\b**\b**\b**\b* R\bRe\beq\bqu\bui\bir\bre\bem\bme\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* P\bPy\byt\bth\bho\bon\bn a\ban\bnd\bd D\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n Because GeoDjango is included with Django, please refer to Django\u2019s\n _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bo_\bn_\bs for details on how to install.\n *\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b*\n PostgreSQL (with PostGIS), MySQL, Oracle, and SQLite (with SpatiaLite) are the\n spatial databases currently supported.\n-Note\n+Nota\n PostGIS is recommended, because it is the most mature and feature-rich open\n source spatial database.\n The geospatial libraries required for a GeoDjango installation depends on the\n spatial database used. The following lists the library requirements, supported\n versions, and any notes for each of the supported database backends:\n D\bDa\bat\bta\bab\bba\bas\bse\be L\bLi\bib\bbr\bra\bar\bry\by R\bRe\beq\bqu\bui\bir\bre\bem\bme\ben\bnt\bts\bs S\bSu\bup\bpp\bpo\bor\brt\bte\bed\bd V\bVe\ber\brs\bsi\bio\bon\bns\bs N\bNo\bot\bte\bes\bs\n PostgreSQL GEOS, GDAL, PROJ, 13+ Requires PostGIS.\n@@ -55,15 +55,15 @@\n admin or KML sitemaps will not function properly.\n *\b**\b**\b**\b**\b* T\bTr\bro\bou\bub\bbl\ble\bes\bsh\bho\boo\bot\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you can\u2019t find the solution to your problem here then participate in the\n community! You can:\n * Ask your question on the _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo forum.\n * File a ticket on the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\br_\ba_\bc if you think there\u2019s a bug. Make sure to\n provide a complete description of the problem, versions used, and specify\n- the component as \u201cGIS\u201d.\n+ the component as \u00abGIS\u00bb.\n *\b**\b**\b**\b* L\bLi\bib\bbr\bra\bar\bry\by e\ben\bnv\bvi\bir\bro\bon\bnm\bme\ben\bnt\bt s\bse\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n By far, the most common problem when installing GeoDjango is that the external\n shared libraries (e.g., for GEOS and GDAL) cannot be located. _\b[_\b1_\b] Typically,\n the cause of this problem is that the operating system isn\u2019t aware of the\n directory where the libraries built from source were installed.\n In general, the library path may be set on a per-user basis by setting an\n environment variable, or by configuring the library path for the entire system.\n@@ -109,32 +109,32 @@\n * _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\bs_\bo_\bu_\br_\bc_\be\n This section also includes instructions for installing an upgraded version of\n _\bP_\by_\bt_\bh_\bo_\bn from packages provided by the Python Software Foundation, however, this\n is not required.\n *\b**\b**\b* P\bPy\byt\bth\bho\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n Although macOS comes with Python installed, users can use _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\br_\bs\n provided by the Python Software Foundation. An advantage to using the installer\n-is that macOS\u2019s Python will remain \u201cpristine\u201d for internal operating system\n+is that macOS\u2019s Python will remain \u00abpristine\u00bb for internal operating system\n use.\n-Note\n+Nota\n You will need to modify the PATH environment variable in your .profile file so\n that the new version of Python is used when python is entered at the command-\n line:\n export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH\n *\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\bes\bs.\b.a\bap\bpp\bp_\b?\b\u00b6 *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\ba_\bp_\bp is a standalone PostgreSQL server that includes the PostGIS\n extension. You will also need to install gdal and libgeoip with _\bH_\bo_\bm_\be_\bb_\br_\be_\bw.\n After installing Postgres.app, add the following to your .bash_profile so you\n can run the package\u2019s programs from the command-line. Replace X.Y with the\n version of PostgreSQL in the Postgres.app you installed:\n export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin\n You can check if the path is set up correctly by typing which psql at a\n terminal prompt.\n *\b**\b**\b* H\bHo\bom\bme\beb\bbr\bre\bew\bw_\b?\b\u00b6 *\b**\b**\b*\n-_\bH_\bo_\bm_\be_\bb_\br_\be_\bw provides \u201crecipes\u201d for building binaries and packages from source. It\n+_\bH_\bo_\bm_\be_\bb_\br_\be_\bw provides \u00abrecipes\u00bb for building binaries and packages from source. It\n provides recipes for the GeoDjango prerequisites on Macintosh computers running\n macOS. Because Homebrew still builds the software from source, _\bX_\bc_\bo_\bd_\be is\n required.\n Summary:\n $ brew install postgresql\n $ brew install postgis\n $ brew install gdal\n@@ -150,15 +150,15 @@\n Summary:\n $ sudo port install postgresql13-server\n $ sudo port install geos\n $ sudo port install proj6\n $ sudo port install postgis3\n $ sudo port install gdal\n $ sudo port install libgeoip\n-Note\n+Nota\n You will also have to modify the PATH in your .profile so that the MacPorts\n programs are accessible from the command-line:\n export PATH=/opt/local/bin:/opt/local/lib/postgresql13/bin\n In addition, add the DYLD_FALLBACK_LIBRARY_PATH setting so that the libraries\n can be found by Python:\n export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql13\n *\b**\b**\b**\b* W\bWi\bin\bnd\bdo\bow\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -167,39 +167,39 @@\n application.\n *\b**\b**\b* P\bPy\byt\bth\bho\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n Install a 64 bit version of Python. See _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bP_\by_\bt_\bh_\bo_\bn for further information.\n *\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL_\b?\b\u00b6 *\b**\b**\b*\n Download the latest _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\b1_\b5_\b._\bx_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\br from the _\bE_\bn_\bt_\be_\br_\bp_\br_\bi_\bs_\be_\bD_\bB website.\n After downloading, run the installer, follow the on-screen directions, and keep\n the default options unless you know the consequences of changing them.\n-Note\n+Nota\n The PostgreSQL installer creates a new postgres database superuser You will be\n prompted once to set the password \u2013 make sure to remember it!\n-When the installer completes, it will ask to \u201cLaunch Stack Builder at exit?\u201d \u2013\n+When the installer completes, it will ask to \u00abLaunch Stack Builder at exit?\u00bb \u2013\n keep this checked, as it is necessary to install _\bP_\bo_\bs_\bt_\bG_\bI_\bS.\n-Note\n+Nota\n If installed successfully, the PostgreSQL server will run in the background\n each time the system as started as a Windows service. A PostgreSQL 15 start\n menu group will created and contains shortcuts for the Application Stack\n-Builder (ASB) as well as the \u2018SQL Shell\u2019, which will launch a psql command\n+Builder (ASB) as well as the \u201cSQL Shell\u201d, which will launch a psql command\n window.\n *\b**\b**\b* P\bPo\bos\bst\btG\bGI\bIS\bS_\b?\b\u00b6 *\b**\b**\b*\n From within the Stack Builder (to run outside of the installer, Start \u2023\n PostgreSQL 15 \u2023 Application Stack Builder), select PostgreSQL 15 (x64) on port\n 5432 from the drop down menu and click next. Expand the Categories \u2023 Spatial\n Extensions menu tree and select PostGIS X.Y for PostgreSQL 15.\n After clicking next, you will be prompted to confirm the selected package and\n-\u201cDownload directory\u201d. Click next again, this will download PostGIS and you will\n+\u00abDownload directory\u00bb. Click next again, this will download PostGIS and you will\n be asked to click next to begin the PostGIS installer. Select the default\n options during install. The install process includes four Yes/No dialog boxes,\n-the default option for all four is \u201cNo\u201d.\n+the default option for all four is \u00abNo\u00bb.\n *\b**\b**\b* O\bOS\bSG\bGe\beo\bo4\b4W\bW_\b?\b\u00b6 *\b**\b**\b*\n The _\bO_\bS_\bG_\be_\bo_\b4_\bW_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\br helps to install the PROJ, GDAL, and GEOS libraries\n required by GeoDjango. First, download the _\bO_\bS_\bG_\be_\bo_\b4_\bW_\b _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\be_\br, and run it.\n-Select Express Web-GIS Install and click next. In the \u2018Select Packages\u2019 list,\n+Select Express Web-GIS Install and click next. In the \u201cSelect Packages\u201d list,\n ensure that GDAL is selected. If any other packages are enabled by default,\n they are not required by GeoDjango and may be unchecked safely. After clicking\n next and accepting the license agreements, the packages will be automatically\n downloaded and installed, after which you may exit the installer.\n *\b**\b**\b* M\bMo\bod\bdi\bif\bfy\by W\bWi\bin\bnd\bdo\bow\bws\bs e\ben\bnv\bvi\bir\bro\bon\bnm\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b*\n In order to use GeoDjango, you will need to add your OSGeo4W directories to\n your Windows system Path, as well as create GDAL_DATA and PROJ_LIB environment\n@@ -212,19 +212,19 @@\n set PATH=%PATH%;%OSGEO4W_ROOT%\\bin\n reg ADD \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\" /\n v Path /t REG_EXPAND_SZ /f /d \"%PATH%\"\n reg ADD \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\" /\n v GDAL_DATA /t REG_EXPAND_SZ /f /d \"%GDAL_DATA%\"\n reg ADD \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\" /\n v PROJ_LIB /t REG_EXPAND_SZ /f /d \"%PROJ_LIB%\"\n-Note\n+Nota\n Administrator privileges are required to execute these commands. To do this,\n run command prompt as administrator and enter the commands above. You need to\n log out and log back in again for the settings to take effect.\n-Note\n+Nota\n If you customized the OSGeo4W installation directories, then you will need to\n modify the OSGEO4W_ROOT variables accordingly.\n *\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bl D\bDj\bja\ban\bng\bgo\bo a\ban\bnd\bd s\bse\bet\bt u\bup\bp d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo on your system. It is recommended that you create a _\bv_\bi_\br_\bt_\bu_\ba_\bl\n _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt for each project you create.\n *\b**\b**\b* p\bps\bsy\byc\bco\bop\bpg\bg_\b?\b\u00b6 *\b**\b**\b*\n The psycopg Python module provides the interface between Python and the\n@@ -262,16 +262,16 @@\n # _\bP_\by_\bt_\bh_\bo_\bn\n # _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL\n # _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n # _\bO_\bS_\bG_\be_\bo_\b4_\bW\n # _\bM_\bo_\bd_\bi_\bf_\by_\b _\bW_\bi_\bn_\bd_\bo_\bw_\bs_\b _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt\n # _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bn_\bd_\b _\bs_\be_\bt_\b _\bu_\bp_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n # _\bp_\bs_\by_\bc_\bo_\bp_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bG_\be_\bo_\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/postgis.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/postgis.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Installing PostGIS — Django 5.1.4 documentation\n+ Installing PostGIS — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -157,37 +158,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Installing Geospatial libraries

    \n+ title=\"capitolo precedente\">Installing Geospatial libraries

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Installing SpatiaLite

    \n+ title=\"capitolo successivo\">Installing SpatiaLite

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg P\bPo\bos\bst\btG\bGI\bIS\bS_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bG_\bI_\bS adds geographic object support to PostgreSQL, turning it into a spatial\n database. _\bG_\bE_\bO_\bS, _\bP_\bR_\bO_\bJ and _\bG_\bD_\bA_\bL should be installed prior to building PostGIS.\n You might also need additional libraries, see _\bP_\bo_\bs_\bt_\bG_\bI_\bS_\b _\br_\be_\bq_\bu_\bi_\br_\be_\bm_\be_\bn_\bt_\bs.\n The _\bp_\bs_\by_\bc_\bo_\bp_\bg or _\bp_\bs_\by_\bc_\bo_\bp_\bg_\b2 module is required for use as the database adapter when\n@@ -43,16 +43,16 @@\n postgres# CREATE USER geodjango PASSWORD 'my_passwd';\n postgres# CREATE DATABASE geodjango OWNER geodjango;\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n o _\bP_\bo_\bs_\bt_\b-_\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n # _\bC_\br_\be_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n # _\bM_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bG_\be_\bo_\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/spatialite.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/spatialite.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Installing SpatiaLite — Django 5.1.4 documentation\n+ Installing SpatiaLite — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -126,15 +127,15 @@\n $ cd libspatialite-X.Y.Z\n $ ./configure\n $ make\n $ sudo make install\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    For macOS users building from source, the SpatiaLite library and tools\n need to have their target configured:

    \n
    $ ./configure --target=macosx\n 
    \n
    \n
    \n
    \n@@ -191,37 +192,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Installing PostGIS

    \n+ title=\"capitolo precedente\">Installing PostGIS

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Model API

    \n+ title=\"capitolo successivo\">GeoDjango Model API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg S\bSp\bpa\bat\bti\bia\baL\bLi\bit\bte\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be adds spatial support to SQLite, turning it into a full-featured\n spatial database.\n First, check if you can install SpatiaLite from system packages or binaries.\n For example, on Debian-based distributions that package SpatiaLite 4.3+, try to\n@@ -35,15 +35,15 @@\n $ wget https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-\n X.Y.Z.tar.gz\n $ tar xaf libspatialite-X.Y.Z.tar.gz\n $ cd libspatialite-X.Y.Z\n $ ./configure\n $ make\n $ sudo make install\n-Note\n+Nota\n For macOS users building from source, the SpatiaLite library a\ban\bnd\bd tools need to\n have their target configured:\n $ ./configure --target=macosx\n *\b**\b**\b**\b**\b* m\bma\bac\bcO\bOS\bS-\b-s\bsp\bpe\bec\bci\bif\bfi\bic\bc i\bin\bns\bst\btr\bru\buc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To install the SpatiaLite library and tools, macOS users can use _\bH_\bo_\bm_\be_\bb_\br_\be_\bw.\n *\b**\b**\b**\b* H\bHo\bom\bme\beb\bbr\bre\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bH_\bo_\bm_\be_\bb_\br_\be_\bw handles all the SpatiaLite related packages on your behalf, including\n@@ -61,16 +61,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be\n o _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bf_\br_\bo_\bm_\b _\bs_\bo_\bu_\br_\bc_\be\n # _\bS_\bQ_\bL_\bi_\bt_\be\n # _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be_\b _\bl_\bi_\bb_\br_\ba_\br_\by_\b _\b(_\bl_\bi_\bb_\bs_\bp_\ba_\bt_\bi_\ba_\bl_\bi_\bt_\be_\b)\n o _\bm_\ba_\bc_\bO_\bS_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bi_\bn_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bH_\bo_\bm_\be_\bb_\br_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\bo_\bd_\be_\bl_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/layermapping.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/layermapping.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- LayerMapping data import utility — Django 5.1.4 documentation\n+ LayerMapping data import utility — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -82,19 +83,19 @@\n

    The LayerMapping class provides a way to map the contents of\n vector spatial data files (e.g. shapefiles) into GeoDjango models.

    \n

    This utility grew out of the author\u2019s personal needs to eliminate\n the code repetition that went into pulling geometries and fields out of\n a vector layer, converting to another coordinate system (e.g. WGS84), and\n then inserting into a GeoDjango model.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Use of LayerMapping requires GDAL.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    GIS data sources, like shapefiles, may be very large. If you find\n that LayerMapping is using too much memory, set\n DEBUG to False in your settings. When DEBUG\n is set to True, Django automatically logs\n every SQL query \u2013 and when SQL statements contain geometries, this may\n consume more memory than is typical.

    \n
    \n@@ -157,15 +158,15 @@\n defined for the layer, use the source_srs keyword with a\n SpatialReference object to specify one.

    \n
    \n
    \n

    LayerMapping API\u00b6

    \n
    \n
    \n-class LayerMapping(model, data_source, mapping, layer=0, source_srs=None, encoding=None, transaction_mode='commit_on_success', transform=True, unique=True, using='default')[source]\u00b6
    \n+class LayerMapping(model, data_source, mapping, layer=0, source_srs=None, encoding=None, transaction_mode='commit_on_success', transform=True, unique=True, using='default')[sorgente]\u00b6\n
    \n \n

    The following are the arguments and keywords that may be used during\n instantiation of LayerMapping objects.

    \n
    \n \n \n@@ -239,15 +240,15 @@\n \n \n

    Argument

    \n
    \n

    save() Keyword Arguments\u00b6

    \n
    \n
    \n-LayerMapping.save(verbose=False, fid_range=False, step=False, progress=False, silent=False, stream=sys.stdout, strict=False)[source]\u00b6
    \n+LayerMapping.save(verbose=False, fid_range=False, step=False, progress=False, silent=False, stream=sys.stdout, strict=False)[sorgente]\u00b6\n
    \n \n

    The save() method also accepts keywords. These keywords are\n used for controlling output logging, error handling, and for importing\n specific feature ranges.

    \n \n \n@@ -355,37 +356,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango Utilities

    \n+ title=\"capitolo precedente\">GeoDjango Utilities

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    OGR Inspection

    \n+ title=\"capitolo successivo\">OGR Inspection

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* L\bLa\bay\bye\ber\brM\bMa\bap\bpp\bpi\bin\bng\bg d\bda\bat\bta\ba i\bim\bmp\bpo\bor\brt\bt u\but\bti\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg class provides a way to map the contents of vector spatial\n data files (e.g. shapefiles) into GeoDjango models.\n This utility grew out of the author\u2019s personal needs to eliminate the code\n repetition that went into pulling geometries and fields out of a vector layer,\n converting to another coordinate system (e.g. WGS84), and then inserting into a\n GeoDjango model.\n-Note\n+Nota\n Use of _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg requires GDAL.\n-Warning\n+Avvertimento\n GIS data sources, like shapefiles, may be very large. If you find that\n _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg is using too much memory, set _\bD_\bE_\bB_\bU_\bG to False in your settings.\n When _\bD_\bE_\bB_\bU_\bG is set to True, Django _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\ba_\bl_\bl_\by_\b _\bl_\bo_\bg_\bs e\bev\bve\ber\bry\by SQL query \u2013 and when\n SQL statements contain geometries, this may consume more memory than is\n typical.\n *\b**\b**\b**\b**\b* E\bEx\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n 1. You need a GDAL-supported data source, like a shapefile (here we\u2019re using\n@@ -65,15 +65,15 @@\n original spatial reference system (WGS84) to the spatial reference system of\n the GeoDjango model (NAD83). If no spatial reference system is defined for the\n layer, use the source_srs keyword with a _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be object to specify\n one.\n *\b**\b**\b**\b**\b* L\bLa\bay\bye\ber\brM\bMa\bap\bpp\bpi\bin\bng\bg A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs LayerMapping(m\bmo\bod\bde\bel\bl, d\bda\bat\bta\ba_\b_s\bso\bou\bur\brc\bce\be, m\bma\bap\bpp\bpi\bin\bng\bg, l\bla\bay\bye\ber\br=\b=0\b0, s\bso\bou\bur\brc\bce\be_\b_s\bsr\brs\bs=\b=N\bNo\bon\bne\be,\n e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b=N\bNo\bon\bne\be, t\btr\bra\ban\bns\bsa\bac\bct\bti\bio\bon\bn_\b_m\bmo\bod\bde\be=\b='\b'c\bco\bom\bmm\bmi\bit\bt_\b_o\bon\bn_\b_s\bsu\buc\bcc\bce\bes\bss\bs'\b', t\btr\bra\ban\bns\bsf\bfo\bor\brm\bm=\b=T\bTr\bru\bue\be,\n- u\bun\bni\biq\bqu\bue\be=\b=T\bTr\bru\bue\be, u\bus\bsi\bin\bng\bg=\b='\b'd\bde\bef\bfa\bau\bul\blt\bt'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ u\bun\bni\biq\bqu\bue\be=\b=T\bTr\bru\bue\be, u\bus\bsi\bin\bng\bg=\b='\b'd\bde\bef\bfa\bau\bul\blt\bt'\b')_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The following are the arguments and keywords that may be used during\n instantiation of LayerMapping objects.\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n model The geographic model, n\bno\bot\bt an instance.\n data_source The path to the OGR-supported data source file (e.g., a shapefile).\n Also accepts _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bg_\bd_\ba_\bl_\b._\bD_\ba_\bt_\ba_\bS_\bo_\bu_\br_\bc_\be instances.\n A dictionary: keys are strings corresponding to the model field,\n@@ -101,15 +101,15 @@\n unique Geometries from each feature will be added into the\n collection associated with the unique model. Forces the\n transaction mode to be 'autocommit'.\n using Sets the database to use when importing spatial data. Default\n is 'default'.\n *\b**\b**\b**\b* s\bsa\bav\bve\be(\b()\b) K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n LayerMapping.save(v\bve\ber\brb\bbo\bos\bse\be=\b=F\bFa\bal\bls\bse\be, f\bfi\bid\bd_\b_r\bra\ban\bng\bge\be=\b=F\bFa\bal\bls\bse\be, s\bst\bte\bep\bp=\b=F\bFa\bal\bls\bse\be, p\bpr\bro\bog\bgr\bre\bes\bss\bs=\b=F\bFa\bal\bls\bse\be,\n- s\bsi\bil\ble\ben\bnt\bt=\b=F\bFa\bal\bls\bse\be, s\bst\btr\bre\bea\bam\bm=\b=s\bsy\bys\bs.\b.s\bst\btd\bdo\bou\but\bt, s\bst\btr\bri\bic\bct\bt=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bsi\bil\ble\ben\bnt\bt=\b=F\bFa\bal\bls\bse\be, s\bst\btr\bre\bea\bam\bm=\b=s\bsy\bys\bs.\b.s\bst\btd\bdo\bou\but\bt, s\bst\btr\bri\bic\bct\bt=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The save() method also accepts keywords. These keywords are used for\n controlling output logging, error handling, and for importing specific feature\n ranges.\n S\bSa\bav\bve\be K\bKe\bey\byw\bwo\bor\brd\bd A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n May be set with a slice or tuple of (begin, end) feature\n fid_range ID\u2019s to map from the data source. In other words, this\n keyword enables the user to selectively import a subset\n@@ -152,16 +152,16 @@\n * _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\b _\bi_\bm_\bp_\bo_\br_\bt_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bA_\bP_\bI\n # _\bs_\ba_\bv_\be_\b(_\b)_\b _\bK_\be_\by_\bw_\bo_\br_\bd_\b _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs\n o _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n # _\bR_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bo_\bu_\bt_\b _\bo_\bf_\b _\bm_\be_\bm_\bo_\br_\by\n # _\bM_\by_\bS_\bQ_\bL_\b:_\b _\bm_\ba_\bx_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b__\bp_\ba_\bc_\bk_\be_\bt_\b _\be_\br_\br_\bo_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bU_\bt_\bi_\bl_\bi_\bt_\bi_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bO_\bG_\bR_\b _\bI_\bn_\bs_\bp_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/measure.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/measure.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Measurement Objects — Django 5.1.4 documentation\n+ Measurement Objects — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -234,15 +235,15 @@\n \n
    \n \n \n \n

    german_m

    German legal metre

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Area attributes are the same as Distance attributes,\n except they are prefixed with sq_ (area units are square in nature).\n For example, Area(sq_m=2) creates an Area object\n representing two square meters.

    \n
    \n

    In addition to unit with the sq_ prefix, the following units are also\n supported on Area:

    \n@@ -264,15 +265,15 @@\n
    \n
    \n

    Measurement API\u00b6

    \n
    \n

    Distance\u00b6

    \n
    \n
    \n-class Distance(**kwargs)[source]\u00b6
    \n+class Distance(**kwargs)[sorgente]\u00b6\n

    To initialize a distance object, pass in a keyword corresponding to the\n desired unit attribute name set with desired\n value. For example, the following creates a distance object representing 5\n miles:

    \n
    >>> dist = Distance(mi=5)\n 
    \n
    \n@@ -307,15 +308,15 @@\n
    \n \n
    \n
    \n

    Area\u00b6

    \n
    \n
    \n-class Area(**kwargs)[source]\u00b6
    \n+class Area(**kwargs)[sorgente]\u00b6\n

    To initialize an area object, pass in a keyword corresponding to the\n desired unit attribute name set with desired\n value. For example, the following creates an area object representing 5\n square miles:

    \n
    >>> a = Area(sq_mi=5)\n 
    \n
    \n@@ -351,15 +352,15 @@\n \n

    Footnotes

    \n \n
    \n
    \n
    \n \n \n@@ -385,37 +386,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Geographic Database Functions

    \n+ title=\"capitolo precedente\">Geographic Database Functions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GEOS API

    \n+ title=\"capitolo successivo\">GEOS API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMe\bea\bas\bsu\bur\bre\bem\bme\ben\bnt\bt O\bOb\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bm_\be_\ba_\bs_\bu_\br_\be module contains objects that allow for\n convenient representation of distance and area units of measure. _\b[_\b1_\b]\n Specifically, it implements two objects, _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be and _\bA_\br_\be_\ba \u2013 both of which may\n be accessed via the _\bD and _\bA convenience aliases, respectively.\n@@ -69,27 +69,27 @@\n clarke_link Clarke\u2019s link\n fathom Fathom\n rod Rod\n furlong Furlong, Furrow Long\n nm Nautical Mile\n nm_uk Nautical Mile (UK)\n german_m German legal metre\n-Note\n+Nota\n _\bA_\br_\be_\ba attributes are the same as _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be attributes, except they are prefixed\n with sq_ (area units are square in nature). For example, Area(sq_m=2) creates\n an _\bA_\br_\be_\ba object representing two square meters.\n In addition to unit with the sq_ prefix, the following units are also supported\n on _\bA_\br_\be_\ba:\n U\bUn\bni\bit\bt A\bAt\btt\btr\bri\bib\bbu\but\bte\be F\bFu\bul\bll\bl n\bna\bam\bme\be o\bor\br a\bal\bli\bia\bas\bs(\b(e\bes\bs)\b)\n ha Hectare\n Changed in Django 5.1:\n Support for the ha unit was added.\n *\b**\b**\b**\b**\b* M\bMe\bea\bas\bsu\bur\bre\bem\bme\ben\bnt\bt A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* D\bDi\bis\bst\bta\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Distance(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Distance(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n To initialize a distance object, pass in a keyword corresponding to the\n desired _\bu_\bn_\bi_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\bn_\ba_\bm_\be set with desired value. For example, the\n following creates a distance object representing 5 miles:\n >>> dist = Distance(mi=5)\n __getattr__(u\bun\bni\bit\bt_\b_a\bat\btt\bt)_\b\u00b6\n Returns the distance value in units corresponding to the given unit\n attribute. For example:\n@@ -99,15 +99,15 @@\n Returns the distance unit attribute name for the given full unit name.\n For example:\n >>> Distance.unit_attname(\"Mile\")\n 'mi'\n c\bcl\bla\bas\bss\bs D_\b\u00b6\n Alias for _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be class.\n *\b**\b**\b**\b* A\bAr\bre\bea\ba_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Area(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Area(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n To initialize an area object, pass in a keyword corresponding to the\n desired _\bu_\bn_\bi_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\bn_\ba_\bm_\be set with desired value. For example, the\n following creates an area object representing 5 square miles:\n >>> a = Area(sq_mi=5)\n __getattr__(u\bun\bni\bit\bt_\b_a\bat\btt\bt)_\b\u00b6\n Returns the area value in units corresponding to the given unit\n attribute. For example:\n@@ -119,25 +119,25 @@\n >>> Area.unit_attname(\"Kilometer\")\n 'sq_km'\n c\bcl\bla\bas\bss\bs A_\b\u00b6\n Alias for _\bA_\br_\be_\ba class.\n Footnotes\n [_\b1]\n _\bR_\bo_\bb_\be_\br_\bt_\b _\bC_\bo_\bu_\bp is the initial author of the measure objects, and was inspired by\n-Brian Beck\u2019s work in _\bg_\be_\bo_\bp_\by and Geoff Biggs\u2019 PhD work on dimensioned units for\n+Brian Beck\u2019s work in _\bg_\be_\bo_\bp_\by and Geoff Biggs\u201d PhD work on dimensioned units for\n robotics.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\be_\ba_\bs_\bu_\br_\be_\bm_\be_\bn_\bt_\b _\bO_\bb_\bj_\be_\bc_\bt_\bs\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bS_\bu_\bp_\bp_\bo_\br_\bt_\be_\bd_\b _\bu_\bn_\bi_\bt_\bs\n o _\bM_\be_\ba_\bs_\bu_\br_\be_\bm_\be_\bn_\bt_\b _\bA_\bP_\bI\n # _\bD_\bi_\bs_\bt_\ba_\bn_\bc_\be\n # _\bA_\br_\be_\ba\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\bE_\bO_\bS_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/model-api.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/model-api.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Model API — Django 5.1.4 documentation\n+ GeoDjango Model API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -100,87 +101,87 @@\n

    Spatial fields consist of a series of geometry field types and one raster field\n type. Each of the geometry field types correspond to the OpenGIS Simple\n Features specification [1]. There is no such standard for raster data.

    \n
    \n

    GeometryField\u00b6

    \n
    \n
    \n-class GeometryField[source]\u00b6
    \n+class GeometryField[sorgente]\u00b6\n
    \n \n

    The base class for geometry fields.

    \n
    \n
    \n

    PointField\u00b6

    \n
    \n
    \n-class PointField[source]\u00b6
    \n+class PointField[sorgente]\u00b6\n
    \n \n

    Stores a Point.

    \n
    \n
    \n

    LineStringField\u00b6

    \n
    \n
    \n-class LineStringField[source]\u00b6
    \n+class LineStringField[sorgente]\u00b6\n
    \n \n

    Stores a LineString.

    \n
    \n
    \n

    PolygonField\u00b6

    \n
    \n
    \n-class PolygonField[source]\u00b6
    \n+class PolygonField[sorgente]\u00b6\n
    \n \n

    Stores a Polygon.

    \n
    \n
    \n

    MultiPointField\u00b6

    \n
    \n
    \n-class MultiPointField[source]\u00b6
    \n+class MultiPointField[sorgente]\u00b6\n
    \n \n

    Stores a MultiPoint.

    \n
    \n
    \n

    MultiLineStringField\u00b6

    \n
    \n
    \n-class MultiLineStringField[source]\u00b6
    \n+class MultiLineStringField[sorgente]\u00b6\n
    \n \n

    Stores a MultiLineString.

    \n
    \n
    \n

    MultiPolygonField\u00b6

    \n
    \n
    \n-class MultiPolygonField[source]\u00b6
    \n+class MultiPolygonField[sorgente]\u00b6\n
    \n \n

    Stores a MultiPolygon.

    \n
    \n
    \n

    GeometryCollectionField\u00b6

    \n
    \n
    \n-class GeometryCollectionField[source]\u00b6
    \n+class GeometryCollectionField[sorgente]\u00b6\n
    \n \n

    Stores a GeometryCollection.

    \n
    \n
    \n

    RasterField\u00b6

    \n
    \n
    \n-class RasterField[source]\u00b6
    \n+class RasterField[sorgente]\u00b6\n
    \n \n

    Stores a GDALRaster.

    \n

    RasterField is currently only implemented for the PostGIS backend.

    \n
    \n \n
    \n@@ -224,15 +225,15 @@\n Cartesian, plane. Projected coordinate systems are especially convenient\n for region-specific applications, e.g., if you know that your database will\n only cover geometries in North Kansas, then you may consider using projection\n system specific to that region. Moreover, projected coordinate systems are\n defined in Cartesian units (such as meters or feet), easing distance\n calculations.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you wish to perform arbitrary distance queries using non-point\n geometries in WGS84 in PostGIS and you want decent performance, enable the\n GeometryField.geography keyword so that geography database\n type is used instead.

    \n
    \n

    Additional Resources:

    \n
      \n@@ -251,15 +252,15 @@\n
      \n BaseSpatialField.spatial_index\u00b6
      \n
      \n \n

      Defaults to True. Creates a spatial index for the given geometry\n field.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      This is different from the db_index field option because spatial\n indexes are created in a different manner than regular database\n indexes. Specifically, spatial indexes are typically created using\n a variant of the R-Tree, while regular database indexes typically\n use B-Trees.

      \n
      \n
    \n@@ -276,15 +277,15 @@\n
    \n \n

    This option may be used for customizing the coordinate dimension of the\n geometry field. By default, it is set to 2, for representing two-dimensional\n geometries. For spatial backends that support it, it may be set to 3 for\n three-dimensional support.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    At this time 3D support is limited to the PostGIS and SpatiaLite backends.

    \n
    \n \n
    \n

    geography\u00b6

    \n
    \n
    \n@@ -292,15 +293,15 @@\n
    \n \n

    If set to True, this option will create a database column of\n type geography, rather than geometry. Please refer to the\n geography type section below for more\n details.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Geography support is limited to PostGIS and will force the SRID to be 4326.

    \n
    \n
    \n

    Geography Type\u00b6

    \n

    The geography type provides native support for spatial features represented\n with geographic coordinates (e.g., WGS84 longitude/latitude). [6]\n Unlike the plane used by a geometry type, the geography type uses a spherical\n@@ -410,37 +411,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Installing SpatiaLite

    \n+ title=\"capitolo precedente\">Installing SpatiaLite

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Database API

    \n+ title=\"capitolo successivo\">GeoDjango Database API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo M\bMo\bod\bde\bel\bl A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explores the details of the GeoDjango Model API. Throughout this\n section, we\u2019ll be using the following geographic model of a _\bZ_\bI_\bP_\b _\bc_\bo_\bd_\be and of a\n _\bD_\bi_\bg_\bi_\bt_\ba_\bl_\b _\bE_\bl_\be_\bv_\ba_\bt_\bi_\bo_\bn_\b _\bM_\bo_\bd_\be_\bl as our examples:\n from django.contrib.gis.db import models\n@@ -17,39 +17,39 @@\n name = models.CharField(max_length=100)\n rast = models.RasterField()\n *\b**\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl F\bFi\bie\bel\bld\bd T\bTy\byp\bpe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Spatial fields consist of a series of geometry field types and one raster field\n type. Each of the geometry field types correspond to the OpenGIS Simple\n Features specification _\b[_\b1_\b]. There is no such standard for raster data.\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The base class for geometry fields.\n *\b**\b**\b**\b* P\bPo\boi\bin\bnt\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PointField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PointField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bP_\bo_\bi_\bn_\bt.\n *\b**\b**\b**\b* L\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bgF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LineStringField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LineStringField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg.\n *\b**\b**\b**\b* P\bPo\bol\bly\byg\bgo\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PolygonField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PolygonField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bP_\bo_\bl_\by_\bg_\bo_\bn.\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\boi\bin\bnt\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPointField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPointField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bi_\bn_\bt.\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biL\bLi\bin\bne\beS\bSt\btr\bri\bin\bng\bgF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiLineStringField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiLineStringField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bM_\bu_\bl_\bt_\bi_\bL_\bi_\bn_\be_\bS_\bt_\br_\bi_\bn_\bg.\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\biP\bPo\bol\bly\byg\bgo\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultiPolygonField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultiPolygonField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bM_\bu_\bl_\bt_\bi_\bP_\bo_\bl_\by_\bg_\bo_\bn.\n *\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\byC\bCo\bol\bll\ble\bec\bct\bti\bio\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GeometryCollectionField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GeometryCollectionField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bl_\be_\bc_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* R\bRa\bas\bst\bte\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RasterField_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RasterField_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores a _\bG_\bD_\bA_\bL_\bR_\ba_\bs_\bt_\be_\br.\n RasterField is currently only implemented for the PostGIS backend.\n *\b**\b**\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\bl F\bFi\bie\bel\bld\bd O\bOp\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In addition to the regular _\bF_\bi_\be_\bl_\bd_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs available for Django model fields,\n spatial fields have the following additional options. All are optional.\n *\b**\b**\b**\b* s\bsr\bri\bid\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseSpatialField.srid_\b\u00b6\n@@ -78,51 +78,51 @@\n within 5 miles of a county boundary stored as WGS84. _\b[_\b5_\b]\n Portions of the earth\u2019s surface may projected onto a two-dimensional, or\n Cartesian, plane. Projected coordinate systems are especially convenient for\n region-specific applications, e.g., if you know that your database will only\n cover geometries in _\bN_\bo_\br_\bt_\bh_\b _\bK_\ba_\bn_\bs_\ba_\bs, then you may consider using projection system\n specific to that region. Moreover, projected coordinate systems are defined in\n Cartesian units (such as meters or feet), easing distance calculations.\n-Note\n+Nota\n If you wish to perform arbitrary distance queries using non-point geometries in\n WGS84 in PostGIS and you want decent performance, enable the\n _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bF_\bi_\be_\bl_\bd_\b._\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by keyword so that _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bt_\by_\bp_\be is used\n instead.\n Additional Resources:\n * _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\br_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b._\bo_\br_\bg: A Django-powered database of spatial reference\n systems.\n * _\bT_\bh_\be_\b _\bS_\bt_\ba_\bt_\be_\b _\bP_\bl_\ba_\bn_\be_\b _\bC_\bo_\bo_\br_\bd_\bi_\bn_\ba_\bt_\be_\b _\bS_\by_\bs_\bt_\be_\bm: A website covering the various\n projection systems used in the United States. Much of the U.S. spatial\n data encountered will be in one of these coordinate systems rather than\n in a geographic coordinate system such as WGS84.\n *\b**\b**\b**\b* s\bsp\bpa\bat\bti\bia\bal\bl_\b_i\bin\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseSpatialField.spatial_index_\b\u00b6\n Defaults to True. Creates a spatial index for the given geometry field.\n-Note\n+Nota\n This is different from the db_index field option because spatial indexes are\n created in a different manner than regular database indexes. Specifically,\n spatial indexes are typically created using a variant of the R-Tree, while\n regular database indexes typically use B-Trees.\n *\b**\b**\b**\b**\b* G\bGe\beo\bom\bme\bet\btr\bry\by F\bFi\bie\bel\bld\bd O\bOp\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There are additional options available for Geometry fields. All the following\n options are optional.\n *\b**\b**\b**\b* d\bdi\bim\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n GeometryField.dim_\b\u00b6\n This option may be used for customizing the coordinate dimension of the\n geometry field. By default, it is set to 2, for representing two-dimensional\n geometries. For spatial backends that support it, it may be set to 3 for three-\n dimensional support.\n-Note\n+Nota\n At this time 3D support is limited to the PostGIS and SpatiaLite backends.\n *\b**\b**\b**\b* g\bge\beo\bog\bgr\bra\bap\bph\bhy\by_\b?\b\u00b6 *\b**\b**\b**\b*\n GeometryField.geography_\b\u00b6\n If set to True, this option will create a database column of type geography,\n rather than geometry. Please refer to the _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by_\b _\bt_\by_\bp_\be section below for more\n details.\n-Note\n+Nota\n Geography support is limited to PostGIS and will force the SRID to be 4326.\n *\b**\b**\b* G\bGe\beo\bog\bgr\bra\bap\bph\bhy\by T\bTy\byp\bpe\be_\b?\b\u00b6 *\b**\b**\b*\n The geography type provides native support for spatial features represented\n with geographic coordinates (e.g., WGS84 longitude/latitude). _\b[_\b6_\b] Unlike the\n plane used by a geometry type, the geography type uses a spherical\n representation of its data. Distance and measurement operations performed on a\n geography column automatically employ great circle arc calculations and return\n@@ -181,16 +181,16 @@\n # _\bs_\br_\bi_\bd\n # _\bS_\be_\bl_\be_\bc_\bt_\bi_\bn_\bg_\b _\ba_\bn_\b _\bS_\bR_\bI_\bD\n # _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b__\bi_\bn_\bd_\be_\bx\n o _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\b _\bF_\bi_\be_\bl_\bd_\b _\bO_\bp_\bt_\bi_\bo_\bn_\bs\n # _\bd_\bi_\bm\n # _\bg_\be_\bo_\bg_\br_\ba_\bp_\bh_\by\n # _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\by_\b _\bT_\by_\bp_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bL_\bi_\bt_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/ogrinspect.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/ogrinspect.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- OGR Inspection — Django 5.1.4 documentation\n+ OGR Inspection — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -79,23 +80,23 @@\n \n
    \n

    OGR Inspection\u00b6

    \n
    \n

    ogrinspect\u00b6

    \n
    \n
    \n-ogrinspect(data_source, model_name, **kwargs)[source]
    \n+ogrinspect(data_source, model_name, **kwargs)[sorgente]\n
    \n \n
    \n
    \n

    mapping\u00b6

    \n
    \n
    \n-mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False)[source]\u00b6
    \n+mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False)[sorgente]\u00b6\n
    \n \n
    \n
    \n \n \n
    \n@@ -115,37 +116,37 @@\n
  • mapping
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    LayerMapping data import utility

    \n+ title=\"capitolo precedente\">LayerMapping data import utility

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoJSON Serializer

    \n+ title=\"capitolo successivo\">GeoJSON Serializer

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* O\bOG\bGR\bR I\bIn\bns\bsp\bpe\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* o\bog\bgr\bri\bin\bns\bsp\bpe\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- ogrinspect(d\bda\bat\bta\ba_\b_s\bso\bou\bur\brc\bce\be, m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]\n+ ogrinspect(d\bda\bat\bta\ba_\b_s\bso\bou\bur\brc\bce\be, m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]\n *\b**\b**\b**\b**\b* m\bma\bap\bpp\bpi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n mapping(d\bda\bat\bta\ba_\b_s\bso\bou\bur\brc\bce\be, g\bge\beo\bom\bm_\b_n\bna\bam\bme\be=\b='\b'g\bge\beo\bom\bm'\b', l\bla\bay\bye\ber\br_\b_k\bke\bey\by=\b=0\b0, m\bmu\bul\blt\bti\bi_\b_g\bge\beo\bom\bm=\b=F\bFa\bal\bls\bse\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bO_\bG_\bR_\b _\bI_\bn_\bs_\bp_\be_\bc_\bt_\bi_\bo_\bn\n o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt\n o _\bm_\ba_\bp_\bp_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\b _\bi_\bm_\bp_\bo_\br_\bt_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/serializers.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/serializers.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoJSON Serializer — Django 5.1.4 documentation\n+ GeoJSON Serializer — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -136,37 +137,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    OGR Inspection

    \n+ title=\"capitolo precedente\">OGR Inspection

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Management Commands

    \n+ title=\"capitolo successivo\">GeoDjango Management Commands

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boJ\bJS\bSO\bON\bN S\bSe\ber\bri\bia\bal\bli\biz\bze\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n GeoDjango provides a specific serializer for the _\bG_\be_\bo_\bJ_\bS_\bO_\bN format. See\n _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\bi_\bn_\bg_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs for more information on serialization.\n The geojson serializer is not meant for round-tripping data, as it has no\n deserializer equivalent. For example, you cannot use _\bl_\bo_\ba_\bd_\bd_\ba_\bt_\ba to reload the\n@@ -41,16 +41,16 @@\n \"properties\": {\"name\": \"Chicago\"},\n }\n ],\n }\n When the fields parameter is not specified, the geojson serializer adds a pk\n key to the properties dictionary with the primary key of the object as the\n value.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bO_\bG_\bR_\b _\bI_\bn_\bs_\bp_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bM_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/sitemaps.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/sitemaps.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Geographic Sitemaps — Django 5.1.4 documentation\n+ Geographic Sitemaps — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -125,37 +126,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Geographic Feeds

    \n+ title=\"capitolo precedente\">Geographic Feeds

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Testing GeoDjango apps

    \n+ title=\"capitolo successivo\">Testing GeoDjango apps

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\bog\bgr\bra\bap\bph\bhi\bic\bc S\bSi\bit\bte\bem\bma\bap\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n KML is an XML language focused on geographic visualization _\b[_\b1_\b]. KMLSitemap and\n its compressed counterpart KMZSitemap allow you to present geolocated data in a\n machine-readable format.\n *\b**\b**\b**\b**\b* E\bEx\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -14,16 +14,16 @@\n _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\bw_\bw_\b._\bo_\bg_\bc_\b._\bo_\br_\bg_\b/_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b/_\bk_\bm_\bl_\b/\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bS_\bi_\bt_\be_\bm_\ba_\bp_\bs\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n # _\bK_\bM_\bL_\bS_\bi_\bt_\be_\bm_\ba_\bp\n # _\bK_\bM_\bZ_\bS_\bi_\bt_\be_\bm_\ba_\bp\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bF_\be_\be_\bd_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/testing.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/testing.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Testing GeoDjango apps — Django 5.1.4 documentation\n+ Testing GeoDjango apps — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -82,15 +83,15 @@\n

    Included in this documentation are some additional notes and settings\n for PostGIS users.

    \n
    \n

    PostGIS\u00b6

    \n
    \n

    Settings\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The settings below have sensible defaults, and shouldn\u2019t require manual setting.

    \n
    \n
    \n

    POSTGIS_VERSION\u00b6

    \n

    When GeoDjango\u2019s spatial backend initializes on PostGIS, it has to perform\n an SQL query to determine the version in order to figure out what\n features are available. Advanced users wishing to prevent this additional\n@@ -219,37 +220,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Geographic Sitemaps

    \n+ title=\"capitolo precedente\">Geographic Sitemaps

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Deploying GeoDjango

    \n+ title=\"capitolo successivo\">Deploying GeoDjango

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTe\bes\bst\bti\bin\bng\bg G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo a\bap\bpp\bps\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Included in this documentation are some additional notes and settings for\n _\bP_\bo_\bs_\bt_\bG_\bI_\bS users.\n *\b**\b**\b**\b**\b* P\bPo\bos\bst\btG\bGI\bIS\bS_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-Note\n+Nota\n The settings below have sensible defaults, and shouldn\u2019t require manual\n setting.\n *\b**\b**\b* P\bPO\bOS\bST\bTG\bGI\bIS\bS_\b_V\bVE\bER\bRS\bSI\bIO\bON\bN_\b?\b\u00b6 *\b**\b**\b*\n When GeoDjango\u2019s spatial backend initializes on PostGIS, it has to perform an\n SQL query to determine the version in order to figure out what features are\n available. Advanced users wishing to prevent this additional query may set the\n version manually using a 3-tuple of integers specifying the major, minor, and\n@@ -79,16 +79,16 @@\n # _\bP_\bO_\bS_\bT_\bG_\bI_\bS_\b__\bV_\bE_\bR_\bS_\bI_\bO_\bN\n # _\bO_\bb_\bt_\ba_\bi_\bn_\bi_\bn_\bg_\b _\bs_\bu_\bf_\bf_\bi_\bc_\bi_\be_\bn_\bt_\b _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bs\n # _\bC_\br_\be_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bu_\bs_\be_\br\n # _\bC_\br_\be_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bs_\bu_\bp_\be_\br_\bu_\bs_\be_\br\n # _\bW_\bi_\bn_\bd_\bo_\bw_\bs\n o _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bs_\bt_\bs\n # _\bE_\bx_\ba_\bm_\bp_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bS_\bi_\bt_\be_\bm_\ba_\bp_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/tutorial.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/tutorial.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Tutorial — Django 5.1.4 documentation\n+ GeoDjango Tutorial — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -66,15 +67,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -105,25 +106,25 @@\n operations and data manipulation in different formats.

    \n
  • Editing geometry fields from the admin.

  • \n \n

    This tutorial assumes familiarity with Django; thus, if you\u2019re brand new to\n Django, please read through the regular tutorial to\n familiarize yourself with Django first.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    GeoDjango has additional requirements beyond what Django requires \u2013\n please consult the installation documentation\n for more details.

    \n
    \n

    This tutorial will guide you through the creation of a geographic web\n application for viewing the world borders. [1] Some of the code\n used in this tutorial is taken from and/or inspired by the GeoDjango\n basic apps project. [2]

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Proceed through the tutorial sections sequentially for step-by-step\n instructions.

    \n
    \n \n
    \n

    Setting Up\u00b6

    \n
    \n@@ -336,15 +337,15 @@\n LON: Real (8.3)\n LAT: Real (7.3)\n
    \n \n
    \n

    This detailed summary information tells us the number of features in the layer\n (246), the geographic bounds of the data, the spatial reference system\n-(\u201cSRS WKT\u201d), as well as type information for each attribute field. For example,\n+(\u00abSRS WKT\u00bb), as well as type information for each attribute field. For example,\n FIPS: String (2.0) indicates that the FIPS character field has\n a maximum length of 2. Similarly, LON: Real (8.3) is a floating-point\n field that holds a maximum of 8 digits up to three decimal places.

    \n \n \n
    \n

    Geographic Models\u00b6

    \n@@ -542,15 +543,15 @@\n
    >>> print(lyr.geom_type)\n Polygon\n >>> print(len(lyr))\n 246\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Unfortunately, the shapefile data format does not allow for greater\n specificity with regards to geometry types. This shapefile, like\n many others, actually includes MultiPolygon geometries, not Polygons.\n It\u2019s important to use a more general field type in models: a\n GeoDjango MultiPolygonField will accept a Polygon geometry, but a\n PolygonField will not accept a MultiPolygon type geometry. This\n is why the WorldBorder model defined above uses a MultiPolygonField.

    \n@@ -847,15 +848,15 @@\n example, coordinates will be expressed in EPSG SRID 32140,\n a coordinate system specific to south Texas only and in units of\n meters, not degrees:

    \n
    >>> from django.contrib.gis.geos import GEOSGeometry, Point\n >>> pnt = Point(954158.1, 4215137.1, srid=32140)\n 
    \n
    \n-

    Note that pnt may also be constructed with EWKT, an \u201cextended\u201d form of\n+

    Note that pnt may also be constructed with EWKT, an \u00abextended\u00bb form of\n WKT that includes the SRID:

    \n
    >>> pnt = GEOSGeometry("SRID=32140;POINT(954158.1 4215137.1)")\n 
    \n
    \n

    GeoDjango\u2019s ORM will automatically wrap geometry values\n in transformation SQL, allowing the developer to work at a higher level\n of abstraction:

    \n@@ -1080,37 +1081,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    GeoDjango

    \n+ title=\"capitolo precedente\">GeoDjango

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    GeoDjango Installation

    \n+ title=\"capitolo successivo\">GeoDjango Installation

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo T\bTu\but\bto\bor\bri\bia\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* I\bIn\bnt\btr\bro\bod\bdu\buc\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n GeoDjango is an included contrib module for Django that turns it into a world-\n class geographic web framework. GeoDjango strives to make it as simple as\n possible to create geographic web applications, like location-based services.\n@@ -11,21 +11,21 @@\n * Extensions to Django\u2019s ORM for querying and manipulating spatial data.\n * Loosely-coupled, high-level Python interfaces for GIS geometry and raster\n operations and data manipulation in different formats.\n * Editing geometry fields from the admin.\n This tutorial assumes familiarity with Django; thus, if you\u2019re brand new to\n Django, please read through the _\br_\be_\bg_\bu_\bl_\ba_\br_\b _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl to familiarize yourself with\n Django first.\n-Note\n+Nota\n GeoDjango has additional requirements beyond what Django requires \u2013 please\n consult the _\bi_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more details.\n This tutorial will guide you through the creation of a geographic web\n application for viewing the _\bw_\bo_\br_\bl_\bd_\b _\bb_\bo_\br_\bd_\be_\br_\bs. _\b[_\b1_\b] Some of the code used in this\n tutorial is taken from and/or inspired by the _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bb_\ba_\bs_\bi_\bc_\b _\ba_\bp_\bp_\bs project. _\b[_\b2_\b]\n-Note\n+Nota\n Proceed through the tutorial sections sequentially for step-by-step\n instructions.\n *\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bg U\bUp\bp_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCr\bre\bea\bat\bte\be a\ba S\bSp\bpa\bat\bti\bia\bal\bl D\bDa\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Typically no special setup is required, so you can create a database as you\n would for any other project. We provide some tips for selected databases:\n * _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\bi_\bn_\bg_\b _\bP_\bo_\bs_\bt_\bG_\bI_\bS\n@@ -155,16 +155,16 @@\n AREA: Integer (7.0)\n POP2005: Integer (10.0)\n REGION: Integer (3.0)\n SUBREGION: Integer (3.0)\n LON: Real (8.3)\n LAT: Real (7.3)\n This detailed summary information tells us the number of features in the layer\n-(246), the geographic bounds of the data, the spatial reference system (\u201cSRS\n-WKT\u201d), as well as type information for each attribute field. For example, FIPS:\n+(246), the geographic bounds of the data, the spatial reference system (\u00abSRS\n+WKT\u00bb), as well as type information for each attribute field. For example, FIPS:\n String (2.0) indicates that the FIPS character field has a maximum length of 2.\n Similarly, LON: Real (8.3) is a floating-point field that holds a maximum of 8\n digits up to three decimal places.\n *\b**\b**\b**\b**\b* G\bGe\beo\bog\bgr\bra\bap\bph\bhi\bic\bc M\bMo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* D\bDe\bef\bfi\bin\bni\bin\bng\bg a\ba G\bGe\beo\bog\bgr\bra\bap\bph\bhi\bic\bc M\bMo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n Now that you\u2019ve examined your dataset using ogrinfo, create a GeoDjango model\n to represent this data:\n@@ -288,15 +288,15 @@\n >>> print(lyr)\n TM_WORLD_BORDERS-0.3\n You can see the layer\u2019s geometry type and how many features it contains:\n >>> print(lyr.geom_type)\n Polygon\n >>> print(len(lyr))\n 246\n-Note\n+Nota\n Unfortunately, the shapefile data format does not allow for greater specificity\n with regards to geometry types. This shapefile, like many others, actually\n includes MultiPolygon geometries, not Polygons. It\u2019s important to use a more\n general field type in models: a GeoDjango MultiPolygonField will accept a\n Polygon geometry, but a PolygonField will not accept a MultiPolygon type\n geometry. This is why the WorldBorder model defined above uses a\n MultiPolygonField.\n@@ -499,15 +499,15 @@\n *\b**\b**\b**\b* A\bAu\but\bto\bom\bma\bat\bti\bic\bc S\bSp\bpa\bat\bti\bia\bal\bl T\bTr\bra\ban\bns\bsf\bfo\bor\brm\bma\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n When doing spatial queries, GeoDjango automatically transforms geometries if\n they\u2019re in a different coordinate system. In the following example, coordinates\n will be expressed in _\bE_\bP_\bS_\bG_\b _\bS_\bR_\bI_\bD_\b _\b3_\b2_\b1_\b4_\b0, a coordinate system specific to south\n Texas o\bon\bnl\bly\by and in units of m\bme\bet\bte\ber\brs\bs, not degrees:\n >>> from django.contrib.gis.geos import GEOSGeometry, Point\n >>> pnt = Point(954158.1, 4215137.1, srid=32140)\n-Note that pnt may also be constructed with EWKT, an \u201cextended\u201d form of WKT that\n+Note that pnt may also be constructed with EWKT, an \u00abextended\u00bb form of WKT that\n includes the SRID:\n >>> pnt = GEOSGeometry(\"SRID=32140;POINT(954158.1 4215137.1)\")\n GeoDjango\u2019s ORM will automatically wrap geometry values in transformation SQL,\n allowing the developer to work at a higher level of abstraction:\n >>> qs = WorldBorder.objects.filter(mpoly__intersects=pnt)\n >>> print(qs.query) # Generating the SQL\n SELECT \"world_worldborder\".\"id\", \"world_worldborder\".\"name\",\n@@ -635,16 +635,16 @@\n # _\bA_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\b _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bL_\ba_\bz_\by_\b _\bG_\be_\bo_\bm_\be_\bt_\br_\bi_\be_\bs\n # _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\bi_\bo_\bn_\bs\n o _\bP_\bu_\bt_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bd_\ba_\bt_\ba_\b _\bo_\bn_\b _\bt_\bh_\be_\b _\bm_\ba_\bp\n # _\bG_\be_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bA_\bd_\bm_\bi_\bn\n # _\bB_\ba_\bs_\bi_\bc_\bs\n # _\bG_\bI_\bS_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo_\b _\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/utils.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/gis/utils.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- GeoDjango Utilities — Django 5.1.4 documentation\n+ GeoDjango Utilities — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -106,37 +107,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Geolocation with GeoIP2

    \n+ title=\"capitolo precedente\">Geolocation with GeoIP2

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    LayerMapping data import utility

    \n+ title=\"capitolo successivo\">LayerMapping data import utility

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo U\bUt\bti\bil\bli\bit\bti\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bu_\bt_\bi_\bl_\bs module contains various utilities that are useful\n in creating geospatial web applications.\n * _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\b _\bi_\bm_\bp_\bo_\br_\bt_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by\n o _\bE_\bx_\ba_\bm_\bp_\bl_\be\n o _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bA_\bP_\bI\n o _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n * _\bO_\bG_\bR_\b _\bI_\bn_\bs_\bp_\be_\bc_\bt_\bi_\bo_\bn\n o _\bo_\bg_\br_\bi_\bn_\bs_\bp_\be_\bc_\bt\n o _\bm_\ba_\bp_\bp_\bi_\bn_\bg\n * _\bG_\be_\bo_\bJ_\bS_\bO_\bN_\b _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\be_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bG_\be_\bo_\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\bG_\be_\bo_\bI_\bP_\b2\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bL_\ba_\by_\be_\br_\bM_\ba_\bp_\bp_\bi_\bn_\bg_\b _\bd_\ba_\bt_\ba_\b _\bi_\bm_\bp_\bo_\br_\bt_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/humanize.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/humanize.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- django.contrib.humanize — Django 5.1.4 documentation\n+ django.contrib.humanize — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,15 +76,15 @@\n
    \n
    \n
    \n
    \n \n
    \n

    django.contrib.humanize\u00b6

    \n-

    A set of Django template filters useful for adding a \u201chuman touch\u201d to data.

    \n+

    A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data.

    \n

    To activate these filters, add 'django.contrib.humanize' to your\n INSTALLED_APPS setting. Once you\u2019ve done that, use\n {% load humanize %} in a template, and you\u2019ll have access to the following\n filters.

    \n
    \n

    apnumber\u00b6

    \n

    For numbers 1-9, returns the number spelled out. Otherwise, returns the\n@@ -136,34 +137,34 @@\n

  • 1200000 becomes '1,2 Millionen'.

  • \n
  • 1200000000 becomes '1,2 Milliarden'.

  • \n
  • -1200000000 becomes '-1,2 Milliarden'.

  • \n \n
    \n
    \n

    naturalday\u00b6

    \n-

    For dates that are the current day or within one day, return \u201ctoday\u201d,\n-\u201ctomorrow\u201d or \u201cyesterday\u201d, as appropriate. Otherwise, format the date using\n+

    For dates that are the current day or within one day, return \u00abtoday\u00bb,\n+\u00abtomorrow\u00bb or \u00abyesterday\u00bb, as appropriate. Otherwise, format the date using\n the passed in format string.

    \n

    Argument: Date formatting string as described in the date tag.

    \n-

    Examples (when \u2018today\u2019 is 17 Feb 2007):

    \n+

    Examples (when \u201ctoday\u201d is 17 Feb 2007):

    \n
      \n
    • 16 Feb 2007 becomes yesterday.

    • \n
    • 17 Feb 2007 becomes today.

    • \n
    • 18 Feb 2007 becomes tomorrow.

    • \n
    • Any other day is formatted according to given argument or the\n DATE_FORMAT setting if no argument is given.

    • \n
    \n
    \n
    \n

    naturaltime\u00b6

    \n

    For datetime values, returns a string representing how many seconds,\n minutes or hours ago it was \u2013 falling back to the timesince\n format if the value is more than a day old. In case the datetime value is in\n the future the return value will automatically use an appropriate phrase.

    \n-

    Examples (when \u2018now\u2019 is 17 Feb 2007 16:30:00):

    \n+

    Examples (when \u201cnow\u201d is 17 Feb 2007 16:30:00):

    \n
      \n
    • 17 Feb 2007 16:30:00 becomes now.

    • \n
    • 17 Feb 2007 16:29:31 becomes 29 seconds ago.

    • \n
    • 17 Feb 2007 16:29:00 becomes a minute ago.

    • \n
    • 17 Feb 2007 16:25:35 becomes 4 minutes ago.

    • \n
    • 17 Feb 2007 15:30:29 becomes 59 minutes ago.

    • \n
    • 17 Feb 2007 15:30:01 becomes 59 minutes ago.

    • \n@@ -218,37 +219,37 @@\n
    • ordinal
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Deploying GeoDjango

    \n+ title=\"capitolo precedente\">Deploying GeoDjango

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The messages framework

    \n+ title=\"capitolo successivo\">The messages framework

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.h\bhu\bum\bma\ban\bni\biz\bze\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-A set of Django template filters useful for adding a \u201chuman touch\u201d to data.\n+A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data.\n To activate these filters, add 'django.contrib.humanize' to your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS\n setting. Once you\u2019ve done that, use {% load humanize %} in a template, and\n you\u2019ll have access to the following filters.\n *\b**\b**\b**\b**\b* a\bap\bpn\bnu\bum\bmb\bbe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n For numbers 1-9, returns the number spelled out. Otherwise, returns the number.\n This follows Associated Press style.\n Examples:\n@@ -39,30 +39,30 @@\n Values up to 10^100 (Googol) are supported.\n _\bF_\bo_\br_\bm_\ba_\bt_\b _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn will be respected if enabled, e.g. with the 'de' language:\n * 1000000 becomes '1,0 Million'.\n * 1200000 becomes '1,2 Millionen'.\n * 1200000000 becomes '1,2 Milliarden'.\n * -1200000000 becomes '-1,2 Milliarden'.\n *\b**\b**\b**\b**\b* n\bna\bat\btu\bur\bra\bal\bld\bda\bay\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-For dates that are the current day or within one day, return \u201ctoday\u201d,\n-\u201ctomorrow\u201d or \u201cyesterday\u201d, as appropriate. Otherwise, format the date using the\n+For dates that are the current day or within one day, return \u00abtoday\u00bb,\n+\u00abtomorrow\u00bb or \u00abyesterday\u00bb, as appropriate. Otherwise, format the date using the\n passed in format string.\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt:\b: Date formatting string as described in the _\bd_\ba_\bt_\be tag.\n-Examples (when \u2018today\u2019 is 17 Feb 2007):\n+Examples (when \u201ctoday\u201d is 17 Feb 2007):\n * 16 Feb 2007 becomes yesterday.\n * 17 Feb 2007 becomes today.\n * 18 Feb 2007 becomes tomorrow.\n * Any other day is formatted according to given argument or the _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT\n setting if no argument is given.\n *\b**\b**\b**\b**\b* n\bna\bat\btu\bur\bra\bal\blt\bti\bim\bme\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n For datetime values, returns a string representing how many seconds, minutes or\n hours ago it was \u2013 falling back to the _\bt_\bi_\bm_\be_\bs_\bi_\bn_\bc_\be format if the value is more\n than a day old. In case the datetime value is in the future the return value\n will automatically use an appropriate phrase.\n-Examples (when \u2018now\u2019 is 17 Feb 2007 16:30:00):\n+Examples (when \u201cnow\u201d is 17 Feb 2007 16:30:00):\n * 17 Feb 2007 16:30:00 becomes now.\n * 17 Feb 2007 16:29:31 becomes 29 seconds ago.\n * 17 Feb 2007 16:29:00 becomes a minute ago.\n * 17 Feb 2007 16:25:35 becomes 4 minutes ago.\n * 17 Feb 2007 15:30:29 becomes 59 minutes ago.\n * 17 Feb 2007 15:30:01 becomes 59 minutes ago.\n * 17 Feb 2007 15:30:00 becomes an hour ago.\n@@ -90,16 +90,16 @@\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n o _\ba_\bp_\bn_\bu_\bm_\bb_\be_\br\n o _\bi_\bn_\bt_\bc_\bo_\bm_\bm_\ba\n o _\bi_\bn_\bt_\bw_\bo_\br_\bd\n o _\bn_\ba_\bt_\bu_\br_\ba_\bl_\bd_\ba_\by\n o _\bn_\ba_\bt_\bu_\br_\ba_\bl_\bt_\bi_\bm_\be\n o _\bo_\br_\bd_\bi_\bn_\ba_\bl\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\be_\bp_\bl_\bo_\by_\bi_\bn_\bg_\b _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- contrib packages — Django 5.1.4 documentation\n+ contrib packages — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,15 +76,15 @@\n
    \n
    \n
    \n
    \n \n
    \n

    contrib packages\u00b6

    \n-

    Django aims to follow Python\u2019s \u201cbatteries included\u201d philosophy. It ships with a variety of extra, optional tools\n+

    Django aims to follow Python\u2019s \u00abbatteries included\u00bb philosophy. It ships with a variety of extra, optional tools\n that solve common web development problems.

    \n

    This code lives in django/contrib in the Django distribution. This document\n gives a rundown of the packages in contrib, along with any dependencies\n those packages have.

    \n
    \n

    Including contrib packages in INSTALLED_APPS

    \n

    For most of these add-ons \u2013 specifically, the add-ons that include either\n@@ -99,15 +100,15 @@\n

  • The flatpages app
  • \n
  • GeoDjango
  • \n
  • django.contrib.humanize
  • \n
  • The messages framework
  • \n
  • django.contrib.postgres
  • \n
  • The redirects app
  • \n
  • The sitemap framework
  • \n-
  • The \u201csites\u201d framework
  • \n+
  • The \u00absites\u00bb framework
  • \n
  • The staticfiles app
  • \n
  • The syndication feed framework
  • \n \n
    \n
    \n

    admin\u00b6

    \n

    The automatic Django administrative interface. For more information, see\n@@ -118,33 +119,33 @@\n

    \n

    auth\u00b6

    \n

    Django\u2019s authentication framework.

    \n

    See User authentication in Django.

    \n
    \n
    \n

    contenttypes\u00b6

    \n-

    A light framework for hooking into \u201ctypes\u201d of content, where each installed\n+

    A light framework for hooking into \u00abtypes\u00bb of content, where each installed\n Django model is a separate content type.

    \n

    See the contenttypes documentation.

    \n
    \n
    \n

    flatpages\u00b6

    \n-

    A framework for managing \u201cflat\u201d HTML content in a database.

    \n+

    A framework for managing \u00abflat\u00bb HTML content in a database.

    \n

    See the flatpages documentation.

    \n

    Requires the sites contrib package to be installed as well.

    \n
    \n
    \n

    gis\u00b6

    \n

    A world-class geospatial framework built on top of Django, that enables\n storage, manipulation and display of spatial data.

    \n

    See the GeoDjango documentation for more.

    \n
    \n
    \n

    humanize\u00b6

    \n-

    A set of Django template filters useful for adding a \u201chuman touch\u201d to data.

    \n+

    A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data.

    \n

    See the humanize documentation.

    \n
    \n
    \n

    messages\u00b6

    \n

    A framework for storing and retrieving temporary cookie- or session-based\n messages

    \n

    See the messages documentation.

    \n@@ -218,37 +219,37 @@\n
  • Other add-ons
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Clickjacking Protection

    \n+ title=\"capitolo precedente\">Clickjacking Protection

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The Django admin site

    \n+ title=\"capitolo successivo\">The Django admin site

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* c\bco\bon\bnt\btr\bri\bib\bb p\bpa\bac\bck\bka\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Django aims to follow Python\u2019s _\b\u201c_\bb_\ba_\bt_\bt_\be_\br_\bi_\be_\bs_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\bd_\b\u201d_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\by. It ships with a\n+Django aims to follow Python\u2019s _\b\u00ab_\bb_\ba_\bt_\bt_\be_\br_\bi_\be_\bs_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\bd_\b\u00bb_\b _\bp_\bh_\bi_\bl_\bo_\bs_\bo_\bp_\bh_\by. It ships with a\n variety of extra, optional tools that solve common web development problems.\n This code lives in _\bd_\bj_\ba_\bn_\bg_\bo_\b/_\bc_\bo_\bn_\bt_\br_\bi_\bb in the Django distribution. This document\n gives a rundown of the packages in contrib, along with any dependencies those\n packages have.\n Including contrib packages in INSTALLED_APPS\n For most of these add-ons \u2013 specifically, the add-ons that include either\n models or template tags \u2013 you\u2019ll need to add the package name (e.g.,\n@@ -18,38 +18,38 @@\n * _\bT_\bh_\be_\b _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\ba_\bp_\bp\n * _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n * _\bT_\bh_\be_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n * _\bT_\bh_\be_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b _\ba_\bp_\bp\n * _\bT_\bh_\be_\b _\bs_\bi_\bt_\be_\bm_\ba_\bp_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n- * _\bT_\bh_\be_\b _\b\u201c_\bs_\bi_\bt_\be_\bs_\b\u201d_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n+ * _\bT_\bh_\be_\b _\b\u00ab_\bs_\bi_\bt_\be_\bs_\b\u00bb_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n * _\bT_\bh_\be_\b _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b _\ba_\bp_\bp\n * _\bT_\bh_\be_\b _\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bf_\be_\be_\bd_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n *\b**\b**\b**\b**\b* a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The automatic Django administrative interface. For more information, see\n _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b2 and the _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n Requires the _\ba_\bu_\bt_\bh and _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs contrib packages to be installed.\n *\b**\b**\b**\b**\b* a\bau\but\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django\u2019s authentication framework.\n See _\bU_\bs_\be_\br_\b _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bD_\bj_\ba_\bn_\bg_\bo.\n *\b**\b**\b**\b**\b* c\bco\bon\bnt\bte\ben\bnt\btt\bty\byp\bpe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-A light framework for hooking into \u201ctypes\u201d of content, where each installed\n+A light framework for hooking into \u00abtypes\u00bb of content, where each installed\n Django model is a separate content type.\n See the _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bt_\by_\bp_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* f\bfl\bla\bat\btp\bpa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-A framework for managing \u201cflat\u201d HTML content in a database.\n+A framework for managing \u00abflat\u00bb HTML content in a database.\n See the _\bf_\bl_\ba_\bt_\bp_\ba_\bg_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n Requires the _\bs_\bi_\bt_\be_\bs contrib package to be installed as well.\n *\b**\b**\b**\b**\b* g\bgi\bis\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A world-class geospatial framework built on top of Django, that enables\n storage, manipulation and display of spatial data.\n See the _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo documentation for more.\n *\b**\b**\b**\b**\b* h\bhu\bum\bma\ban\bni\biz\bze\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-A set of Django template filters useful for adding a \u201chuman touch\u201d to data.\n+A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data.\n See the _\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* m\bme\bes\bss\bsa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A framework for storing and retrieving temporary cookie- or session-based\n messages\n See the _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* p\bpo\bos\bst\btg\bgr\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A collection of PostgreSQL specific features.\n@@ -86,16 +86,16 @@\n o _\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n o _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs\n o _\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs\n o _\bs_\bi_\bt_\be_\bs\n o _\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs\n o _\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n o _\bO_\bt_\bh_\be_\br_\b _\ba_\bd_\bd_\b-_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bs_\bi_\bt_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/messages.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/messages.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The messages framework — Django 5.1.4 documentation\n+ The messages framework — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    The messages framework\u00b6

    \n

    Quite commonly in web applications, you need to display a one-time\n-notification message (also known as \u201cflash message\u201d) to the user after\n+notification message (also known as \u00abflash message\u00bb) to the user after\n processing a form or some other types of user input.

    \n

    For this, Django provides full support for cookie- and session-based\n messaging, for both anonymous and authenticated users. The messages framework\n allows you to temporarily store messages in one request and retrieve them for\n display in a subsequent request (usually the next one). Every message is\n tagged with a specific level that determines its priority (e.g., info,\n warning, or error).

    \n@@ -179,15 +180,15 @@\n

    DEBUG

    \n

    Development-related messages that will be ignored (or removed) in a production deployment

    \n \n

    INFO

    \n

    Informational messages for the user

    \n \n

    SUCCESS

    \n-

    An action was successful, e.g. \u201cYour profile was updated successfully\u201d

    \n+

    An action was successful, e.g. \u00abYour profile was updated successfully\u00bb

    \n \n

    WARNING

    \n

    A failure did not occur but may be imminent

    \n \n

    ERROR

    \n

    An action was not successful or some other failure occurred

    \n \n@@ -244,15 +245,15 @@\n
    \n \n \n
    \n

    Using messages in views and templates\u00b6

    \n
    \n
    \n-add_message(request, level, message, extra_tags='', fail_silently=False)[source]\u00b6
    \n+add_message(request, level, message, extra_tags='', fail_silently=False)[sorgente]\u00b6\n
    \n \n
    \n

    Adding a message\u00b6

    \n

    To add a message, call:

    \n
    from django.contrib import messages\n \n@@ -269,15 +270,15 @@\n 
    \n
    \n
    \n
    \n

    Displaying messages\u00b6

    \n
    \n
    \n-get_messages(request)[source]\u00b6
    \n+get_messages(request)[sorgente]\u00b6\n
    \n \n

    In your template, use something like:

    \n
    {% if messages %}\n <ul class="messages">\n     {% for message in messages %}\n     <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>\n@@ -321,15 +322,15 @@\n 

    get_messages() will return an\n instance of the configured storage backend.

    \n
    \n
    \n

    The Message class\u00b6

    \n
    \n
    \n-class Message[source]\u00b6
    \n+class Message[sorgente]\u00b6\n

    When you loop over the list of messages in a template, what you get are\n instances of the Message class. They have only a few attributes:

    \n
      \n
    • message: The actual text of the message.

    • \n
    • level: An integer describing the type of the message (see the\n message levels section above).

    • \n
    • tags: A string combining all the message\u2019s tags (extra_tags and\n@@ -379,15 +380,15 @@\n

      40

      \n \n \n \n

      If you need to identify the custom levels in your HTML or CSS, you need to\n provide a mapping via the MESSAGE_TAGS setting.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      If you are creating a reusable application, it is recommended to use\n only the built-in message levels and not rely on any custom levels.

      \n
      \n
    \n
    \n

    Changing the minimum recorded level per-request\u00b6

    \n

    The minimum recorded level can be set per request via the set_level\n@@ -440,15 +441,15 @@\n "Profile details updated.",\n fail_silently=True,\n )\n messages.info(request, "Hello world.", fail_silently=True)\n

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Setting fail_silently=True only hides the MessageFailure that would\n otherwise occur when the messages framework disabled and one attempts to\n use one of the add_message family of methods. It does not hide failures\n that may occur for other reasons.

    \n
    \n \n
    \n@@ -564,15 +565,15 @@\n class MsgTestCase(MessagesTestMixin, TestCase):\n pass\n
    \n
    \n

    Then, inherit from the MsgTestCase in your tests.

    \n
    \n
    \n-MessagesTestMixin.assertMessages(response, expected_messages, ordered=True)[source]\u00b6
    \n+MessagesTestMixin.assertMessages(response, expected_messages, ordered=True)[sorgente]\u00b6\n

    Asserts that messages added to the response matches expected_messages.

    \n

    expected_messages is a list of\n Message objects.

    \n

    By default, the comparison is ordering dependent. You can disable this by\n setting the ordered argument to False.

    \n
    \n \n@@ -617,37 +618,37 @@\n
  • Testing
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    django.contrib.humanize

    \n+ title=\"capitolo precedente\">django.contrib.humanize

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    django.contrib.postgres

    \n+ title=\"capitolo successivo\">django.contrib.postgres

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be m\bme\bes\bss\bsa\bag\bge\bes\bs f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Quite commonly in web applications, you need to display a one-time notification\n-message (also known as \u201cflash message\u201d) to the user after processing a form or\n+message (also known as \u00abflash message\u00bb) to the user after processing a form or\n some other types of user input.\n For this, Django provides full support for cookie- and session-based messaging,\n for both anonymous and authenticated users. The messages framework allows you\n to temporarily store messages in one request and retrieve them for display in a\n subsequent request (usually the next one). Every message is tagged with a\n specific level that determines its priority (e.g., info, warning, or error).\n *\b**\b**\b**\b**\b* E\bEn\bna\bab\bbl\bli\bin\bng\bg m\bme\bes\bss\bsa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -59,15 +59,15 @@\n templates.\n The built-in levels, which can be imported from django.contrib.messages\n directly, are:\n C\bCo\bon\bns\bst\bta\ban\bnt\bt P\bPu\bur\brp\bpo\bos\bse\be\n DEBUG Development-related messages that will be ignored (or removed) in a\n production deployment\n INFO Informational messages for the user\n-SUCCESS An action was successful, e.g. \u201cYour profile was updated successfully\u201d\n+SUCCESS An action was successful, e.g. \u00abYour profile was updated successfully\u00bb\n WARNING A failure did not occur but may be imminent\n ERROR An action was n\bno\bot\bt successful or some other failure occurred\n The _\bM_\bE_\bS_\bS_\bA_\bG_\bE_\b__\bL_\bE_\bV_\bE_\bL setting can be used to change the minimum recorded level (or\n it can be _\bc_\bh_\ba_\bn_\bg_\be_\bd_\b _\bp_\be_\br_\b _\br_\be_\bq_\bu_\be_\bs_\bt). Attempts to add messages of a level less than\n this will be ignored.\n *\b**\b**\b**\b* M\bMe\bes\bss\bsa\bag\bge\be t\bta\bag\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Message tags are a string representation of the message level plus any extra\n@@ -90,29 +90,29 @@\n \n MESSAGE_TAGS = {\n messages.INFO: \"\",\n 50: \"critical\",\n }\n *\b**\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg m\bme\bes\bss\bsa\bag\bge\bes\bs i\bin\bn v\bvi\bie\bew\bws\bs a\ban\bnd\bd t\bte\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n add_message(r\bre\beq\bqu\bue\bes\bst\bt, l\ble\bev\bve\bel\bl, m\bme\bes\bss\bsa\bag\bge\be, e\bex\bxt\btr\bra\ba_\b_t\bta\bag\bgs\bs=\b='\b''\b', f\bfa\bai\bil\bl_\b_s\bsi\bil\ble\ben\bnt\btl\bly\by=\b=F\bFa\bal\bls\bse\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* A\bAd\bdd\bdi\bin\bng\bg a\ba m\bme\bes\bss\bsa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b*\n To add a message, call:\n from django.contrib import messages\n \n messages.add_message(request, messages.INFO, \"Hello world.\")\n Some shortcut methods provide a standard way to add messages with commonly used\n tags (which are usually represented as HTML classes for the message):\n messages.debug(request, \"%s SQL statements were executed.\" % count)\n messages.info(request, \"Three credits remain in your account.\")\n messages.success(request, \"Profile details updated.\")\n messages.warning(request, \"Your account expires in three days.\")\n messages.error(request, \"Document deleted.\")\n *\b**\b**\b**\b* D\bDi\bis\bsp\bpl\bla\bay\byi\bin\bng\bg m\bme\bes\bss\bsa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- get_messages(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_messages(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n I\bIn\bn y\byo\bou\bur\br t\bte\bem\bmp\bpl\bla\bat\bte\be, use something like:\n {% if messages %}\n
      \n {% for message in messages %}\n {{ message\n }}\n {% endfor %}\n@@ -143,15 +143,15 @@\n storage = get_messages(request)\n for message in storage:\n do_something_with_the_message(message)\n For instance, you can fetch all the messages to return them in a\n _\bJ_\bS_\bO_\bN_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn instead of a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bM_\bi_\bx_\bi_\bn.\n _\bg_\be_\bt_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b(_\b) will return an instance of the configured storage backend.\n *\b**\b**\b**\b* T\bTh\bhe\be M\bMe\bes\bss\bsa\bag\bge\be c\bcl\bla\bas\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Message_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Message_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n When you loop over the list of messages in a template, what you get are\n instances of the Message class. They have only a few attributes:\n * message: The actual text of the message.\n * level: An integer describing the type of the message (see the\n _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bl_\be_\bv_\be_\bl_\bs section above).\n * tags: A string combining all the message\u2019s tags (extra_tags and\n level_tag) separated by spaces.\n@@ -174,15 +174,15 @@\n DEBUG 10\n INFO 20\n SUCCESS 25\n WARNING 30\n ERROR 40\n If you need to identify the custom levels in your HTML or CSS, you need to\n provide a mapping via the _\bM_\bE_\bS_\bS_\bA_\bG_\bE_\b__\bT_\bA_\bG_\bS setting.\n-Note\n+Nota\n If you are creating a reusable application, it is recommended to use only the\n built-in _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bl_\be_\bv_\be_\bl_\bs and not rely on any custom levels.\n *\b**\b**\b**\b* C\bCh\bha\ban\bng\bgi\bin\bng\bg t\bth\bhe\be m\bmi\bin\bni\bim\bmu\bum\bm r\bre\bec\bco\bor\brd\bde\bed\bd l\ble\bev\bve\bel\bl p\bpe\ber\br-\b-r\bre\beq\bqu\bue\bes\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n The minimum recorded level can be set per request via the set_level method:\n from django.contrib import messages\n \n # Change the messages level to ensure the debug message is added.\n@@ -218,15 +218,15 @@\n messages.add_message(\n request,\n messages.SUCCESS,\n \"Profile details updated.\",\n fail_silently=True,\n )\n messages.info(request, \"Hello world.\", fail_silently=True)\n-Note\n+Nota\n Setting fail_silently=True only hides the MessageFailure that would otherwise\n occur when the messages framework disabled and one attempts to use one of the\n add_message family of methods. It does not hide failures that may occur for\n other reasons.\n *\b**\b**\b**\b* A\bAd\bdd\bdi\bin\bng\bg m\bme\bes\bss\bsa\bag\bge\bes\bs i\bin\bn c\bcl\bla\bas\bss\bs-\b-b\bba\bas\bse\bed\bd v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs views.SuccessMessageMixin_\b\u00b6\n Adds a success message attribute to _\bF_\bo_\br_\bm_\bV_\bi_\be_\bw based classes\n@@ -303,15 +303,15 @@\n from django.test import TestCase\n \n \n class MsgTestCase(MessagesTestMixin, TestCase):\n pass\n Then, inherit from the MsgTestCase in your tests.\n MessagesTestMixin.assertMessages(r\bre\bes\bsp\bpo\bon\bns\bse\be, e\bex\bxp\bpe\bec\bct\bte\bed\bd_\b_m\bme\bes\bss\bsa\bag\bge\bes\bs, o\bor\brd\bde\ber\bre\bed\bd=\b=T\bTr\bru\bue\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Asserts that _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs added to the _\br_\be_\bs_\bp_\bo_\bn_\bs_\be matches expected_messages.\n expected_messages is a list of _\bM_\be_\bs_\bs_\ba_\bg_\be objects.\n By default, the comparison is ordering dependent. You can disable this by\n setting the ordered argument to False.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\bh_\be_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n o _\bE_\bn_\ba_\bb_\bl_\bi_\bn_\bg_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs\n@@ -328,16 +328,16 @@\n # _\bA_\bd_\bd_\bi_\bn_\bg_\b _\be_\bx_\bt_\br_\ba_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bt_\ba_\bg_\bs\n # _\bF_\ba_\bi_\bl_\bi_\bn_\bg_\b _\bs_\bi_\bl_\be_\bn_\bt_\bl_\by_\b _\bw_\bh_\be_\bn_\b _\bt_\bh_\be_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\b _\bi_\bs_\b _\bd_\bi_\bs_\ba_\bb_\bl_\be_\bd\n # _\bA_\bd_\bd_\bi_\bn_\bg_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs\n o _\bE_\bx_\bp_\bi_\br_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs\n o _\bB_\be_\bh_\ba_\bv_\bi_\bo_\br_\b _\bo_\bf_\b _\bp_\ba_\br_\ba_\bl_\bl_\be_\bl_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs\n o _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n o _\bT_\be_\bs_\bt_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/aggregates.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/aggregates.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- PostgreSQL specific aggregation functions — Django 5.1.4 documentation\n+ PostgreSQL specific aggregation functions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
      \n
      \n
      \n-

      Django 5.1.4 documentation

      \n+

      Documentazione Django 5.1.4

      \n \n
      \n@@ -78,15 +79,15 @@\n
      \n \n
      \n

      PostgreSQL specific aggregation functions\u00b6

      \n

      These functions are available from the django.contrib.postgres.aggregates\n module. They are described in more detail in the PostgreSQL docs.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      All functions come without default aliases, so you must explicitly provide\n one. For example:

      \n
      >>> SomeModel.objects.aggregate(arr=ArrayAgg("somefield"))\n {'arr': [0, 1, 2]}\n 
      \n
      \n
      \n@@ -399,15 +400,15 @@\n

      RegrCount\u00b6

      \n
      \n
      \n class RegrCount(y, x, filter=None)\u00b6
      \n

      Returns an int of the number of input rows in which both expressions\n are not null.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      The default argument is not supported.

      \n
      \n
      \n \n
      \n
      \n

      RegrIntercept\u00b6

      \n@@ -442,36 +443,36 @@\n \n
      \n
      \n

      RegrSXX\u00b6

      \n
      \n
      \n class RegrSXX(y, x, filter=None, default=None)\u00b6
      \n-

      Returns sum(x^2) - sum(x)^2/N (\u201csum of squares\u201d of the independent\n+

      Returns sum(x^2) - sum(x)^2/N (\u00absum of squares\u00bb of the independent\n variable) as a float, or default if there aren\u2019t any matching rows.

      \n
      \n \n
      \n
      \n

      RegrSXY\u00b6

      \n
      \n
      \n class RegrSXY(y, x, filter=None, default=None)\u00b6
      \n-

      Returns sum(x*y) - sum(x) * sum(y)/N (\u201csum of products\u201d of independent\n+

      Returns sum(x*y) - sum(x) * sum(y)/N (\u00absum of products\u00bb of independent\n times dependent variable) as a float, or default if there aren\u2019t\n any matching rows.

      \n
      \n \n
      \n
      \n

      RegrSYY\u00b6

      \n
      \n
      \n class RegrSYY(y, x, filter=None, default=None)\u00b6
      \n-

      Returns sum(y^2) - sum(y)^2/N (\u201csum of squares\u201d of the dependent\n+

      Returns sum(y^2) - sum(y)^2/N (\u00absum of squares\u00bb of the dependent\n variable) as a float, or default if there aren\u2019t any matching rows.

      \n
      \n \n
      \n \n
      \n

      Usage examples\u00b6

      \n@@ -549,37 +550,37 @@\n
    • Usage examples
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    django.contrib.postgres

    \n+ title=\"capitolo precedente\">django.contrib.postgres

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    PostgreSQL specific database constraints

    \n+ title=\"capitolo successivo\">PostgreSQL specific database constraints

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,14 +1,14 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL s\bsp\bpe\bec\bci\bif\bfi\bic\bc a\bag\bgg\bgr\bre\beg\bga\bat\bti\bio\bon\bn f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n These functions are available from the django.contrib.postgres.aggregates\n module. They are described in more detail in the _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bd_\bo_\bc_\bs.\n-Note\n+Nota\n All functions come without default aliases, so you must explicitly provide one.\n For example:\n >>> SomeModel.objects.aggregate(arr=ArrayAgg(\"somefield\"))\n {'arr': [0, 1, 2]}\n Common aggregate options\n All aggregates have the _\bf_\bi_\bl_\bt_\be_\br keyword argument and most also have the _\bd_\be_\bf_\ba_\bu_\bl_\bt\n keyword argument.\n@@ -187,15 +187,15 @@\n c\bcl\bla\bas\bss\bs RegrAvgY(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns the average of the dependent variable (sum(y)/N) as a float, or\n default if there aren\u2019t any matching rows.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brC\bCo\bou\bun\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrCount(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns an int of the number of input rows in which both expressions are\n not null.\n- Note\n+ Nota\n The default argument is not supported.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brI\bIn\bnt\bte\ber\brc\bce\bep\bpt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrIntercept(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns the y-intercept of the least-squares-fit linear equation\n determined by the (x, y) pairs as a float, or default if there aren\u2019t any\n matching rows.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brR\bR2\b2_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -205,24 +205,24 @@\n *\b**\b**\b**\b* R\bRe\beg\bgr\brS\bSl\blo\bop\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrSlope(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns the slope of the least-squares-fit linear equation determined by\n the (x, y) pairs as a float, or default if there aren\u2019t any matching\n rows.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brS\bSX\bXX\bX_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrSXX(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Returns sum(x^2) - sum(x)^2/N (\u201csum of squares\u201d of the independent\n+ Returns sum(x^2) - sum(x)^2/N (\u00absum of squares\u00bb of the independent\n variable) as a float, or default if there aren\u2019t any matching rows.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brS\bSX\bXY\bY_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrSXY(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Returns sum(x*y) - sum(x) * sum(y)/N (\u201csum of products\u201d of independent\n+ Returns sum(x*y) - sum(x) * sum(y)/N (\u00absum of products\u00bb of independent\n times dependent variable) as a float, or default if there aren\u2019t any\n matching rows.\n *\b**\b**\b**\b* R\bRe\beg\bgr\brS\bSY\bYY\bY_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegrSYY(y\by, x\bx, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Returns sum(y^2) - sum(y)^2/N (\u201csum of squares\u201d of the dependent\n+ Returns sum(y^2) - sum(y)^2/N (\u00absum of squares\u00bb of the dependent\n variable) as a float, or default if there aren\u2019t any matching rows.\n *\b**\b**\b**\b**\b* U\bUs\bsa\bag\bge\be e\bex\bxa\bam\bmp\bpl\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n We will use this example table:\n | FIELD1 | FIELD2 | FIELD3 |\n |--------|--------|--------|\n | foo | 1 | 13 |\n | bar | 2 | (null) |\n@@ -265,16 +265,16 @@\n # _\bR_\be_\bg_\br_\bI_\bn_\bt_\be_\br_\bc_\be_\bp_\bt\n # _\bR_\be_\bg_\br_\bR_\b2\n # _\bR_\be_\bg_\br_\bS_\bl_\bo_\bp_\be\n # _\bR_\be_\bg_\br_\bS_\bX_\bX\n # _\bR_\be_\bg_\br_\bS_\bX_\bY\n # _\bR_\be_\bg_\br_\bS_\bY_\bY\n o _\bU_\bs_\ba_\bg_\be_\b _\be_\bx_\ba_\bm_\bp_\bl_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/constraints.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/constraints.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- PostgreSQL specific database constraints — Django 5.1.4 documentation\n+ PostgreSQL specific database constraints — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -82,15 +83,15 @@\n

    PostgreSQL supports additional data integrity constraints available from the\n django.contrib.postgres.constraints module. They are added in the model\n Meta.constraints option.

    \n
    \n

    ExclusionConstraint\u00b6

    \n
    \n
    \n-class ExclusionConstraint(*, name, expressions, index_type=None, condition=None, deferrable=None, include=None, violation_error_code=None, violation_error_message=None)[source]\u00b6
    \n+class ExclusionConstraint(*, name, expressions, index_type=None, condition=None, deferrable=None, include=None, violation_error_code=None, violation_error_message=None)[sorgente]\u00b6\n

    Creates an exclusion constraint in the database. Internally, PostgreSQL\n implements exclusion constraints using indexes. The default index type is\n GiST. To use them,\n you need to activate the btree_gist extension on PostgreSQL.\n You can install it using the\n BtreeGistExtension migration\n operation.

    \n@@ -187,15 +188,15 @@\n )\n
    \n
    \n

    By default constraints are not deferred. A deferred constraint will not be\n enforced until the end of the transaction. An immediate constraint will be\n enforced immediately after every command.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Deferred exclusion constraints may lead to a performance penalty.

    \n
    \n \n
    \n

    include\u00b6

    \n
    \n
    \n@@ -336,37 +337,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    PostgreSQL specific aggregation functions

    \n+ title=\"capitolo precedente\">PostgreSQL specific aggregation functions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    PostgreSQL specific query expressions

    \n+ title=\"capitolo successivo\">PostgreSQL specific query expressions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL s\bsp\bpe\bec\bci\bif\bfi\bic\bc d\bda\bat\bta\bab\bba\bas\bse\be c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n PostgreSQL supports additional data integrity constraints available from the\n django.contrib.postgres.constraints module. They are added in the model\n _\bM_\be_\bt_\ba_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs option.\n *\b**\b**\b**\b**\b* E\bEx\bxc\bcl\blu\bus\bsi\bio\bon\bnC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs ExclusionConstraint(*\b*, n\bna\bam\bme\be, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, i\bin\bnd\bde\bex\bx_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be,\n c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, d\bde\bef\bfe\ber\brr\bra\bab\bbl\ble\be=\b=N\bNo\bon\bne\be, i\bin\bnc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be, v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be,\n- v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates an exclusion constraint in the database. Internally, PostgreSQL\n implements exclusion constraints using indexes. The default index type is\n _\bG_\bi_\bS_\bT. To use them, you need to activate the _\bb_\bt_\br_\be_\be_\b__\bg_\bi_\bs_\bt_\b _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn on\n PostgreSQL. You can install it using the _\bB_\bt_\br_\be_\be_\bG_\bi_\bs_\bt_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn migration\n operation.\n If you attempt to insert a new row that conflicts with an existing row,\n an _\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br is raised. Similarly, when update conflicts with an\n@@ -63,15 +63,15 @@\n (\"timespan\", RangeOperators.OVERLAPS),\n ],\n deferrable=Deferrable.DEFERRED,\n )\n By default constraints are not deferred. A deferred constraint will not be\n enforced until the end of the transaction. An immediate constraint will be\n enforced immediately after every command.\n-Warning\n+Avvertimento\n Deferred exclusion constraints may lead to a _\bp_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be_\b _\bp_\be_\bn_\ba_\bl_\bt_\by.\n *\b**\b**\b**\b* i\bin\bnc\bcl\blu\bud\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n ExclusionConstraint.include_\b\u00b6\n A list or tuple of the names of the fields to be included in the covering\n exclusion constraint as non-key columns. This allows index-only scans to be\n used for queries that select only included fields (_\bi_\bn_\bc_\bl_\bu_\bd_\be) and filter only by\n indexed fields (_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs).\n@@ -163,16 +163,16 @@\n # _\bi_\bn_\bd_\be_\bx_\b__\bt_\by_\bp_\be\n # _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn\n # _\bd_\be_\bf_\be_\br_\br_\ba_\bb_\bl_\be\n # _\bi_\bn_\bc_\bl_\bu_\bd_\be\n # _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be\n # _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be\n # _\bE_\bx_\ba_\bm_\bp_\bl_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bq_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/expressions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/expressions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- PostgreSQL specific query expressions — Django 5.1.4 documentation\n+ PostgreSQL specific query expressions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    PostgreSQL specific query expressions\u00b6

    \n

    These expressions are available from the\n django.contrib.postgres.expressions module.

    \n
    \n

    ArraySubquery() expressions\u00b6

    \n
    \n
    \n-class ArraySubquery(queryset)[source]\u00b6
    \n+class ArraySubquery(queryset)[sorgente]\u00b6\n
    \n \n

    ArraySubquery is a Subquery that uses the\n PostgreSQL ARRAY constructor to build a list of values from the queryset,\n which must use QuerySet.values() to return only a single column.

    \n

    This class differs from ArrayAgg\n in the way that it does not act as an aggregate function and does not require\n@@ -127,37 +128,37 @@\n

  • ArraySubquery() expressions
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    PostgreSQL specific database constraints

    \n+ title=\"capitolo precedente\">PostgreSQL specific database constraints

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    PostgreSQL specific model fields

    \n+ title=\"capitolo successivo\">PostgreSQL specific model fields

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,15 +1,15 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL s\bsp\bpe\bec\bci\bif\bfi\bic\bc q\bqu\bue\ber\bry\by e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n These expressions are available from the django.contrib.postgres.expressions\n module.\n *\b**\b**\b**\b**\b* A\bAr\brr\bra\bay\byS\bSu\bub\bbq\bqu\bue\ber\bry\by(\b()\b) e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ArraySubquery(q\bqu\bue\ber\bry\bys\bse\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ArraySubquery(q\bqu\bue\ber\bry\bys\bse\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n ArraySubquery is a _\bS_\bu_\bb_\bq_\bu_\be_\br_\by that uses the PostgreSQL ARRAY constructor to build\n a list of values from the queryset, which must use _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bv_\ba_\bl_\bu_\be_\bs_\b(_\b) to return\n only a single column.\n This class differs from _\bA_\br_\br_\ba_\by_\bA_\bg_\bg in the way that it does not act as an\n aggregate function and does not require an SQL GROUP BY clause to build the\n list of values.\n For example, if you want to annotate all related books to an author as JSON\n@@ -22,16 +22,16 @@\n ... )\n >>> author = Author.objects.annotate(books=ArraySubquery(books)).first()\n >>> author.books\n [{'title': 'Solaris', 'pages': 204}, {'title': 'The Cyberiad', 'pages': 295}]\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bq_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n o _\bA_\br_\br_\ba_\by_\bS_\bu_\bb_\bq_\bu_\be_\br_\by_\b(_\b)_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/fields.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/fields.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- PostgreSQL specific model fields — Django 5.1.4 documentation\n+ PostgreSQL specific model fields — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -148,15 +149,15 @@\n be passed to the database, although PostgreSQL at present does not\n enforce the restriction.

    \n \n \n \n \n
    \n-

    Note

    \n+

    Nota

    \n

    When nesting ArrayField, whether you use the size parameter or not,\n PostgreSQL requires that the arrays are rectangular:

    \n
    from django.contrib.postgres.fields import ArrayField\n from django.db import models\n \n \n class Board(models.Model):\n@@ -283,15 +284,15 @@\n <QuerySet [<Post: First post>]>\n \n >>> Post.objects.filter(tags__276="javascript")\n <QuerySet []>\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    PostgreSQL uses 1-based indexing for array fields when writing raw SQL.\n However these indexes and those used in slices\n use 0-based indexing to be consistent with Python.

    \n
    \n \n
    \n

    Slice transforms\u00b6

    \n@@ -306,15 +307,15 @@\n <QuerySet [<Post: First post>, <Post: Second post>]>\n \n >>> Post.objects.filter(tags__0_2__contains=["thoughts"])\n <QuerySet [<Post: First post>, <Post: Second post>]>\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    PostgreSQL uses 1-based indexing for array fields when writing raw SQL.\n However these slices and those used in indexes\n use 0-based indexing to be consistent with Python.

    \n
    \n
    \n

    Multidimensional arrays with indexes and slices

    \n

    PostgreSQL has some rather esoteric behavior when using indexes and slices\n@@ -341,15 +342,15 @@\n PostgreSQL.

    \n \n

    You\u2019ll see an error like can't adapt type 'dict' if you skip the first\n step, or type "hstore" does not exist if you skip the second.

    \n \n \n
    \n-

    Note

    \n+

    Nota

    \n

    On occasions it may be useful to require or restrict the keys which are\n valid for a given field. This can be done using the\n KeysValidator.

    \n
    \n
    \n

    Querying HStoreField\u00b6

    \n

    In addition to the ability to query by key, there are a number of custom\n@@ -388,22 +389,22 @@\n >>> rufus.breed\n 'labrador'\n

    \n
    \n

    If the key you wish to query by clashes with the name of another lookup, you\n need to use the hstorefield.contains lookup instead.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Key transforms can also be chained with: contains,\n icontains, endswith, iendswith,\n iexact, regex, iregex, startswith,\n and istartswith lookups.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Since any string could be a key in a hstore value, any lookup other than\n those listed below will be interpreted as a key lookup. No errors are\n raised. Be extra careful for typing mistakes, and always check your queries\n work as you intend.

    \n
    \n \n
    \n@@ -1004,37 +1005,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    PostgreSQL specific query expressions

    \n+ title=\"capitolo precedente\">PostgreSQL specific query expressions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    PostgreSQL specific form fields and widgets

    \n+ title=\"capitolo successivo\">PostgreSQL specific form fields and widgets

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL s\bsp\bpe\bec\bci\bif\bfi\bic\bc m\bmo\bod\bde\bel\bl f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n All of these fields are available from the django.contrib.postgres.fields\n module.\n *\b**\b**\b**\b**\b* I\bIn\bnd\bde\bex\bxi\bin\bng\bg t\bth\bhe\bes\bse\be f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bI_\bn_\bd_\be_\bx and _\bF_\bi_\be_\bl_\bd_\b._\bd_\bb_\b__\bi_\bn_\bd_\be_\bx both create a B-tree index, which isn\u2019t particularly\n@@ -45,15 +45,15 @@\n validation of data and configuration, and serialization are all\n delegated to the underlying base field.\n size_\b\u00b6\n This is an optional argument.\n If passed, the array will have a maximum size as specified. This\n will be passed to the database, although PostgreSQL at present does\n not enforce the restriction.\n-Note\n+Nota\n When nesting ArrayField, whether you use the size parameter or not, PostgreSQL\n requires that the arrays are rectangular:\n from django.contrib.postgres.fields import ArrayField\n from django.db import models\n \n \n class Board(models.Model):\n@@ -153,15 +153,15 @@\n , ]>\n \n >>> Post.objects.filter(tags__1__iexact=\"Django\")\n ]>\n \n >>> Post.objects.filter(tags__276=\"javascript\")\n \n-Note\n+Nota\n PostgreSQL uses 1-based indexing for array fields when writing raw SQL. However\n these indexes and those used in _\bs_\bl_\bi_\bc_\be_\bs use 0-based indexing to be consistent\n with Python.\n *\b**\b**\b* S\bSl\bli\bic\bce\be t\btr\bra\ban\bns\bsf\bfo\bor\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b*\n Slice transforms take a slice of the array. Any two non-negative integers can\n be used, separated by a single underscore. The lookups available after the\n transform do not change. For example:\n@@ -171,15 +171,15 @@\n \"thoughts\"])\n \n >>> Post.objects.filter(tags__0_1=[\"thoughts\"])\n , ]>\n \n >>> Post.objects.filter(tags__0_2__contains=[\"thoughts\"])\n , ]>\n-Note\n+Nota\n PostgreSQL uses 1-based indexing for array fields when writing raw SQL. However\n these slices and those used in _\bi_\bn_\bd_\be_\bx_\be_\bs use 0-based indexing to be consistent\n with Python.\n Multidimensional arrays with indexes and slices\n PostgreSQL has some rather esoteric behavior when using indexes and slices on\n multidimensional arrays. It will always work to use indexes to reach down to\n the final underlying data, but most other slices behave strangely at the\n@@ -191,15 +191,15 @@\n Keys must be strings, and values may be either strings or nulls (None in\n Python).\n To use this field, you\u2019ll need to:\n 1. Add 'django.contrib.postgres' in your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS.\n 2. _\bS_\be_\bt_\b _\bu_\bp_\b _\bt_\bh_\be_\b _\bh_\bs_\bt_\bo_\br_\be_\b _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn in PostgreSQL.\n You\u2019ll see an error like can't adapt type 'dict' if you skip the first\n step, or type \"hstore\" does not exist if you skip the second.\n-Note\n+Nota\n On occasions it may be useful to require or restrict the keys which are valid\n for a given field. This can be done using the _\bK_\be_\by_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br.\n *\b**\b**\b**\b* Q\bQu\bue\ber\bry\byi\bin\bng\bg H\bHS\bSt\bto\bor\bre\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n In addition to the ability to query by key, there are a number of custom\n lookups available for HStoreField.\n We will use the following example model:\n from django.contrib.postgres.fields import HStoreField\n@@ -225,18 +225,18 @@\n or use F() expressions to annotate a key value. For example:\n >>> from django.db.models import F\n >>> rufus = Dog.objects.annotate(breed=F(\"data__breed\"))[0]\n >>> rufus.breed\n 'labrador'\n If the key you wish to query by clashes with the name of another lookup, you\n need to use the _\bh_\bs_\bt_\bo_\br_\be_\bf_\bi_\be_\bl_\bd_\b._\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs lookup instead.\n-Note\n+Nota\n Key transforms can also be chained with: _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs, _\bi_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs, _\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh,\n _\bi_\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh, _\bi_\be_\bx_\ba_\bc_\bt, _\br_\be_\bg_\be_\bx, _\bi_\br_\be_\bg_\be_\bx, _\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh, and _\bi_\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh lookups.\n-Warning\n+Avvertimento\n Since any string could be a key in a hstore value, any lookup other than those\n listed below will be interpreted as a key lookup. No errors are raised. Be\n extra careful for typing mistakes, and always check your queries work as you\n intend.\n *\b**\b**\b* c\bco\bon\bnt\bta\bai\bin\bns\bs_\b?\b\u00b6 *\b**\b**\b*\n The _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs lookup is overridden on _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd. The returned objects are\n those where the given dict of key-value pairs are all contained in the field.\n@@ -581,16 +581,16 @@\n # _\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bc\n # _\bl_\bo_\bw_\be_\br_\b__\bi_\bn_\bf\n # _\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bc\n # _\bu_\bp_\bp_\be_\br_\b__\bi_\bn_\bf\n # _\bD_\be_\bf_\bi_\bn_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn_\b _\br_\ba_\bn_\bg_\be_\b _\bt_\by_\bp_\be_\bs\n # _\bR_\ba_\bn_\bg_\be_\b _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\bs\n # _\bR_\ba_\bn_\bg_\be_\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\b(_\b)_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bq_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\b _\bf_\bo_\br_\bm_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\ba_\bn_\bd_\b _\bw_\bi_\bd_\bg_\be_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/forms.html", "source2": "./usr/share/doc/python-django-doc/html/ref/contrib/postgres/forms.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- PostgreSQL specific form fields and widgets — Django 5.1.4 documentation\n+ PostgreSQL specific form fields and widgets — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -133,15 +134,15 @@\n >>> form.is_valid()\n True\n >>> form.cleaned_data\n {'places': [[1, 2], [2, 1], [4, 3]]}\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The field does not support escaping of the delimiter, so be careful\n in cases where the delimiter is a valid character in the underlying\n field. The delimiter does not need to be only one character.

    \n
    \n \n \n
    \n@@ -242,15 +243,15 @@\n
    \n

    User friendly forms

    \n

    HStoreField is not particularly user friendly in most cases,\n however it is a useful way to format data from a client-side widget for\n submission to the server.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    On occasions it may be useful to require or restrict the keys which are\n valid for a given field. This can be done using the\n KeysValidator.

    \n
    \n
    \n \n \n@@ -323,15 +324,15 @@\n base_widget\u00b6\n

    A RangeWidget comprises a 2-tuple of base_widget.

    \n
    \n \n
    \n
    \n decompress(value)\u00b6
    \n-

    Takes a single \u201ccompressed\u201d value of a field, for example a\n+

    Takes a single \u00abcompressed\u00bb value of a field, for example a\n DateRangeField,\n and returns a tuple representing a lower and upper bound.

    \n
    \n \n \n \n \n@@ -371,37 +372,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    PostgreSQL specific model fields

    \n+ title=\"capitolo precedente\">PostgreSQL specific model fields

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    PostgreSQL specific database functions

    \n+ title=\"capitolo successivo\">PostgreSQL specific database functions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL s\bsp\bpe\bec\bci\bif\bfi\bic\bc f\bfo\bor\brm\bm f\bfi\bie\bel\bld\bds\bs a\ban\bnd\bd w\bwi\bid\bdg\bge\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n All of these fields and widgets are available from the\n django.contrib.postgres.forms module.\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSi\bim\bmp\bpl\ble\beA\bAr\brr\bra\bay\byF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -43,15 +43,15 @@\n ...\n \n >>> form = GridForm({\"places\": \"1,2|2,1|4,3\"})\n >>> form.is_valid()\n True\n >>> form.cleaned_data\n {'places': [[1, 2], [2, 1], [4, 3]]}\n- Note\n+ Nota\n The field does not support escaping of the delimiter, so be careful\n in cases where the delimiter is a valid character in the underlying\n field. The delimiter does not need to be only one character.\n max_length_\b\u00b6\n This is an optional argument which validates that the array does\n not exceed the stated length.\n min_length_\b\u00b6\n@@ -115,15 +115,15 @@\n A field which accepts JSON encoded data for an _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd. It casts all\n values (except nulls) to strings. It is represented by an HTML\n \n *\b**\b**\b**\b* S\bSe\bel\ble\bec\bct\bto\bor\br a\ban\bnd\bd c\bch\bhe\bec\bck\bkb\bbo\box\bx w\bwi\bid\bdg\bge\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n These widgets make use of the HTML elements ,\n and .\n Widgets that render multiple choices have an option_template_name attribute\n that specifies the template used to render each choice. For example, for the\n _\bS_\be_\bl_\be_\bc_\bt widget, select_option.html renders the
    \n ...\n@@ -551,15 +551,15 @@\n tags, as above.\n The outer
    container receives the id attribute of the widget, if\n defined, or _\bB_\bo_\bu_\bn_\bd_\bF_\bi_\be_\bl_\bd_\b._\ba_\bu_\bt_\bo_\b__\bi_\bd otherwise.\n When looping over the radio buttons, the label and input tags include for\n and id attributes, respectively. Each radio button has an id_for_label\n attribute to output the element\u2019s ID.\n *\b**\b**\b* C\bCh\bhe\bec\bck\bkb\bbo\box\bxS\bSe\bel\ble\bec\bct\btM\bMu\bul\blt\bti\bip\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CheckboxSelectMultiple_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CheckboxSelectMultiple_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/checkbox_select.html'\n * option_template_name: 'django/forms/widgets/checkbox_option.html'\n Similar to _\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be, but rendered as a list of checkboxes:\n
    \n
    \n ...\n
    \n@@ -570,32 +570,32 @@\n attribute if the field is required because browser validation would require all\n checkboxes to be checked instead of at least one.\n When looping over the checkboxes, the label and input tags include for and id\n attributes, respectively. Each checkbox has an id_for_label attribute to output\n the element\u2019s ID.\n *\b**\b**\b**\b* F\bFi\bil\ble\be u\bup\bpl\blo\boa\bad\bd w\bwi\bid\bdg\bge\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* F\bFi\bil\ble\beI\bIn\bnp\bpu\but\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FileInput_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FileInput_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/file.html'\n * Renders as: \n *\b**\b**\b* C\bCl\ble\bea\bar\bra\bab\bbl\ble\beF\bFi\bil\ble\beI\bIn\bnp\bpu\but\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ClearableFileInput_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ClearableFileInput_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/clearable_file_input.html'\n * Renders as: with an additional checkbox\n input to clear the field\u2019s value, if the field is not required and\n has initial data.\n *\b**\b**\b**\b* C\bCo\bom\bmp\bpo\bos\bsi\bit\bte\be w\bwi\bid\bdg\bge\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* M\bMu\bul\blt\bti\bip\bpl\ble\beH\bHi\bid\bdd\bde\ben\bnI\bIn\bnp\bpu\but\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MultipleHiddenInput_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MultipleHiddenInput_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/multiple_hidden.html'\n * Renders as: multiple tags\n A widget that handles multiple hidden widgets for fields that have a list\n of values.\n *\b**\b**\b* S\bSp\bpl\bli\bit\btD\bDa\bat\bte\beT\bTi\bim\bme\beW\bWi\bid\bdg\bge\bet\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SplitDateTimeWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SplitDateTimeWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/splitdatetime.html'\n Wrapper (using _\bM_\bu_\bl_\bt_\bi_\bW_\bi_\bd_\bg_\be_\bt) around two widgets: _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt for the date,\n and _\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt for the time. Must be used with _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd rather\n than _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd.\n SplitDateTimeWidget has several optional arguments:\n date_format_\b\u00b6\n Similar to _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt_\b._\bf_\bo_\br_\bm_\ba_\bt\n@@ -604,29 +604,29 @@\n date_attrs_\b\u00b6\n time_attrs_\b\u00b6\n Similar to _\bW_\bi_\bd_\bg_\be_\bt_\b._\ba_\bt_\bt_\br_\bs. A dictionary containing HTML attributes to\n be set on the rendered _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt and _\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt widgets,\n respectively. If these attributes aren\u2019t set, _\bW_\bi_\bd_\bg_\be_\bt_\b._\ba_\bt_\bt_\br_\bs is used\n instead.\n *\b**\b**\b* S\bSp\bpl\bli\bit\btH\bHi\bid\bdd\bde\ben\bnD\bDa\bat\bte\beT\bTi\bim\bme\beW\bWi\bid\bdg\bge\bet\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SplitHiddenDateTimeWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SplitHiddenDateTimeWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/splithiddendatetime.html'\n Similar to _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt, but uses _\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt for both date and\n time.\n *\b**\b**\b* S\bSe\bel\ble\bec\bct\btD\bDa\bat\bte\beW\bWi\bid\bdg\bge\bet\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SelectDateWidget_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SelectDateWidget_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * template_name: 'django/forms/widgets/select_date.html'\n Wrapper around three _\bS_\be_\bl_\be_\bc_\bt widgets: one each for month, day, and year.\n Takes several optional arguments:\n years_\b\u00b6\n- An optional list/tuple of years to use in the \u201cyear\u201d select box.\n+ An optional list/tuple of years to use in the \u00abyear\u00bb select box.\n The default is a list containing the current year and the next 9\n years.\n months_\b\u00b6\n- An optional dict of months to use in the \u201cmonths\u201d select box.\n+ An optional dict of months to use in the \u00abmonths\u00bb select box.\n The keys of the dict correspond to the month number (1-indexed) and\n the values are the displayed months:\n MONTHS = {\n 1: _(\"jan\"),\n 2: _(\"feb\"),\n 3: _(\"mar\"),\n 4: _(\"apr\"),\n@@ -692,16 +692,16 @@\n # _\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt\n # _\bC_\bl_\be_\ba_\br_\ba_\bb_\bl_\be_\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt\n # _\bC_\bo_\bm_\bp_\bo_\bs_\bi_\bt_\be_\b _\bw_\bi_\bd_\bg_\be_\bt_\bs\n # _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bH_\bi_\bd_\bd_\be_\bn_\bI_\bn_\bp_\bu_\bt\n # _\bS_\bp_\bl_\bi_\bt_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt\n # _\bS_\bp_\bl_\bi_\bt_\bH_\bi_\bd_\bd_\be_\bn_\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bW_\bi_\bd_\bg_\be_\bt\n # _\bS_\be_\bl_\be_\bc_\bt_\bD_\ba_\bt_\be_\bW_\bi_\bd_\bg_\be_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bf_\bo_\br_\bm_\b _\br_\be_\bn_\bd_\be_\br_\bi_\bn_\bg_\b _\bA_\bP_\bI\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bF_\bo_\br_\bm_\b _\ba_\bn_\bd_\b _\bf_\bi_\be_\bl_\bd_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- API Reference — Django 5.1.4 documentation\n+ API Reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,25 +54,25 @@\n })(jQuery);\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n@@ -122,47 +123,47 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Troubleshooting

    \n+ title=\"capitolo precedente\">Troubleshooting

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Applications

    \n+ title=\"capitolo successivo\">Applications

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n « previous\n |\n- up\n+ up\n |\n next »
    \n
    \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* A\bAP\bPI\bI R\bRe\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n * _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n * _\bS_\by_\bs_\bt_\be_\bm_\b _\bc_\bh_\be_\bc_\bk_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n * _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bc_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs_\b _\bA_\bP_\bI\n * _\bC_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bP_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n@@ -28,16 +28,16 @@\n * _\bU_\bn_\bi_\bc_\bo_\bd_\be_\b _\bd_\ba_\bt_\ba\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\bu_\bs_\be_\b _\bi_\bn_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\bu_\bs_\be_\b _\bi_\bn_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bU_\bt_\bi_\bl_\bs\n * _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n * _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\br_\bo_\bu_\bb_\bl_\be_\bs_\bh_\bo_\bo_\bt_\bi_\bn_\bg\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/logging.html", "source2": "./usr/share/doc/python-django-doc/html/ref/logging.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Logging — Django 5.1.4 documentation\n+ Logging — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Logging\u00b6

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n \n
    \n

    Django\u2019s logging module extends Python\u2019s builtin logging.

    \n

    Logging is configured as part of the general Django django.setup()\n@@ -333,21 +334,21 @@\n

    \n
    \n

    Handlers\u00b6

    \n

    Django provides one log handler in addition to those provided by the\n Python logging module.

    \n
    \n
    \n-class AdminEmailHandler(include_html=False, email_backend=None, reporter_class=None)[source]\u00b6
    \n+class AdminEmailHandler(include_html=False, email_backend=None, reporter_class=None)[sorgente]\u00b6\n

    This handler sends an email to the site ADMINS for each log\n message it receives.

    \n

    If the log record contains a request attribute, the full details\n of the request will be included in the email. The email subject will\n-include the phrase \u201cinternal IP\u201d if the client\u2019s IP address is in the\n-INTERNAL_IPS setting; if not, it will include \u201cEXTERNAL IP\u201d.

    \n+include the phrase \u00abinternal IP\u00bb if the client\u2019s IP address is in the\n+INTERNAL_IPS setting; if not, it will include \u00abEXTERNAL IP\u00bb.

    \n

    If the log record contains stack trace information, that stack\n trace will be included in the email.

    \n

    The include_html argument of AdminEmailHandler is used to\n control whether the traceback email includes an HTML attachment\n containing the full content of the debug web page that would have been\n produced if DEBUG were True. To set this value in your\n configuration, include it in the handler definition for\n@@ -388,30 +389,30 @@\n "reporter_class": "somepackage.error_reporter.CustomErrorReporter",\n },\n }\n

    \n
    \n
    \n
    \n-send_mail(subject, message, *args, **kwargs)[source]\u00b6
    \n+send_mail(subject, message, *args, **kwargs)[sorgente]\u00b6\n

    Sends emails to admin users. To customize this behavior, you can\n subclass the AdminEmailHandler class and\n override this method.

    \n
    \n \n \n \n \n
    \n

    Filters\u00b6

    \n

    Django provides some log filters in addition to those provided by the Python\n logging module.

    \n
    \n
    \n-class CallbackFilter(callback)[source]\u00b6
    \n+class CallbackFilter(callback)[sorgente]\u00b6\n

    This filter accepts a callback function (which should accept a single\n argument, the record to be logged), and calls it for each record that\n passes through the filter. Handling of that record will not proceed if the\n callback returns False.

    \n

    For instance, to filter out UnreadablePostError\n (raised when a user cancels an upload) from the admin emails, you would\n create a filter function:

    \n@@ -446,15 +447,15 @@\n }\n
    \n
    \n \n \n
    \n
    \n-class RequireDebugFalse[source]\u00b6
    \n+class RequireDebugFalse[sorgente]\u00b6\n

    This filter will only pass on records when settings.DEBUG is False.

    \n

    This filter is used as follows in the default LOGGING\n configuration to ensure that the AdminEmailHandler only sends\n error emails to admins when DEBUG is False:

    \n
    LOGGING = {\n     # ...\n     "filters": {\n@@ -473,15 +474,15 @@\n }\n 
    \n
    \n
    \n \n
    \n
    \n-class RequireDebugTrue[source]\u00b6
    \n+class RequireDebugTrue[sorgente]\u00b6\n

    This filter is similar to RequireDebugFalse, except that records are\n passed only when DEBUG is True.

    \n
    \n \n \n \n \n@@ -527,37 +528,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Form and field validation

    \n+ title=\"capitolo precedente\">Form and field validation

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Middleware

    \n+ title=\"capitolo successivo\">Middleware

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* L\bLo\bog\bgg\bgi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-See also\n+Vedi anche\n * _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\ba_\bn_\bd_\b _\bu_\bs_\be_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bo_\bv_\be_\br_\bv_\bi_\be_\bw\n Django\u2019s logging module extends Python\u2019s builtin _\bl_\bo_\bg_\bg_\bi_\bn_\bg.\n Logging is configured as part of the general Django _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\be_\bt_\bu_\bp_\b(_\b) function, so\n it\u2019s always available unless explicitly disabled.\n *\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo?\b\u2019s\bs d\bde\bef\bfa\bau\bul\blt\bt l\blo\bog\bgg\bgi\bin\bng\bg c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n By default, Django uses Python\u2019s _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b._\bc_\bo_\bn_\bf_\bi_\bg_\b._\bd_\bi_\bc_\bt_\bC_\bo_\bn_\bf_\bi_\bg_\b _\bf_\bo_\br_\bm_\ba_\bt.\n@@ -185,21 +185,21 @@\n * Non-fatal errors occurring when using the\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bc_\ba_\bc_\bh_\be_\bd_\b__\bd_\bb_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn_\bS_\bt_\bo_\br_\be engine are logged\n as ERROR messages with the corresponding traceback.\n *\b**\b**\b**\b* H\bHa\ban\bnd\bdl\ble\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django provides one log handler in addition to _\bt_\bh_\bo_\bs_\be_\b _\bp_\br_\bo_\bv_\bi_\bd_\be_\bd_\b _\bb_\by_\b _\bt_\bh_\be_\b _\bP_\by_\bt_\bh_\bo_\bn\n _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bm_\bo_\bd_\bu_\bl_\be.\n c\bcl\bla\bas\bss\bs AdminEmailHandler(i\bin\bnc\bcl\blu\bud\bde\be_\b_h\bht\btm\bml\bl=\b=F\bFa\bal\bls\bse\be, e\bem\bma\bai\bil\bl_\b_b\bba\bac\bck\bke\ben\bnd\bd=\b=N\bNo\bon\bne\be,\n- r\bre\bep\bpo\bor\brt\bte\ber\br_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ r\bre\bep\bpo\bor\brt\bte\ber\br_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This handler sends an email to the site _\bA_\bD_\bM_\bI_\bN_\bS for each log message it\n receives.\n If the log record contains a request attribute, the full details of the\n request will be included in the email. The email subject will include the\n- phrase \u201cinternal IP\u201d if the client\u2019s IP address is in the _\bI_\bN_\bT_\bE_\bR_\bN_\bA_\bL_\b__\bI_\bP_\bS\n- setting; if not, it will include \u201cEXTERNAL IP\u201d.\n+ phrase \u00abinternal IP\u00bb if the client\u2019s IP address is in the _\bI_\bN_\bT_\bE_\bR_\bN_\bA_\bL_\b__\bI_\bP_\bS\n+ setting; if not, it will include \u00abEXTERNAL IP\u00bb.\n If the log record contains stack trace information, that stack trace will\n be included in the email.\n The include_html argument of AdminEmailHandler is used to control whether\n the traceback email includes an HTML attachment containing the full\n content of the debug web page that would have been produced if _\bD_\bE_\bB_\bU_\bG were\n True. To set this value in your configuration, include it in the handler\n definition for django.utils.log.AdminEmailHandler, like this:\n@@ -233,21 +233,21 @@\n \"level\": \"ERROR\",\n \"class\": \"django.utils.log.AdminEmailHandler\",\n \"include_html\": True,\n \"reporter_class\":\n \"somepackage.error_reporter.CustomErrorReporter\",\n },\n }\n- send_mail(s\bsu\bub\bbj\bje\bec\bct\bt, m\bme\bes\bss\bsa\bag\bge\be, *\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ send_mail(s\bsu\bub\bbj\bje\bec\bct\bt, m\bme\bes\bss\bsa\bag\bge\be, *\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Sends emails to admin users. To customize this behavior, you can\n subclass the _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br class and override this method.\n *\b**\b**\b**\b* F\bFi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django provides some log filters in addition to those provided by the Python\n logging module.\n- c\bcl\bla\bas\bss\bs CallbackFilter(c\bca\bal\bll\blb\bba\bac\bck\bk)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CallbackFilter(c\bca\bal\bll\blb\bba\bac\bck\bk)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This filter accepts a callback function (which should accept a single\n argument, the record to be logged), and calls it for each record that\n passes through the filter. Handling of that record will not proceed if\n the callback returns False.\n For instance, to filter out _\bU_\bn_\br_\be_\ba_\bd_\ba_\bb_\bl_\be_\bP_\bo_\bs_\bt_\bE_\br_\br_\bo_\br (raised when a user\n cancels an upload) from the admin emails, you would create a filter\n function:\n@@ -274,15 +274,15 @@\n \"level\": \"ERROR\",\n \"filters\": [\"skip_unreadable_posts\"],\n \"class\": \"django.utils.log.AdminEmailHandler\",\n },\n },\n # ...\n }\n- c\bcl\bla\bas\bss\bs RequireDebugFalse_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RequireDebugFalse_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This filter will only pass on records when settings.DEBUG is False.\n This filter is used as follows in the default _\bL_\bO_\bG_\bG_\bI_\bN_\bG configuration to\n ensure that the _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br only sends error emails to admins when\n _\bD_\bE_\bB_\bU_\bG is False:\n LOGGING = {\n # ...\n \"filters\": {\n@@ -295,15 +295,15 @@\n \"level\": \"ERROR\",\n \"filters\": [\"require_debug_false\"],\n \"class\": \"django.utils.log.AdminEmailHandler\",\n },\n },\n # ...\n }\n- c\bcl\bla\bas\bss\bs RequireDebugTrue_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RequireDebugTrue_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This filter is similar to _\bR_\be_\bq_\bu_\bi_\br_\be_\bD_\be_\bb_\bu_\bg_\bF_\ba_\bl_\bs_\be, except that records are\n passed only when _\bD_\bE_\bB_\bU_\bG is True.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bL_\bo_\bg_\bg_\bi_\bn_\bg\n o _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn\n # _\bD_\be_\bf_\ba_\bu_\bl_\bt_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\bs\n # _\bD_\be_\bf_\ba_\bu_\bl_\bt_\b _\bl_\bo_\bg_\bg_\bi_\bn_\bg_\b _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bo_\bn\n@@ -319,16 +319,16 @@\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b._\b*\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b._\bs_\bc_\bh_\be_\bm_\ba\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bH_\ba_\bn_\bd_\bl_\be_\br_\bs\n # _\bF_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bF_\bo_\br_\bm_\b _\ba_\bn_\bd_\b _\bf_\bi_\be_\bl_\bd_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/middleware.html", "source2": "./usr/share/doc/python-django-doc/html/ref/middleware.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Middleware — Django 5.1.4 documentation\n+ Middleware — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,31 +85,31 @@\n the middleware usage guide.

    \n
    \n

    Available middleware\u00b6

    \n
    \n

    Cache middleware\u00b6

    \n
    \n
    \n-class UpdateCacheMiddleware[source]\u00b6
    \n+class UpdateCacheMiddleware[sorgente]\u00b6\n
    \n \n
    \n
    \n-class FetchFromCacheMiddleware[source]\u00b6
    \n+class FetchFromCacheMiddleware[sorgente]\u00b6\n
    \n \n

    Enable the site-wide cache. If these are enabled, each Django-powered page will\n be cached for as long as the CACHE_MIDDLEWARE_SECONDS setting\n defines. See the cache documentation.

    \n
    \n
    \n-

    \u201cCommon\u201d middleware\u00b6

    \n+

    \u00abCommon\u00bb middleware\u00b6

    \n
    \n
    \n-class CommonMiddleware[source]\u00b6
    \n+class CommonMiddleware[sorgente]\u00b6\n
    \n
    \n response_redirect_class\u00b6
    \n

    Defaults to HttpResponsePermanentRedirect. Subclass\n CommonMiddleware and override the attribute to customize the redirects\n issued by the middleware.

    \n
    \n@@ -125,16 +126,16 @@\n with a slash, and it is not found in the URLconf, then a new URL is\n formed by appending a slash at the end. If this new URL is found in the\n URLconf, then Django redirects the request to this new URL. Otherwise,\n the initial URL is processed as usual.

    \n

    For example, foo.com/bar will be redirected to foo.com/bar/ if\n you don\u2019t have a valid URL pattern for foo.com/bar but do have a\n valid pattern for foo.com/bar/.

    \n-

    If PREPEND_WWW is True, URLs that lack a leading \u201cwww.\u201d\n-will be redirected to the same URL with a leading \u201cwww.\u201d

    \n+

    If PREPEND_WWW is True, URLs that lack a leading \u00abwww.\u00bb\n+will be redirected to the same URL with a leading \u00abwww.\u00bb

    \n

    Both of these options are meant to normalize URLs. The philosophy is that\n each URL should exist in one, and only one, place. Technically a URL\n foo.com/bar is distinct from foo.com/bar/ \u2013 a search-engine\n indexer would treat them as separate URLs \u2013 so it\u2019s best practice to\n normalize URLs.

    \n

    If necessary, individual views may be excluded from the APPEND_SLASH\n behavior using the no_append_slash()\n@@ -149,39 +150,39 @@\n

    \n
    \n \n
  • Sets the Content-Length header for non-streaming responses.

  • \n \n
    \n
    \n-class BrokenLinkEmailsMiddleware[source]\u00b6
    \n+class BrokenLinkEmailsMiddleware[sorgente]\u00b6\n
    \n \n \n \n
    \n

    GZip middleware\u00b6

    \n
    \n
    \n-class GZipMiddleware[source]\u00b6
    \n+class GZipMiddleware[sorgente]\u00b6\n
    \n
    \n max_random_bytes\u00b6
    \n

    Defaults to 100. Subclass GZipMiddleware and override the attribute\n to change the maximum number of random bytes that is included with\n compressed responses.

    \n
    \n \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    Security researchers revealed that when compression techniques (including\n GZipMiddleware) are used on a website, the site may become exposed to a\n number of possible attacks.

    \n

    To mitigate attacks, Django implements a technique called Heal The Breach\n (HTB). It adds up to 100 bytes (see\n max_random_bytes) of random bytes to each response\n to make the attacks less effective.

    \n@@ -204,28 +205,28 @@\n

    You can apply GZip compression to individual views using the\n gzip_page() decorator.

    \n
    \n
    \n

    Conditional GET middleware\u00b6

    \n
    \n
    \n-class ConditionalGetMiddleware[source]\u00b6
    \n+class ConditionalGetMiddleware[sorgente]\u00b6\n
    \n \n

    Handles conditional GET operations. If the response doesn\u2019t have an ETag\n header, the middleware adds one if needed. If the response has an ETag or\n Last-Modified header, and the request has If-None-Match or\n If-Modified-Since, the response is replaced by an\n HttpResponseNotModified.

    \n
    \n
    \n

    Locale middleware\u00b6

    \n
    \n
    \n-class LocaleMiddleware[source]\u00b6
    \n+class LocaleMiddleware[sorgente]\u00b6\n
    \n
    \n response_redirect_class\u00b6
    \n

    Defaults to HttpResponseRedirect. Subclass\n LocaleMiddleware and override the attribute to customize the\n redirects issued by the middleware.

    \n
    \n@@ -235,33 +236,33 @@\n

    Enables language selection based on data from the request. It customizes\n content for each user. See the internationalization documentation.

    \n
    \n
    \n

    Message middleware\u00b6

    \n
    \n
    \n-class MessageMiddleware[source]\u00b6
    \n+class MessageMiddleware[sorgente]\u00b6\n
    \n \n

    Enables cookie- and session-based message support. See the\n messages documentation.

    \n
    \n
    \n

    Security middleware\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If your deployment situation allows, it\u2019s usually a good idea to have your\n front-end web server perform the functionality provided by the\n SecurityMiddleware. That way, if there are requests that aren\u2019t served\n by Django (such as static media or user-uploaded files), they will have\n the same protections as requests to your Django application.

    \n
    \n
    \n
    \n-class SecurityMiddleware[source]\u00b6
    \n+class SecurityMiddleware[sorgente]\u00b6\n
    \n \n

    The django.middleware.security.SecurityMiddleware provides several security\n enhancements to the request/response cycle. Each one can be independently\n enabled or disabled with a setting.

    \n \n
    \n

    HTTP Strict Transport Security\u00b6

    \n

    For sites that should only be accessed over HTTPS, you can instruct modern\n browsers to refuse to connect to your domain name via an insecure connection\n-(for a given period of time) by setting the \u201cStrict-Transport-Security\u201d\n+(for a given period of time) by setting the \u00abStrict-Transport-Security\u00bb\n header. This reduces your exposure to some SSL-stripping man-in-the-middle\n (MITM) attacks.

    \n

    SecurityMiddleware will set this header for you on all HTTPS responses if\n you set the SECURE_HSTS_SECONDS setting to a non-zero integer value.

    \n

    When enabling HSTS, it\u2019s a good idea to first use a small value for testing,\n for example, SECURE_HSTS_SECONDS = 3600 for one\n hour. Each time a web browser sees the HSTS header from your site, it will\n@@ -296,25 +297,25 @@\n to the Strict-Transport-Security header. This is recommended (assuming all\n subdomains are served exclusively using HTTPS), otherwise your site may still\n be vulnerable via an insecure connection to a subdomain.

    \n

    If you wish to submit your site to the browser preload list, set the\n SECURE_HSTS_PRELOAD setting to True. That appends the\n preload directive to the Strict-Transport-Security header.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    The HSTS policy applies to your entire domain, not just the URL of the\n response that you set the header on. Therefore, you should only use it if\n your entire domain is served via HTTPS only.

    \n

    Browsers properly respecting the HSTS header will refuse to allow users to\n bypass warnings and connect to a site with an expired, self-signed, or\n otherwise invalid SSL certificate. If you use HSTS, make sure your\n certificates are in good shape and stay that way!

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you are deployed behind a load-balancer or reverse-proxy server, and the\n Strict-Transport-Security header is not being added to your responses,\n it may be because Django doesn\u2019t realize that it\u2019s on a secure connection;\n you may need to set the SECURE_PROXY_SSL_HEADER setting.

    \n
    \n
    \n
    \n@@ -328,15 +329,15 @@\n the HTTP Referer header when a user clicks a link; this hint is provided\n via the Referrer-Policy header. This header can suggest any of three\n behaviors to browsers:

    \n
      \n
    • Full URL: send the entire URL in the Referer header. For example, if the\n user is visiting https://example.com/page.html, the Referer header\n would contain "https://example.com/page.html".

    • \n-
    • Origin only: send only the \u201corigin\u201d in the referrer. The origin consists of\n+

    • Origin only: send only the \u00aborigin\u00bb in the referrer. The origin consists of\n the scheme, host and (optionally) port number. For example, if the user is\n visiting https://example.com/page.html, the origin would be\n https://example.com/.

    • \n
    • No referrer: do not send a Referer header at all.

    • \n
    \n

    There are two types of conditions this header can tell a browser to watch out\n for:

    \n@@ -345,15 +346,15 @@\n to https://example.com/2.html is same-origin. A link from\n https://example.com/page.html to https://not.example.com/page.html is\n cross-origin.

    \n
  • Protocol downgrade: a downgrade occurs if the page containing the link is\n served via HTTPS, but the page being linked to is not served via HTTPS.

  • \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    When your site is served via HTTPS, Django\u2019s CSRF protection system requires the Referer header to be present, so\n completely disabling the Referer header will interfere with CSRF\n protection. To gain most of the benefits of disabling Referer headers\n while also keeping CSRF protection, consider enabling only same-origin\n referrers.

    \n
    \n

    SecurityMiddleware can set the Referrer-Policy header for you, based on\n@@ -450,84 +451,84 @@\n

    If your site offers both HTTP and HTTPS connections, most users will end up\n with an unsecured connection by default. For best security, you should redirect\n all HTTP connections to HTTPS.

    \n

    If you set the SECURE_SSL_REDIRECT setting to True,\n SecurityMiddleware will permanently (HTTP 301) redirect all HTTP\n connections to HTTPS.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    For performance reasons, it\u2019s preferable to do these redirects outside of\n Django, in a front-end load balancer or reverse-proxy server such as\n nginx. SECURE_SSL_REDIRECT is intended for the deployment\n situations where this isn\u2019t an option.

    \n
    \n

    If the SECURE_SSL_HOST setting has a value, all redirects will be\n sent to that host instead of the originally-requested host.

    \n

    If there are a few pages on your site that should be available over HTTP, and\n not redirected to HTTPS, you can list regular expressions to match those URLs\n in the SECURE_REDIRECT_EXEMPT setting.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you are deployed behind a load-balancer or reverse-proxy server and\n Django can\u2019t seem to tell when a request actually is already secure, you\n may need to set the SECURE_PROXY_SSL_HEADER setting.

    \n
    \n
    \n
    \n
    \n

    Session middleware\u00b6

    \n
    \n
    \n-class SessionMiddleware[source]\u00b6
    \n+class SessionMiddleware[sorgente]\u00b6\n
    \n \n

    Enables session support. See the session documentation.

    \n
    \n
    \n

    Site middleware\u00b6

    \n
    \n
    \n-class CurrentSiteMiddleware[source]\u00b6
    \n+class CurrentSiteMiddleware[sorgente]\u00b6\n
    \n \n

    Adds the site attribute representing the current site to every incoming\n HttpRequest object. See the sites documentation.

    \n
    \n
    \n

    Authentication middleware\u00b6

    \n
    \n
    \n-class AuthenticationMiddleware[source]\u00b6
    \n+class AuthenticationMiddleware[sorgente]\u00b6\n
    \n \n

    Adds the user attribute, representing the currently-logged-in user, to\n every incoming HttpRequest object. See Authentication in web requests.

    \n
    \n
    \n-class LoginRequiredMiddleware[source]\u00b6
    \n+class LoginRequiredMiddleware[sorgente]\u00b6\n

    Subclass the middleware and override the following attributes and methods\n to customize behavior for unauthenticated requests.

    \n
    \n
    \n redirect_field_name\u00b6
    \n

    Defaults to "next".

    \n
    \n \n
    \n
    \n-get_login_url()[source]\u00b6
    \n+get_login_url()[sorgente]\u00b6\n

    Returns the URL that unauthenticated requests will be redirected to. This\n result is either the login_url set on the\n login_required() decorator (if not\n None), or settings.LOGIN_URL.

    \n
    \n \n
    \n
    \n-get_redirect_field_name()[source]\u00b6
    \n+get_redirect_field_name()[sorgente]\u00b6\n

    Returns the name of the query parameter that contains the URL the user\n should be redirected to after a successful login. This result is either\n the redirect_field_name set on the\n login_required() decorator (if not\n None), or redirect_field_name. If None is returned, a query\n parameter won\u2019t be added.

    \n
    \n@@ -582,44 +583,44 @@\n \n
    \n
    \n-class RemoteUserMiddleware[source]\u00b6
    \n+class RemoteUserMiddleware[sorgente]\u00b6\n
    \n \n

    Middleware for utilizing web server provided authentication. See\n How to authenticate using REMOTE_USER for usage details.

    \n
    \n
    \n-class PersistentRemoteUserMiddleware[source]\u00b6
    \n+class PersistentRemoteUserMiddleware[sorgente]\u00b6\n
    \n \n

    Middleware for utilizing web server provided authentication when enabled only\n on the login page. See Using REMOTE_USER on login pages only for usage\n details.

    \n
    \n
    \n

    CSRF protection middleware\u00b6

    \n
    \n
    \n-class CsrfViewMiddleware[source]\u00b6
    \n+class CsrfViewMiddleware[sorgente]\u00b6\n
    \n \n

    Adds protection against Cross Site Request Forgeries by adding hidden form\n fields to POST forms and checking requests for the correct value. See the\n Cross Site Request Forgery protection documentation.

    \n
    \n
    \n

    X-Frame-Options middleware\u00b6

    \n
    \n
    \n-class XFrameOptionsMiddleware[source]\u00b6
    \n+class XFrameOptionsMiddleware[sorgente]\u00b6\n
    \n \n

    Simple clickjacking protection via the X-Frame-Options header.

    \n
    \n \n
    \n

    Middleware ordering\u00b6

    \n@@ -707,15 +708,15 @@\n
    \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Logging

    \n+ title=\"capitolo precedente\">Logging

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Migration Operations

    \n+ title=\"capitolo successivo\">Migration Operations

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains all middleware components that come with Django. For\n information on how to use them and how to write your own middleware, see the\n _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bu_\bs_\ba_\bg_\be_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* A\bAv\bva\bai\bil\bla\bab\bbl\ble\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCa\bac\bch\bhe\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs UpdateCacheMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs FetchFromCacheMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs UpdateCacheMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FetchFromCacheMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Enable the site-wide cache. If these are enabled, each Django-powered page will\n be cached for as long as the _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS setting defines. See the\n _\bc_\ba_\bc_\bh_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n-*\b**\b**\b**\b* ?\b\u201cC\bCo\bom\bmm\bmo\bon\bn?\b\u201d m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CommonMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+*\b**\b**\b**\b* ?\b\u00abC\bCo\bom\bmm\bmo\bon\bn?\b\u00bb m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n+ c\bcl\bla\bas\bss\bs CommonMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n response_redirect_class_\b\u00b6\n Defaults to _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bP_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt. Subclass\n CommonMiddleware and override the attribute to customize the\n redirects issued by the middleware.\n Adds a few conveniences for perfectionists:\n * Forbids access to user agents in the _\bD_\bI_\bS_\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bU_\bS_\bE_\bR_\b__\bA_\bG_\bE_\bN_\bT_\bS setting,\n which should be a list of compiled regular expression objects.\n@@ -27,40 +27,40 @@\n it is not found in the URLconf, then a new URL is formed by appending a\n slash at the end. If this new URL is found in the URLconf, then Django\n redirects the request to this new URL. Otherwise, the initial URL is\n processed as usual.\n For example, foo.com/bar will be redirected to foo.com/bar/ if you don\u2019t\n have a valid URL pattern for foo.com/bar but d\bdo\bo have a valid pattern for\n foo.com/bar/.\n- If _\bP_\bR_\bE_\bP_\bE_\bN_\bD_\b__\bW_\bW_\bW is True, URLs that lack a leading \u201cwww.\u201d will be\n- redirected to the same URL with a leading \u201cwww.\u201d\n+ If _\bP_\bR_\bE_\bP_\bE_\bN_\bD_\b__\bW_\bW_\bW is True, URLs that lack a leading \u00abwww.\u00bb will be\n+ redirected to the same URL with a leading \u00abwww.\u00bb\n Both of these options are meant to normalize URLs. The philosophy is that\n each URL should exist in one, and only one, place. Technically a URL\n foo.com/bar is distinct from foo.com/bar/ \u2013 a search-engine indexer would\n treat them as separate URLs \u2013 so it\u2019s best practice to normalize URLs.\n If necessary, individual views may be excluded from the APPEND_SLASH\n behavior using the _\bn_\bo_\b__\ba_\bp_\bp_\be_\bn_\bd_\b__\bs_\bl_\ba_\bs_\bh_\b(_\b) decorator:\n from django.views.decorators.common import no_append_slash\n \n \n @no_append_slash\n def sensitive_fbv(request, *args, **kwargs):\n \"\"\"View to be excluded from APPEND_SLASH.\"\"\"\n return HttpResponse()\n * Sets the Content-Length header for non-streaming responses.\n- c\bcl\bla\bas\bss\bs BrokenLinkEmailsMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BrokenLinkEmailsMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n * Sends broken link notification emails to _\bM_\bA_\bN_\bA_\bG_\bE_\bR_\bS (see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bm_\ba_\bn_\ba_\bg_\be\n _\be_\br_\br_\bo_\br_\b _\br_\be_\bp_\bo_\br_\bt_\bi_\bn_\bg).\n *\b**\b**\b**\b* G\bGZ\bZi\bip\bp m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs GZipMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs GZipMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n max_random_bytes_\b\u00b6\n Defaults to 100. Subclass GZipMiddleware and override the attribute\n to change the maximum number of random bytes that is included with\n compressed responses.\n-Note\n+Nota\n Security researchers revealed that when compression techniques (including\n GZipMiddleware) are used on a website, the site may become exposed to a number\n of possible attacks.\n To mitigate attacks, Django implements a technique called H\bHe\bea\bal\bl T\bTh\bhe\be B\bBr\bre\bea\bac\bch\bh\n (\b(H\bHT\bTB\bB)\b). It adds up to 100 bytes (see _\bm_\ba_\bx_\b__\br_\ba_\bn_\bd_\bo_\bm_\b__\bb_\by_\bt_\be_\bs) of random bytes to each\n response to make the attacks less effective.\n For more details, see the _\bB_\bR_\bE_\bA_\bC_\bH_\b _\bp_\ba_\bp_\be_\br_\b _\b(_\bP_\bD_\bF_\b), _\bb_\br_\be_\ba_\bc_\bh_\ba_\bt_\bt_\ba_\bc_\bk_\b._\bc_\bo_\bm, and the _\bH_\be_\ba_\bl\n@@ -75,39 +75,39 @@\n * The request (the browser) hasn\u2019t sent an Accept-Encoding header\n containing gzip.\n If the response has an ETag header, the ETag is made weak to comply with _\bR\bR_\bF\bF_\bC\bC\n _\b9\b9_\b1\b1_\b1\b1_\b0\b0_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b8\b8_\b.\b._\b8\b8_\b.\b._\b1\b1.\n You can apply GZip compression to individual views using the _\bg_\bz_\bi_\bp_\b__\bp_\ba_\bg_\be_\b(_\b)\n decorator.\n *\b**\b**\b**\b* C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl G\bGE\bET\bT m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ConditionalGetMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ConditionalGetMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Handles conditional GET operations. If the response doesn\u2019t have an ETag\n header, the middleware adds one if needed. If the response has an ETag or Last-\n Modified header, and the request has If-None-Match or If-Modified-Since, the\n response is replaced by an _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bN_\bo_\bt_\bM_\bo_\bd_\bi_\bf_\bi_\be_\bd.\n *\b**\b**\b**\b* L\bLo\boc\bca\bal\ble\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LocaleMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LocaleMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n response_redirect_class_\b\u00b6\n Defaults to _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\bR_\be_\bd_\bi_\br_\be_\bc_\bt. Subclass LocaleMiddleware and\n override the attribute to customize the redirects issued by the\n middleware.\n Enables language selection based on data from the request. It customizes\n content for each user. See the _\bi_\bn_\bt_\be_\br_\bn_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* M\bMe\bes\bss\bsa\bag\bge\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MessageMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MessageMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Enables cookie- and session-based message support. See the _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* S\bSe\bec\bcu\bur\bri\bit\bty\by m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n-Warning\n+Avvertimento\n If your deployment situation allows, it\u2019s usually a good idea to have your\n front-end web server perform the functionality provided by the\n SecurityMiddleware. That way, if there are requests that aren\u2019t served by\n Django (such as static media or user-uploaded files), they will have the same\n protections as requests to your Django application.\n- c\bcl\bla\bas\bss\bs SecurityMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SecurityMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The django.middleware.security.SecurityMiddleware provides several security\n enhancements to the request/response cycle. Each one can be independently\n enabled or disabled with a setting.\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bC_\bO_\bN_\bT_\bE_\bN_\bT_\b__\bT_\bY_\bP_\bE_\b__\bN_\bO_\bS_\bN_\bI_\bF_\bF\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bC_\bR_\bO_\bS_\bS_\b__\bO_\bR_\bI_\bG_\bI_\bN_\b__\bO_\bP_\bE_\bN_\bE_\bR_\b__\bP_\bO_\bL_\bI_\bC_\bY\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bI_\bN_\bC_\bL_\bU_\bD_\bE_\b__\bS_\bU_\bB_\bD_\bO_\bM_\bA_\bI_\bN_\bS\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bP_\bR_\bE_\bL_\bO_\bA_\bD\n@@ -115,15 +115,15 @@\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT_\b__\bE_\bX_\bE_\bM_\bP_\bT\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bR_\bE_\bF_\bE_\bR_\bR_\bE_\bR_\b__\bP_\bO_\bL_\bI_\bC_\bY\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bH_\bO_\bS_\bT\n * _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT\n *\b**\b**\b* H\bHT\bTT\bTP\bP S\bSt\btr\bri\bic\bct\bt T\bTr\bra\ban\bns\bsp\bpo\bor\brt\bt S\bSe\bec\bcu\bur\bri\bit\bty\by_\b?\b\u00b6 *\b**\b**\b*\n For sites that should only be accessed over HTTPS, you can instruct modern\n browsers to refuse to connect to your domain name via an insecure connection\n-(for a given period of time) by setting the _\b\u201c_\bS_\bt_\br_\bi_\bc_\bt_\b-_\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b-_\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\b\u201d_\b _\bh_\be_\ba_\bd_\be_\br.\n+(for a given period of time) by setting the _\b\u00ab_\bS_\bt_\br_\bi_\bc_\bt_\b-_\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b-_\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\b\u00bb_\b _\bh_\be_\ba_\bd_\be_\br.\n This reduces your exposure to some SSL-stripping man-in-the-middle (MITM)\n attacks.\n SecurityMiddleware will set this header for you on all HTTPS responses if you\n set the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS setting to a non-zero integer value.\n When enabling HSTS, it\u2019s a good idea to first use a small value for testing,\n for example, _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS_\b _\b=_\b _\b3_\b6_\b0_\b0 for one hour. Each time a web browser\n sees the HSTS header from your site, it will refuse to communicate non-securely\n@@ -135,23 +135,23 @@\n SecurityMiddleware will add the includeSubDomains directive to the Strict-\n Transport-Security header. This is recommended (assuming all subdomains are\n served exclusively using HTTPS), otherwise your site may still be vulnerable\n via an insecure connection to a subdomain.\n If you wish to submit your site to the _\bb_\br_\bo_\bw_\bs_\be_\br_\b _\bp_\br_\be_\bl_\bo_\ba_\bd_\b _\bl_\bi_\bs_\bt, set the\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bP_\bR_\bE_\bL_\bO_\bA_\bD setting to True. That appends the preload directive to the\n Strict-Transport-Security header.\n-Warning\n+Avvertimento\n The HSTS policy applies to your entire domain, not just the URL of the response\n that you set the header on. Therefore, you should only use it if your entire\n domain is served via HTTPS only.\n Browsers properly respecting the HSTS header will refuse to allow users to\n bypass warnings and connect to a site with an expired, self-signed, or\n otherwise invalid SSL certificate. If you use HSTS, make sure your certificates\n are in good shape and stay that way!\n-Note\n+Nota\n If you are deployed behind a load-balancer or reverse-proxy server, and the\n Strict-Transport-Security header is not being added to your responses, it may\n be because Django doesn\u2019t realize that it\u2019s on a secure connection; you may\n need to set the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bP_\bR_\bO_\bX_\bY_\b__\bS_\bS_\bL_\b__\bH_\bE_\bA_\bD_\bE_\bR setting.\n *\b**\b**\b* R\bRe\bef\bfe\ber\brr\bre\ber\br P\bPo\bol\bli\bic\bcy\by_\b?\b\u00b6 *\b**\b**\b*\n Browsers use _\bt_\bh_\be_\b _\bR_\be_\bf_\be_\br_\be_\br_\b _\bh_\be_\ba_\bd_\be_\br as a way to send information to a site about\n how users got there. When a user clicks a link, the browser will send the full\n@@ -161,28 +161,28 @@\n Some browsers have the ability to accept hints about whether they should send\n the HTTP Referer header when a user clicks a link; this hint is provided via\n _\bt_\bh_\be_\b _\bR_\be_\bf_\be_\br_\br_\be_\br_\b-_\bP_\bo_\bl_\bi_\bc_\by_\b _\bh_\be_\ba_\bd_\be_\br. This header can suggest any of three behaviors to\n browsers:\n * Full URL: send the entire URL in the Referer header. For example, if the\n user is visiting https://example.com/page.html, the Referer header would\n contain \"https://example.com/page.html\".\n- * Origin only: send only the \u201corigin\u201d in the referrer. The origin consists\n+ * Origin only: send only the \u00aborigin\u00bb in the referrer. The origin consists\n of the scheme, host and (optionally) port number. For example, if the\n user is visiting https://example.com/page.html, the origin would be\n https://example.com/.\n * No referrer: do not send a Referer header at all.\n There are two types of conditions this header can tell a browser to watch out\n for:\n * Same-origin versus cross-origin: a link from https://example.com/1.html\n to https://example.com/2.html is same-origin. A link from https://\n example.com/page.html to https://not.example.com/page.html is cross-\n origin.\n * Protocol downgrade: a downgrade occurs if the page containing the link is\n served via HTTPS, but the page being linked to is not served via HTTPS.\n-Warning\n+Avvertimento\n When your site is served via HTTPS, _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bs_\by_\bs_\bt_\be_\bm requires\n the Referer header to be present, so completely disabling the Referer header\n will interfere with CSRF protection. To gain most of the benefits of disabling\n Referer headers while also keeping CSRF protection, consider enabling only\n same-origin referrers.\n SecurityMiddleware can set the Referrer-Policy header for you, based on the\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bR_\bE_\bF_\bE_\bR_\bR_\bE_\bR_\b__\bP_\bO_\bL_\bI_\bC_\bY setting (note spelling: browsers send a Referer header\n@@ -260,49 +260,49 @@\n useful.\n *\b**\b**\b* S\bSS\bSL\bL R\bRe\bed\bdi\bir\bre\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b*\n If your site offers both HTTP and HTTPS connections, most users will end up\n with an unsecured connection by default. For best security, you should redirect\n all HTTP connections to HTTPS.\n If you set the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT setting to True, SecurityMiddleware will\n permanently (HTTP 301) redirect all HTTP connections to HTTPS.\n-Note\n+Nota\n For performance reasons, it\u2019s preferable to do these redirects outside of\n Django, in a front-end load balancer or reverse-proxy server such as _\bn_\bg_\bi_\bn_\bx.\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT is intended for the deployment situations where this isn\u2019t\n an option.\n If the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bH_\bO_\bS_\bT setting has a value, all redirects will be sent to that\n host instead of the originally-requested host.\n If there are a few pages on your site that should be available over HTTP, and\n not redirected to HTTPS, you can list regular expressions to match those URLs\n in the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT_\b__\bE_\bX_\bE_\bM_\bP_\bT setting.\n-Note\n+Nota\n If you are deployed behind a load-balancer or reverse-proxy server and Django\n can\u2019t seem to tell when a request actually is already secure, you may need to\n set the _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bP_\bR_\bO_\bX_\bY_\b__\bS_\bS_\bL_\b__\bH_\bE_\bA_\bD_\bE_\bR setting.\n *\b**\b**\b**\b* S\bSe\bes\bss\bsi\bio\bon\bn m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SessionMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SessionMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Enables session support. See the _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* S\bSi\bit\bte\be m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CurrentSiteMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CurrentSiteMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds the site attribute representing the current site to every incoming\n HttpRequest object. See the _\bs_\bi_\bt_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* A\bAu\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bti\bio\bon\bn m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AuthenticationMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AuthenticationMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds the user attribute, representing the currently-logged-in user, to every\n incoming HttpRequest object. See _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bw_\be_\bb_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs.\n- c\bcl\bla\bas\bss\bs LoginRequiredMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LoginRequiredMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Subclass the middleware and override the following attributes and methods\n to customize behavior for unauthenticated requests.\n redirect_field_name_\b\u00b6\n Defaults to \"next\".\n- get_login_url()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_login_url()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the URL that unauthenticated requests will be redirected\n to. This result is either the login_url set on the _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)\n decorator (if not None), or _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b._\bL_\bO_\bG_\bI_\bN_\b__\bU_\bR_\bL.\n- get_redirect_field_name()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_redirect_field_name()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the name of the query parameter that contains the URL the\n user should be redirected to after a successful login. This result\n is either the redirect_field_name set on the _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b)\n decorator (if not None), or _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bf_\bi_\be_\bl_\bd_\b__\bn_\ba_\bm_\be. If None is\n returned, a query parameter won\u2019t be added.\n New in Django 5.1.\n Redirects all unauthenticated requests to a login page, except for views\n@@ -341,27 +341,27 @@\n name=\"dispatch\",\n )\n class BookMetrics(View):\n pass\n Ensure that your login view does not require a login.\n To prevent infinite redirects, ensure you have _\be_\bn_\ba_\bb_\bl_\be_\bd_\b _\bu_\bn_\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs\n to your login view.\n- c\bcl\bla\bas\bss\bs RemoteUserMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RemoteUserMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Middleware for utilizing web server provided authentication. See _\bH_\bo_\bw_\b _\bt_\bo\n _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\b _\bu_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR for usage details.\n- c\bcl\bla\bas\bss\bs PersistentRemoteUserMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PersistentRemoteUserMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Middleware for utilizing web server provided authentication when enabled only\n on the login page. See _\bU_\bs_\bi_\bn_\bg_\b _\bR_\bE_\bM_\bO_\bT_\bE_\b__\bU_\bS_\bE_\bR_\b _\bo_\bn_\b _\bl_\bo_\bg_\bi_\bn_\b _\bp_\ba_\bg_\be_\bs_\b _\bo_\bn_\bl_\by for usage details.\n *\b**\b**\b**\b* C\bCS\bSR\bRF\bF p\bpr\bro\bot\bte\bec\bct\bti\bio\bon\bn m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CsrfViewMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CsrfViewMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds protection against Cross Site Request Forgeries by adding hidden form\n fields to POST forms and checking requests for the correct value. See the _\bC_\br_\bo_\bs_\bs\n _\bS_\bi_\bt_\be_\b _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bF_\bo_\br_\bg_\be_\br_\by_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* X\bX-\b-F\bFr\bra\bam\bme\be-\b-O\bOp\bpt\bti\bio\bon\bns\bs m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs XFrameOptionsMiddleware_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs XFrameOptionsMiddleware_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Simple _\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bv_\bi_\ba_\b _\bt_\bh_\be_\b _\bX_\b-_\bF_\br_\ba_\bm_\be_\b-_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bh_\be_\ba_\bd_\be_\br.\n *\b**\b**\b**\b**\b* M\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be o\bor\brd\bde\ber\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Here are some hints about the ordering of various Django middleware classes:\n 1. _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n It should go near the top of the list if you\u2019re going to turn on the SSL\n redirect as that avoids running through a bunch of other unnecessary\n middleware.\n@@ -411,15 +411,15 @@\n Should be near the bottom as it\u2019s a last-resort type of middleware.\n 14. _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n Should be near the bottom as it\u2019s a last-resort type of middleware.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n o _\bA_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bC_\ba_\bc_\bh_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n- # _\b\u201c_\bC_\bo_\bm_\bm_\bo_\bn_\b\u201d_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n+ # _\b\u00ab_\bC_\bo_\bm_\bm_\bo_\bn_\b\u00bb_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bG_\bZ_\bi_\bp_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bG_\bE_\bT_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bL_\bo_\bc_\ba_\bl_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bM_\be_\bs_\bs_\ba_\bg_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt_\b _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by\n # _\bR_\be_\bf_\be_\br_\br_\be_\br_\b _\bP_\bo_\bl_\bi_\bc_\by\n@@ -428,16 +428,16 @@\n # _\bS_\bS_\bL_\b _\bR_\be_\bd_\bi_\br_\be_\bc_\bt\n # _\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bS_\bi_\bt_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bX_\b-_\bF_\br_\ba_\bm_\be_\b-_\bO_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n o _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bo_\br_\bd_\be_\br_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bL_\bo_\bg_\bg_\bi_\bn_\bg\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/migration-operations.html", "source2": "./usr/share/doc/python-django-doc/html/ref/migration-operations.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Migration Operations — Django 5.1.4 documentation\n+ Migration Operations — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -101,15 +102,15 @@\n

    For introductory material, see the migrations topic guide.

    \n
    \n

    Schema Operations\u00b6

    \n
    \n

    CreateModel\u00b6

    \n
    \n
    \n-class CreateModel(name, fields, options=None, bases=None, managers=None)[source]\u00b6
    \n+class CreateModel(name, fields, options=None, bases=None, managers=None)[sorgente]\u00b6\n
    \n \n

    Creates a new model in the project history and a corresponding table in the\n database to match it.

    \n

    name is the model name, as would be written in the models.py file.

    \n

    fields is a list of 2-tuples of (field_name, field_instance).\n The field instance should be an unbound field (so just\n@@ -124,136 +125,136 @@\n The first manager in the list will be the default manager for this model during\n migrations.

    \n
    \n
    \n

    DeleteModel\u00b6

    \n
    \n
    \n-class DeleteModel(name)[source]\u00b6
    \n+class DeleteModel(name)[sorgente]\u00b6\n
    \n \n

    Deletes the model from the project history and its table from the database.

    \n
    \n
    \n

    RenameModel\u00b6

    \n
    \n
    \n-class RenameModel(old_name, new_name)[source]\u00b6
    \n+class RenameModel(old_name, new_name)[sorgente]\u00b6\n
    \n \n

    Renames the model from an old name to a new one.

    \n

    You may have to manually add\n this if you change the model\u2019s name and quite a few of its fields at once; to\n the autodetector, this will look like you deleted a model with the old name\n and added a new one with a different name, and the migration it creates will\n lose any data in the old table.

    \n
    \n
    \n

    AlterModelTable\u00b6

    \n
    \n
    \n-class AlterModelTable(name, table)[source]\u00b6
    \n+class AlterModelTable(name, table)[sorgente]\u00b6\n
    \n \n

    Changes the model\u2019s table name (the db_table\n option on the Meta subclass).

    \n
    \n
    \n

    AlterModelTableComment\u00b6

    \n
    \n
    \n-class AlterModelTableComment(name, table_comment)[source]\u00b6
    \n+class AlterModelTableComment(name, table_comment)[sorgente]\u00b6\n
    \n \n

    Changes the model\u2019s table comment (the\n db_table_comment option on the Meta\n subclass).

    \n
    \n
    \n

    AlterUniqueTogether\u00b6

    \n
    \n
    \n-class AlterUniqueTogether(name, unique_together)[source]\u00b6
    \n+class AlterUniqueTogether(name, unique_together)[sorgente]\u00b6\n
    \n \n

    Changes the model\u2019s set of unique constraints (the\n unique_together option on the Meta\n subclass).

    \n
    \n
    \n

    AlterIndexTogether\u00b6

    \n
    \n
    \n-class AlterIndexTogether(name, index_together)[source]\u00b6
    \n+class AlterIndexTogether(name, index_together)[sorgente]\u00b6\n
    \n \n

    Changes the model\u2019s set of custom indexes (the index_together option on the\n Meta subclass).

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    AlterIndexTogether is officially supported only for pre-Django 4.2\n migration files. For backward compatibility reasons, it\u2019s still part of the\n public API, and there\u2019s no plan to deprecate or remove it, but it should\n not be used for new migrations. Use\n AddIndex and\n RemoveIndex operations instead.

    \n
    \n
    \n
    \n

    AlterOrderWithRespectTo\u00b6

    \n
    \n
    \n-class AlterOrderWithRespectTo(name, order_with_respect_to)[source]\u00b6
    \n+class AlterOrderWithRespectTo(name, order_with_respect_to)[sorgente]\u00b6\n
    \n \n

    Makes or deletes the _order column needed for the\n order_with_respect_to option on the Meta\n subclass.

    \n
    \n
    \n

    AlterModelOptions\u00b6

    \n
    \n
    \n-class AlterModelOptions(name, options)[source]\u00b6
    \n+class AlterModelOptions(name, options)[sorgente]\u00b6\n
    \n \n

    Stores changes to miscellaneous model options (settings on a model\u2019s Meta)\n like permissions and verbose_name. Does not affect the database, but\n persists these changes for RunPython instances to use. options\n should be a dictionary mapping option names to values.

    \n
    \n
    \n

    AlterModelManagers\u00b6

    \n
    \n
    \n-class AlterModelManagers(name, managers)[source]\u00b6
    \n+class AlterModelManagers(name, managers)[sorgente]\u00b6\n
    \n \n

    Alters the managers that are available during migrations.

    \n
    \n
    \n

    AddField\u00b6

    \n
    \n
    \n-class AddField(model_name, name, field, preserve_default=True)[source]\u00b6
    \n+class AddField(model_name, name, field, preserve_default=True)[sorgente]\u00b6\n
    \n \n

    Adds a field to a model. model_name is the model\u2019s name, name is\n the field\u2019s name, and field is an unbound Field instance (the thing\n you would put in the field declaration in models.py - for example,\n models.IntegerField(null=True).

    \n

    The preserve_default argument indicates whether the field\u2019s default\n value is permanent and should be baked into the project state (True),\n or if it is temporary and just for this migration (False) - usually\n because the migration is adding a non-nullable field to a table and needs\n a default value to put into existing rows. It does not affect the behavior\n of setting defaults in the database directly - Django never sets database\n defaults and always applies them in the Django ORM code.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    On older databases, adding a field with a default value may cause a full\n rewrite of the table. This happens even for nullable fields and may have a\n negative performance impact. To avoid that, the following steps should be\n taken.

    \n
      \n
    • Add the nullable field without the default value and run the\n makemigrations command. This should generate a migration with\n@@ -264,15 +265,15 @@\n

    \n
    \n
    \n
    \n

    RemoveField\u00b6

    \n
    \n
    \n-class RemoveField(model_name, name)[source]\u00b6
    \n+class RemoveField(model_name, name)[sorgente]\u00b6\n
    \n \n

    Removes a field from a model.

    \n

    Bear in mind that when reversed, this is actually adding a field to a model.\n The operation is reversible (apart from any data loss, which is irreversible)\n if the field is nullable or if it has a default value that can be used to\n populate the recreated column. If the field is not nullable and does not have a\n@@ -285,15 +286,15 @@\n ensure dependent objects outside the table are also dropped.

    \n
    \n \n
    \n

    AlterField\u00b6

    \n
    \n
    \n-class AlterField(model_name, name, field, preserve_default=True)[source]\u00b6
    \n+class AlterField(model_name, name, field, preserve_default=True)[sorgente]\u00b6\n
    \n \n

    Alters a field\u2019s definition, including changes to its type,\n null, unique,\n db_column and other field attributes.

    \n

    The preserve_default argument indicates whether the field\u2019s default\n value is permanent and should be baked into the project state (True),\n@@ -306,90 +307,90 @@\n cannot change a text-type field like models.TextField() into a number-type\n field like models.IntegerField() on most databases.

    \n
    \n
    \n

    RenameField\u00b6

    \n
    \n
    \n-class RenameField(model_name, old_name, new_name)[source]\u00b6
    \n+class RenameField(model_name, old_name, new_name)[sorgente]\u00b6\n
    \n \n

    Changes a field\u2019s name (and, unless db_column\n is set, its column name).

    \n
    \n
    \n

    AddIndex\u00b6

    \n
    \n
    \n-class AddIndex(model_name, index)[source]\u00b6
    \n+class AddIndex(model_name, index)[sorgente]\u00b6\n
    \n \n

    Creates an index in the database table for the model with model_name.\n index is an instance of the Index class.

    \n
    \n
    \n

    RemoveIndex\u00b6

    \n
    \n
    \n-class RemoveIndex(model_name, name)[source]\u00b6
    \n+class RemoveIndex(model_name, name)[sorgente]\u00b6\n
    \n \n

    Removes the index named name from the model with model_name.

    \n
    \n
    \n

    RenameIndex\u00b6

    \n
    \n
    \n-class RenameIndex(model_name, new_name, old_name=None, old_fields=None)[source]\u00b6
    \n+class RenameIndex(model_name, new_name, old_name=None, old_fields=None)[sorgente]\u00b6\n
    \n \n

    Renames an index in the database table for the model with model_name.\n Exactly one of old_name and old_fields can be provided. old_fields\n is an iterable of the strings, often corresponding to fields of\n index_together (pre-Django 5.1 option).

    \n

    On databases that don\u2019t support an index renaming statement (SQLite and MariaDB\n < 10.5.2), the operation will drop and recreate the index, which can be\n expensive.

    \n
    \n
    \n

    AddConstraint\u00b6

    \n
    \n
    \n-class AddConstraint(model_name, constraint)[source]\u00b6
    \n+class AddConstraint(model_name, constraint)[sorgente]\u00b6\n
    \n \n

    Creates a constraint in the database table for\n the model with model_name.

    \n
    \n
    \n

    RemoveConstraint\u00b6

    \n
    \n
    \n-class RemoveConstraint(model_name, name)[source]\u00b6
    \n+class RemoveConstraint(model_name, name)[sorgente]\u00b6\n
    \n \n

    Removes the constraint named name from the model with model_name.

    \n
    \n \n
    \n

    Special Operations\u00b6

    \n
    \n

    RunSQL\u00b6

    \n
    \n
    \n-class RunSQL(sql, reverse_sql=None, state_operations=None, hints=None, elidable=False)[source]\u00b6
    \n+class RunSQL(sql, reverse_sql=None, state_operations=None, hints=None, elidable=False)[sorgente]\u00b6\n
    \n \n

    Allows running of arbitrary SQL on the database - useful for more advanced\n features of database backends that Django doesn\u2019t support directly.

    \n

    sql, and reverse_sql if provided, should be strings of SQL to run on\n the database. On most database backends (all but PostgreSQL), Django will\n split the SQL into individual statements prior to executing them.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    On PostgreSQL and SQLite, only use BEGIN or COMMIT in your SQL in\n non-atomic migrations, to avoid breaking\n Django\u2019s transaction state.

    \n
    \n

    You can also pass a list of strings or 2-tuples. The latter is used for passing\n queries and parameters in the same way as cursor.execute(). These three operations are equivalent:

    \n
    migrations.RunSQL("INSERT INTO musician (name) VALUES ('Reinhardt');")\n@@ -443,15 +444,15 @@\n \n \n 
    \n
    \n

    RunPython\u00b6

    \n
    \n
    \n-class RunPython(code, reverse_code=None, atomic=None, hints=None, elidable=False)[source]\u00b6
    \n+class RunPython(code, reverse_code=None, atomic=None, hints=None, elidable=False)[sorgente]\u00b6\n
    \n \n

    Runs custom Python code in a historical context. code (and reverse_code\n if supplied) should be callable objects that accept two arguments; the first is\n an instance of django.apps.registry.Apps containing historical models that\n match the operation\u2019s place in the project history, and the second is an\n instance of SchemaEditor.

    \n@@ -523,35 +524,35 @@\n ALTER TABLE "mytable" because it has pending trigger events.

    \n

    If you have a different database and aren\u2019t sure if it supports DDL\n transactions, check the django.db.connection.features.can_rollback_ddl\n attribute.

    \n

    If the RunPython operation is part of a non-atomic migration, the operation will only be executed in a transaction\n if atomic=True is passed to the RunPython operation.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    RunPython does not magically alter the connection of the models for you;\n any model methods you call will go to the default database unless you\n give them the current database alias (available from\n schema_editor.connection.alias, where schema_editor is the second\n argument to your function).

    \n
    \n
    \n
    \n-static RunPython.noop()[source]\u00b6
    \n+static RunPython.noop()[sorgente]\u00b6\n

    Pass the RunPython.noop method to code or reverse_code when\n you want the operation not to do anything in the given direction. This is\n especially useful in making the operation reversible.

    \n
    \n \n
    \n
    \n

    SeparateDatabaseAndState\u00b6

    \n
    \n
    \n-class SeparateDatabaseAndState(database_operations=None, state_operations=None)[source]\u00b6
    \n+class SeparateDatabaseAndState(database_operations=None, state_operations=None)[sorgente]\u00b6\n
    \n \n

    A highly specialized operation that lets you mix and match the database\n (schema-changing) and state (autodetector-powering) aspects of operations.

    \n

    It accepts two lists of operations. When asked to apply state, it will use the\n state_operations list (this is a generalized version of RunSQL\u2019s\n state_operations argument). When asked to apply changes to the database, it\n@@ -569,15 +570,15 @@\n

    \n
    \n

    Operation category\u00b6

    \n
    \n New in Django 5.1.
    \n
    \n
    \n-class OperationCategory[source]\u00b6
    \n+class OperationCategory[sorgente]\u00b6\n

    Categories of migration operation used by the makemigrations\n command to display meaningful symbols.

    \n
    \n
    \n ADDITION\u00b6
    \n

    Symbol: +

    \n
    \n@@ -695,15 +696,15 @@\n
  • to_state in the database_backwards method is the older state; that is,\n the one that will be the current state once the migration has finished reversing.

  • \n
  • You might see implementations of references_model on the built-in\n operations; this is part of the autodetection code and does not matter for\n custom operations.

  • \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    For performance reasons, the Field instances in\n ModelState.fields are reused across migrations. You must never change\n the attributes on these instances. If you need to mutate a field in\n state_forwards(), you must remove the old instance from\n ModelState.fields and add a new instance in its place. The same is true\n for the Manager instances in\n ModelState.managers.

    \n@@ -786,37 +787,37 @@\n
  • Writing your own
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Middleware

    \n+ title=\"capitolo precedente\">Middleware

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Models

    \n+ title=\"capitolo successivo\">Models

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMi\big\bgr\bra\bat\bti\bio\bon\bn O\bOp\bpe\ber\bra\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Migration files are composed of one or more Operations, objects that\n declaratively record what the migration should do to your database.\n Django also uses these Operation objects to work out what your models looked\n like historically, and to calculate what changes you\u2019ve made to your models\n@@ -20,15 +20,15 @@\n autodetector and make resulting runs of _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs output incorrect code.\n All of the core Django operations are available from the\n django.db.migrations.operations module.\n For introductory material, see the _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* S\bSc\bch\bhe\bem\bma\ba O\bOp\bpe\ber\bra\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCr\bre\bea\bat\bte\beM\bMo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs CreateModel(n\bna\bam\bme\be, f\bfi\bie\bel\bld\bds\bs, o\bop\bpt\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be, b\bba\bas\bse\bes\bs=\b=N\bNo\bon\bne\be, m\bma\ban\bna\bag\bge\ber\brs\bs=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a new model in the project history and a corresponding table in the\n database to match it.\n name is the model name, as would be written in the models.py file.\n fields is a list of 2-tuples of (field_name, field_instance). The field\n instance should be an unbound field (so just models.CharField(...), rather than\n a field taken from another model).\n options is an optional dictionary of values from the model\u2019s Meta class.\n@@ -37,141 +37,141 @@\n \"appname.ModelName\" if you want to depend on another model (so you inherit from\n the historical version). If it\u2019s not supplied, it defaults to inheriting from\n the standard models.Model.\n managers takes a list of 2-tuples of (manager_name, manager_instance). The\n first manager in the list will be the default manager for this model during\n migrations.\n *\b**\b**\b**\b* D\bDe\bel\ble\bet\bte\beM\bMo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DeleteModel(n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DeleteModel(n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Deletes the model from the project history and its table from the database.\n *\b**\b**\b**\b* R\bRe\ben\bna\bam\bme\beM\bMo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RenameModel(o\bol\bld\bd_\b_n\bna\bam\bme\be, n\bne\bew\bw_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RenameModel(o\bol\bld\bd_\b_n\bna\bam\bme\be, n\bne\bew\bw_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Renames the model from an old name to a new one.\n You may have to manually add this if you change the model\u2019s name and quite a\n few of its fields at once; to the autodetector, this will look like you deleted\n a model with the old name and added a new one with a different name, and the\n migration it creates will lose any data in the old table.\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brM\bMo\bod\bde\bel\blT\bTa\bab\bbl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterModelTable(n\bna\bam\bme\be, t\bta\bab\bbl\ble\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterModelTable(n\bna\bam\bme\be, t\bta\bab\bbl\ble\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes the model\u2019s table name (the _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be option on the Meta subclass).\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brM\bMo\bod\bde\bel\blT\bTa\bab\bbl\ble\beC\bCo\bom\bmm\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterModelTableComment(n\bna\bam\bme\be, t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterModelTableComment(n\bna\bam\bme\be, t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes the model\u2019s table comment (the _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt option on the Meta\n subclass).\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brU\bUn\bni\biq\bqu\bue\beT\bTo\bog\bge\bet\bth\bhe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterUniqueTogether(n\bna\bam\bme\be, u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterUniqueTogether(n\bna\bam\bme\be, u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes the model\u2019s set of unique constraints (the _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br option on\n the Meta subclass).\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brI\bIn\bnd\bde\bex\bxT\bTo\bog\bge\bet\bth\bhe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterIndexTogether(n\bna\bam\bme\be, i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterIndexTogether(n\bna\bam\bme\be, i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes the model\u2019s set of custom indexes (the index_together option on the\n Meta subclass).\n-Warning\n+Avvertimento\n AlterIndexTogether is officially supported only for pre-Django 4.2 migration\n files. For backward compatibility reasons, it\u2019s still part of the public API,\n and there\u2019s no plan to deprecate or remove it, but it should not be used for\n new migrations. Use _\bA_\bd_\bd_\bI_\bn_\bd_\be_\bx and _\bR_\be_\bm_\bo_\bv_\be_\bI_\bn_\bd_\be_\bx operations instead.\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brO\bOr\brd\bde\ber\brW\bWi\bit\bth\bhR\bRe\bes\bsp\bpe\bec\bct\btT\bTo\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterOrderWithRespectTo(n\bna\bam\bme\be, o\bor\brd\bde\ber\br_\b_w\bwi\bit\bth\bh_\b_r\bre\bes\bsp\bpe\bec\bct\bt_\b_t\bto\bo)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterOrderWithRespectTo(n\bna\bam\bme\be, o\bor\brd\bde\ber\br_\b_w\bwi\bit\bth\bh_\b_r\bre\bes\bsp\bpe\bec\bct\bt_\b_t\bto\bo)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Makes or deletes the _order column needed for the _\bo_\br_\bd_\be_\br_\b__\bw_\bi_\bt_\bh_\b__\br_\be_\bs_\bp_\be_\bc_\bt_\b__\bt_\bo option\n on the Meta subclass.\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brM\bMo\bod\bde\bel\blO\bOp\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterModelOptions(n\bna\bam\bme\be, o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterModelOptions(n\bna\bam\bme\be, o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Stores changes to miscellaneous model options (settings on a model\u2019s Meta) like\n permissions and verbose_name. Does not affect the database, but persists these\n changes for _\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn instances to use. options should be a dictionary mapping\n option names to values.\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brM\bMo\bod\bde\bel\blM\bMa\ban\bna\bag\bge\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterModelManagers(n\bna\bam\bme\be, m\bma\ban\bna\bag\bge\ber\brs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterModelManagers(n\bna\bam\bme\be, m\bma\ban\bna\bag\bge\ber\brs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Alters the managers that are available during migrations.\n *\b**\b**\b**\b* A\bAd\bdd\bdF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AddField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be, f\bfi\bie\bel\bld\bd, p\bpr\bre\bes\bse\ber\brv\bve\be_\b_d\bde\bef\bfa\bau\bul\blt\bt=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AddField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be, f\bfi\bie\bel\bld\bd, p\bpr\bre\bes\bse\ber\brv\bve\be_\b_d\bde\bef\bfa\bau\bul\blt\bt=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds a field to a model. model_name is the model\u2019s name, name is the field\u2019s\n name, and field is an unbound Field instance (the thing you would put in the\n field declaration in models.py - for example, models.IntegerField(null=True).\n The preserve_default argument indicates whether the field\u2019s default value is\n permanent and should be baked into the project state (True), or if it is\n temporary and just for this migration (False) - usually because the migration\n is adding a non-nullable field to a table and needs a default value to put into\n existing rows. It does not affect the behavior of setting defaults in the\n database directly - Django never sets database defaults and always applies them\n in the Django ORM code.\n-Warning\n+Avvertimento\n On older databases, adding a field with a default value may cause a full\n rewrite of the table. This happens even for nullable fields and may have a\n negative performance impact. To avoid that, the following steps should be\n taken.\n * Add the nullable field without the default value and run the\n _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs command. This should generate a migration with an AddField\n operation.\n * Add the default value to your field and run the _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs command.\n This should generate a migration with an AlterField operation.\n *\b**\b**\b**\b* R\bRe\bem\bmo\bov\bve\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RemoveField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RemoveField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes a field from a model.\n Bear in mind that when reversed, this is actually adding a field to a model.\n The operation is reversible (apart from any data loss, which is irreversible)\n if the field is nullable or if it has a default value that can be used to\n populate the recreated column. If the field is not nullable and does not have a\n default value, the operation is irreversible.\n PostgreSQL\n RemoveField will also delete any additional database objects that are related\n to the removed field (like views, for example). This is because the resulting\n DROP COLUMN statement will include the CASCADE clause to ensure _\bd_\be_\bp_\be_\bn_\bd_\be_\bn_\bt\n _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bo_\bu_\bt_\bs_\bi_\bd_\be_\b _\bt_\bh_\be_\b _\bt_\ba_\bb_\bl_\be_\b _\ba_\br_\be_\b _\ba_\bl_\bs_\bo_\b _\bd_\br_\bo_\bp_\bp_\be_\bd.\n *\b**\b**\b**\b* A\bAl\blt\bte\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AlterField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be, f\bfi\bie\bel\bld\bd, p\bpr\bre\bes\bse\ber\brv\bve\be_\b_d\bde\bef\bfa\bau\bul\blt\bt=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AlterField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be, f\bfi\bie\bel\bld\bd, p\bpr\bre\bes\bse\ber\brv\bve\be_\b_d\bde\bef\bfa\bau\bul\blt\bt=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Alters a field\u2019s definition, including changes to its type, _\bn_\bu_\bl_\bl, _\bu_\bn_\bi_\bq_\bu_\be,\n _\bd_\bb_\b__\bc_\bo_\bl_\bu_\bm_\bn and other field attributes.\n The preserve_default argument indicates whether the field\u2019s default value is\n permanent and should be baked into the project state (True), or if it is\n temporary and just for this migration (False) - usually because the migration\n is altering a nullable field to a non-nullable one and needs a default value to\n put into existing rows. It does not affect the behavior of setting defaults in\n the database directly - Django never sets database defaults and always applies\n them in the Django ORM code.\n Note that not all changes are possible on all databases - for example, you\n cannot change a text-type field like models.TextField() into a number-type\n field like models.IntegerField() on most databases.\n *\b**\b**\b**\b* R\bRe\ben\bna\bam\bme\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RenameField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, o\bol\bld\bd_\b_n\bna\bam\bme\be, n\bne\bew\bw_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RenameField(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, o\bol\bld\bd_\b_n\bna\bam\bme\be, n\bne\bew\bw_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes a field\u2019s name (and, unless _\bd_\bb_\b__\bc_\bo_\bl_\bu_\bm_\bn is set, its column name).\n *\b**\b**\b**\b* A\bAd\bdd\bdI\bIn\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AddIndex(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AddIndex(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates an index in the database table for the model with model_name. index is\n an instance of the _\bI_\bn_\bd_\be_\bx class.\n *\b**\b**\b**\b* R\bRe\bem\bmo\bov\bve\beI\bIn\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RemoveIndex(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RemoveIndex(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes the index named name from the model with model_name.\n *\b**\b**\b**\b* R\bRe\ben\bna\bam\bme\beI\bIn\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RenameIndex(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bne\bew\bw_\b_n\bna\bam\bme\be, o\bol\bld\bd_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, o\bol\bld\bd_\b_f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Renames an index in the database table for the model with model_name. Exactly\n one of old_name and old_fields can be provided. old_fields is an iterable of\n the strings, often corresponding to fields of index_together (pre-Django 5.1\n option).\n On databases that don\u2019t support an index renaming statement (SQLite and MariaDB\n < 10.5.2), the operation will drop and recreate the index, which can be\n expensive.\n *\b**\b**\b**\b* A\bAd\bdd\bdC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AddConstraint(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AddConstraint(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt in the database table for the model with model_name.\n *\b**\b**\b**\b* R\bRe\bem\bmo\bov\bve\beC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RemoveConstraint(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RemoveConstraint(m\bmo\bod\bde\bel\bl_\b_n\bna\bam\bme\be, n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes the constraint named name from the model with model_name.\n *\b**\b**\b**\b**\b* S\bSp\bpe\bec\bci\bia\bal\bl O\bOp\bpe\ber\bra\bat\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* R\bRu\bun\bnS\bSQ\bQL\bL_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RunSQL(s\bsq\bql\bl, r\bre\bev\bve\ber\brs\bse\be_\b_s\bsq\bql\bl=\b=N\bNo\bon\bne\be, s\bst\bta\bat\bte\be_\b_o\bop\bpe\ber\bra\bat\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be,\n- e\bel\bli\bid\bda\bab\bbl\ble\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bel\bli\bid\bda\bab\bbl\ble\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Allows running of arbitrary SQL on the database - useful for more advanced\n features of database backends that Django doesn\u2019t support directly.\n sql, and reverse_sql if provided, should be strings of SQL to run on the\n database. On most database backends (all but PostgreSQL), Django will split the\n SQL into individual statements prior to executing them.\n-Warning\n+Avvertimento\n On PostgreSQL and SQLite, only use BEGIN or COMMIT in your SQL in _\bn_\bo_\bn_\b-_\ba_\bt_\bo_\bm_\bi_\bc\n _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs, to avoid breaking Django\u2019s transaction state.\n You can also pass a list of strings or 2-tuples. The latter is used for passing\n queries and parameters in the same way as _\bc_\bu_\br_\bs_\bo_\br_\b._\be_\bx_\be_\bc_\bu_\bt_\be_\b(_\b). These three\n operations are equivalent:\n migrations.RunSQL(\"INSERT INTO musician (name) VALUES ('Reinhardt');\")\n migrations.RunSQL([(\"INSERT INTO musician (name) VALUES ('Reinhardt');\",\n@@ -211,15 +211,15 @@\n removed (elided) when _\bs_\bq_\bu_\ba_\bs_\bh_\bi_\bn_\bg_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs.\n RunSQL.noop_\b\u00b6\n Pass the RunSQL.noop attribute to sql or reverse_sql when you want the\n operation not to do anything in the given direction. This is especially\n useful in making the operation reversible.\n *\b**\b**\b**\b* R\bRu\bun\bnP\bPy\byt\bth\bho\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RunPython(c\bco\bod\bde\be, r\bre\bev\bve\ber\brs\bse\be_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, a\bat\bto\bom\bmi\bic\bc=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be,\n- e\bel\bli\bid\bda\bab\bbl\ble\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bel\bli\bid\bda\bab\bbl\ble\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Runs custom Python code in a historical context. code (and reverse_code if\n supplied) should be callable objects that accept two arguments; the first is an\n instance of django.apps.registry.Apps containing historical models that match\n the operation\u2019s place in the project history, and the second is an instance of\n _\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br.\n The reverse_code argument is called when unapplying migrations. This callable\n should undo what is done in the code callable so that the migration is\n@@ -285,26 +285,26 @@\n \"mytable\" because it has pending trigger events.\n If you have a different database and aren\u2019t sure if it supports DDL\n transactions, check the django.db.connection.features.can_rollback_ddl\n attribute.\n If the RunPython operation is part of a _\bn_\bo_\bn_\b-_\ba_\bt_\bo_\bm_\bi_\bc_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn, the operation\n will only be executed in a transaction if atomic=True is passed to the\n RunPython operation.\n-Warning\n+Avvertimento\n RunPython does not magically alter the connection of the models for you; any\n model methods you call will go to the default database unless you give them the\n current database alias (available from schema_editor.connection.alias, where\n schema_editor is the second argument to your function).\n- s\bst\bta\bat\bti\bic\bc RunPython.noop()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\bta\bat\bti\bic\bc RunPython.noop()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Pass the RunPython.noop method to code or reverse_code when you want the\n operation not to do anything in the given direction. This is especially\n useful in making the operation reversible.\n *\b**\b**\b**\b* S\bSe\bep\bpa\bar\bra\bat\bte\beD\bDa\bat\bta\bab\bba\bas\bse\beA\bAn\bnd\bdS\bSt\bta\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs SeparateDatabaseAndState(d\bda\bat\bta\bab\bba\bas\bse\be_\b_o\bop\bpe\ber\bra\bat\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be,\n- s\bst\bta\bat\bte\be_\b_o\bop\bpe\ber\bra\bat\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\bta\bat\bte\be_\b_o\bop\bpe\ber\bra\bat\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A highly specialized operation that lets you mix and match the database\n (schema-changing) and state (autodetector-powering) aspects of operations.\n It accepts two lists of operations. When asked to apply state, it will use the\n state_operations list (this is a generalized version of _\bR_\bu_\bn_\bS_\bQ_\bL\u2019s\n state_operations argument). When asked to apply changes to the database, it\n will use the database_operations list.\n If the actual state of the database and Django\u2019s view of the state get out of\n@@ -313,15 +313,15 @@\n carefully. You can use _\bs_\bq_\bl_\bm_\bi_\bg_\br_\ba_\bt_\be and _\bd_\bb_\bs_\bh_\be_\bl_\bl to check your database\n operations. You can use _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs, especially with _\b-_\b-_\bd_\br_\by_\b-_\br_\bu_\bn, to check\n your state operations.\n For an example using SeparateDatabaseAndState, see _\bC_\bh_\ba_\bn_\bg_\bi_\bn_\bg_\b _\ba_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd\n _\bt_\bo_\b _\bu_\bs_\be_\b _\ba_\b _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b _\bm_\bo_\bd_\be_\bl.\n *\b**\b**\b**\b**\b* O\bOp\bpe\ber\bra\bat\bti\bio\bon\bn c\bca\bat\bte\beg\bgo\bor\bry\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n New in Django 5.1.\n- c\bcl\bla\bas\bss\bs OperationCategory_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OperationCategory_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Categories of migration operation used by the _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs command to\n display meaningful symbols.\n ADDITION_\b\u00b6\n S\bSy\bym\bmb\bbo\bol\bl: +\n REMOVAL_\b\u00b6\n S\bSy\bym\bmb\bbo\bol\bl: -\n ALTERATION_\b\u00b6\n@@ -408,15 +408,15 @@\n ...\n * to_state in the database_backwards method is the o\bol\bld\bde\ber\br state; that is,\n the one that will be the current state once the migration has finished\n reversing.\n * You might see implementations of references_model on the built-in\n operations; this is part of the autodetection code and does not matter\n for custom operations.\n-Warning\n+Avvertimento\n For performance reasons, the _\bF_\bi_\be_\bl_\bd instances in ModelState.fields are reused\n across migrations. You must never change the attributes on these instances. If\n you need to mutate a field in state_forwards(), you must remove the old\n instance from ModelState.fields and add a new instance in its place. The same\n is true for the _\bM_\ba_\bn_\ba_\bg_\be_\br instances in ModelState.managers.\n As an example, let\u2019s make an operation that loads PostgreSQL extensions (which\n contain some of PostgreSQL\u2019s more exciting features). Since there\u2019s no model\n@@ -471,16 +471,16 @@\n # _\bR_\be_\bm_\bo_\bv_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt\n o _\bS_\bp_\be_\bc_\bi_\ba_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bR_\bu_\bn_\bS_\bQ_\bL\n # _\bR_\bu_\bn_\bP_\by_\bt_\bh_\bo_\bn\n # _\bS_\be_\bp_\ba_\br_\ba_\bt_\be_\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bA_\bn_\bd_\bS_\bt_\ba_\bt_\be\n o _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\b _\bc_\ba_\bt_\be_\bg_\bo_\br_\by\n o _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/class.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/class.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model class reference — Django 5.1.4 documentation\n+ Model class reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -165,37 +166,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Related objects reference

    \n+ title=\"capitolo precedente\">Related objects reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Model Meta options

    \n+ title=\"capitolo successivo\">Model Meta options

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl c\bcl\bla\bas\bss\bs r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document covers features of the _\bM_\bo_\bd_\be_\bl class. For more information about\n models, see _\bt_\bh_\be_\b _\bc_\bo_\bm_\bp_\bl_\be_\bt_\be_\b _\bl_\bi_\bs_\bt_\b _\bo_\bf_\b _\bM_\bo_\bd_\be_\bl_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be_\b _\bg_\bu_\bi_\bd_\be_\bs.\n *\b**\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* D\bDo\boe\bes\bsN\bNo\bot\btE\bEx\bxi\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -40,16 +40,16 @@\n For more details on model managers see _\bM_\ba_\bn_\ba_\bg_\be_\br_\bs and _\bR_\be_\bt_\br_\bi_\be_\bv_\bi_\bn_\bg_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\bo_\bd_\be_\bl_\b _\bc_\bl_\ba_\bs_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt\n # _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bO_\bb_\bj_\be_\bc_\bt_\bs_\bR_\be_\bt_\bu_\br_\bn_\be_\bd\n # _\bo_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bR_\be_\bl_\ba_\bt_\be_\bd_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bM_\be_\bt_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/conditional-expressions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/conditional-expressions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Conditional Expressions — Django 5.1.4 documentation\n+ Conditional Expressions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -108,15 +109,15 @@\n )\n
    \n
    \n
    \n

    When\u00b6

    \n
    \n
    \n-class When(condition=None, then=None, **lookups)[source]\u00b6
    \n+class When(condition=None, then=None, **lookups)[sorgente]\u00b6\n
    \n \n

    A When() object is used to encapsulate a condition and its result for use\n in the conditional expression. Using a When() object is similar to using\n the filter() method. The condition can\n be specified using field lookups,\n Q objects, or Expression\n@@ -154,30 +155,30 @@\n ... & LessThan(F("registered_on"), date(2015, 1, 1)),\n ... then="account_type",\n ... )\n

    \n
    \n

    Keep in mind that each of these values can be an expression.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Since the then keyword argument is reserved for the result of the\n When(), there is a potential conflict if a\n Model has a field named then. This can be\n resolved in two ways:

    \n
    >>> When(then__exact=0, then=1)\n >>> When(Q(then=0), then=1)\n 
    \n
    \n
    \n \n
    \n

    Case\u00b6

    \n
    \n
    \n-class Case(*cases, **extra)[source]\u00b6
    \n+class Case(*cases, **extra)[sorgente]\u00b6\n
    \n \n

    A Case() expression is like the if \u2026 elif \u2026\n else statement in Python. Each condition in the provided\n When() objects is evaluated in order, until one evaluates to a\n truthful value. The result expression from the matching When() object\n is returned.

    \n@@ -228,15 +229,15 @@\n ... default=Value("0%"),\n ... )\n ... ).values_list("name", "discount")\n <QuerySet [('Jane Doe', '5%'), ('James Smith', '0%'), ('Jack Black', '10%')]>\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Remember that the conditions are evaluated in order, so in the above\n example we get the correct result even though the second condition matches\n both Jane Doe and Jack Black. This works just like an if \u2026\n elif \u2026 else statement in Python.

    \n
    \n

    Case() also works in a filter() clause. For example, to find gold\n clients that registered more than a month ago and platinum clients that\n@@ -378,37 +379,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Query Expressions

    \n+ title=\"capitolo precedente\">Query Expressions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Database Functions

    \n+ title=\"capitolo successivo\">Database Functions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Conditional expressions let you use _\bi_\bf \u2026 _\be_\bl_\bi_\bf \u2026 _\be_\bl_\bs_\be logic within filters,\n annotations, aggregations, and updates. A conditional expression evaluates a\n series of conditions for each row of a table and returns the matching result\n expression. Conditional expressions can also be combined and nested like other\n@@ -25,15 +25,15 @@\n registered_on = models.DateField()\n account_type = models.CharField(\n max_length=1,\n choices=ACCOUNT_TYPE_CHOICES,\n default=REGULAR,\n )\n *\b**\b**\b**\b* W\bWh\bhe\ben\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs When(c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, t\bth\bhe\ben\bn=\b=N\bNo\bon\bne\be, *\b**\b*l\blo\boo\bok\bku\bup\bps\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs When(c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, t\bth\bhe\ben\bn=\b=N\bNo\bon\bne\be, *\b**\b*l\blo\boo\bok\bku\bup\bps\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A When() object is used to encapsulate a condition and its result for use in\n the conditional expression. Using a When() object is similar to using the\n _\bf_\bi_\bl_\bt_\be_\br_\b(_\b) method. The condition can be specified using _\bf_\bi_\be_\bl_\bd_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs, _\bQ objects,\n or _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn objects that have an output_field that is a _\bB_\bo_\bo_\bl_\be_\ba_\bn_\bF_\bi_\be_\bl_\bd. The\n result is provided using the then keyword.\n Some examples:\n >>> from django.db.models import F, Q, When\n@@ -64,22 +64,22 @@\n >>> from django.db.models.lookups import GreaterThan, LessThan\n >>> When(\n ... GreaterThan(F(\"registered_on\"), date(2014, 1, 1))\n ... & LessThan(F(\"registered_on\"), date(2015, 1, 1)),\n ... then=\"account_type\",\n ... )\n Keep in mind that each of these values can be an expression.\n-Note\n+Nota\n Since the then keyword argument is reserved for the result of the When(), there\n is a potential conflict if a _\bM_\bo_\bd_\be_\bl has a field named then. This can be resolved\n in two ways:\n >>> When(then__exact=0, then=1)\n >>> When(Q(then=0), then=1)\n *\b**\b**\b**\b* C\bCa\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Case(*\b*c\bca\bas\bse\bes\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Case(*\b*c\bca\bas\bse\bes\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Case() expression is like the _\bi_\bf \u2026 _\be_\bl_\bi_\bf \u2026 _\be_\bl_\bs_\be statement in Python. Each\n condition in the provided When() objects is evaluated in order, until one\n evaluates to a truthful value. The result expression from the matching When()\n object is returned.\n An example:\n >>>\n >>> from datetime import date, timedelta\n@@ -121,15 +121,15 @@\n ... discount=Case(\n ... When(registered_on__lte=a_year_ago, then=Value(\"10%\")),\n ... When(registered_on__lte=a_month_ago, then=Value(\"5%\")),\n ... default=Value(\"0%\"),\n ... )\n ... ).values_list(\"name\", \"discount\")\n \n-Note\n+Nota\n Remember that the conditions are evaluated in order, so in the above example we\n get the correct result even though the second condition matches both Jane Doe\n and Jack Black. This works just like an _\bi_\bf \u2026 _\be_\bl_\bi_\bf \u2026 _\be_\bl_\bs_\be statement in Python.\n Case() also works in a filter() clause. For example, to find gold clients that\n registered more than a month ago and platinum clients that registered more than\n a year ago:\n >>> a_month_ago = date.today() - timedelta(days=30)\n@@ -223,16 +223,16 @@\n o _\bT_\bh_\be_\b _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bc_\bl_\ba_\bs_\bs_\be_\bs\n # _\bW_\bh_\be_\bn\n # _\bC_\ba_\bs_\be\n o _\bA_\bd_\bv_\ba_\bn_\bc_\be_\bd_\b _\bq_\bu_\be_\br_\bi_\be_\bs\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bu_\bp_\bd_\ba_\bt_\be\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bf_\bi_\bl_\bt_\be_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/constraints.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/constraints.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Constraints reference — Django 5.1.4 documentation\n+ Constraints reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -105,20 +106,20 @@\n

    Validation of Constraints

    \n

    Constraints are checked during the model validation.

    \n
    \n
    \n

    BaseConstraint\u00b6

    \n
    \n
    \n-class BaseConstraint(*name, violation_error_code=None, violation_error_message=None)[source]\u00b6
    \n+class BaseConstraint(*name, violation_error_code=None, violation_error_message=None)[sorgente]\u00b6\n

    Base class for all constraints. Subclasses must implement\n constraint_sql(), create_sql(), remove_sql() and\n validate() methods.

    \n
    \n-

    Deprecated since version 5.0: Support for passing positional arguments is deprecated.

    \n+

    Deprecato dalla versione 5.0: Support for passing positional arguments is deprecated.

    \n
    \n
    \n \n

    All constraints have the following parameters in common:

    \n
    \n

    name\u00b6

    \n
    \n@@ -152,30 +153,30 @@\n model validation. Defaults to\n "Constraint \u201c%(name)s\u201d is violated.".

    \n
    \n
    \n

    validate()\u00b6

    \n
    \n
    \n-BaseConstraint.validate(model, instance, exclude=None, using=DEFAULT_DB_ALIAS)[source]\u00b6
    \n+BaseConstraint.validate(model, instance, exclude=None, using=DEFAULT_DB_ALIAS)[sorgente]\u00b6\n
    \n \n

    Validates that the constraint, defined on model, is respected on the\n instance. This will do a query on the database to ensure that the\n constraint is respected. If fields in the exclude list are needed to\n validate the constraint, the constraint is ignored.

    \n

    Raise a ValidationError if the constraint is violated.

    \n

    This method must be implemented by a subclass.

    \n
    \n
    \n
    \n

    CheckConstraint\u00b6

    \n
    \n
    \n-class CheckConstraint(*, condition, name, violation_error_code=None, violation_error_message=None)[source]\u00b6
    \n+class CheckConstraint(*, condition, name, violation_error_code=None, violation_error_message=None)[sorgente]\u00b6\n

    Creates a check constraint in the database.

    \n
    \n \n
    \n

    condition\u00b6

    \n
    \n
    \n@@ -206,23 +207,23 @@\n to behave the same as check constraints validation. For example, if age\n is a nullable field:

    \n
    CheckConstraint(condition=Q(age__gte=18) | Q(age__isnull=True), name="age_gte_18")\n 
    \n
    \n
    \n
    \n-

    Deprecated since version 5.1: The check attribute is deprecated in favor of condition.

    \n+

    Deprecato dalla versione 5.1: The check attribute is deprecated in favor of condition.

    \n
    \n \n \n
    \n

    UniqueConstraint\u00b6

    \n
    \n
    \n-class UniqueConstraint(*expressions, fields=(), name=None, condition=None, deferrable=None, include=None, opclasses=(), nulls_distinct=None, violation_error_code=None, violation_error_message=None)[source]\u00b6
    \n+class UniqueConstraint(*expressions, fields=(), name=None, condition=None, deferrable=None, include=None, opclasses=(), nulls_distinct=None, violation_error_code=None, violation_error_message=None)[sorgente]\u00b6\n

    Creates a unique constraint in the database.

    \n
    \n \n
    \n

    expressions\u00b6

    \n
    \n
    \n@@ -293,15 +294,15 @@\n enforced immediately after every command.

    \n
    \n

    MySQL, MariaDB, and SQLite.

    \n

    Deferrable unique constraints are ignored on MySQL, MariaDB, and SQLite as\n neither supports them.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Deferred unique constraints may lead to a performance penalty.

    \n
    \n
    \n
    \n

    include\u00b6

    \n
    \n
    \n@@ -438,37 +439,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Model index reference

    \n+ title=\"capitolo precedente\">Model index reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Model _meta API

    \n+ title=\"capitolo successivo\">Model _meta API

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* C\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bts\bs r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The classes defined in this module create database constraints. They are added\n in the model _\bM_\be_\bt_\ba_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs option.\n Referencing built-in constraints\n Constraints are defined in django.db.models.constraints, but for convenience\n@@ -17,18 +17,18 @@\n are replaced, respectively, by the lowercased app label and class name of the\n concrete model. For example CheckConstraint(condition=Q(age__gte=18), name='%\n (app_label)s_%(class)s_is_adult').\n Validation of Constraints\n Constraints are checked during the _\bm_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* B\bBa\bas\bse\beC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs BaseConstraint(*\b*n\bna\bam\bme\be, v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be,\n- v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Base class for all constraints. Subclasses must implement constraint_sql\n (), create_sql(), remove_sql() and validate() methods.\n- Deprecated since version 5.0: Support for passing positional arguments is\n+ Deprecato dalla versione 5.0: Support for passing positional arguments is\n deprecated.\n All constraints have the following parameters in common:\n *\b**\b**\b**\b* n\bna\bam\bme\be_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseConstraint.name_\b\u00b6\n The name of the constraint. You must always specify a unique name for the\n constraint.\n *\b**\b**\b**\b* v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -38,24 +38,24 @@\n Defaults to None.\n *\b**\b**\b**\b* v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseConstraint.violation_error_message_\b\u00b6\n The error message used when ValidationError is raised during _\bm_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn.\n Defaults to \"Constraint \u201c%(name)s\u201d is violated.\".\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseConstraint.validate(m\bmo\bod\bde\bel\bl, i\bin\bns\bst\bta\ban\bnc\bce\be, e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be,\n- u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Validates that the constraint, defined on model, is respected on the instance.\n This will do a query on the database to ensure that the constraint is\n respected. If fields in the exclude list are needed to validate the constraint,\n the constraint is ignored.\n Raise a ValidationError if the constraint is violated.\n This method must be implemented by a subclass.\n *\b**\b**\b**\b**\b* C\bCh\bhe\bec\bck\bkC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs CheckConstraint(*\b*, c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn, n\bna\bam\bme\be, v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be,\n- v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a check constraint in the database.\n *\b**\b**\b**\b* c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n CheckConstraint.condition_\b\u00b6\n A _\bQ object or boolean _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn that specifies the conditional check you want\n the constraint to enforce.\n For example, CheckConstraint(condition=Q(age__gte=18), name='age_gte_18')\n ensures the age field is never less than 18.\n@@ -70,20 +70,20 @@\n )\n Oracle < 23c\n Checks with nullable fields on Oracle < 23c must include a condition allowing\n for NULL values in order for _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b(_\b) to behave the same as check constraints\n validation. For example, if age is a nullable field:\n CheckConstraint(condition=Q(age__gte=18) | Q(age__isnull=True),\n name=\"age_gte_18\")\n-Deprecated since version 5.1: The check attribute is deprecated in favor of\n+Deprecato dalla versione 5.1: The check attribute is deprecated in favor of\n condition.\n *\b**\b**\b**\b**\b* U\bUn\bni\biq\bqu\bue\beC\bCo\bon\bns\bst\btr\bra\bai\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs UniqueConstraint(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, f\bfi\bie\bel\bld\bds\bs=\b=(\b()\b), n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be,\n d\bde\bef\bfe\ber\brr\bra\bab\bbl\ble\be=\b=N\bNo\bon\bne\be, i\bin\bnc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be, o\bop\bpc\bcl\bla\bas\bss\bse\bes\bs=\b=(\b()\b), n\bnu\bul\bll\bls\bs_\b_d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=N\bNo\bon\bne\be,\n- v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, v\bvi\bio\bol\bla\bat\bti\bio\bon\bn_\b_e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a unique constraint in the database.\n *\b**\b**\b**\b* e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n UniqueConstraint.expressions_\b\u00b6\n Positional argument *expressions allows creating functional unique constraints\n on expressions and database functions.\n For example:\n UniqueConstraint(Lower(\"name\").desc(), \"category\",\n@@ -119,15 +119,15 @@\n )\n By default constraints are not deferred. A deferred constraint will not be\n enforced until the end of the transaction. An immediate constraint will be\n enforced immediately after every command.\n MySQL, MariaDB, and SQLite.\n Deferrable unique constraints are ignored on MySQL, MariaDB, and SQLite as\n neither supports them.\n-Warning\n+Avvertimento\n Deferred unique constraints may lead to a _\bp_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be_\b _\bp_\be_\bn_\ba_\bl_\bt_\by.\n *\b**\b**\b**\b* i\bin\bnc\bcl\blu\bud\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n UniqueConstraint.include_\b\u00b6\n A list or tuple of the names of the fields to be included in the covering\n unique index as non-key columns. This allows index-only scans to be used for\n queries that select only included fields (_\bi_\bn_\bc_\bl_\bu_\bd_\be) and filter only by unique\n fields (_\bf_\bi_\be_\bl_\bd_\bs).\n@@ -193,16 +193,16 @@\n # _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn\n # _\bd_\be_\bf_\be_\br_\br_\ba_\bb_\bl_\be\n # _\bi_\bn_\bc_\bl_\bu_\bd_\be\n # _\bo_\bp_\bc_\bl_\ba_\bs_\bs_\be_\bs\n # _\bn_\bu_\bl_\bl_\bs_\b__\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt\n # _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be\n # _\bv_\bi_\bo_\bl_\ba_\bt_\bi_\bo_\bn_\b__\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bd_\be_\bx_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\b__\bm_\be_\bt_\ba_\b _\bA_\bP_\bI\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/database-functions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/database-functions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Database Functions — Django 5.1.4 documentation\n+ Database Functions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,23 +89,23 @@\n name = models.CharField(max_length=50)\n age = models.PositiveIntegerField(null=True, blank=True)\n alias = models.CharField(max_length=50, null=True, blank=True)\n goes_by = models.CharField(max_length=50, null=True, blank=True)\n
    \n
    \n

    We don\u2019t usually recommend allowing null=True for CharField since this\n-allows the field to have two \u201cempty values\u201d, but it\u2019s important for the\n+allows the field to have two \u00abempty values\u00bb, but it\u2019s important for the\n Coalesce example below.

    \n
    \n

    Comparison and conversion functions\u00b6

    \n
    \n

    Cast\u00b6

    \n
    \n
    \n-class Cast(expression, output_field)[source]\u00b6
    \n+class Cast(expression, output_field)[sorgente]\u00b6\n
    \n \n

    Forces the result type of expression to be the one from output_field.

    \n

    Usage example:

    \n
    >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Cast\n >>> Author.objects.create(age=25, name="Margaret Smith")\n@@ -116,15 +117,15 @@\n 
    \n
    \n
    \n
    \n

    Coalesce\u00b6

    \n
    \n
    \n-class Coalesce(*expressions, **extra)[source]\u00b6
    \n+class Coalesce(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a list of at least two field names or expressions and returns the\n first non-null value (note that an empty string is not considered a null\n value). Each argument must be of a similar type, so mixing text and numbers\n will result in a database error.

    \n

    Usage examples:

    \n@@ -148,15 +149,15 @@\n >>> print(aggregated["combined_age_default"])\n 0\n >>> print(aggregated["combined_age_coalesce"])\n 0\n
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    A Python value passed to Coalesce on MySQL may be converted to an\n incorrect type unless explicitly cast to the correct database type:

    \n
    >>> from django.db.models import DateTimeField\n >>> from django.db.models.functions import Cast, Coalesce\n >>> from django.utils import timezone\n >>> now = timezone.now()\n >>> Coalesce("updated", Cast(now, DateTimeField()))\n@@ -164,15 +165,15 @@\n 
    \n
    \n \n
    \n

    Collate\u00b6

    \n
    \n
    \n-class Collate(expression, collation)[source]\u00b6
    \n+class Collate(expression, collation)[sorgente]\u00b6\n
    \n \n

    Takes an expression and a collation name to query against.

    \n

    For example, to filter case-insensitively in SQLite:

    \n
    >>> Author.objects.filter(name=Collate(Value("john"), "nocase"))\n <QuerySet [<Author: John>, <Author: john>]>\n 
    \n@@ -183,15 +184,15 @@\n
    \n
    \n \n
    \n

    Greatest\u00b6

    \n
    \n
    \n-class Greatest(*expressions, **extra)[source]\u00b6
    \n+class Greatest(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a list of at least two field names or expressions and returns the\n greatest value. Each argument must be of a similar type, so mixing text and\n numbers will result in a database error.

    \n

    Usage example:

    \n
    class Blog(models.Model):\n@@ -211,15 +212,15 @@\n >>> comments = Comment.objects.annotate(last_updated=Greatest("modified", "blog__modified"))\n >>> annotated_comment = comments.get()\n 
    \n
    \n

    annotated_comment.last_updated will be the most recent of blog.modified\n and comment.modified.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    The behavior of Greatest when one or more expression may be null\n varies between databases:

    \n
      \n
    • PostgreSQL: Greatest will return the largest non-null expression,\n or null if all expressions are null.

    • \n
    • SQLite, Oracle, and MySQL: If any expression is null, Greatest\n will return null.

    • \n@@ -228,15 +229,15 @@\n a sensible minimum value to provide as a default.

      \n
    \n
    \n
    \n

    JSONObject\u00b6

    \n
    \n
    \n-class JSONObject(**fields)[source]\u00b6
    \n+class JSONObject(**fields)[sorgente]\u00b6\n
    \n \n

    Takes a list of key-value pairs and returns a JSON object containing those\n pairs.

    \n

    Usage example:

    \n
    >>> from django.db.models import F\n >>> from django.db.models.functions import JSONObject, Lower\n@@ -253,22 +254,22 @@\n 
    \n
    \n
    \n
    \n

    Least\u00b6

    \n
    \n
    \n-class Least(*expressions, **extra)[source]\u00b6
    \n+class Least(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a list of at least two field names or expressions and returns the\n least value. Each argument must be of a similar type, so mixing text and numbers\n will result in a database error.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    The behavior of Least when one or more expression may be null\n varies between databases:

    \n
      \n
    • PostgreSQL: Least will return the smallest non-null expression,\n or null if all expressions are null.

    • \n
    • SQLite, Oracle, and MySQL: If any expression is null, Least\n will return null.

    • \n@@ -277,15 +278,15 @@\n a sensible maximum value to provide as a default.

      \n
    \n
    \n
    \n

    NullIf\u00b6

    \n
    \n
    \n-class NullIf(expression1, expression2)[source]\u00b6
    \n+class NullIf(expression1, expression2)[sorgente]\u00b6\n
    \n \n

    Accepts two expressions and returns None if they are equal, otherwise\n returns expression1.

    \n
    \n

    Caveats on Oracle

    \n

    Due to an Oracle convention, this\n@@ -308,49 +309,49 @@\n end_time = models.TimeField(null=True, blank=True)\n

    \n
    \n
    \n

    Extract\u00b6

    \n
    \n
    \n-class Extract(expression, lookup_name=None, tzinfo=None, **extra)[source]\u00b6
    \n+class Extract(expression, lookup_name=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n \n

    Extracts a component of a date as a number.

    \n

    Takes an expression representing a DateField, DateTimeField,\n TimeField, or DurationField and a lookup_name, and returns the part\n of the date referenced by lookup_name as an IntegerField.\n-Django usually uses the databases\u2019 extract function, so you may use any\n+Django usually uses the databases\u201d extract function, so you may use any\n lookup_name that your database supports. A tzinfo subclass, usually\n provided by zoneinfo, can be passed to extract a value in a specific\n timezone.

    \n

    Given the datetime 2015-06-15 23:30:01.000321+00:00, the built-in\n lookup_names return:

    \n
      \n-
    • \u201cyear\u201d: 2015

    • \n-
    • \u201ciso_year\u201d: 2015

    • \n-
    • \u201cquarter\u201d: 2

    • \n-
    • \u201cmonth\u201d: 6

    • \n-
    • \u201cday\u201d: 15

    • \n-
    • \u201cweek\u201d: 25

    • \n-
    • \u201cweek_day\u201d: 2

    • \n-
    • \u201ciso_week_day\u201d: 1

    • \n-
    • \u201chour\u201d: 23

    • \n-
    • \u201cminute\u201d: 30

    • \n-
    • \u201csecond\u201d: 1

    • \n+
    • \u00abyear\u00bb: 2015

    • \n+
    • \u00abiso_year\u00bb: 2015

    • \n+
    • \u00abquarter\u00bb: 2

    • \n+
    • \u00abmonth\u00bb: 6

    • \n+
    • \u00abday\u00bb: 15

    • \n+
    • \u00abweek\u00bb: 25

    • \n+
    • \u00abweek_day\u00bb: 2

    • \n+
    • \u00abiso_week_day\u00bb: 1

    • \n+
    • \u00abhour\u00bb: 23

    • \n+
    • \u00abminute\u00bb: 30

    • \n+
    • \u00absecond\u00bb: 1

    • \n
    \n

    If a different timezone like Australia/Melbourne is active in Django, then\n the datetime is converted to the timezone before the value is extracted. The\n timezone offset for Melbourne in the example date above is +10:00. The values\n returned when this timezone is active will be the same as above except for:

    \n
      \n-
    • \u201cday\u201d: 16

    • \n-
    • \u201cweek_day\u201d: 3

    • \n-
    • \u201ciso_week_day\u201d: 2

    • \n-
    • \u201chour\u201d: 9

    • \n+
    • \u00abday\u00bb: 16

    • \n+
    • \u00abweek_day\u00bb: 3

    • \n+
    • \u00abiso_week_day\u00bb: 2

    • \n+
    • \u00abhour\u00bb: 9

    • \n
    \n
    \n

    week_day values

    \n

    The week_day lookup_type is calculated differently from most\n databases and from Python\u2019s standard functions. This function will return\n 1 for Sunday, 2 for Monday, through 7 for Saturday.

    \n

    The equivalent calculation in Python is:

    \n@@ -391,88 +392,88 @@\n 1\n
    \n
    \n
    \n

    DateField extracts\u00b6

    \n
    \n
    \n-class ExtractYear(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractYear(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'year'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractIsoYear(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractIsoYear(expression, tzinfo=None, **extra)[sorgente]\u00b6\n

    Returns the ISO-8601 week-numbering year.

    \n
    \n
    \n lookup_name = 'iso_year'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractMonth(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractMonth(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'month'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractDay(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractDay(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'day'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractWeekDay(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractWeekDay(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'week_day'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractIsoWeekDay(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractIsoWeekDay(expression, tzinfo=None, **extra)[sorgente]\u00b6\n

    Returns the ISO-8601 week day with day 1 being Monday and day 7 being\n Sunday.

    \n
    \n
    \n lookup_name = 'iso_week_day'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractWeek(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractWeek(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'week'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractQuarter(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractQuarter(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'quarter'
    \n
    \n \n
    \n \n@@ -528,35 +529,35 @@\n
    \n
    \n

    DateTimeField extracts\u00b6

    \n

    In addition to the following, all extracts for DateField listed above may\n also be used on DateTimeFields .

    \n
    \n
    \n-class ExtractHour(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractHour(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'hour'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractMinute(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractMinute(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'minute'
    \n
    \n \n
    \n \n
    \n
    \n-class ExtractSecond(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class ExtractSecond(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'second'
    \n
    \n \n
    \n \n@@ -655,15 +656,15 @@\n
    \n \n \n
    \n

    Now\u00b6

    \n
    \n
    \n-class Now[source]\u00b6
    \n+class Now[sorgente]\u00b6\n
    \n \n

    Returns the database server\u2019s current date and time when the query is executed,\n typically using the SQL CURRENT_TIMESTAMP.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Now\n >>> Article.objects.filter(published__lte=Now())\n@@ -687,15 +688,15 @@\n of LOCALTIMESTAMP.

    \n
    \n
    \n
    \n

    Trunc\u00b6

    \n
    \n
    \n-class Trunc(expression, kind, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class Trunc(expression, kind, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n \n

    Truncates a date up to a significant component.

    \n

    When you only care if something happened in a particular year, hour, or day,\n but not the exact second, then Trunc (and its subclasses) can be useful to\n filter or aggregate your data. For example, you can use Trunc to calculate\n the number of sales per day.

    \n@@ -706,36 +707,36 @@\n depending on output_field, with fields up to kind set to their minimum\n value. If output_field is omitted, it will default to the output_field\n of expression. A tzinfo subclass, usually provided by zoneinfo,\n can be passed to truncate a value in a specific timezone.

    \n

    Given the datetime 2015-06-15 14:30:50.000321+00:00, the built-in kinds\n return:

    \n
      \n-
    • \u201cyear\u201d: 2015-01-01 00:00:00+00:00

    • \n-
    • \u201cquarter\u201d: 2015-04-01 00:00:00+00:00

    • \n-
    • \u201cmonth\u201d: 2015-06-01 00:00:00+00:00

    • \n-
    • \u201cweek\u201d: 2015-06-15 00:00:00+00:00

    • \n-
    • \u201cday\u201d: 2015-06-15 00:00:00+00:00

    • \n-
    • \u201chour\u201d: 2015-06-15 14:00:00+00:00

    • \n-
    • \u201cminute\u201d: 2015-06-15 14:30:00+00:00

    • \n-
    • \u201csecond\u201d: 2015-06-15 14:30:50+00:00

    • \n+
    • \u00abyear\u00bb: 2015-01-01 00:00:00+00:00

    • \n+
    • \u00abquarter\u00bb: 2015-04-01 00:00:00+00:00

    • \n+
    • \u00abmonth\u00bb: 2015-06-01 00:00:00+00:00

    • \n+
    • \u00abweek\u00bb: 2015-06-15 00:00:00+00:00

    • \n+
    • \u00abday\u00bb: 2015-06-15 00:00:00+00:00

    • \n+
    • \u00abhour\u00bb: 2015-06-15 14:00:00+00:00

    • \n+
    • \u00abminute\u00bb: 2015-06-15 14:30:00+00:00

    • \n+
    • \u00absecond\u00bb: 2015-06-15 14:30:50+00:00

    • \n
    \n

    If a different timezone like Australia/Melbourne is active in Django, then\n the datetime is converted to the new timezone before the value is truncated.\n The timezone offset for Melbourne in the example date above is +10:00. The\n values returned when this timezone is active will be:

    \n
      \n-
    • \u201cyear\u201d: 2015-01-01 00:00:00+11:00

    • \n-
    • \u201cquarter\u201d: 2015-04-01 00:00:00+10:00

    • \n-
    • \u201cmonth\u201d: 2015-06-01 00:00:00+10:00

    • \n-
    • \u201cweek\u201d: 2015-06-16 00:00:00+10:00

    • \n-
    • \u201cday\u201d: 2015-06-16 00:00:00+10:00

    • \n-
    • \u201chour\u201d: 2015-06-16 00:00:00+10:00

    • \n-
    • \u201cminute\u201d: 2015-06-16 00:30:00+10:00

    • \n-
    • \u201csecond\u201d: 2015-06-16 00:30:50+10:00

    • \n+
    • \u00abyear\u00bb: 2015-01-01 00:00:00+11:00

    • \n+
    • \u00abquarter\u00bb: 2015-04-01 00:00:00+10:00

    • \n+
    • \u00abmonth\u00bb: 2015-06-01 00:00:00+10:00

    • \n+
    • \u00abweek\u00bb: 2015-06-16 00:00:00+10:00

    • \n+
    • \u00abday\u00bb: 2015-06-16 00:00:00+10:00

    • \n+
    • \u00abhour\u00bb: 2015-06-16 00:00:00+10:00

    • \n+
    • \u00abminute\u00bb: 2015-06-16 00:30:00+10:00

    • \n+
    • \u00absecond\u00bb: 2015-06-16 00:30:50+10:00

    • \n
    \n

    The year has an offset of +11:00 because the result transitioned into daylight\n saving time.

    \n

    Each kind above has a corresponding Trunc subclass (listed below) that\n should typically be used instead of the more verbose equivalent,\n e.g. use TruncYear(...) rather than Trunc(..., kind='year').

    \n

    The subclasses are all defined as transforms, but they aren\u2019t registered with\n@@ -770,46 +771,46 @@\n 2015-06-15 14:40:02.000123\n

    \n
    \n
    \n

    DateField truncation\u00b6

    \n
    \n
    \n-class TruncYear(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncYear(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'year'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncMonth(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncMonth(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'month'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncWeek(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncWeek(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n

    Truncates to midnight on the Monday of the week.

    \n
    \n
    \n kind = 'week'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncQuarter(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncQuarter(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'quarter'
    \n
    \n \n
    \n \n@@ -855,15 +856,15 @@\n
    \n
    \n \n
    \n

    DateTimeField truncation\u00b6

    \n
    \n
    \n-class TruncDate(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncDate(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'date'
    \n
    \n \n
    \n
    \n@@ -873,15 +874,15 @@\n
    \n \n

    TruncDate casts expression to a date rather than using the built-in SQL\n truncate function. It\u2019s also registered as a transform on DateTimeField as\n __date.

    \n
    \n
    \n-class TruncTime(expression, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncTime(expression, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n lookup_name = 'time'
    \n
    \n \n
    \n
    \n@@ -891,45 +892,45 @@\n
    \n \n

    TruncTime casts expression to a time rather than using the built-in SQL\n truncate function. It\u2019s also registered as a transform on DateTimeField as\n __time.

    \n
    \n
    \n-class TruncDay(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncDay(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'day'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncHour(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncHour(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'hour'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncMinute(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncMinute(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'minute'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncSecond(expression, output_field=None, tzinfo=None, **extra)[source]\u00b6
    \n+class TruncSecond(expression, output_field=None, tzinfo=None, **extra)[sorgente]\u00b6\n
    \n
    \n kind = 'second'
    \n
    \n \n
    \n \n@@ -967,35 +968,35 @@\n
    \n
    \n \n
    \n

    TimeField truncation\u00b6

    \n
    \n
    \n-class TruncHour(expression, output_field=None, tzinfo=None, **extra)[source]
    \n+class TruncHour(expression, output_field=None, tzinfo=None, **extra)[sorgente]\n
    \n
    \n kind = 'hour'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncMinute(expression, output_field=None, tzinfo=None, **extra)[source]
    \n+class TruncMinute(expression, output_field=None, tzinfo=None, **extra)[sorgente]\n
    \n
    \n kind = 'minute'
    \n
    \n \n
    \n \n
    \n
    \n-class TruncSecond(expression, output_field=None, tzinfo=None, **extra)[source]
    \n+class TruncSecond(expression, output_field=None, tzinfo=None, **extra)[sorgente]\n
    \n
    \n kind = 'second'
    \n
    \n \n
    \n \n@@ -1054,15 +1055,15 @@\n y = models.FloatField()\n
    \n
    \n
    \n

    Abs\u00b6

    \n
    \n
    \n-class Abs(expression, **extra)[source]\u00b6
    \n+class Abs(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the absolute value of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Abs\n >>> Vector.objects.create(x=-0.5, y=1.1)\n >>> vector = Vector.objects.annotate(x_abs=Abs("x"), y_abs=Abs("y")).get()\n@@ -1079,15 +1080,15 @@\n 
    \n
    \n
    \n
    \n

    ACos\u00b6

    \n
    \n
    \n-class ACos(expression, **extra)[source]\u00b6
    \n+class ACos(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the arccosine of a numeric field or expression. The expression value\n must be within the range -1 to 1.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import ACos\n >>> Vector.objects.create(x=0.5, y=-0.9)\n@@ -1105,15 +1106,15 @@\n 
    \n
    \n
    \n
    \n

    ASin\u00b6

    \n
    \n
    \n-class ASin(expression, **extra)[source]\u00b6
    \n+class ASin(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the arcsine of a numeric field or expression. The expression value must\n be in the range -1 to 1.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import ASin\n >>> Vector.objects.create(x=0, y=1)\n@@ -1131,15 +1132,15 @@\n 
    \n
    \n
    \n
    \n

    ATan\u00b6

    \n
    \n
    \n-class ATan(expression, **extra)[source]\u00b6
    \n+class ATan(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the arctangent of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import ATan\n >>> Vector.objects.create(x=3.12, y=6.987)\n >>> vector = Vector.objects.annotate(x_atan=ATan("x"), y_atan=ATan("y")).get()\n@@ -1156,15 +1157,15 @@\n 
    \n
    \n
    \n
    \n

    ATan2\u00b6

    \n
    \n
    \n-class ATan2(expression1, expression2, **extra)[source]\u00b6
    \n+class ATan2(expression1, expression2, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the arctangent of expression1 / expression2.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import ATan2\n >>> Vector.objects.create(x=2.5, y=1.9)\n >>> vector = Vector.objects.annotate(atan2=ATan2("x", "y")).get()\n@@ -1173,15 +1174,15 @@\n 
    \n
    \n
    \n
    \n

    Ceil\u00b6

    \n
    \n
    \n-class Ceil(expression, **extra)[source]\u00b6
    \n+class Ceil(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the smallest integer greater than or equal to a numeric field or\n expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Ceil\n >>> Vector.objects.create(x=3.12, y=7.0)\n@@ -1199,15 +1200,15 @@\n 
    \n
    \n
    \n
    \n

    Cos\u00b6

    \n
    \n
    \n-class Cos(expression, **extra)[source]\u00b6
    \n+class Cos(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the cosine of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Cos\n >>> Vector.objects.create(x=-8.0, y=3.1415926)\n >>> vector = Vector.objects.annotate(x_cos=Cos("x"), y_cos=Cos("y")).get()\n@@ -1224,15 +1225,15 @@\n 
    \n
    \n
    \n
    \n

    Cot\u00b6

    \n
    \n
    \n-class Cot(expression, **extra)[source]\u00b6
    \n+class Cot(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the cotangent of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Cot\n >>> Vector.objects.create(x=12.0, y=1.0)\n >>> vector = Vector.objects.annotate(x_cot=Cot("x"), y_cot=Cot("y")).get()\n@@ -1249,15 +1250,15 @@\n 
    \n
    \n
    \n
    \n

    Degrees\u00b6

    \n
    \n
    \n-class Degrees(expression, **extra)[source]\u00b6
    \n+class Degrees(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Converts a numeric field or expression from radians to degrees.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Degrees\n >>> Vector.objects.create(x=-1.57, y=3.14)\n >>> vector = Vector.objects.annotate(x_d=Degrees("x"), y_d=Degrees("y")).get()\n@@ -1274,15 +1275,15 @@\n 
    \n
    \n
    \n
    \n

    Exp\u00b6

    \n
    \n
    \n-class Exp(expression, **extra)[source]\u00b6
    \n+class Exp(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the value of e (the natural logarithm base) raised to the power of\n a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Exp\n >>> Vector.objects.create(x=5.4, y=-2.0)\n@@ -1300,15 +1301,15 @@\n 
    \n
    \n
    \n
    \n

    Floor\u00b6

    \n
    \n
    \n-class Floor(expression, **extra)[source]\u00b6
    \n+class Floor(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the largest integer value not greater than a numeric field or\n expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Floor\n >>> Vector.objects.create(x=5.4, y=-2.3)\n@@ -1326,15 +1327,15 @@\n 
    \n
    \n
    \n
    \n

    Ln\u00b6

    \n
    \n
    \n-class Ln(expression, **extra)[source]\u00b6
    \n+class Ln(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the natural logarithm a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Ln\n >>> Vector.objects.create(x=5.4, y=233.0)\n >>> vector = Vector.objects.annotate(x_ln=Ln("x"), y_ln=Ln("y")).get()\n@@ -1351,15 +1352,15 @@\n 
    \n
    \n
    \n
    \n

    Log\u00b6

    \n
    \n
    \n-class Log(expression1, expression2, **extra)[source]\u00b6
    \n+class Log(expression1, expression2, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts two numeric fields or expressions and returns the logarithm of\n the second to base of the first.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Log\n >>> Vector.objects.create(x=2.0, y=4.0)\n@@ -1369,15 +1370,15 @@\n 
    \n
    \n
    \n
    \n

    Mod\u00b6

    \n
    \n
    \n-class Mod(expression1, expression2, **extra)[source]\u00b6
    \n+class Mod(expression1, expression2, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts two numeric fields or expressions and returns the remainder of\n the first divided by the second (modulo operation).

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Mod\n >>> Vector.objects.create(x=5.4, y=2.3)\n@@ -1387,24 +1388,24 @@\n 
    \n
    \n
    \n
    \n

    Pi\u00b6

    \n
    \n
    \n-class Pi(**extra)[source]\u00b6
    \n+class Pi(**extra)[sorgente]\u00b6\n
    \n \n

    Returns the value of the mathematical constant \u03c0.

    \n
    \n
    \n

    Power\u00b6

    \n
    \n
    \n-class Power(expression1, expression2, **extra)[source]\u00b6
    \n+class Power(expression1, expression2, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts two numeric fields or expressions and returns the value of the first\n raised to the power of the second.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Power\n >>> Vector.objects.create(x=2, y=-2)\n@@ -1414,15 +1415,15 @@\n 
    \n
    \n
    \n
    \n

    Radians\u00b6

    \n
    \n
    \n-class Radians(expression, **extra)[source]\u00b6
    \n+class Radians(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Converts a numeric field or expression from degrees to radians.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Radians\n >>> Vector.objects.create(x=-90, y=180)\n >>> vector = Vector.objects.annotate(x_r=Radians("x"), y_r=Radians("y")).get()\n@@ -1439,24 +1440,24 @@\n 
    \n
    \n
    \n
    \n

    Random\u00b6

    \n
    \n
    \n-class Random(**extra)[source]\u00b6
    \n+class Random(**extra)[sorgente]\u00b6\n
    \n \n

    Returns a random value in the range 0.0 \u2264 x < 1.0.

    \n
    \n
    \n

    Round\u00b6

    \n
    \n
    \n-class Round(expression, precision=0, **extra)[source]\u00b6
    \n+class Round(expression, precision=0, **extra)[sorgente]\u00b6\n
    \n \n

    Rounds a numeric field or expression to precision (must be an integer)\n decimal places. By default, it rounds to the nearest integer. Whether half\n values are rounded up or down depends on the database.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Round\n@@ -1475,15 +1476,15 @@\n 
    \n
    \n
    \n
    \n

    Sign\u00b6

    \n
    \n
    \n-class Sign(expression, **extra)[source]\u00b6
    \n+class Sign(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the sign (-1, 0, 1) of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Sign\n >>> Vector.objects.create(x=5.4, y=-2.3)\n >>> vector = Vector.objects.annotate(x_sign=Sign("x"), y_sign=Sign("y")).get()\n@@ -1500,15 +1501,15 @@\n 
    \n
    \n
    \n
    \n

    Sin\u00b6

    \n
    \n
    \n-class Sin(expression, **extra)[source]\u00b6
    \n+class Sin(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the sine of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Sin\n >>> Vector.objects.create(x=5.4, y=-2.3)\n >>> vector = Vector.objects.annotate(x_sin=Sin("x"), y_sin=Sin("y")).get()\n@@ -1525,15 +1526,15 @@\n 
    \n
    \n
    \n
    \n

    Sqrt\u00b6

    \n
    \n
    \n-class Sqrt(expression, **extra)[source]\u00b6
    \n+class Sqrt(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the square root of a nonnegative numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Sqrt\n >>> Vector.objects.create(x=4.0, y=12.0)\n >>> vector = Vector.objects.annotate(x_sqrt=Sqrt("x"), y_sqrt=Sqrt("y")).get()\n@@ -1550,15 +1551,15 @@\n 
    \n
    \n
    \n
    \n

    Tan\u00b6

    \n
    \n
    \n-class Tan(expression, **extra)[source]\u00b6
    \n+class Tan(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the tangent of a numeric field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Tan\n >>> Vector.objects.create(x=0, y=12)\n >>> vector = Vector.objects.annotate(x_tan=Tan("x"), y_tan=Tan("y")).get()\n@@ -1578,15 +1579,15 @@\n 
    \n
    \n

    Text functions\u00b6

    \n
    \n

    Chr\u00b6

    \n
    \n
    \n-class Chr(expression, **extra)[source]\u00b6
    \n+class Chr(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a numeric field or expression and returns the text representation of\n the expression as a single character. It works the same as Python\u2019s chr()\n function.

    \n

    Like Length, it can be registered as a transform on IntegerField.\n The default lookup name is chr.

    \n@@ -1599,15 +1600,15 @@\n
    \n
    \n \n
    \n

    Concat\u00b6

    \n
    \n
    \n-class Concat(*expressions, **extra)[source]\u00b6
    \n+class Concat(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a list of at least two text fields or expressions and returns the\n concatenated text. Each argument must be of a text or char type. If you want\n to concatenate a TextField() with a CharField(), then be sure to tell\n Django that the output_field should be a TextField(). Specifying an\n output_field is also required when concatenating a Value as in the\n@@ -1628,15 +1629,15 @@\n

    \n
    \n \n
    \n

    Left\u00b6

    \n
    \n
    \n-class Left(expression, length, **extra)[source]\u00b6
    \n+class Left(expression, length, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the first length characters of the given text field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Left\n >>> Author.objects.create(name="Margaret Smith")\n >>> author = Author.objects.annotate(first_initial=Left("name", 1)).get()\n@@ -1645,15 +1646,15 @@\n 
    \n
    \n
    \n
    \n

    Length\u00b6

    \n
    \n
    \n-class Length(expression, **extra)[source]\u00b6
    \n+class Length(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the number of characters\n the value has. If the expression is null, then the length will also be null.

    \n

    Usage example:

    \n
    >>> # Get the length of the name and goes_by fields\n >>> from django.db.models.functions import Length\n@@ -1674,15 +1675,15 @@\n 
    \n
    \n
    \n
    \n

    Lower\u00b6

    \n
    \n
    \n-class Lower(expression, **extra)[source]\u00b6
    \n+class Lower(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the lowercase\n representation.

    \n

    It can also be registered as a transform as described in Length.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Lower\n@@ -1693,15 +1694,15 @@\n 
    \n
    \n
    \n
    \n

    LPad\u00b6

    \n
    \n
    \n-class LPad(expression, length, fill_text=Value(' '), **extra)[source]\u00b6
    \n+class LPad(expression, length, fill_text=Value(' '), **extra)[sorgente]\u00b6\n
    \n \n

    Returns the value of the given text field or expression padded on the left side\n with fill_text so that the resulting value is length characters long.\n The default fill_text is a space.

    \n

    Usage example:

    \n
    >>> from django.db.models import Value\n@@ -1714,25 +1715,25 @@\n 
    \n
    \n
    \n
    \n

    LTrim\u00b6

    \n
    \n
    \n-class LTrim(expression, **extra)[source]\u00b6
    \n+class LTrim(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Similar to Trim, but removes only leading\n spaces.

    \n
    \n
    \n

    MD5\u00b6

    \n
    \n
    \n-class MD5(expression, **extra)[source]\u00b6
    \n+class MD5(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the MD5 hash of the\n string.

    \n

    It can also be registered as a transform as described in Length.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import MD5\n@@ -1743,15 +1744,15 @@\n 
    \n
    \n
    \n
    \n

    Ord\u00b6

    \n
    \n
    \n-class Ord(expression, **extra)[source]\u00b6
    \n+class Ord(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the Unicode code point\n value for the first character of that expression. It works similar to Python\u2019s\n ord() function, but an exception isn\u2019t raised if the expression is more\n than one character long.

    \n

    It can also be registered as a transform as described in Length.\n@@ -1765,15 +1766,15 @@\n

    \n
    \n \n
    \n

    Repeat\u00b6

    \n
    \n
    \n-class Repeat(expression, number, **extra)[source]\u00b6
    \n+class Repeat(expression, number, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the value of the given text field or expression repeated number\n times.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Repeat\n >>> Author.objects.create(name="John", alias="j")\n@@ -1784,15 +1785,15 @@\n 
    \n
    \n
    \n
    \n

    Replace\u00b6

    \n
    \n
    \n-class Replace(expression, text, replacement=Value(''), **extra)[source]\u00b6
    \n+class Replace(expression, text, replacement=Value(''), **extra)[sorgente]\u00b6\n
    \n \n

    Replaces all occurrences of text with replacement in expression.\n The default replacement text is the empty string. The arguments to the function\n are case-sensitive.

    \n

    Usage example:

    \n
    >>> from django.db.models import Value\n@@ -1806,15 +1807,15 @@\n 
    \n
    \n
    \n
    \n

    Reverse\u00b6

    \n
    \n
    \n-class Reverse(expression, **extra)[source]\u00b6
    \n+class Reverse(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the characters of that\n expression in reverse order.

    \n

    It can also be registered as a transform as described in Length. The\n default lookup name is reverse.

    \n

    Usage example:

    \n@@ -1826,15 +1827,15 @@\n
    \n
    \n \n
    \n

    Right\u00b6

    \n
    \n
    \n-class Right(expression, length, **extra)[source]\u00b6
    \n+class Right(expression, length, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the last length characters of the given text field or expression.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Right\n >>> Author.objects.create(name="Margaret Smith")\n >>> author = Author.objects.annotate(last_letter=Right("name", 1)).get()\n@@ -1843,55 +1844,55 @@\n 
    \n
    \n
    \n
    \n

    RPad\u00b6

    \n
    \n
    \n-class RPad(expression, length, fill_text=Value(' '), **extra)[source]\u00b6
    \n+class RPad(expression, length, fill_text=Value(' '), **extra)[sorgente]\u00b6\n
    \n \n

    Similar to LPad, but pads on the right\n side.

    \n
    \n
    \n

    RTrim\u00b6

    \n
    \n
    \n-class RTrim(expression, **extra)[source]\u00b6
    \n+class RTrim(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Similar to Trim, but removes only trailing\n spaces.

    \n
    \n
    \n

    SHA1, SHA224, SHA256, SHA384, and SHA512\u00b6

    \n
    \n
    \n-class SHA1(expression, **extra)[source]\u00b6
    \n+class SHA1(expression, **extra)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class SHA224(expression, **extra)[source]\u00b6
    \n+class SHA224(expression, **extra)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class SHA256(expression, **extra)[source]\u00b6
    \n+class SHA256(expression, **extra)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class SHA384(expression, **extra)[source]\u00b6
    \n+class SHA384(expression, **extra)[sorgente]\u00b6\n
    \n \n
    \n
    \n-class SHA512(expression, **extra)[source]\u00b6
    \n+class SHA512(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the particular hash of\n the string.

    \n

    They can also be registered as transforms as described in Length.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import SHA1\n@@ -1912,15 +1913,15 @@\n 

    Oracle doesn\u2019t support the SHA224 function.

    \n
    \n
    \n
    \n

    StrIndex\u00b6

    \n
    \n
    \n-class StrIndex(string, substring, **extra)[source]\u00b6
    \n+class StrIndex(string, substring, **extra)[sorgente]\u00b6\n
    \n \n

    Returns a positive integer corresponding to the 1-indexed position of the first\n occurrence of substring inside string, or 0 if substring is not\n found.

    \n

    Usage example:

    \n
    >>> from django.db.models import Value as V\n@@ -1935,26 +1936,26 @@\n >>> authors = Author.objects.annotate(smith_index=StrIndex("name", V("Smith"))).filter(\n ...     smith_index__gt=0\n ... )\n <QuerySet [<Author: Margaret Smith>, <Author: Smith, Margaret>]>\n 
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In MySQL, a database table\u2019s collation determines\n whether string comparisons (such as the expression and substring of\n this function) are case-sensitive. Comparisons are case-insensitive by\n default.

    \n
    \n
    \n
    \n

    Substr\u00b6

    \n
    \n
    \n-class Substr(expression, pos, length=None, **extra)[source]\u00b6
    \n+class Substr(expression, pos, length=None, **extra)[sorgente]\u00b6\n
    \n \n

    Returns a substring of length length from the field or expression starting\n at position pos. The position is 1-indexed, so the position must be greater\n than 0. If length is None, then the rest of the string will be returned.

    \n

    Usage example:

    \n
    >>> # Set the alias to the first 5 characters of the name as lowercase\n@@ -1967,15 +1968,15 @@\n 
    \n
    \n
    \n
    \n

    Trim\u00b6

    \n
    \n
    \n-class Trim(expression, **extra)[source]\u00b6
    \n+class Trim(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the value of the given text field or expression with leading and\n trailing spaces removed.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Trim\n >>> Author.objects.create(name="  John  ", alias="j")\n@@ -1986,15 +1987,15 @@\n 
    \n
    \n
    \n
    \n

    Upper\u00b6

    \n
    \n
    \n-class Upper(expression, **extra)[source]\u00b6
    \n+class Upper(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Accepts a single text field or expression and returns the uppercase\n representation.

    \n

    It can also be registered as a transform as described in Length.

    \n

    Usage example:

    \n
    >>> from django.db.models.functions import Upper\n@@ -2011,45 +2012,45 @@\n 

    There are a number of functions to use in a\n Window expression for computing the rank\n of elements or the Ntile of some rows.

    \n
    \n

    CumeDist\u00b6

    \n
    \n
    \n-class CumeDist(*expressions, **extra)[source]\u00b6
    \n+class CumeDist(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Calculates the cumulative distribution of a value within a window or partition.\n The cumulative distribution is defined as the number of rows preceding or\n peered with the current row divided by the total number of rows in the frame.

    \n
    \n
    \n

    DenseRank\u00b6

    \n
    \n
    \n-class DenseRank(*expressions, **extra)[source]\u00b6
    \n+class DenseRank(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Equivalent to Rank but does not have gaps.

    \n
    \n
    \n

    FirstValue\u00b6

    \n
    \n
    \n-class FirstValue(expression, **extra)[source]\u00b6
    \n+class FirstValue(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Returns the value evaluated at the row that\u2019s the first row of the window\n frame, or None if no such value exists.

    \n
    \n
    \n

    Lag\u00b6

    \n
    \n
    \n-class Lag(expression, offset=1, default=None, **extra)[source]\u00b6
    \n+class Lag(expression, offset=1, default=None, **extra)[sorgente]\u00b6\n
    \n \n

    Calculates the value offset by offset, and if no row exists there, returns\n default.

    \n

    default must have the same type as the expression, however, this is\n only validated by the database and not in Python.

    \n
    \n@@ -2058,25 +2059,25 @@\n the default parameter.

    \n
    \n
    \n
    \n

    LastValue\u00b6

    \n
    \n
    \n-class LastValue(expression, **extra)[source]\u00b6
    \n+class LastValue(expression, **extra)[sorgente]\u00b6\n
    \n \n

    Comparable to FirstValue, it calculates the last value in a given\n frame clause.

    \n
    \n
    \n

    Lead\u00b6

    \n
    \n
    \n-class Lead(expression, offset=1, default=None, **extra)[source]\u00b6
    \n+class Lead(expression, offset=1, default=None, **extra)[sorgente]\u00b6\n
    \n \n

    Calculates the leading value in a given frame. Both\n offset and default are evaluated with respect to the current row.

    \n

    default must have the same type as the expression, however, this is\n only validated by the database and not in Python.

    \n
    \n@@ -2085,40 +2086,40 @@\n the default parameter.

    \n
    \n
    \n
    \n

    NthValue\u00b6

    \n
    \n
    \n-class NthValue(expression, nth=1, **extra)[source]\u00b6
    \n+class NthValue(expression, nth=1, **extra)[sorgente]\u00b6\n
    \n \n

    Computes the row relative to the offset nth (must be a positive value)\n within the window. Returns None if no row exists.

    \n

    Some databases may handle a nonexistent nth-value differently. For example,\n Oracle returns an empty string rather than None for character-based\n expressions. Django doesn\u2019t do any conversions in these cases.

    \n
    \n
    \n

    Ntile\u00b6

    \n
    \n
    \n-class Ntile(num_buckets=1, **extra)[source]\u00b6
    \n+class Ntile(num_buckets=1, **extra)[sorgente]\u00b6\n
    \n \n

    Calculates a partition for each of the rows in the frame clause, distributing\n numbers as evenly as possible between 1 and num_buckets. If the rows don\u2019t\n divide evenly into a number of buckets, one or more buckets will be represented\n more frequently.

    \n
    \n
    \n

    PercentRank\u00b6

    \n
    \n
    \n-class PercentRank(*expressions, **extra)[source]\u00b6
    \n+class PercentRank(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Computes the relative rank of the rows in the frame clause. This computation is\n equivalent to evaluating:

    \n
    (rank - 1) / (total rows - 1)\n 
    \n
    \n@@ -2178,26 +2179,26 @@\n \n \n
    \n
    \n

    Rank\u00b6

    \n
    \n
    \n-class Rank(*expressions, **extra)[source]\u00b6
    \n+class Rank(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Comparable to RowNumber, this function ranks rows in the window. The\n computed rank contains gaps. Use DenseRank to compute rank without\n gaps.

    \n
    \n
    \n

    RowNumber\u00b6

    \n
    \n
    \n-class RowNumber(*expressions, **extra)[source]\u00b6
    \n+class RowNumber(*expressions, **extra)[sorgente]\u00b6\n
    \n \n

    Computes the row number according to the ordering of either the frame clause\n or the ordering of the whole query if there is no partitioning of the\n window frame.

    \n
    \n
    \n@@ -2307,37 +2308,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Conditional Expressions

    \n+ title=\"capitolo precedente\">Conditional Expressions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Paginator

    \n+ title=\"capitolo successivo\">Paginator

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,39 +1,39 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n The classes documented below provide a way for users to use functions provided\n by the underlying database as annotations, aggregations, or filters in Django.\n Functions are also _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs, so they can be used and combined with other\n expressions like _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs.\n We\u2019ll be using the following model in examples of each function:\n class Author(models.Model):\n name = models.CharField(max_length=50)\n age = models.PositiveIntegerField(null=True, blank=True)\n alias = models.CharField(max_length=50, null=True, blank=True)\n goes_by = models.CharField(max_length=50, null=True, blank=True)\n We don\u2019t usually recommend allowing null=True for CharField since this allows\n-the field to have two \u201cempty values\u201d, but it\u2019s important for the Coalesce\n+the field to have two \u00abempty values\u00bb, but it\u2019s important for the Coalesce\n example below.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmp\bpa\bar\bri\bis\bso\bon\bn a\ban\bnd\bd c\bco\bon\bnv\bve\ber\brs\bsi\bio\bon\bn f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCa\bas\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Cast(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Cast(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Forces the result type of expression to be the one from output_field.\n Usage example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Cast\n >>> Author.objects.create(age=25, name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(\n ... age_as_float=Cast(\"age\", output_field=FloatField()),\n ... ).get()\n >>> print(author.age_as_float)\n 25.0\n *\b**\b**\b**\b* C\bCo\boa\bal\ble\bes\bsc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Coalesce(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Coalesce(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a list of at least two field names or expressions and returns the first\n non-null value (note that an empty string is not considered a null value). Each\n argument must be of a similar type, so mixing text and numbers will result in a\n database error.\n Usage examples:\n >>> # Get a screen name from least to most public\n >>> from django.db.models import Sum\n@@ -53,33 +53,33 @@\n ... )\n >>> print(aggregated[\"combined_age\"])\n None\n >>> print(aggregated[\"combined_age_default\"])\n 0\n >>> print(aggregated[\"combined_age_coalesce\"])\n 0\n-Warning\n+Avvertimento\n A Python value passed to Coalesce on MySQL may be converted to an incorrect\n type unless explicitly cast to the correct database type:\n >>> from django.db.models import DateTimeField\n >>> from django.db.models.functions import Cast, Coalesce\n >>> from django.utils import timezone\n >>> now = timezone.now()\n >>> Coalesce(\"updated\", Cast(now, DateTimeField()))\n *\b**\b**\b**\b* C\bCo\bol\bll\bla\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Collate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, c\bco\bol\bll\bla\bat\bti\bio\bon\bn)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Collate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, c\bco\bol\bll\bla\bat\bti\bio\bon\bn)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Takes an expression and a collation name to query against.\n For example, to filter case-insensitively in SQLite:\n >>> Author.objects.filter(name=Collate(Value(\"john\"), \"nocase\"))\n , ]>\n It can also be used when ordering, for example with PostgreSQL:\n >>> Author.objects.order_by(Collate(\"name\", \"et-x-icu\"))\n , , ]>\n *\b**\b**\b**\b* G\bGr\bre\bea\bat\bte\bes\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Greatest(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Greatest(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a list of at least two field names or expressions and returns the\n greatest value. Each argument must be of a similar type, so mixing text and\n numbers will result in a database error.\n Usage example:\n class Blog(models.Model):\n body = models.TextField()\n modified = models.DateTimeField(auto_now=True)\n@@ -93,25 +93,25 @@\n >>> blog = Blog.objects.create(body=\"Greatest is the best.\")\n >>> comment = Comment.objects.create(body=\"No, Least is better.\", blog=blog)\n >>> comments = Comment.objects.annotate(last_updated=Greatest(\"modified\",\n \"blog__modified\"))\n >>> annotated_comment = comments.get()\n annotated_comment.last_updated will be the most recent of blog.modified and\n comment.modified.\n-Warning\n+Avvertimento\n The behavior of Greatest when one or more expression may be null varies between\n databases:\n * PostgreSQL: Greatest will return the largest non-null expression, or null\n if all expressions are null.\n * SQLite, Oracle, and MySQL: If any expression is null, Greatest will\n return null.\n The PostgreSQL behavior can be emulated using Coalesce if you know a sensible\n minimum value to provide as a default.\n *\b**\b**\b**\b* J\bJS\bSO\bON\bNO\bOb\bbj\bje\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs JSONObject(*\b**\b*f\bfi\bie\bel\bld\bds\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs JSONObject(*\b**\b*f\bfi\bie\bel\bld\bds\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Takes a list of key-value pairs and returns a JSON object containing those\n pairs.\n Usage example:\n >>> from django.db.models import F\n >>> from django.db.models.functions import JSONObject, Lower\n >>> Author.objects.create(name=\"Margaret Smith\", alias=\"msmith\", age=25)\n >>> author = Author.objects.annotate(\n@@ -120,29 +120,29 @@\n ... alias=\"alias\",\n ... age=F(\"age\") * 2,\n ... )\n ... ).get()\n >>> author.json_object\n {'name': 'margaret smith', 'alias': 'msmith', 'age': 50}\n *\b**\b**\b**\b* L\bLe\bea\bas\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Least(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Least(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a list of at least two field names or expressions and returns the least\n value. Each argument must be of a similar type, so mixing text and numbers will\n result in a database error.\n-Warning\n+Avvertimento\n The behavior of Least when one or more expression may be null varies between\n databases:\n * PostgreSQL: Least will return the smallest non-null expression, or null\n if all expressions are null.\n * SQLite, Oracle, and MySQL: If any expression is null, Least will return\n null.\n The PostgreSQL behavior can be emulated using Coalesce if you know a sensible\n maximum value to provide as a default.\n *\b**\b**\b**\b* N\bNu\bul\bll\blI\bIf\bf_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs NullIf(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs NullIf(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts two expressions and returns None if they are equal, otherwise returns\n expression1.\n Caveats on Oracle\n Due to an _\bO_\br_\ba_\bc_\bl_\be_\b _\bc_\bo_\bn_\bv_\be_\bn_\bt_\bi_\bo_\bn, this function returns the empty string instead of\n None when the expressions are of type _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd.\n Passing Value(None) to expression1 is prohibited on Oracle since Oracle doesn\u2019t\n accept NULL as the first argument.\n@@ -152,43 +152,43 @@\n start_datetime = models.DateTimeField()\n start_date = models.DateField(null=True, blank=True)\n start_time = models.TimeField(null=True, blank=True)\n end_datetime = models.DateTimeField(null=True, blank=True)\n end_date = models.DateField(null=True, blank=True)\n end_time = models.TimeField(null=True, blank=True)\n *\b**\b**\b**\b* E\bEx\bxt\btr\bra\bac\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Extract(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\blo\boo\bok\bku\bup\bp_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Extract(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\blo\boo\bok\bku\bup\bp_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Extracts a component of a date as a number.\n Takes an expression representing a DateField, DateTimeField, TimeField, or\n DurationField and a lookup_name, and returns the part of the date referenced by\n-lookup_name as an IntegerField. Django usually uses the databases\u2019 extract\n+lookup_name as an IntegerField. Django usually uses the databases\u201d extract\n function, so you may use any lookup_name that your database supports. A tzinfo\n subclass, usually provided by _\bz_\bo_\bn_\be_\bi_\bn_\bf_\bo, can be passed to extract a value in a\n specific timezone.\n Given the datetime 2015-06-15 23:30:01.000321+00:00, the built-in lookup_names\n return:\n- * \u201cyear\u201d: 2015\n- * \u201ciso_year\u201d: 2015\n- * \u201cquarter\u201d: 2\n- * \u201cmonth\u201d: 6\n- * \u201cday\u201d: 15\n- * \u201cweek\u201d: 25\n- * \u201cweek_day\u201d: 2\n- * \u201ciso_week_day\u201d: 1\n- * \u201chour\u201d: 23\n- * \u201cminute\u201d: 30\n- * \u201csecond\u201d: 1\n+ * \u00abyear\u00bb: 2015\n+ * \u00abiso_year\u00bb: 2015\n+ * \u00abquarter\u00bb: 2\n+ * \u00abmonth\u00bb: 6\n+ * \u00abday\u00bb: 15\n+ * \u00abweek\u00bb: 25\n+ * \u00abweek_day\u00bb: 2\n+ * \u00abiso_week_day\u00bb: 1\n+ * \u00abhour\u00bb: 23\n+ * \u00abminute\u00bb: 30\n+ * \u00absecond\u00bb: 1\n If a different timezone like Australia/Melbourne is active in Django, then the\n datetime is converted to the timezone before the value is extracted. The\n timezone offset for Melbourne in the example date above is +10:00. The values\n returned when this timezone is active will be the same as above except for:\n- * \u201cday\u201d: 16\n- * \u201cweek_day\u201d: 3\n- * \u201ciso_week_day\u201d: 2\n- * \u201chour\u201d: 9\n+ * \u00abday\u00bb: 16\n+ * \u00abweek_day\u00bb: 3\n+ * \u00abiso_week_day\u00bb: 2\n+ * \u00abhour\u00bb: 9\n week_day values\n The week_day lookup_type is calculated differently from most databases and from\n Python\u2019s standard functions. This function will return 1 for Sunday, 2 for\n Monday, through 7 for Saturday.\n The equivalent calculation in Python is:\n >>> from datetime import datetime\n >>> dt = datetime(2015, 6, 15)\n@@ -218,32 +218,32 @@\n >>> experiment.start_year\n 2015\n >>> # How many experiments completed in the same year in which they started?\n >>> Experiment.objects.filter(start_datetime__year=Extract(\"end_datetime\",\n \"year\")).count()\n 1\n *\b**\b**\b* D\bDa\bat\bte\beF\bFi\bie\bel\bld\bd e\bex\bxt\btr\bra\bac\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ExtractYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'year'\n- c\bcl\bla\bas\bss\bs ExtractIsoYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractIsoYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the ISO-8601 week-numbering year.\n lookup_name = 'iso_year'\n- c\bcl\bla\bas\bss\bs ExtractMonth(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractMonth(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'month'\n- c\bcl\bla\bas\bss\bs ExtractDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'day'\n- c\bcl\bla\bas\bss\bs ExtractWeekDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractWeekDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'week_day'\n- c\bcl\bla\bas\bss\bs ExtractIsoWeekDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractIsoWeekDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the ISO-8601 week day with day 1 being Monday and day 7 being\n Sunday.\n lookup_name = 'iso_week_day'\n- c\bcl\bla\bas\bss\bs ExtractWeek(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractWeek(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'week'\n- c\bcl\bla\bas\bss\bs ExtractQuarter(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractQuarter(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'quarter'\n These are logically equivalent to Extract('date_field', lookup_name). Each\n class is also a Transform registered on DateField and DateTimeField as __\n (lookup_name), e.g. __year.\n Since DateFields don\u2019t have a time component, only Extract subclasses that deal\n with date-parts can be used with DateField:\n >>> from datetime import datetime, timezone\n@@ -287,19 +287,19 @@\n ... end_date__year=ExtractYear(\"start_date\")\n ... )\n {'year': 2015, 'isoyear': 2015, 'quarter': 2, 'month': 6, 'week': 25,\n 'day': 15, 'weekday': 2, 'isoweekday': 1}\n *\b**\b**\b* D\bDa\bat\bte\beT\bTi\bim\bme\beF\bFi\bie\bel\bld\bd e\bex\bxt\btr\bra\bac\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b*\n In addition to the following, all extracts for DateField listed above may also\n be used on DateTimeFields .\n- c\bcl\bla\bas\bss\bs ExtractHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'hour'\n- c\bcl\bla\bas\bss\bs ExtractMinute(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractMinute(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'minute'\n- c\bcl\bla\bas\bss\bs ExtractSecond(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExtractSecond(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'second'\n These are logically equivalent to Extract('datetime_field', lookup_name). Each\n class is also a Transform registered on DateTimeField as __(lookup_name), e.g.\n __minute.\n DateTimeField examples:\n >>> from datetime import datetime, timezone\n >>> from django.db.models.functions import (\n@@ -381,15 +381,15 @@\n ... isoweekday=ExtractIsoWeekDay(\"start_datetime\", tzinfo=melb),\n ... hour=ExtractHour(\"start_datetime\", tzinfo=melb),\n ... ).values(\"day\", \"weekday\", \"isoweekday\", \"hour\").get(\n ... end_datetime__year=ExtractYear(\"start_datetime\"),\n ... )\n {'day': 16, 'weekday': 3, 'isoweekday': 2, 'hour': 9}\n *\b**\b**\b**\b* N\bNo\bow\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Now_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Now_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the database server\u2019s current date and time when the query is executed,\n typically using the SQL CURRENT_TIMESTAMP.\n Usage example:\n >>> from django.db.models.functions import Now\n >>> Article.objects.filter(published__lte=Now())\n ]>\n PostgreSQL considerations\n@@ -401,48 +401,48 @@\n On Oracle, the SQL LOCALTIMESTAMP is used to avoid issues with casting\n CURRENT_TIMESTAMP to DateTimeField.\n Changed in Django 5.0:\n In older versions, the SQL CURRENT_TIMESTAMP was used on Oracle instead of\n LOCALTIMESTAMP.\n *\b**\b**\b**\b* T\bTr\bru\bun\bnc\bc_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs Trunc(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, k\bki\bin\bnd\bd, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Truncates a date up to a significant component.\n When you only care if something happened in a particular year, hour, or day,\n but not the exact second, then Trunc (and its subclasses) can be useful to\n filter or aggregate your data. For example, you can use Trunc to calculate the\n number of sales per day.\n Trunc takes a single expression, representing a DateField, TimeField, or\n DateTimeField, a kind representing a date or time part, and an output_field\n that\u2019s either DateTimeField(), TimeField(), or DateField(). It returns a\n datetime, date, or time depending on output_field, with fields up to kind set\n to their minimum value. If output_field is omitted, it will default to the\n output_field of expression. A tzinfo subclass, usually provided by _\bz_\bo_\bn_\be_\bi_\bn_\bf_\bo,\n can be passed to truncate a value in a specific timezone.\n Given the datetime 2015-06-15 14:30:50.000321+00:00, the built-in kinds return:\n- * \u201cyear\u201d: 2015-01-01 00:00:00+00:00\n- * \u201cquarter\u201d: 2015-04-01 00:00:00+00:00\n- * \u201cmonth\u201d: 2015-06-01 00:00:00+00:00\n- * \u201cweek\u201d: 2015-06-15 00:00:00+00:00\n- * \u201cday\u201d: 2015-06-15 00:00:00+00:00\n- * \u201chour\u201d: 2015-06-15 14:00:00+00:00\n- * \u201cminute\u201d: 2015-06-15 14:30:00+00:00\n- * \u201csecond\u201d: 2015-06-15 14:30:50+00:00\n+ * \u00abyear\u00bb: 2015-01-01 00:00:00+00:00\n+ * \u00abquarter\u00bb: 2015-04-01 00:00:00+00:00\n+ * \u00abmonth\u00bb: 2015-06-01 00:00:00+00:00\n+ * \u00abweek\u00bb: 2015-06-15 00:00:00+00:00\n+ * \u00abday\u00bb: 2015-06-15 00:00:00+00:00\n+ * \u00abhour\u00bb: 2015-06-15 14:00:00+00:00\n+ * \u00abminute\u00bb: 2015-06-15 14:30:00+00:00\n+ * \u00absecond\u00bb: 2015-06-15 14:30:50+00:00\n If a different timezone like Australia/Melbourne is active in Django, then the\n datetime is converted to the new timezone before the value is truncated. The\n timezone offset for Melbourne in the example date above is +10:00. The values\n returned when this timezone is active will be:\n- * \u201cyear\u201d: 2015-01-01 00:00:00+11:00\n- * \u201cquarter\u201d: 2015-04-01 00:00:00+10:00\n- * \u201cmonth\u201d: 2015-06-01 00:00:00+10:00\n- * \u201cweek\u201d: 2015-06-16 00:00:00+10:00\n- * \u201cday\u201d: 2015-06-16 00:00:00+10:00\n- * \u201chour\u201d: 2015-06-16 00:00:00+10:00\n- * \u201cminute\u201d: 2015-06-16 00:30:00+10:00\n- * \u201csecond\u201d: 2015-06-16 00:30:50+10:00\n+ * \u00abyear\u00bb: 2015-01-01 00:00:00+11:00\n+ * \u00abquarter\u00bb: 2015-04-01 00:00:00+10:00\n+ * \u00abmonth\u00bb: 2015-06-01 00:00:00+10:00\n+ * \u00abweek\u00bb: 2015-06-16 00:00:00+10:00\n+ * \u00abday\u00bb: 2015-06-16 00:00:00+10:00\n+ * \u00abhour\u00bb: 2015-06-16 00:00:00+10:00\n+ * \u00abminute\u00bb: 2015-06-16 00:30:00+10:00\n+ * \u00absecond\u00bb: 2015-06-16 00:30:50+10:00\n The year has an offset of +11:00 because the result transitioned into daylight\n saving time.\n Each kind above has a corresponding Trunc subclass (listed below) that should\n typically be used instead of the more verbose equivalent, e.g. use TruncYear\n (...) rather than Trunc(..., kind='year').\n The subclasses are all defined as transforms, but they aren\u2019t registered with\n any fields, because the lookup names are already reserved by the Extract\n@@ -475,24 +475,26 @@\n ... ).filter(start_day=datetime(2015, 6, 15))\n >>> for exp in experiments:\n ... print(exp.start_datetime)\n ...\n 2015-06-15 14:30:50.000321\n 2015-06-15 14:40:02.000123\n *\b**\b**\b* D\bDa\bat\bte\beF\bFi\bie\bel\bld\bd t\btr\bru\bun\bnc\bca\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TruncYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncYear(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'year'\n c\bcl\bla\bas\bss\bs TruncMonth(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'month'\n- c\bcl\bla\bas\bss\bs TruncWeek(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncWeek(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Truncates to midnight on the Monday of the week.\n kind = 'week'\n c\bcl\bla\bas\bss\bs TruncQuarter(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'quarter'\n These are logically equivalent to Trunc('date_field', kind). They truncate all\n parts of the date up to kind which allows grouping or filtering dates with less\n precision. expression can have an output_field of either DateField or\n DateTimeField.\n Since DateFields don\u2019t have a time component, only Trunc subclasses that deal\n with date-parts can be used with DateField:\n@@ -527,35 +529,37 @@\n >>> for exp in experiments_per_month:\n ... print(exp[\"month\"], exp[\"experiments\"])\n ...\n 2015-06-01 00:00:00+10:00 1\n 2016-01-01 00:00:00+11:00 1\n 2014-06-01 00:00:00+10:00 1\n *\b**\b**\b* D\bDa\bat\bte\beT\bTi\bim\bme\beF\bFi\bie\bel\bld\bd t\btr\bru\bun\bnc\bca\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TruncDate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncDate(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'date'\n output_field = DateField()\n TruncDate casts expression to a date rather than using the built-in SQL\n truncate function. It\u2019s also registered as a transform on DateTimeField as\n __date.\n- c\bcl\bla\bas\bss\bs TruncTime(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncTime(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n lookup_name = 'time'\n output_field = TimeField()\n TruncTime casts expression to a time rather than using the built-in SQL\n truncate function. It\u2019s also registered as a transform on DateTimeField as\n __time.\n- c\bcl\bla\bas\bss\bs TruncDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncDay(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'day'\n- c\bcl\bla\bas\bss\bs TruncHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TruncHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'hour'\n c\bcl\bla\bas\bss\bs TruncMinute(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'minute'\n c\bcl\bla\bas\bss\bs TruncSecond(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n kind = 'second'\n These are logically equivalent to Trunc('datetime_field', kind). They truncate\n all parts of the date up to kind and allow grouping or filtering datetimes with\n less precision. expression must have an output_field of DateTimeField.\n Usage example:\n >>> from datetime import date, datetime, timezone\n >>> from django.db.models import Count\n@@ -583,21 +587,22 @@\n 'hour': datetime.datetime(2014, 6, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo\n ('Australia/Melbourne')),\n 'minute': 'minute': datetime.datetime(2014, 6, 15, 14, 30,\n tzinfo=timezone.utc),\n 'second': datetime.datetime(2014, 6, 15, 14, 30, 50, tzinfo=timezone.utc)\n }\n *\b**\b**\b* T\bTi\bim\bme\beF\bFi\bie\bel\bld\bd t\btr\bru\bun\bnc\bca\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TruncHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]\n+ c\bcl\bla\bas\bss\bs TruncHour(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]\n kind = 'hour'\n c\bcl\bla\bas\bss\bs TruncMinute(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]\n kind = 'minute'\n c\bcl\bla\bas\bss\bs TruncSecond(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]\n kind = 'second'\n These are logically equivalent to Trunc('time_field', kind). They truncate all\n parts of the time up to kind which allows grouping or filtering times with less\n precision. expression can have an output_field of either TimeField or\n DateTimeField.\n Since TimeFields don\u2019t have a date component, only Trunc subclasses that deal\n with time-parts can be used with TimeField:\n@@ -639,30 +644,30 @@\n 2016-01-01 04:00:00+11:00 1\n *\b**\b**\b**\b**\b* M\bMa\bat\bth\bh F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n We\u2019ll be using the following model in math function examples:\n class Vector(models.Model):\n x = models.FloatField()\n y = models.FloatField()\n *\b**\b**\b**\b* A\bAb\bbs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Abs(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Abs(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the absolute value of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Abs\n >>> Vector.objects.create(x=-0.5, y=1.1)\n >>> vector = Vector.objects.annotate(x_abs=Abs(\"x\"), y_abs=Abs(\"y\")).get()\n >>> vector.x_abs, vector.y_abs\n (0.5, 1.1)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Abs\n >>> FloatField.register_lookup(Abs)\n >>> # Get vectors inside the unit cube\n >>> vectors = Vector.objects.filter(x__abs__lt=1, y__abs__lt=1)\n *\b**\b**\b**\b* A\bAC\bCo\bos\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ACos(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ACos(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the arccosine of a numeric field or expression. The expression value\n must be within the range -1 to 1.\n Usage example:\n >>> from django.db.models.functions import ACos\n >>> Vector.objects.create(x=0.5, y=-0.9)\n >>> vector = Vector.objects.annotate(x_acos=ACos(\"x\"), y_acos=ACos(\"y\")).get()\n >>> vector.x_acos, vector.y_acos\n@@ -670,15 +675,15 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import ACos\n >>> FloatField.register_lookup(ACos)\n >>> # Get vectors whose arccosine is less than 1\n >>> vectors = Vector.objects.filter(x__acos__lt=1, y__acos__lt=1)\n *\b**\b**\b**\b* A\bAS\bSi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ASin(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ASin(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the arcsine of a numeric field or expression. The expression value must\n be in the range -1 to 1.\n Usage example:\n >>> from django.db.models.functions import ASin\n >>> Vector.objects.create(x=0, y=1)\n >>> vector = Vector.objects.annotate(x_asin=ASin(\"x\"), y_asin=ASin(\"y\")).get()\n >>> vector.x_asin, vector.y_asin\n@@ -686,39 +691,39 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import ASin\n >>> FloatField.register_lookup(ASin)\n >>> # Get vectors whose arcsine is less than 1\n >>> vectors = Vector.objects.filter(x__asin__lt=1, y__asin__lt=1)\n *\b**\b**\b**\b* A\bAT\bTa\ban\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ATan(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ATan(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the arctangent of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import ATan\n >>> Vector.objects.create(x=3.12, y=6.987)\n >>> vector = Vector.objects.annotate(x_atan=ATan(\"x\"), y_atan=ATan(\"y\")).get()\n >>> vector.x_atan, vector.y_atan\n (1.2606282660069106, 1.428638798133829)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import ATan\n >>> FloatField.register_lookup(ATan)\n >>> # Get vectors whose arctangent is less than 2\n >>> vectors = Vector.objects.filter(x__atan__lt=2, y__atan__lt=2)\n *\b**\b**\b**\b* A\bAT\bTa\ban\bn2\b2_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ATan2(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ATan2(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the arctangent of expression1 / expression2.\n Usage example:\n >>> from django.db.models.functions import ATan2\n >>> Vector.objects.create(x=2.5, y=1.9)\n >>> vector = Vector.objects.annotate(atan2=ATan2(\"x\", \"y\")).get()\n >>> vector.atan2\n 0.9209258773829491\n *\b**\b**\b**\b* C\bCe\bei\bil\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Ceil(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Ceil(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the smallest integer greater than or equal to a numeric field or\n expression.\n Usage example:\n >>> from django.db.models.functions import Ceil\n >>> Vector.objects.create(x=3.12, y=7.0)\n >>> vector = Vector.objects.annotate(x_ceil=Ceil(\"x\"), y_ceil=Ceil(\"y\")).get()\n >>> vector.x_ceil, vector.y_ceil\n@@ -726,60 +731,60 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Ceil\n >>> FloatField.register_lookup(Ceil)\n >>> # Get vectors whose ceil is less than 10\n >>> vectors = Vector.objects.filter(x__ceil__lt=10, y__ceil__lt=10)\n *\b**\b**\b**\b* C\bCo\bos\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Cos(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Cos(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the cosine of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Cos\n >>> Vector.objects.create(x=-8.0, y=3.1415926)\n >>> vector = Vector.objects.annotate(x_cos=Cos(\"x\"), y_cos=Cos(\"y\")).get()\n >>> vector.x_cos, vector.y_cos\n (-0.14550003380861354, -0.9999999999999986)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Cos\n >>> FloatField.register_lookup(Cos)\n >>> # Get vectors whose cosine is less than 0.5\n >>> vectors = Vector.objects.filter(x__cos__lt=0.5, y__cos__lt=0.5)\n *\b**\b**\b**\b* C\bCo\bot\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Cot(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Cot(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the cotangent of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Cot\n >>> Vector.objects.create(x=12.0, y=1.0)\n >>> vector = Vector.objects.annotate(x_cot=Cot(\"x\"), y_cot=Cot(\"y\")).get()\n >>> vector.x_cot, vector.y_cot\n (-1.5726734063976826, 0.642092615934331)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Cot\n >>> FloatField.register_lookup(Cot)\n >>> # Get vectors whose cotangent is less than 1\n >>> vectors = Vector.objects.filter(x__cot__lt=1, y__cot__lt=1)\n *\b**\b**\b**\b* D\bDe\beg\bgr\bre\bee\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Degrees(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Degrees(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts a numeric field or expression from radians to degrees.\n Usage example:\n >>> from django.db.models.functions import Degrees\n >>> Vector.objects.create(x=-1.57, y=3.14)\n >>> vector = Vector.objects.annotate(x_d=Degrees(\"x\"), y_d=Degrees(\"y\")).get()\n >>> vector.x_d, vector.y_d\n (-89.95437383553924, 179.9087476710785)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Degrees\n >>> FloatField.register_lookup(Degrees)\n >>> # Get vectors whose degrees are less than 360\n >>> vectors = Vector.objects.filter(x__degrees__lt=360, y__degrees__lt=360)\n *\b**\b**\b**\b* E\bEx\bxp\bp_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Exp(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Exp(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of e (the natural logarithm base) raised to the power of a\n numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Exp\n >>> Vector.objects.create(x=5.4, y=-2.0)\n >>> vector = Vector.objects.annotate(x_exp=Exp(\"x\"), y_exp=Exp(\"y\")).get()\n >>> vector.x_exp, vector.y_exp\n@@ -787,15 +792,15 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Exp\n >>> FloatField.register_lookup(Exp)\n >>> # Get vectors whose exp() is greater than 10\n >>> vectors = Vector.objects.filter(x__exp__gt=10, y__exp__gt=10)\n *\b**\b**\b**\b* F\bFl\blo\boo\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Floor(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Floor(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the largest integer value not greater than a numeric field or\n expression.\n Usage example:\n >>> from django.db.models.functions import Floor\n >>> Vector.objects.create(x=5.4, y=-2.3)\n >>> vector = Vector.objects.annotate(x_floor=Floor(\"x\"), y_floor=Floor\n (\"y\")).get()\n@@ -804,81 +809,81 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Floor\n >>> FloatField.register_lookup(Floor)\n >>> # Get vectors whose floor() is greater than 10\n >>> vectors = Vector.objects.filter(x__floor__gt=10, y__floor__gt=10)\n *\b**\b**\b**\b* L\bLn\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Ln(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Ln(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the natural logarithm a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Ln\n >>> Vector.objects.create(x=5.4, y=233.0)\n >>> vector = Vector.objects.annotate(x_ln=Ln(\"x\"), y_ln=Ln(\"y\")).get()\n >>> vector.x_ln, vector.y_ln\n (1.6863989535702288, 5.4510384535657)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Ln\n >>> FloatField.register_lookup(Ln)\n >>> # Get vectors whose value greater than e\n >>> vectors = Vector.objects.filter(x__ln__gt=1, y__ln__gt=1)\n *\b**\b**\b**\b* L\bLo\bog\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Log(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Log(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts two numeric fields or expressions and returns the logarithm of the\n second to base of the first.\n Usage example:\n >>> from django.db.models.functions import Log\n >>> Vector.objects.create(x=2.0, y=4.0)\n >>> vector = Vector.objects.annotate(log=Log(\"x\", \"y\")).get()\n >>> vector.log\n 2.0\n *\b**\b**\b**\b* M\bMo\bod\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Mod(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Mod(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts two numeric fields or expressions and returns the remainder of the\n first divided by the second (modulo operation).\n Usage example:\n >>> from django.db.models.functions import Mod\n >>> Vector.objects.create(x=5.4, y=2.3)\n >>> vector = Vector.objects.annotate(mod=Mod(\"x\", \"y\")).get()\n >>> vector.mod\n 0.8\n *\b**\b**\b**\b* P\bPi\bi_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Pi(*\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Pi(*\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the mathematical constant \u03c0.\n *\b**\b**\b**\b* P\bPo\bow\bwe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Power(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Power(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn1\b1, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn2\b2, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts two numeric fields or expressions and returns the value of the first\n raised to the power of the second.\n Usage example:\n >>> from django.db.models.functions import Power\n >>> Vector.objects.create(x=2, y=-2)\n >>> vector = Vector.objects.annotate(power=Power(\"x\", \"y\")).get()\n >>> vector.power\n 0.25\n *\b**\b**\b**\b* R\bRa\bad\bdi\bia\ban\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Radians(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Radians(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts a numeric field or expression from degrees to radians.\n Usage example:\n >>> from django.db.models.functions import Radians\n >>> Vector.objects.create(x=-90, y=180)\n >>> vector = Vector.objects.annotate(x_r=Radians(\"x\"), y_r=Radians(\"y\")).get()\n >>> vector.x_r, vector.y_r\n (-1.5707963267948966, 3.141592653589793)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Radians\n >>> FloatField.register_lookup(Radians)\n >>> # Get vectors whose radians are less than 1\n >>> vectors = Vector.objects.filter(x__radians__lt=1, y__radians__lt=1)\n *\b**\b**\b**\b* R\bRa\ban\bnd\bdo\bom\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Random(*\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Random(*\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a random value in the range 0.0 \u2264 x < 1.0.\n *\b**\b**\b**\b* R\bRo\bou\bun\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Round(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Round(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpr\bre\bec\bci\bis\bsi\bio\bon\bn=\b=0\b0, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Rounds a numeric field or expression to precision (must be an integer) decimal\n places. By default, it rounds to the nearest integer. Whether half values are\n rounded up or down depends on the database.\n Usage example:\n >>> from django.db.models.functions import Round\n >>> Vector.objects.create(x=5.4, y=-2.37)\n >>> vector = Vector.objects.annotate(x_r=Round(\"x\"), y_r=Round(\"y\",\n@@ -888,60 +893,60 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Round\n >>> FloatField.register_lookup(Round)\n >>> # Get vectors whose round() is less than 20\n >>> vectors = Vector.objects.filter(x__round__lt=20, y__round__lt=20)\n *\b**\b**\b**\b* S\bSi\big\bgn\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Sign(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Sign(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the sign (-1, 0, 1) of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Sign\n >>> Vector.objects.create(x=5.4, y=-2.3)\n >>> vector = Vector.objects.annotate(x_sign=Sign(\"x\"), y_sign=Sign(\"y\")).get()\n >>> vector.x_sign, vector.y_sign\n (1, -1)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Sign\n >>> FloatField.register_lookup(Sign)\n >>> # Get vectors whose signs of components are less than 0.\n >>> vectors = Vector.objects.filter(x__sign__lt=0, y__sign__lt=0)\n *\b**\b**\b**\b* S\bSi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Sin(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Sin(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the sine of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Sin\n >>> Vector.objects.create(x=5.4, y=-2.3)\n >>> vector = Vector.objects.annotate(x_sin=Sin(\"x\"), y_sin=Sin(\"y\")).get()\n >>> vector.x_sin, vector.y_sin\n (-0.7727644875559871, -0.7457052121767203)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Sin\n >>> FloatField.register_lookup(Sin)\n >>> # Get vectors whose sin() is less than 0\n >>> vectors = Vector.objects.filter(x__sin__lt=0, y__sin__lt=0)\n *\b**\b**\b**\b* S\bSq\bqr\brt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Sqrt(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Sqrt(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the square root of a nonnegative numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Sqrt\n >>> Vector.objects.create(x=4.0, y=12.0)\n >>> vector = Vector.objects.annotate(x_sqrt=Sqrt(\"x\"), y_sqrt=Sqrt(\"y\")).get()\n >>> vector.x_sqrt, vector.y_sqrt\n (2.0, 3.46410)\n It can also be registered as a transform. For example:\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Sqrt\n >>> FloatField.register_lookup(Sqrt)\n >>> # Get vectors whose sqrt() is less than 5\n >>> vectors = Vector.objects.filter(x__sqrt__lt=5, y__sqrt__lt=5)\n *\b**\b**\b**\b* T\bTa\ban\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Tan(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Tan(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the tangent of a numeric field or expression.\n Usage example:\n >>> from django.db.models.functions import Tan\n >>> Vector.objects.create(x=0, y=12)\n >>> vector = Vector.objects.annotate(x_tan=Tan(\"x\"), y_tan=Tan(\"y\")).get()\n >>> vector.x_tan, vector.y_tan\n (0.0, -0.6358599286615808)\n@@ -949,28 +954,28 @@\n >>> from django.db.models import FloatField\n >>> from django.db.models.functions import Tan\n >>> FloatField.register_lookup(Tan)\n >>> # Get vectors whose tangent is less than 0\n >>> vectors = Vector.objects.filter(x__tan__lt=0, y__tan__lt=0)\n *\b**\b**\b**\b**\b* T\bTe\bex\bxt\bt f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCh\bhr\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Chr(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Chr(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a numeric field or expression and returns the text representation of\n the expression as a single character. It works the same as Python\u2019s _\bc_\bh_\br_\b(_\b)\n function.\n Like _\bL_\be_\bn_\bg_\bt_\bh, it can be registered as a transform on IntegerField. The default\n lookup name is chr.\n Usage example:\n >>> from django.db.models.functions import Chr\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.filter(name__startswith=Chr(ord(\"M\"))).get()\n >>> print(author.name)\n Margaret Smith\n *\b**\b**\b**\b* C\bCo\bon\bnc\bca\bat\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Concat(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Concat(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a list of at least two text fields or expressions and returns the\n concatenated text. Each argument must be of a text or char type. If you want to\n concatenate a TextField() with a CharField(), then be sure to tell Django that\n the output_field should be a TextField(). Specifying an output_field is also\n required when concatenating a Value as in the example below.\n This function will never have a null result. On backends where a null argument\n results in the entire expression being null, Django will ensure that each null\n@@ -983,24 +988,24 @@\n >>> author = Author.objects.annotate(\n ... screen_name=Concat(\"name\", V(\" (\"), \"goes_by\", V(\")\"),\n output_field=CharField())\n ... ).get()\n >>> print(author.screen_name)\n Margaret Smith (Maggie)\n *\b**\b**\b**\b* L\bLe\bef\bft\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Left(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Left(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the first length characters of the given text field or expression.\n Usage example:\n >>> from django.db.models.functions import Left\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(first_initial=Left(\"name\", 1)).get()\n >>> print(author.first_initial)\n M\n *\b**\b**\b**\b* L\bLe\ben\bng\bgt\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Length(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Length(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the number of characters\n the value has. If the expression is null, then the length will also be null.\n Usage example:\n >>> # Get the length of the name and goes_by fields\n >>> from django.db.models.functions import Length\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(\n@@ -1011,123 +1016,123 @@\n It can also be registered as a transform. For example:\n >>> from django.db.models import CharField\n >>> from django.db.models.functions import Length\n >>> CharField.register_lookup(Length)\n >>> # Get authors whose name is longer than 7 characters\n >>> authors = Author.objects.filter(name__length__gt=7)\n *\b**\b**\b**\b* L\bLo\bow\bwe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Lower(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Lower(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the lowercase\n representation.\n It can also be registered as a transform as described in _\bL_\be_\bn_\bg_\bt_\bh.\n Usage example:\n >>> from django.db.models.functions import Lower\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(name_lower=Lower(\"name\")).get()\n >>> print(author.name_lower)\n margaret smith\n *\b**\b**\b**\b* L\bLP\bPa\bad\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LPad(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, f\bfi\bil\bll\bl_\b_t\bte\bex\bxt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b' '\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LPad(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, f\bfi\bil\bll\bl_\b_t\bte\bex\bxt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b' '\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the given text field or expression padded on the left side\n with fill_text so that the resulting value is length characters long. The\n default fill_text is a space.\n Usage example:\n >>> from django.db.models import Value\n >>> from django.db.models.functions import LPad\n >>> Author.objects.create(name=\"John\", alias=\"j\")\n >>> Author.objects.update(name=LPad(\"name\", 8, Value(\"abc\")))\n 1\n >>> print(Author.objects.get(alias=\"j\").name)\n abcaJohn\n *\b**\b**\b**\b* L\bLT\bTr\bri\bim\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LTrim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LTrim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to _\bT_\br_\bi_\bm, but removes only leading spaces.\n *\b**\b**\b**\b* M\bMD\bD5\b5_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MD5(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MD5(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the MD5 hash of the\n string.\n It can also be registered as a transform as described in _\bL_\be_\bn_\bg_\bt_\bh.\n Usage example:\n >>> from django.db.models.functions import MD5\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(name_md5=MD5(\"name\")).get()\n >>> print(author.name_md5)\n 749fb689816b2db85f5b169c2055b247\n *\b**\b**\b**\b* O\bOr\brd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Ord(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Ord(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the Unicode code point\n value for the first character of that expression. It works similar to Python\u2019s\n _\bo_\br_\bd_\b(_\b) function, but an exception isn\u2019t raised if the expression is more than\n one character long.\n It can also be registered as a transform as described in _\bL_\be_\bn_\bg_\bt_\bh. The default\n lookup name is ord.\n Usage example:\n >>> from django.db.models.functions import Ord\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(name_code_point=Ord(\"name\")).get()\n >>> print(author.name_code_point)\n 77\n *\b**\b**\b**\b* R\bRe\bep\bpe\bea\bat\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Repeat(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnu\bum\bmb\bbe\ber\br, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Repeat(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnu\bum\bmb\bbe\ber\br, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the given text field or expression repeated number times.\n Usage example:\n >>> from django.db.models.functions import Repeat\n >>> Author.objects.create(name=\"John\", alias=\"j\")\n >>> Author.objects.update(name=Repeat(\"name\", 3))\n 1\n >>> print(Author.objects.get(alias=\"j\").name)\n JohnJohnJohn\n *\b**\b**\b**\b* R\bRe\bep\bpl\bla\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Replace(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\bte\bex\bxt\bt, r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b''\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Replace(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, t\bte\bex\bxt\bt, r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b''\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Replaces all occurrences of text with replacement in expression. The default\n replacement text is the empty string. The arguments to the function are case-\n sensitive.\n Usage example:\n >>> from django.db.models import Value\n >>> from django.db.models.functions import Replace\n >>> Author.objects.create(name=\"Margaret Johnson\")\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> Author.objects.update(name=Replace(\"name\", Value(\"Margaret\"), Value\n (\"Margareth\")))\n 2\n >>> Author.objects.values(\"name\")\n \n *\b**\b**\b**\b* R\bRe\bev\bve\ber\brs\bse\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Reverse(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Reverse(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the characters of that\n expression in reverse order.\n It can also be registered as a transform as described in _\bL_\be_\bn_\bg_\bt_\bh. The default\n lookup name is reverse.\n Usage example:\n >>> from django.db.models.functions import Reverse\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(backward=Reverse(\"name\")).get()\n >>> print(author.backward)\n htimS teragraM\n *\b**\b**\b**\b* R\bRi\big\bgh\bht\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Right(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Right(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the last length characters of the given text field or expression.\n Usage example:\n >>> from django.db.models.functions import Right\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(last_letter=Right(\"name\", 1)).get()\n >>> print(author.last_letter)\n h\n *\b**\b**\b**\b* R\bRP\bPa\bad\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RPad(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, f\bfi\bil\bll\bl_\b_t\bte\bex\bxt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b' '\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RPad(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, l\ble\ben\bng\bgt\bth\bh, f\bfi\bil\bll\bl_\b_t\bte\bex\bxt\bt=\b=V\bVa\bal\blu\bue\be(\b('\b' '\b')\b), *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to _\bL_\bP_\ba_\bd, but pads on the right side.\n *\b**\b**\b**\b* R\bRT\bTr\bri\bim\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RTrim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RTrim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to _\bT_\br_\bi_\bm, but removes only trailing spaces.\n *\b**\b**\b**\b* S\bSH\bHA\bA1\b1,\b, S\bSH\bHA\bA2\b22\b24\b4,\b, S\bSH\bHA\bA2\b25\b56\b6,\b, S\bSH\bHA\bA3\b38\b84\b4,\b, a\ban\bnd\bd S\bSH\bHA\bA5\b51\b12\b2_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SHA1(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs SHA224(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs SHA256(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs SHA384(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- c\bcl\bla\bas\bss\bs SHA512(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SHA1(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SHA224(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SHA256(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SHA384(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SHA512(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the particular hash of\n the string.\n They can also be registered as transforms as described in _\bL_\be_\bn_\bg_\bt_\bh.\n Usage example:\n >>> from django.db.models.functions import SHA1\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(name_sha1=SHA1(\"name\")).get()\n@@ -1135,15 +1140,15 @@\n b87efd8a6c991c390be5a68e8a7945a7851c7e5c\n PostgreSQL\n The _\bp_\bg_\bc_\br_\by_\bp_\bt_\bo_\b _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn must be installed. You can use the _\bC_\br_\by_\bp_\bt_\bo_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n migration operation to install it.\n Oracle\n Oracle doesn\u2019t support the SHA224 function.\n *\b**\b**\b**\b* S\bSt\btr\brI\bIn\bnd\bde\bex\bx_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs StrIndex(s\bst\btr\bri\bin\bng\bg, s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs StrIndex(s\bst\btr\bri\bin\bng\bg, s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a positive integer corresponding to the 1-indexed position of the first\n occurrence of substring inside string, or 0 if substring is not found.\n Usage example:\n >>> from django.db.models import Value as V\n >>> from django.db.models.functions import StrIndex\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> Author.objects.create(name=\"Smith, Margaret\")\n@@ -1153,120 +1158,120 @@\n ... ).get().smith_index\n 0\n >>> authors = Author.objects.annotate(smith_index=StrIndex(\"name\", V\n (\"Smith\"))).filter(\n ... smith_index__gt=0\n ... )\n , ]>\n-Warning\n+Avvertimento\n In MySQL, a database table\u2019s _\bc_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn determines whether string comparisons\n (such as the expression and substring of this function) are case-sensitive.\n Comparisons are case-insensitive by default.\n *\b**\b**\b**\b* S\bSu\bub\bbs\bst\btr\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Substr(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpo\bos\bs, l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Substr(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpo\bos\bs, l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a substring of length length from the field or expression starting at\n position pos. The position is 1-indexed, so the position must be greater than\n 0. If length is None, then the rest of the string will be returned.\n Usage example:\n >>> # Set the alias to the first 5 characters of the name as lowercase\n >>> from django.db.models.functions import Lower, Substr\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> Author.objects.update(alias=Lower(Substr(\"name\", 1, 5)))\n 1\n >>> print(Author.objects.get(name=\"Margaret Smith\").alias)\n marga\n *\b**\b**\b**\b* T\bTr\bri\bim\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Trim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Trim(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value of the given text field or expression with leading and\n trailing spaces removed.\n Usage example:\n >>> from django.db.models.functions import Trim\n >>> Author.objects.create(name=\" John \", alias=\"j\")\n >>> Author.objects.update(name=Trim(\"name\"))\n 1\n >>> print(Author.objects.get(alias=\"j\").name)\n John\n *\b**\b**\b**\b* U\bUp\bpp\bpe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Upper(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Upper(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Accepts a single text field or expression and returns the uppercase\n representation.\n It can also be registered as a transform as described in _\bL_\be_\bn_\bg_\bt_\bh.\n Usage example:\n >>> from django.db.models.functions import Upper\n >>> Author.objects.create(name=\"Margaret Smith\")\n >>> author = Author.objects.annotate(name_upper=Upper(\"name\")).get()\n >>> print(author.name_upper)\n MARGARET SMITH\n *\b**\b**\b**\b**\b* W\bWi\bin\bnd\bdo\bow\bw f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There are a number of functions to use in a _\bW_\bi_\bn_\bd_\bo_\bw expression for computing the\n rank of elements or the _\bN_\bt_\bi_\bl_\be of some rows.\n *\b**\b**\b**\b* C\bCu\bum\bme\beD\bDi\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CumeDist(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CumeDist(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Calculates the cumulative distribution of a value within a window or partition.\n The cumulative distribution is defined as the number of rows preceding or\n peered with the current row divided by the total number of rows in the frame.\n *\b**\b**\b**\b* D\bDe\ben\bns\bse\beR\bRa\ban\bnk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DenseRank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DenseRank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Equivalent to _\bR_\ba_\bn_\bk but does not have gaps.\n *\b**\b**\b**\b* F\bFi\bir\brs\bst\btV\bVa\bal\blu\bue\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FirstValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FirstValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the value evaluated at the row that\u2019s the first row of the window\n frame, or None if no such value exists.\n *\b**\b**\b**\b* L\bLa\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Lag(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bof\bff\bfs\bse\bet\bt=\b=1\b1, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Lag(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bof\bff\bfs\bse\bet\bt=\b=1\b1, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Calculates the value offset by offset, and if no row exists there, returns\n default.\n default must have the same type as the expression, however, this is only\n validated by the database and not in Python.\n MariaDB and default\n MariaDB _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt the default parameter.\n *\b**\b**\b**\b* L\bLa\bas\bst\btV\bVa\bal\blu\bue\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs LastValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs LastValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Comparable to _\bF_\bi_\br_\bs_\bt_\bV_\ba_\bl_\bu_\be, it calculates the last value in a given frame clause.\n *\b**\b**\b**\b* L\bLe\bea\bad\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Lead(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bof\bff\bfs\bse\bet\bt=\b=1\b1, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Lead(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bof\bff\bfs\bse\bet\bt=\b=1\b1, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Calculates the leading value in a given _\bf_\br_\ba_\bm_\be. Both offset and default are\n evaluated with respect to the current row.\n default must have the same type as the expression, however, this is only\n validated by the database and not in Python.\n MariaDB and default\n MariaDB _\bd_\bo_\be_\bs_\bn_\b\u2019_\bt_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt the default parameter.\n *\b**\b**\b**\b* N\bNt\bth\bhV\bVa\bal\blu\bue\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs NthValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnt\bth\bh=\b=1\b1, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs NthValue(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, n\bnt\bth\bh=\b=1\b1, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Computes the row relative to the offset nth (must be a positive value) within\n the window. Returns None if no row exists.\n Some databases may handle a nonexistent nth-value differently. For example,\n Oracle returns an empty string rather than None for character-based\n expressions. Django doesn\u2019t do any conversions in these cases.\n *\b**\b**\b**\b* N\bNt\bti\bil\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Ntile(n\bnu\bum\bm_\b_b\bbu\buc\bck\bke\bet\bts\bs=\b=1\b1, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Ntile(n\bnu\bum\bm_\b_b\bbu\buc\bck\bke\bet\bts\bs=\b=1\b1, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Calculates a partition for each of the rows in the frame clause, distributing\n numbers as evenly as possible between 1 and num_buckets. If the rows don\u2019t\n divide evenly into a number of buckets, one or more buckets will be represented\n more frequently.\n *\b**\b**\b**\b* P\bPe\ber\brc\bce\ben\bnt\btR\bRa\ban\bnk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PercentRank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PercentRank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Computes the relative rank of the rows in the frame clause. This computation is\n equivalent to evaluating:\n (rank - 1) / (total rows - 1)\n The following table explains the calculation for the relative rank of a row:\n R\bRo\bow\bw #\b# V\bVa\bal\blu\bue\be R\bRa\ban\bnk\bk C\bCa\bal\blc\bcu\bul\bla\bat\bti\bio\bon\bn R\bRe\bel\bla\bat\bti\biv\bve\be R\bRa\ban\bnk\bk\n 1 15 1 (1-1)/(7-1) 0.0000\n 2 20 2 (2-1)/(7-1) 0.1666\n 3 20 2 (2-1)/(7-1) 0.1666\n 4 20 2 (2-1)/(7-1) 0.1666\n 5 30 5 (5-1)/(7-1) 0.6666\n 6 30 5 (5-1)/(7-1) 0.6666\n 7 40 7 (7-1)/(7-1) 1.0000\n *\b**\b**\b**\b* R\bRa\ban\bnk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Rank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Rank(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Comparable to _\bR_\bo_\bw_\bN_\bu_\bm_\bb_\be_\br, this function ranks rows in the window. The computed\n rank contains gaps. Use _\bD_\be_\bn_\bs_\be_\bR_\ba_\bn_\bk to compute rank without gaps.\n *\b**\b**\b**\b* R\bRo\bow\bwN\bNu\bum\bmb\bbe\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RowNumber(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RowNumber(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Computes the row number according to the ordering of either the frame clause or\n the ordering of the whole query if there is no partitioning of the _\bw_\bi_\bn_\bd_\bo_\bw\n _\bf_\br_\ba_\bm_\be.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n o _\bC_\bo_\bm_\bp_\ba_\br_\bi_\bs_\bo_\bn_\b _\ba_\bn_\bd_\b _\bc_\bo_\bn_\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bC_\ba_\bs_\bt\n@@ -1338,16 +1343,16 @@\n # _\bL_\ba_\bs_\bt_\bV_\ba_\bl_\bu_\be\n # _\bL_\be_\ba_\bd\n # _\bN_\bt_\bh_\bV_\ba_\bl_\bu_\be\n # _\bN_\bt_\bi_\bl_\be\n # _\bP_\be_\br_\bc_\be_\bn_\bt_\bR_\ba_\bn_\bk\n # _\bR_\ba_\bn_\bk\n # _\bR_\bo_\bw_\bN_\bu_\bm_\bb_\be_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/expressions.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/expressions.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Query Expressions — Django 5.1.4 documentation\n+ Query Expressions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -170,24 +171,24 @@\n ... )\n
    \n
    \n \n
    \n

    Built-in Expressions\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    These expressions are defined in django.db.models.expressions and\n django.db.models.aggregates, but for convenience they\u2019re available and\n usually imported from django.db.models.

    \n
    \n
    \n

    F() expressions\u00b6

    \n
    \n
    \n-class F[source]\u00b6
    \n+class F[sorgente]\u00b6\n
    \n \n

    An F() object represents the value of a model field, transformed value of a\n model field, or annotated column. It makes it possible to refer to model field\n values and perform database operations using them without actually having to\n pull them out of the database into Python memory.

    \n

    Instead, Django uses the F() object to generate an SQL expression that\n@@ -381,15 +382,15 @@\n LOWER("db_table"."field") as "field_lower"\n

    \n
    \n

    See Database Functions for a list of built-in database functions.

    \n

    The Func API is as follows:

    \n
    \n
    \n-class Func(*expressions, **extra)[source]\u00b6
    \n+class Func(*expressions, **extra)[sorgente]\u00b6\n
    \n
    \n function\u00b6
    \n

    A class attribute describing the function that will be generated.\n Specifically, the function will be interpolated as the function\n placeholder within template. Defaults to None.

    \n
    \n@@ -421,15 +422,15 @@\n accepts. If this attribute is set and the function is called with a\n different number of expressions, TypeError will be raised. Defaults\n to None.

    \n
    \n \n
    \n
    \n-as_sql(compiler, connection, function=None, template=None, arg_joiner=None, **extra_context)[source]\u00b6
    \n+as_sql(compiler, connection, function=None, template=None, arg_joiner=None, **extra_context)[sorgente]\u00b6\n

    Generates the SQL fragment for the database function. Returns a tuple\n (sql, params), where sql is the SQL string, and params is\n the list or tuple of query parameters.

    \n

    The as_vendor() methods should use the function, template,\n arg_joiner, and any other **extra_context parameters to\n customize the SQL as needed. For example:

    \n
    \n@@ -488,15 +489,15 @@\n managers_required=(Count("num_employees") / 4) + Count("num_managers")\n )\n
    \n
    \n

    The Aggregate API is as follows:

    \n
    \n
    \n-class Aggregate(*expressions, output_field=None, distinct=False, filter=None, default=None, **extra)[source]\u00b6
    \n+class Aggregate(*expressions, output_field=None, distinct=False, filter=None, default=None, **extra)[sorgente]\u00b6\n
    \n
    \n template\u00b6
    \n

    A class attribute, as a format string, that describes the SQL that is\n generated for this aggregate. Defaults to\n '%(function)s(%(distinct)s%(expressions)s)'.

    \n
    \n@@ -569,15 +570,15 @@\n
    \n
    \n \n
    \n

    Value() expressions\u00b6

    \n
    \n
    \n-class Value(value, output_field=None)[source]\u00b6
    \n+class Value(value, output_field=None)[sorgente]\u00b6\n
    \n \n

    A Value() object represents the smallest possible component of an\n expression: a simple value. When you need to represent the value of an integer,\n boolean, or string within an expression, you can wrap that value within a\n Value().

    \n

    You will rarely need to use Value() directly. When you write the expression\n@@ -594,15 +595,15 @@\n an instance of datetime.datetime as value defaults\n output_field to DateTimeField.

    \n
    \n
    \n

    ExpressionWrapper() expressions\u00b6

    \n
    \n
    \n-class ExpressionWrapper(expression, output_field)[source]\u00b6
    \n+class ExpressionWrapper(expression, output_field)[sorgente]\u00b6\n
    \n \n

    ExpressionWrapper surrounds another expression and provides access to\n properties, such as output_field, that may not be\n available on other expressions. ExpressionWrapper is necessary when using\n arithmetic on F() expressions with different types as described in\n Using F() with annotations.

    \n@@ -613,15 +614,15 @@\n else logic in queries. Django natively supports SQL CASE\n expressions. For more details see Conditional Expressions.

    \n
    \n
    \n

    Subquery() expressions\u00b6

    \n
    \n
    \n-class Subquery(queryset, output_field=None)[source]\u00b6
    \n+class Subquery(queryset, output_field=None)[sorgente]\u00b6\n
    \n \n

    You can add an explicit subquery to a QuerySet using the Subquery\n expression.

    \n

    For example, to annotate each post with the email address of the author of the\n newest comment on that post:

    \n
    >>> from django.db.models import OuterRef, Subquery\n@@ -635,25 +636,25 @@\n     FROM "comment" U0\n     WHERE U0."post_id" = ("post"."id")\n     ORDER BY U0."created_at" DESC LIMIT 1\n ) AS "newest_commenter_email" FROM "post"\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The examples in this section are designed to show how to force\n Django to execute a subquery. In some cases it may be possible to\n write an equivalent queryset that performs the same task more\n clearly or efficiently.

    \n
    \n
    \n

    Referencing columns from the outer queryset\u00b6

    \n
    \n
    \n-class OuterRef(field)[source]\u00b6
    \n+class OuterRef(field)[sorgente]\u00b6\n
    \n \n

    Use OuterRef when a queryset in a Subquery needs to refer to a field\n from the outer query or its transform. It acts like an F expression\n except that the check to see if it refers to a valid field isn\u2019t made until the\n outer queryset is resolved.

    \n

    Instances of OuterRef may be used in conjunction with nested instances\n@@ -693,15 +694,15 @@\n OuterRef cannot be resolved until the queryset is used within a\n Subquery.)

    \n
    \n
    \n

    Exists() subqueries\u00b6

    \n
    \n
    \n-class Exists(queryset)[source]\u00b6
    \n+class Exists(queryset)[sorgente]\u00b6\n
    \n \n

    Exists is a Subquery subclass that uses an SQL EXISTS statement. In\n many cases it will perform better than a subquery since the database is able to\n stop evaluation of the subquery when a first matching row is found.

    \n

    For example, to annotate each post with whether or not it has a comment from\n within the last day:

    \n@@ -770,15 +771,15 @@\n there is an OuterRef, this will not be possible to resolve).

    \n
    \n
    \n
    \n

    Raw SQL expressions\u00b6

    \n
    \n
    \n-class RawSQL(sql, params, output_field=None)[source]\u00b6
    \n+class RawSQL(sql, params, output_field=None)[sorgente]\u00b6\n
    \n \n

    Sometimes database expressions can\u2019t easily express a complex WHERE clause.\n In these edge cases, use the RawSQL expression. For example:

    \n
    >>> from django.db.models.expressions import RawSQL\n >>> queryset.annotate(val=RawSQL("select col from sometable where othercol = %s", (param,)))\n 
    \n@@ -787,15 +788,15 @@\n you\u2019re explicitly writing SQL code) and violate the DRY principle, so you\n should avoid them if possible.

    \n

    RawSQL expressions can also be used as the target of __in filters:

    \n
    >>> queryset.filter(id__in=RawSQL("select id from sometable where col = %s", (param,)))\n 
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    To protect against SQL injection attacks, you must escape any\n parameters that the user can control by using params. params is a\n required argument to force you to acknowledge that you\u2019re not interpolating\n your SQL with user-provided data.

    \n

    You also must not quote placeholders in the SQL string. This example is\n vulnerable to SQL injection because of the quotes around %s:

    \n
    RawSQL("select col from sometable where othercol = '%s'")  # unsafe!\n@@ -811,15 +812,15 @@\n by the group by, window functions operate on frames and\n partitions, and compute the result for each row.

    \n

    You can specify multiple windows in the same query which in Django ORM would be\n equivalent to including multiple expressions in a QuerySet.annotate() call. The ORM doesn\u2019t make use of named windows,\n instead they are part of the selected columns.

    \n
    \n
    \n-class Window(expression, partition_by=None, order_by=None, frame=None, output_field=None)[source]\u00b6
    \n+class Window(expression, partition_by=None, order_by=None, frame=None, output_field=None)[sorgente]\u00b6\n
    \n
    \n template\u00b6
    \n

    Defaults to %(expression)s OVER (%(window)s). If only the\n expression argument is provided, the window clause will be blank.

    \n
    \n \n@@ -908,15 +909,15 @@\n documentation for your database as needed.

    \n
    \n

    Frames\u00b6

    \n

    For a window frame, you can choose either a range-based sequence of rows or an\n ordinary sequence of rows.

    \n
    \n
    \n-class ValueRange(start=None, end=None, exclusion=None)[source]\u00b6
    \n+class ValueRange(start=None, end=None, exclusion=None)[sorgente]\u00b6\n
    \n
    \n frame_type\u00b6
    \n

    This attribute is set to 'RANGE'.

    \n
    \n \n

    PostgreSQL has limited support for ValueRange and only supports use of\n@@ -925,15 +926,15 @@\n

    \n Changed in Django 5.1:

    The exclusion argument was added.

    \n
    \n
    \n \n
    \n
    \n-class RowRange(start=None, end=None, exclusion=None)[source]\u00b6
    \n+class RowRange(start=None, end=None, exclusion=None)[sorgente]\u00b6\n
    \n
    \n frame_type\u00b6
    \n

    This attribute is set to 'ROWS'.

    \n
    \n \n
    \n@@ -943,15 +944,15 @@\n \n

    Both classes return SQL with the template:

    \n
    %(frame_type)s BETWEEN %(start)s AND %(end)s\n 
    \n
    \n
    \n
    \n-class WindowFrameExclusion[source]\u00b6
    \n+class WindowFrameExclusion[sorgente]\u00b6\n
    \n New in Django 5.1.
    \n
    \n
    \n CURRENT_ROW\u00b6
    \n
    \n \n@@ -1001,15 +1002,15 @@\n RANGE mode, the frame starts or ends at the first or last peer according to\n the ordering clause. Thus, RANGE CURRENT ROW evaluates the expression for\n rows which have the same value specified by the ordering. Because the template\n includes both the start and end points, this may be expressed with:

    \n
    ValueRange(start=0, end=0)\n 
    \n
    \n-

    If a movie\u2019s \u201cpeers\u201d are described as movies released by the same studio in the\n+

    If a movie\u2019s \u00abpeers\u00bb are described as movies released by the same studio in the\n same genre in the same year, this RowRange example annotates each movie\n with the average rating of a movie\u2019s two prior and two following peers:

    \n
    >>> from django.db.models import Avg, F, RowRange, Window\n >>> Movie.objects.annotate(\n ...     avg_rating=Window(\n ...         expression=Avg("rating"),\n ...         partition_by=[F("studio"), F("genre")],\n@@ -1054,15 +1055,15 @@\n but also expose a number of extra methods and attributes listed below. All\n query expressions must inherit from Expression() or a relevant\n subclass.

    \n

    When a query expression wraps another expression, it is responsible for\n calling the appropriate methods on the wrapped expression.

    \n
    \n
    \n-class Expression[source]\u00b6
    \n+class Expression[sorgente]\u00b6\n
    \n
    \n allowed_default\u00b6
    \n
    \n New in Django 5.0.
    \n

    Tells Django that this expression can be used in\n Field.db_default. Defaults to False.

    \n@@ -1453,37 +1454,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Lookup API reference

    \n+ title=\"capitolo precedente\">Lookup API reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Conditional Expressions

    \n+ title=\"capitolo successivo\">Conditional Expressions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* Q\bQu\bue\ber\bry\by E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Query expressions describe a value or a computation that can be used as part of\n an update, create, filter, order by, annotation, or aggregate. When an\n expression outputs a boolean value, it may be used directly in filters. There\n are a number of built-in expressions (documented below) that can be used to\n@@ -85,20 +85,20 @@\n # Lookup expressions can also be used directly in filters\n >>> Company.objects.filter(GreaterThan(F(\"num_employees\"), F(\"num_chairs\")))\n # or annotations.\n >>> Company.objects.annotate(\n ... need_chairs=GreaterThan(F(\"num_employees\"), F(\"num_chairs\")),\n ... )\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Note\n+Nota\n These expressions are defined in django.db.models.expressions and\n django.db.models.aggregates, but for convenience they\u2019re available and usually\n imported from _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs.\n *\b**\b**\b**\b* F\bF(\b()\b) e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs F_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs F_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n An F() object represents the value of a model field, transformed value of a\n model field, or annotated column. It makes it possible to refer to model field\n values and perform database operations using them without actually having to\n pull them out of the database into Python memory.\n Instead, Django uses the F() object to generate an SQL expression that\n describes the required operation at the database level.\n Let\u2019s try this with an example. Normally, one might do something like this:\n@@ -237,15 +237,15 @@\n But both cases will result in a queryset where each model is annotated with an\n extra attribute field_lower produced, roughly, from the following SQL:\n SELECT\n ...\n LOWER(\"db_table\".\"field\") as \"field_lower\"\n See _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs for a list of built-in database functions.\n The Func API is as follows:\n- c\bcl\bla\bas\bss\bs Func(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Func(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n function_\b\u00b6\n A class attribute describing the function that will be generated.\n Specifically, the function will be interpolated as the function\n placeholder within _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be. Defaults to None.\n template_\b\u00b6\n A class attribute, as a format string, that describes the SQL that\n is generated for this function. Defaults to '%(function)s(%\n@@ -260,15 +260,15 @@\n of expressions together. Defaults to ', '.\n arity_\b\u00b6\n A class attribute that denotes the number of arguments the function\n accepts. If this attribute is set and the function is called with a\n different number of expressions, TypeError will be raised. Defaults\n to None.\n as_sql(c\bco\bom\bmp\bpi\bil\ble\ber\br, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn, f\bfu\bun\bnc\bct\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, t\bte\bem\bmp\bpl\bla\bat\bte\be=\b=N\bNo\bon\bne\be,\n- a\bar\brg\bg_\b_j\bjo\boi\bin\bne\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba_\b_c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ a\bar\brg\bg_\b_j\bjo\boi\bin\bne\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba_\b_c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Generates the SQL fragment for the database function. Returns a\n tuple (sql, params), where sql is the SQL string, and params is the\n list or tuple of query parameters.\n The as_vendor() methods should use the function, template,\n arg_joiner, and any other **extra_context parameters to customize\n the SQL as needed. For example:\n django/db/models/functions.py_\b\u00b6\n@@ -313,15 +313,15 @@\n from django.db.models import Count\n \n Company.objects.annotate(\n managers_required=(Count(\"num_employees\") / 4) + Count(\"num_managers\")\n )\n The Aggregate API is as follows:\n c\bcl\bla\bas\bss\bs Aggregate(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be,\n- d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n template_\b\u00b6\n A class attribute, as a format string, that describes the SQL that\n is generated for this aggregate. Defaults to '%(function)s(%\n (distinct)s%(expressions)s)'.\n function_\b\u00b6\n A class attribute describing the aggregate function that will be\n generated. Specifically, the function will be interpolated as the\n@@ -364,15 +364,15 @@\n template = \"%(function)s(%(all_values)s%(expressions)s)\"\n allow_distinct = False\n \n def __init__(self, expression, all_values=False, **extra):\n super().__init__(expression, all_values=\"ALL \" if all_values else \"\",\n **extra)\n *\b**\b**\b**\b* V\bVa\bal\blu\bue\be(\b()\b) e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Value(v\bva\bal\blu\bue\be, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Value(v\bva\bal\blu\bue\be, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Value() object represents the smallest possible component of an expression: a\n simple value. When you need to represent the value of an integer, boolean, or\n string within an expression, you can wrap that value within a Value().\n You will rarely need to use Value() directly. When you write the expression F\n ('field') + 1, Django implicitly wraps the 1 in a Value(), allowing simple\n values to be used in more complex expressions. You will need to use Value()\n when you want to pass a string to an expression. Most expressions interpret a\n@@ -380,25 +380,25 @@\n The value argument describes the value to be included in the expression, such\n as 1, True, or None. Django knows how to convert these Python values into their\n corresponding database type.\n If no _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bf_\bi_\be_\bl_\bd is specified, it will be inferred from the type of the\n provided value for many common types. For example, passing an instance of\n _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be as value defaults output_field to _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd.\n *\b**\b**\b**\b* E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bnW\bWr\bra\bap\bpp\bpe\ber\br(\b()\b) e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ExpressionWrapper(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ExpressionWrapper(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n ExpressionWrapper surrounds another expression and provides access to\n properties, such as _\bo_\bu_\bt_\bp_\bu_\bt_\b__\bf_\bi_\be_\bl_\bd, that may not be available on other\n expressions. ExpressionWrapper is necessary when using arithmetic on F()\n expressions with different types as described in _\bU_\bs_\bi_\bn_\bg_\b _\bF_\b(_\b)_\b _\bw_\bi_\bt_\bh_\b _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\bi_\bo_\bn_\bs.\n *\b**\b**\b**\b* C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Conditional expressions allow you to use _\bi_\bf \u2026 _\be_\bl_\bi_\bf \u2026 _\be_\bl_\bs_\be logic in queries.\n Django natively supports SQL CASE expressions. For more details see _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl\n _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs.\n *\b**\b**\b**\b* S\bSu\bub\bbq\bqu\bue\ber\bry\by(\b()\b) e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Subquery(q\bqu\bue\ber\bry\bys\bse\bet\bt, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Subquery(q\bqu\bue\ber\bry\bys\bse\bet\bt, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n You can add an explicit subquery to a QuerySet using the Subquery expression.\n For example, to annotate each post with the email address of the author of the\n newest comment on that post:\n >>> from django.db.models import OuterRef, Subquery\n >>> newest = Comment.objects.filter(post=OuterRef(\"pk\")).order_by(\"-\n created_at\")\n >>> Post.objects.annotate(newest_commenter_email=Subquery(newest.values\n@@ -406,20 +406,20 @@\n On PostgreSQL, the SQL looks like:\n SELECT \"post\".\"id\", (\n SELECT U0.\"email\"\n FROM \"comment\" U0\n WHERE U0.\"post_id\" = (\"post\".\"id\")\n ORDER BY U0.\"created_at\" DESC LIMIT 1\n ) AS \"newest_commenter_email\" FROM \"post\"\n-Note\n+Nota\n The examples in this section are designed to show how to force Django to\n execute a subquery. In some cases it may be possible to write an equivalent\n queryset that performs the same task more clearly or efficiently.\n *\b**\b**\b* R\bRe\bef\bfe\ber\bre\ben\bnc\bci\bin\bng\bg c\bco\bol\blu\bum\bmn\bns\bs f\bfr\bro\bom\bm t\bth\bhe\be o\bou\but\bte\ber\br q\bqu\bue\ber\bry\bys\bse\bet\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs OuterRef(f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OuterRef(f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Use OuterRef when a queryset in a Subquery needs to refer to a field from the\n outer query or its transform. It acts like an _\bF expression except that the\n check to see if it refers to a valid field isn\u2019t made until the outer queryset\n is resolved.\n Instances of OuterRef may be used in conjunction with nested instances of\n Subquery to refer to a containing queryset that isn\u2019t the immediate parent. For\n example, this queryset would need to be within a nested pair of Subquery\n@@ -442,15 +442,15 @@\n >>> subquery = Subquery(newest.values(\"email\")[:1])\n >>> Post.objects.annotate(newest_commenter_email=subquery)\n In this case, the subquery must only return a single column a\ban\bnd\bd a single row:\n the email address of the most recently created comment.\n (Using _\bg_\be_\bt_\b(_\b) instead of a slice would fail because the OuterRef cannot be\n resolved until the queryset is used within a Subquery.)\n *\b**\b**\b* E\bEx\bxi\bis\bst\bts\bs(\b()\b) s\bsu\bub\bbq\bqu\bue\ber\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Exists(q\bqu\bue\ber\bry\bys\bse\bet\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Exists(q\bqu\bue\ber\bry\bys\bse\bet\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Exists is a Subquery subclass that uses an SQL EXISTS statement. In many cases\n it will perform better than a subquery since the database is able to stop\n evaluation of the subquery when a first matching row is found.\n For example, to annotate each post with whether or not it has a comment from\n within the last day:\n >>> from django.db.models import Exists, OuterRef\n >>> from datetime import timedelta\n@@ -500,27 +500,27 @@\n aggregation. The order in which these queryset methods are applied is\n important. In this case, since the subquery must be limited to a single column,\n values('total') is required.\n This is the only way to perform an aggregation within a Subquery, as using\n _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b(_\b) attempts to evaluate the queryset (and if there is an OuterRef,\n this will not be possible to resolve).\n *\b**\b**\b**\b* R\bRa\baw\bw S\bSQ\bQL\bL e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RawSQL(s\bsq\bql\bl, p\bpa\bar\bra\bam\bms\bs, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RawSQL(s\bsq\bql\bl, p\bpa\bar\bra\bam\bms\bs, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Sometimes database expressions can\u2019t easily express a complex WHERE clause. In\n these edge cases, use the RawSQL expression. For example:\n >>> from django.db.models.expressions import RawSQL\n >>> queryset.annotate(val=RawSQL(\"select col from sometable where othercol =\n %s\", (param,)))\n These extra lookups may not be portable to different database engines (because\n you\u2019re explicitly writing SQL code) and violate the DRY principle, so you\n should avoid them if possible.\n RawSQL expressions can also be used as the target of __in filters:\n >>> queryset.filter(id__in=RawSQL(\"select id from sometable where col = %s\",\n (param,)))\n-Warning\n+Avvertimento\n To protect against _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\ba_\bt_\bt_\ba_\bc_\bk_\bs, you must escape any parameters that\n the user can control by using params. params is a required argument to force\n you to acknowledge that you\u2019re not interpolating your SQL with user-provided\n data.\n You also must not quote placeholders in the SQL string. This example is\n vulnerable to SQL injection because of the quotes around %s:\n RawSQL(\"select col from sometable where othercol = '%s'\") # unsafe!\n@@ -531,15 +531,15 @@\n by the group by, window functions operate on _\bf_\br_\ba_\bm_\be_\bs and partitions, and compute\n the result for each row.\n You can specify multiple windows in the same query which in Django ORM would be\n equivalent to including multiple expressions in a _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\b(_\b) call. The\n ORM doesn\u2019t make use of named windows, instead they are part of the selected\n columns.\n c\bcl\bla\bas\bss\bs Window(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, p\bpa\bar\brt\bti\bit\bti\bio\bon\bn_\b_b\bby\by=\b=N\bNo\bon\bne\be, o\bor\brd\bde\ber\br_\b_b\bby\by=\b=N\bNo\bon\bne\be, f\bfr\bra\bam\bme\be=\b=N\bNo\bon\bne\be,\n- o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n template_\b\u00b6\n Defaults to %(expression)s OVER (%(window)s). If only the\n expression argument is provided, the window clause will be blank.\n The Window class is the main expression for an OVER clause.\n The expression argument is either a _\bw_\bi_\bn_\bd_\bo_\bw_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, an _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, or\n an expression that\u2019s compatible in a window clause.\n The partition_by argument accepts an expression or a sequence of expressions\n@@ -611,30 +611,30 @@\n support window expressions. Support for different window expression features\n varies among the different databases. For example, the options in _\ba_\bs_\bc_\b(_\b) and\n _\bd_\be_\bs_\bc_\b(_\b) may not be supported. Consult the documentation for your database as\n needed.\n *\b**\b**\b* F\bFr\bra\bam\bme\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n For a window frame, you can choose either a range-based sequence of rows or an\n ordinary sequence of rows.\n- c\bcl\bla\bas\bss\bs ValueRange(s\bst\bta\bar\brt\bt=\b=N\bNo\bon\bne\be, e\ben\bnd\bd=\b=N\bNo\bon\bne\be, e\bex\bxc\bcl\blu\bus\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ValueRange(s\bst\bta\bar\brt\bt=\b=N\bNo\bon\bne\be, e\ben\bnd\bd=\b=N\bNo\bon\bne\be, e\bex\bxc\bcl\blu\bus\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n frame_type_\b\u00b6\n This attribute is set to 'RANGE'.\n PostgreSQL has limited support for ValueRange and only supports use of\n the standard start and end points, such as CURRENT ROW and UNBOUNDED\n FOLLOWING.\n Changed in Django 5.1:\n The exclusion argument was added.\n- c\bcl\bla\bas\bss\bs RowRange(s\bst\bta\bar\brt\bt=\b=N\bNo\bon\bne\be, e\ben\bnd\bd=\b=N\bNo\bon\bne\be, e\bex\bxc\bcl\blu\bus\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RowRange(s\bst\bta\bar\brt\bt=\b=N\bNo\bon\bne\be, e\ben\bnd\bd=\b=N\bNo\bon\bne\be, e\bex\bxc\bcl\blu\bus\bsi\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n frame_type_\b\u00b6\n This attribute is set to 'ROWS'.\n Changed in Django 5.1:\n The exclusion argument was added.\n Both classes return SQL with the template:\n %(frame_type)s BETWEEN %(start)s AND %(end)s\n- c\bcl\bla\bas\bss\bs WindowFrameExclusion_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs WindowFrameExclusion_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n New in Django 5.1.\n CURRENT_ROW_\b\u00b6\n GROUP_\b\u00b6\n TIES_\b\u00b6\n NO_OTHERS_\b\u00b6\n The exclusion argument allows excluding rows (_\bC_\bU_\bR_\bR_\bE_\bN_\bT_\b__\bR_\bO_\bW), groups (_\bG_\bR_\bO_\bU_\bP), and\n ties (_\bT_\bI_\bE_\bS) from the window frames on supported databases:\n@@ -657,15 +657,15 @@\n There\u2019s a difference in what CURRENT ROW includes. When specified in ROWS mode,\n the frame starts or ends with the current row. When specified in RANGE mode,\n the frame starts or ends at the first or last peer according to the ordering\n clause. Thus, RANGE CURRENT ROW evaluates the expression for rows which have\n the same value specified by the ordering. Because the template includes both\n the start and end points, this may be expressed with:\n ValueRange(start=0, end=0)\n-If a movie\u2019s \u201cpeers\u201d are described as movies released by the same studio in the\n+If a movie\u2019s \u00abpeers\u00bb are described as movies released by the same studio in the\n same genre in the same year, this RowRange example annotates each movie with\n the average rating of a movie\u2019s two prior and two following peers:\n >>> from django.db.models import Avg, F, RowRange, Window\n >>> Movie.objects.annotate(\n ... avg_rating=Window(\n ... expression=Avg(\"rating\"),\n ... partition_by=[F(\"studio\"), F(\"genre\")],\n@@ -697,15 +697,15 @@\n Django provides.\n *\b**\b**\b**\b* E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b*\n Query expressions implement the _\bq_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bA_\bP_\bI, but also expose a number\n of extra methods and attributes listed below. All query expressions must\n inherit from Expression() or a relevant subclass.\n When a query expression wraps another expression, it is responsible for calling\n the appropriate methods on the wrapped expression.\n- c\bcl\bla\bas\bss\bs Expression_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Expression_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n allowed_default_\b\u00b6\n New in Django 5.0.\n Tells Django that this expression can be used in _\bF_\bi_\be_\bl_\bd_\b._\bd_\bb_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt.\n Defaults to False.\n constraint_validation_compatible_\b\u00b6\n New in Django 5.1.\n Tells Django that this expression can be used during a constraint\n@@ -964,16 +964,16 @@\n # _\bW_\bi_\bn_\bd_\bo_\bw_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bF_\br_\ba_\bm_\be_\bs\n o _\bT_\be_\bc_\bh_\bn_\bi_\bc_\ba_\bl_\b _\bI_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn\n # _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bA_\bP_\bI\n # _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn_\b _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bA_\bv_\bo_\bi_\bd_\bi_\bn_\bg_\b _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn\n # _\bA_\bd_\bd_\bi_\bn_\bg_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bi_\bn_\b _\bt_\bh_\bi_\br_\bd_\b-_\bp_\ba_\br_\bt_\by_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bL_\bo_\bo_\bk_\bu_\bp_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/fields.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/fields.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model field reference — Django 5.1.4 documentation\n+ Model field reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,22 +79,22 @@\n
    \n \n
    \n

    Model field reference\u00b6

    \n

    This document contains all the API references of Field including the\n field options and field types Django offers.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    If the built-in fields don\u2019t do the trick, you can try\n django-localflavor (documentation), which contains assorted\n pieces of code that are useful for particular countries and cultures.

    \n

    Also, you can easily write your own custom model fields.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Fields are defined in django.db.models.fields, but for convenience\n they\u2019re imported into django.db.models. The standard convention is\n to use from django.db import models and refer to fields as\n models.<Foo>Field.

    \n
    \n
    \n

    Field options\u00b6

    \n@@ -105,26 +106,26 @@\n Field.null\u00b6\n
    \n \n

    If True, Django will store empty values as NULL in the database. Default\n is False.

    \n

    Avoid using null on string-based fields such as\n CharField and TextField. If a string-based field has\n-null=True, that means it has two possible values for \u201cno data\u201d: NULL,\n+null=True, that means it has two possible values for \u00abno data\u00bb: NULL,\n and the empty string. In most cases, it\u2019s redundant to have two possible values\n-for \u201cno data;\u201d the Django convention is to use the empty string, not\n+for \u00abno data;\u00bb the Django convention is to use the empty string, not\n NULL. One exception is when a CharField has both unique=True\n and blank=True set. In this situation, null=True is required to avoid\n unique constraint violations when saving multiple objects with blank values.

    \n

    For both string-based and non-string-based fields, you will also need to\n set blank=True if you wish to permit empty values in forms, as the\n null parameter only affects database storage\n (see blank).

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When using the Oracle database backend, the value NULL will be stored to\n denote the empty string regardless of this attribute.

    \n
    \n
    \n
    \n

    blank\u00b6

    \n
    \n@@ -144,15 +145,15 @@\n order to programmatically supply any missing values.

    \n
    \n
    \n
    \n

    choices\u00b6

    \n
    \n
    \n-Field.choices[source]\u00b6
    \n+Field.choices[sorgente]\u00b6\n
    \n \n

    A mapping or iterable in the format described below to use as choices for this\n field. If choices are given, they\u2019re enforced by\n model validation and the default form widget will\n be a select box with these choices instead of the standard text field.

    \n

    If a mapping is given, the key element is the actual value to be set on the\n@@ -278,15 +279,15 @@\n

    \n

    Note that choices can be any sequence object \u2013 not necessarily a list or\n tuple. This lets you construct choices dynamically. But if you find yourself\n hacking choices to be dynamic, you\u2019re probably better off using\n a proper database table with a ForeignKey. choices is\n meant for static data that doesn\u2019t change much, if ever.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    A new migration is created each time the order of choices changes.

    \n
    \n

    For each model field that has choices set, Django will normalize\n the choices to a list of 2-tuples and add a method to retrieve the\n human-readable name for the field\u2019s current value. See\n get_FOO_display() in the database API\n documentation.

    \n@@ -336,15 +337,15 @@\n data type. If a tuple is not provided, or the last item is not a (lazy)\n string, the label is automatically generated from the member name.

    \n
  • A .label property is added on values, to return the human-readable name.

  • \n
  • A number of custom properties are added to the enumeration classes \u2013\n .choices, .labels, .values, and .names \u2013 to make it easier\n to access lists of those separate parts of the enumeration.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    These property names cannot be used as member names as they would conflict.

    \n
    \n
  • \n
  • The use of enum.unique() is enforced to ensure that values cannot be\n defined multiple times. This is unlikely to be expected in choices for a\n field.

  • \n \n@@ -502,15 +503,15 @@\n future.

    \n
    \n \n
    \n

    db_tablespace\u00b6

    \n
    \n
    \n-Field.db_tablespace[source]\u00b6
    \n+Field.db_tablespace[sorgente]\u00b6\n
    \n \n

    The name of the database tablespace to use for\n this field\u2019s index, if this field is indexed. The default is the project\u2019s\n DEFAULT_INDEX_TABLESPACE setting, if set, or the\n db_tablespace of the model, if any. If the backend doesn\u2019t\n support tablespaces for indexes, this option is ignored.

    \n@@ -559,15 +560,15 @@\n ModelForm. They are also skipped during model\n validation. Default is True.

    \n
    \n
    \n

    error_messages\u00b6

    \n
    \n
    \n-Field.error_messages[source]\u00b6
    \n+Field.error_messages[sorgente]\u00b6\n
    \n \n

    The error_messages argument lets you override the default messages that the\n field will raise. Pass in a dictionary with keys matching the error messages you\n want to override.

    \n

    Error message keys include null, blank, invalid, invalid_choice,\n unique, and unique_for_date. Additional error message keys are\n@@ -578,15 +579,15 @@\n

    \n

    help_text\u00b6

    \n
    \n
    \n Field.help_text\u00b6
    \n
    \n \n-

    Extra \u201chelp\u201d text to be displayed with the form widget. It\u2019s useful for\n+

    Extra \u00abhelp\u00bb text to be displayed with the form widget. It\u2019s useful for\n documentation even if your field isn\u2019t used on a form.

    \n

    Note that this value is not HTML-escaped in automatically-generated\n forms. This lets you include HTML in help_text if you so\n desire. For example:

    \n
    help_text = "Please use the following format: <em>YYYY-MM-DD</em>."\n 
    \n
    \n@@ -619,15 +620,15 @@\n

    The primary key field is set to None when\n deleting an object.

    \n
    \n
    \n

    unique\u00b6

    \n
    \n
    \n-Field.unique[source]\u00b6
    \n+Field.unique[sorgente]\u00b6\n
    \n \n

    If True, this field must be unique throughout the table.

    \n

    This is enforced at the database level and by model validation. If\n you try to save a model with a duplicate value in a unique\n field, a django.db.IntegrityError will be raised by the model\u2019s\n save() method.

    \n@@ -688,62 +689,62 @@\n will automatically create it using the field\u2019s attribute name, converting\n underscores to spaces. See Verbose field names.

    \n
    \n
    \n

    validators\u00b6

    \n
    \n
    \n-Field.validators[source]\u00b6
    \n+Field.validators[sorgente]\u00b6\n
    \n \n

    A list of validators to run for this field. See the validators\n documentation for more information.

    \n
    \n
    \n
    \n

    Field types\u00b6

    \n
    \n

    AutoField\u00b6

    \n
    \n
    \n-class AutoField(**options)[source]\u00b6
    \n+class AutoField(**options)[sorgente]\u00b6\n
    \n \n

    An IntegerField that automatically increments\n according to available IDs. You usually won\u2019t need to use this directly; a\n primary key field will automatically be added to your model if you don\u2019t specify\n otherwise. See Automatic primary key fields.

    \n
    \n
    \n

    BigAutoField\u00b6

    \n
    \n
    \n-class BigAutoField(**options)[source]\u00b6
    \n+class BigAutoField(**options)[sorgente]\u00b6\n
    \n \n

    A 64-bit integer, much like an AutoField except that it is\n guaranteed to fit numbers from 1 to 9223372036854775807.

    \n
    \n
    \n

    BigIntegerField\u00b6

    \n
    \n
    \n-class BigIntegerField(**options)[source]\u00b6
    \n+class BigIntegerField(**options)[sorgente]\u00b6\n
    \n \n

    A 64-bit integer, much like an IntegerField except that it is\n guaranteed to fit numbers from -9223372036854775808 to\n 9223372036854775807. The default form widget for this field is a\n NumberInput.

    \n
    \n
    \n

    BinaryField\u00b6

    \n
    \n
    \n-class BinaryField(max_length=None, **options)[source]\u00b6
    \n+class BinaryField(max_length=None, **options)[sorgente]\u00b6\n
    \n \n

    A field to store raw binary data. It can be assigned bytes,\n bytearray, or memoryview.

    \n

    By default, BinaryField sets editable to False, in which\n case it can\u2019t be included in a ModelForm.

    \n
    \n@@ -761,28 +762,28 @@\n proper static files handling.

    \n
    \n \n
    \n

    BooleanField\u00b6

    \n
    \n
    \n-class BooleanField(**options)[source]\u00b6
    \n+class BooleanField(**options)[sorgente]\u00b6\n
    \n \n

    A true/false field.

    \n

    The default form widget for this field is CheckboxInput,\n or NullBooleanSelect if null=True.

    \n

    The default value of BooleanField is None when Field.default\n isn\u2019t defined.

    \n
    \n
    \n

    CharField\u00b6

    \n
    \n
    \n-class CharField(max_length=None, **options)[source]\u00b6
    \n+class CharField(max_length=None, **options)[sorgente]\u00b6\n
    \n \n

    A string field, for small- to large-sized strings.

    \n

    For large amounts of text, use TextField.

    \n

    The default form widget for this field is a TextInput.

    \n

    CharField has the following extra arguments:

    \n
    \n@@ -790,28 +791,28 @@\n CharField.max_length\u00b6\n

    The maximum length (in characters) of the field. The max_length\n is enforced at the database level and in Django\u2019s validation using\n MaxLengthValidator. It\u2019s required for all\n database backends included with Django except PostgreSQL, which supports\n unlimited VARCHAR columns.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you are writing an application that must be portable to multiple\n database backends, you should be aware that there are restrictions on\n max_length for some backends. Refer to the database backend\n notes for details.

    \n
    \n
    \n \n
    \n
    \n CharField.db_collation\u00b6
    \n

    Optional. The database collation name of the field.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Collation names are not standardized. As such, this will not be\n portable across multiple database backends.

    \n
    \n
    \n

    Oracle

    \n

    Oracle supports collations only when the MAX_STRING_SIZE database\n initialization parameter is set to EXTENDED.

    \n@@ -819,24 +820,24 @@\n
    \n \n
    \n
    \n

    DateField\u00b6

    \n
    \n
    \n-class DateField(auto_now=False, auto_now_add=False, **options)[source]\u00b6
    \n+class DateField(auto_now=False, auto_now_add=False, **options)[sorgente]\u00b6\n
    \n \n

    A date, represented in Python by a datetime.date instance. Has a few extra,\n optional arguments:

    \n
    \n
    \n DateField.auto_now\u00b6
    \n

    Automatically set the field to now every time the object is saved. Useful\n-for \u201clast-modified\u201d timestamps. Note that the current date is always\n+for \u00ablast-modified\u00bb timestamps. Note that the current date is always\n used; it\u2019s not just a default value that you can override.

    \n

    The field is only automatically updated when calling Model.save(). The field isn\u2019t updated when making updates\n to other fields in other ways such as QuerySet.update(), though you can specify a custom\n value for the field in an update like that.

    \n
    \n \n
    \n@@ -854,73 +855,73 @@\n
  • For DateTimeField: default=timezone.now - from\n django.utils.timezone.now()

  • \n \n
    \n \n

    The default form widget for this field is a\n DateInput. The admin adds a JavaScript calendar,\n-and a shortcut for \u201cToday\u201d. Includes an additional invalid_date error\n+and a shortcut for \u00abToday\u00bb. Includes an additional invalid_date error\n message key.

    \n

    The options auto_now_add, auto_now, and default are mutually exclusive.\n Any combination of these options will result in an error.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    As currently implemented, setting auto_now or auto_now_add to\n True will cause the field to have editable=False and blank=True\n set.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The auto_now and auto_now_add options will always use the date in\n the default timezone at the moment of\n creation or update. If you need something different, you may want to\n consider using your own callable default or overriding save() instead\n of using auto_now or auto_now_add; or using a DateTimeField\n instead of a DateField and deciding how to handle the conversion from\n datetime to date at display time.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Always use DateField with a datetime.date instance.

    \n

    If you have a datetime.datetime instance, it\u2019s recommended to convert\n it to a datetime.date first. If you don\u2019t, DateField will\n localize the datetime.datetime to the default timezone and convert it to a datetime.date\n instance, removing its time component. This is true for both storage and\n comparison.

    \n
    \n
    \n
    \n

    DateTimeField\u00b6

    \n
    \n
    \n-class DateTimeField(auto_now=False, auto_now_add=False, **options)[source]\u00b6
    \n+class DateTimeField(auto_now=False, auto_now_add=False, **options)[sorgente]\u00b6\n
    \n \n

    A date and time, represented in Python by a datetime.datetime instance.\n Takes the same extra arguments as DateField.

    \n

    The default form widget for this field is a single\n DateTimeInput. The admin uses two separate\n TextInput widgets with JavaScript shortcuts.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Always use DateTimeField with a datetime.datetime\n instance.

    \n

    If you have a datetime.date instance, it\u2019s recommended to convert it to\n a datetime.datetime first. If you don\u2019t, DateTimeField will\n use midnight in the default timezone for\n the time component. This is true for both storage and comparison. To\n compare the date portion of a DateTimeField with a\n datetime.date instance, use the date lookup.

    \n
    \n
    \n
    \n

    DecimalField\u00b6

    \n
    \n
    \n-class DecimalField(max_digits=None, decimal_places=None, **options)[source]\u00b6
    \n+class DecimalField(max_digits=None, decimal_places=None, **options)[sorgente]\u00b6\n
    \n \n

    A fixed-precision decimal number, represented in Python by a\n Decimal instance. It validates the input using\n DecimalValidator.

    \n

    Has the following required arguments:

    \n
    \n@@ -946,60 +947,60 @@\n
    models.DecimalField(..., max_digits=19, decimal_places=10)\n 
    \n
    \n

    The default form widget for this field is a NumberInput\n when localize is False or\n TextInput otherwise.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    For more information about the differences between the\n FloatField and DecimalField classes, please\n see FloatField vs. DecimalField. You\n should also be aware of SQLite limitations\n of decimal fields.

    \n
    \n
    \n
    \n

    DurationField\u00b6

    \n
    \n
    \n-class DurationField(**options)[source]\u00b6
    \n+class DurationField(**options)[sorgente]\u00b6\n
    \n \n

    A field for storing periods of time - modeled in Python by\n timedelta. When used on PostgreSQL, the data type\n used is an interval and on Oracle the data type is INTERVAL DAY(9) TO\n SECOND(6). Otherwise a bigint of microseconds is used.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Arithmetic with DurationField works in most cases. However on all\n databases other than PostgreSQL, comparing the value of a DurationField\n to arithmetic on DateTimeField instances will not work as expected.

    \n
    \n
    \n
    \n

    EmailField\u00b6

    \n
    \n
    \n-class EmailField(max_length=254, **options)[source]\u00b6
    \n+class EmailField(max_length=254, **options)[sorgente]\u00b6\n
    \n \n

    A CharField that checks that the value is a valid email address using\n EmailValidator.

    \n
    \n
    \n

    FileField\u00b6

    \n
    \n
    \n-class FileField(upload_to='', storage=None, max_length=100, **options)[source]\u00b6
    \n+class FileField(upload_to='', storage=None, max_length=100, **options)[sorgente]\u00b6\n
    \n \n

    A file-upload field.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The primary_key argument isn\u2019t supported and will raise an error if\n used.

    \n
    \n

    Has the following optional arguments:

    \n
    \n
    \n FileField.upload_to\u00b6
    \n@@ -1102,15 +1103,15 @@\n

    If you wanted to retrieve the uploaded file\u2019s on-disk filename, or the file\u2019s\n size, you could use the name and\n size attributes respectively; for more\n information on the available attributes and methods, see the\n File class reference and the Managing files\n topic guide.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The file is saved as part of saving the model in the database, so the actual\n file name used on disk cannot be relied on until after the model has been\n saved.

    \n
    \n

    The uploaded file\u2019s relative URL can be obtained using the\n url attribute. Internally,\n this calls the url() method of the\n@@ -1128,15 +1129,15 @@\n

    FileField instances are created in your database as varchar\n columns with a default max length of 100 characters. As with other fields, you\n can change the maximum length using the max_length argument.

    \n
    \n

    FileField and FieldFile\u00b6

    \n
    \n
    \n-class FieldFile[source]\u00b6
    \n+class FieldFile[sorgente]\u00b6\n
    \n \n

    When you access a FileField on a model, you are\n given an instance of FieldFile as a proxy for accessing the underlying\n file.

    \n

    The API of FieldFile mirrors that of File,\n with one key difference: The object wrapped by the class is not necessarily a\n@@ -1144,70 +1145,70 @@\n the result of the Storage.open()\n method, which may be a File object, or it may be a\n custom storage\u2019s implementation of the File API.

    \n

    In addition to the API inherited from File such as\n read() and write(), FieldFile includes several methods that\n can be used to interact with the underlying file:

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Two methods of this class, save() and\n delete(), default to saving the model object of the\n associated FieldFile in the database.

    \n
    \n
    \n
    \n FieldFile.name\u00b6
    \n
    \n \n

    The name of the file including the relative path from the root of the\n Storage of the associated\n FileField.

    \n
    \n
    \n-FieldFile.path[source]\u00b6
    \n+FieldFile.path[sorgente]\u00b6\n
    \n \n

    A read-only property to access the file\u2019s local filesystem path by calling the\n path() method of the underlying\n Storage class.

    \n
    \n
    \n-FieldFile.size[source]\u00b6
    \n+FieldFile.size[sorgente]\u00b6\n
    \n \n

    The result of the underlying Storage.size() method.

    \n
    \n
    \n-FieldFile.url[source]\u00b6
    \n+FieldFile.url[sorgente]\u00b6\n
    \n \n

    A read-only property to access the file\u2019s relative URL by calling the\n url() method of the underlying\n Storage class.

    \n
    \n
    \n-FieldFile.open(mode='rb')[source]\u00b6
    \n+FieldFile.open(mode='rb')[sorgente]\u00b6\n
    \n \n

    Opens or reopens the file associated with this instance in the specified\n mode. Unlike the standard Python open() method, it doesn\u2019t return a\n file descriptor.

    \n

    Since the underlying file is opened implicitly when accessing it, it may be\n unnecessary to call this method except to reset the pointer to the underlying\n file or to change the mode.

    \n
    \n
    \n-FieldFile.close()[source]\u00b6
    \n+FieldFile.close()[sorgente]\u00b6\n
    \n \n

    Behaves like the standard Python file.close() method and closes the file\n associated with this instance.

    \n
    \n
    \n-FieldFile.save(name, content, save=True)[source]\u00b6
    \n+FieldFile.save(name, content, save=True)[sorgente]\u00b6\n
    \n \n

    This method takes a filename and file contents and passes them to the storage\n class for the field, then associates the stored file with the model field.\n If you want to manually associate file data with\n FileField instances on your model, the save()\n method is used to persist that file data.

    \n@@ -1232,15 +1233,15 @@\n \n myfile = ContentFile("hello world")\n
    \n
    \n

    For more information, see Managing files.

    \n
    \n
    \n-FieldFile.delete(save=True)[source]\u00b6
    \n+FieldFile.delete(save=True)[sorgente]\u00b6\n
    \n \n

    Deletes the file associated with this instance and clears all attributes on\n the field. Note: This method will close the file if it happens to be open when\n delete() is called.

    \n

    The optional save argument controls whether or not the model instance is\n saved after the file associated with this field has been deleted. Defaults to\n@@ -1251,15 +1252,15 @@\n periodically via e.g. cron).

    \n \n \n
    \n

    FilePathField\u00b6

    \n
    \n
    \n-class FilePathField(path='', match=None, recursive=False, allow_files=True, allow_folders=False, max_length=100, **options)[source]\u00b6
    \n+class FilePathField(path='', match=None, recursive=False, allow_files=True, allow_folders=False, max_length=100, **options)[sorgente]\u00b6\n
    \n \n

    A CharField whose choices are limited to the filenames in a certain\n directory on the filesystem. Has some special arguments, of which the first is\n required:

    \n
    \n
    \n@@ -1327,15 +1328,15 @@\n columns with a default max length of 100 characters. As with other fields, you\n can change the maximum length using the max_length argument.

    \n
    \n
    \n

    FloatField\u00b6

    \n
    \n
    \n-class FloatField(**options)[source]\u00b6
    \n+class FloatField(**options)[sorgente]\u00b6\n
    \n \n

    A floating-point number represented in Python by a float instance.

    \n

    The default form widget for this field is a NumberInput\n when localize is False or\n TextInput otherwise.

    \n
    \n@@ -1350,15 +1351,15 @@\n
    \n
    \n

    GeneratedField\u00b6

    \n
    \n New in Django 5.0.
    \n
    \n
    \n-class GeneratedField(expression, output_field, db_persist=None, **kwargs)[source]\u00b6
    \n+class GeneratedField(expression, output_field, db_persist=None, **kwargs)[sorgente]\u00b6\n
    \n \n

    A field that is always computed based on other fields in the model. This field\n is managed and updated by the database itself. Uses the GENERATED ALWAYS\n SQL syntax.

    \n

    There are two kinds of generated columns: stored and virtual. A stored\n generated column is computed when it is written (inserted or updated) and\n@@ -1409,15 +1410,15 @@\n docs.

    \n
    \n \n
    \n

    GenericIPAddressField\u00b6

    \n
    \n
    \n-class GenericIPAddressField(protocol='both', unpack_ipv4=False, **options)[source]\u00b6
    \n+class GenericIPAddressField(protocol='both', unpack_ipv4=False, **options)[sorgente]\u00b6\n
    \n \n

    An IPv4 or IPv6 address, in string format (e.g. 192.0.2.30 or\n 2a02:42fe::4). The default form widget for this field is a\n TextInput.

    \n

    The IPv6 address normalization follows RFC 4291#section-2.2 section 2.2,\n including using the IPv4 format suggested in paragraph 3 of that section, like\n@@ -1444,15 +1445,15 @@\n

    If you allow for blank values, you have to allow for null values since blank\n values are stored as null.

    \n
    \n
    \n

    ImageField\u00b6

    \n
    \n
    \n-class ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)[source]\u00b6
    \n+class ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)[sorgente]\u00b6\n
    \n \n

    Inherits all attributes and methods from FileField, but also\n validates that the uploaded object is a valid image.

    \n

    In addition to the special attributes that are available for FileField,\n an ImageField also has height and width attributes.

    \n

    To facilitate querying on those attributes, ImageField has the\n@@ -1478,15 +1479,15 @@\n

    The default form widget for this field is a\n ClearableFileInput.

    \n
    \n
    \n

    IntegerField\u00b6

    \n
    \n
    \n-class IntegerField(**options)[source]\u00b6
    \n+class IntegerField(**options)[sorgente]\u00b6\n
    \n \n

    An integer. Values from -2147483648 to 2147483647 are safe in all\n databases supported by Django.

    \n

    It uses MinValueValidator and\n MaxValueValidator to validate the input based\n on the values that the default database supports.

    \n@@ -1494,15 +1495,15 @@\n when localize is False or\n TextInput otherwise.

    \n
    \n
    \n

    JSONField\u00b6

    \n
    \n
    \n-class JSONField(encoder=None, decoder=None, **options)[source]\u00b6
    \n+class JSONField(encoder=None, decoder=None, **options)[sorgente]\u00b6\n
    \n \n

    A field for storing JSON encoded data. In Python the data is represented in its\n Python native format: dictionaries, lists, strings, numbers, booleans and\n None.

    \n

    JSONField is supported on MariaDB, MySQL, Oracle, PostgreSQL, and SQLite\n (with the JSON1 extension enabled).

    \n@@ -1562,48 +1563,48 @@\n list) are supported.

    \n
    \n \n
    \n

    PositiveBigIntegerField\u00b6

    \n
    \n
    \n-class PositiveBigIntegerField(**options)[source]\u00b6
    \n+class PositiveBigIntegerField(**options)[sorgente]\u00b6\n
    \n \n

    Like a PositiveIntegerField, but only allows values under a certain\n (database-dependent) point. Values from 0 to 9223372036854775807 are\n safe in all databases supported by Django.

    \n
    \n
    \n

    PositiveIntegerField\u00b6

    \n
    \n
    \n-class PositiveIntegerField(**options)[source]\u00b6
    \n+class PositiveIntegerField(**options)[sorgente]\u00b6\n
    \n \n

    Like an IntegerField, but must be either positive or zero (0).\n Values from 0 to 2147483647 are safe in all databases supported by\n Django. The value 0 is accepted for backward compatibility reasons.

    \n
    \n
    \n

    PositiveSmallIntegerField\u00b6

    \n
    \n
    \n-class PositiveSmallIntegerField(**options)[source]\u00b6
    \n+class PositiveSmallIntegerField(**options)[sorgente]\u00b6\n
    \n \n

    Like a PositiveIntegerField, but only allows values under a certain\n (database-dependent) point. Values from 0 to 32767 are safe in all\n databases supported by Django.

    \n
    \n
    \n

    SlugField\u00b6

    \n
    \n
    \n-class SlugField(max_length=50, **options)[source]\u00b6
    \n+class SlugField(max_length=50, **options)[sorgente]\u00b6\n
    \n \n

    Slug is a newspaper term. A slug is a short label for something,\n containing only letters, numbers, underscores or hyphens. They\u2019re generally used\n in URLs.

    \n

    Like a CharField, you can specify max_length (read the note\n about database portability and max_length in that section,\n@@ -1623,92 +1624,92 @@\n \n \n

    \n
    \n

    SmallAutoField\u00b6

    \n
    \n
    \n-class SmallAutoField(**options)[source]\u00b6
    \n+class SmallAutoField(**options)[sorgente]\u00b6\n
    \n \n

    Like an AutoField, but only allows values under a certain\n (database-dependent) limit. Values from 1 to 32767 are safe in all\n databases supported by Django.

    \n
    \n
    \n

    SmallIntegerField\u00b6

    \n
    \n
    \n-class SmallIntegerField(**options)[source]\u00b6
    \n+class SmallIntegerField(**options)[sorgente]\u00b6\n
    \n \n

    Like an IntegerField, but only allows values under a certain\n (database-dependent) point. Values from -32768 to 32767 are safe in all\n databases supported by Django.

    \n
    \n
    \n

    TextField\u00b6

    \n
    \n
    \n-class TextField(**options)[source]\u00b6
    \n+class TextField(**options)[sorgente]\u00b6\n
    \n \n

    A large text field. The default form widget for this field is a\n Textarea.

    \n

    If you specify a max_length attribute, it will be reflected in the\n Textarea widget of the auto-generated form field.\n However it is not enforced at the model or database level. Use a\n CharField for that.

    \n
    \n
    \n TextField.db_collation\u00b6
    \n

    Optional. The database collation name of the field.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Collation names are not standardized. As such, this will not be\n portable across multiple database backends.

    \n
    \n
    \n

    Oracle

    \n

    Oracle does not support collations for a TextField.

    \n
    \n
    \n \n
    \n
    \n

    TimeField\u00b6

    \n
    \n
    \n-class TimeField(auto_now=False, auto_now_add=False, **options)[source]\u00b6
    \n+class TimeField(auto_now=False, auto_now_add=False, **options)[sorgente]\u00b6\n
    \n \n

    A time, represented in Python by a datetime.time instance. Accepts the same\n auto-population options as DateField.

    \n

    The default form widget for this field is a TimeInput.\n The admin adds some JavaScript shortcuts.

    \n
    \n
    \n

    URLField\u00b6

    \n
    \n
    \n-class URLField(max_length=200, **options)[source]\u00b6
    \n+class URLField(max_length=200, **options)[sorgente]\u00b6\n
    \n \n

    A CharField for a URL, validated by\n URLValidator.

    \n

    The default form widget for this field is a URLInput.

    \n

    Like all CharField subclasses, URLField takes the optional\n max_length argument. If you don\u2019t specify\n max_length, a default of 200 is used.

    \n
    \n
    \n

    UUIDField\u00b6

    \n
    \n
    \n-class UUIDField(**options)[source]\u00b6
    \n+class UUIDField(**options)[sorgente]\u00b6\n
    \n \n

    A field for storing universally unique identifiers. Uses Python\u2019s\n UUID class. When used on PostgreSQL and MariaDB 10.7+,\n this stores in a uuid datatype, otherwise in a char(32).

    \n

    Universally unique identifiers are a good alternative to AutoField for\n primary_key. The database will not generate the UUID for you, so\n@@ -1737,15 +1738,15 @@\n

    \n

    Relationship fields\u00b6

    \n

    Django also defines a set of fields that represent relations.

    \n
    \n

    ForeignKey\u00b6

    \n
    \n
    \n-class ForeignKey(to, on_delete, **options)[source]\u00b6
    \n+class ForeignKey(to, on_delete, **options)[sorgente]\u00b6\n
    \n \n

    A many-to-one relationship. Requires two positional arguments: the class to\n which the model is related and the on_delete option:

    \n
    from django.db import models\n \n \n@@ -1802,36 +1803,36 @@\n \n \n 

    The possible values for on_delete are found in\n django.db.models:

    \n
    \n
    \n \n \n \n
  • \n
    \n-SET_NULL[source]\u00b6
    \n+SET_NULL[sorgente]\u00b6\n

    Set the ForeignKey null; this is only possible if\n null is True.

    \n
    \n \n
  • \n
  • \n
    \n-SET_DEFAULT[source]\u00b6
    \n+SET_DEFAULT[sorgente]\u00b6\n

    Set the ForeignKey to its default value; a default for the\n ForeignKey must be set.

    \n
    \n \n
  • \n
  • \n
    \n-SET()[source]\u00b6
    \n+SET()[sorgente]\u00b6\n

    Set the ForeignKey to the value passed to\n SET(), or if a callable is passed in,\n the result of calling it. In most cases, passing a callable will be\n necessary to avoid executing queries at the time your models.py is\n imported:

    \n
    from django.conf import settings\n from django.contrib.auth import get_user_model\n@@ -1909,15 +1910,15 @@\n 
    \n
    \n
    \n \n
  • \n
  • \n
    \n-DO_NOTHING[source]\u00b6
    \n+DO_NOTHING[sorgente]\u00b6\n

    Take no action. If your database backend enforces referential\n integrity, this will cause an IntegrityError unless\n you manually add an SQL ON DELETE constraint to the database field.

    \n
    \n \n
  • \n \n@@ -1950,15 +1951,15 @@\n
    \n \n

    If limit_choices_to is or returns a Q object, which is useful for complex queries, then it will only have an effect on the choices\n available in the admin when the field is not listed in\n raw_id_fields in the\n ModelAdmin for the model.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If a callable is used for limit_choices_to, it will be invoked\n every time a new form is instantiated. It may also be invoked when a\n model is validated, for example by management commands or the admin.\n The admin constructs querysets to validate its form inputs in various\n edge cases multiple times, so there is a possibility your callable may\n be invoked several times.

    \n
    \n@@ -2058,15 +2059,15 @@\n \n \n \n
    \n

    ManyToManyField\u00b6

    \n
    \n
    \n-class ManyToManyField(to, **options)[source]\u00b6
    \n+class ManyToManyField(to, **options)[sorgente]\u00b6\n
    \n \n

    A many-to-many relationship. Requires a positional argument: the class to\n which the model is related, which works exactly the same as it does for\n ForeignKey, including recursive and\n lazy relationships.

    \n

    Related objects can be added, removed, or created with the field\u2019s\n@@ -2133,22 +2134,22 @@\n relationships. However, if you want to manually specify the intermediary\n table, you can use the through option to specify\n the Django model that represents the intermediate table that you want to\n use.

    \n

    The most common use for this option is when you want to associate\n extra data with a many-to-many relationship.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you don\u2019t want multiple associations between the same instances, add\n a UniqueConstraint including the from and to\n fields. Django\u2019s automatically generated many-to-many tables include\n such a constraint.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Recursive relationships using an intermediary model can\u2019t determine the\n reverse accessors names, as they would be the same. You need to set a\n related_name to at least one of them. If you\u2019d\n prefer Django not to create a backwards relation, set related_name\n to '+'.

    \n
    \n

    If you don\u2019t specify an explicit through model, there is still an\n@@ -2276,21 +2277,21 @@\n relationship at the database level.

    \n
    \n \n
    \n

    OneToOneField\u00b6

    \n
    \n
    \n-class OneToOneField(to, on_delete, parent_link=False, **options)[source]\u00b6
    \n+class OneToOneField(to, on_delete, parent_link=False, **options)[sorgente]\u00b6\n
    \n \n

    A one-to-one relationship. Conceptually, this is similar to a\n ForeignKey with unique=True, but the\n-\u201creverse\u201d side of the relation will directly return a single object.

    \n-

    This is most useful as the primary key of a model which \u201cextends\u201d\n+\u00abreverse\u00bb side of the relation will directly return a single object.

    \n+

    This is most useful as the primary key of a model which \u00abextends\u00bb\n another model in some way; Multi-table inheritance is\n implemented by adding an implicit one-to-one relation from the child\n model to the parent model, for example.

    \n

    One positional argument is required: the class to which the model will be\n related. This works exactly the same as it does for ForeignKey,\n including all the options regarding recursive\n and lazy relationships.

    \n@@ -2449,15 +2450,15 @@\n
    \n \n \n
    \n

    Field API reference\u00b6

    \n
    \n
    \n-class Field[source]\u00b6
    \n+class Field[sorgente]\u00b6\n

    Field is an abstract class that represents a database table column.\n Django uses fields to create the database table (db_type()), to map\n Python types to database (get_prep_value()) and vice-versa\n (from_db_value()).

    \n

    A field is thus a fundamental piece in different Django APIs, notably,\n models and querysets.

    \n

    In models, a field is instantiated as a class attribute and represents a\n@@ -2496,31 +2497,31 @@\n behavior.

    \n
    \n \n

    To map a Field to a database-specific type, Django exposes several\n methods:

    \n
    \n
    \n-get_internal_type()[source]\u00b6
    \n+get_internal_type()[sorgente]\u00b6\n

    Returns a string naming this field for backend specific purposes.\n By default, it returns the class name.

    \n

    See Emulating built-in field types for usage in custom fields.

    \n
    \n \n
    \n
    \n-db_type(connection)[source]\u00b6
    \n+db_type(connection)[sorgente]\u00b6\n

    Returns the database column data type for the Field, taking\n into account the connection.

    \n

    See Custom database types for usage in custom fields.

    \n
    \n \n
    \n
    \n-rel_db_type(connection)[source]\u00b6
    \n+rel_db_type(connection)[sorgente]\u00b6\n

    Returns the database column data type for fields such as ForeignKey\n and OneToOneField that point to the Field, taking\n into account the connection.

    \n

    See Custom database types for usage in custom fields.

    \n
    \n \n

    There are three main situations where Django needs to interact with the\n@@ -2530,24 +2531,24 @@\n

  • when it loads data from the database (database backend value -> Python\n value)

  • \n
  • when it saves to the database (Python value -> database backend value)

  • \n \n

    When querying, get_db_prep_value() and get_prep_value() are used:

    \n
    \n
    \n-get_prep_value(value)[source]\u00b6
    \n+get_prep_value(value)[sorgente]\u00b6\n

    value is the current value of the model\u2019s attribute, and the method\n should return data in a format that has been prepared for use as a\n parameter in a query.

    \n

    See Converting Python objects to query values for usage.

    \n
    \n \n
    \n
    \n-get_db_prep_value(value, connection, prepared=False)[source]\u00b6
    \n+get_db_prep_value(value, connection, prepared=False)[sorgente]\u00b6\n

    Converts value to a backend-specific value. By default it returns\n value if prepared=True and get_prep_value() if is\n False.

    \n

    See Converting query values to database values for usage.

    \n
    \n \n

    When loading data, from_db_value() is used:

    \n@@ -2558,33 +2559,33 @@\n the reverse of get_prep_value().

    \n

    This method is not used for most built-in fields as the database\n backend already returns the correct Python type, or the backend itself\n does the conversion.

    \n

    expression is the same as self.

    \n

    See Converting values to Python objects for usage.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    For performance reasons, from_db_value is not implemented as a\n no-op on fields which do not require it (all Django fields).\n Consequently you may not call super in your definition.

    \n
    \n \n \n

    When saving, pre_save() and get_db_prep_save() are used:

    \n
    \n
    \n-get_db_prep_save(value, connection)[source]\u00b6
    \n+get_db_prep_save(value, connection)[sorgente]\u00b6\n

    Same as the get_db_prep_value(), but called when the field value\n must be saved to the database. By default returns\n get_db_prep_value().

    \n
    \n \n
    \n
    \n-pre_save(model_instance, add)[source]\u00b6
    \n+pre_save(model_instance, add)[sorgente]\u00b6\n

    Method called prior to get_db_prep_save() to prepare the value\n before being saved (e.g. for DateField.auto_now).

    \n

    model_instance is the instance this field belongs to and add\n is whether the instance is being saved to the database for the first\n time.

    \n

    It should return the value of the appropriate attribute from\n model_instance for this field. The attribute name is in\n@@ -2592,54 +2593,54 @@\n

    See Preprocessing values before saving for usage.

    \n
    \n \n

    Fields often receive their values as a different type, either from\n serialization or from forms.

    \n
    \n
    \n-to_python(value)[source]\u00b6
    \n+to_python(value)[sorgente]\u00b6\n

    Converts the value into the correct Python object. It acts as the\n reverse of value_to_string(), and is also called in\n clean().

    \n

    See Converting values to Python objects for usage.

    \n
    \n \n

    Besides saving to the database, the field also needs to know how to\n serialize its value:

    \n
    \n
    \n-value_from_object(obj)[source]\u00b6
    \n+value_from_object(obj)[sorgente]\u00b6\n

    Returns the field\u2019s value for the given model instance.

    \n

    This method is often used by value_to_string().

    \n
    \n \n
    \n
    \n-value_to_string(obj)[source]\u00b6
    \n+value_to_string(obj)[sorgente]\u00b6\n

    Converts obj to a string. Used to serialize the value of the field.

    \n

    See Converting field data for serialization for usage.

    \n
    \n \n

    When using model forms, the Field\n needs to know which form field it should be represented by:

    \n
    \n
    \n-formfield(form_class=None, choices_form_class=None, **kwargs)[source]\u00b6
    \n+formfield(form_class=None, choices_form_class=None, **kwargs)[sorgente]\u00b6\n

    Returns the default django.forms.Field of this field for\n ModelForm.

    \n

    By default, if both form_class and choices_form_class are\n None, it uses CharField. If the field has\n choices and choices_form_class\n isn\u2019t specified, it uses TypedChoiceField.

    \n

    See Specifying the form field for a model field for usage.

    \n
    \n \n
    \n
    \n-deconstruct()[source]\u00b6
    \n+deconstruct()[sorgente]\u00b6\n

    Returns a 4-tuple with enough information to recreate the field:

    \n
      \n
    1. The name of the field on the model.

    2. \n
    3. The import path of the field (e.g. "django.db.models.IntegerField").\n This should be the most portable version, so less specific may be better.

    4. \n
    5. A list of positional arguments.

    6. \n
    7. A dict of keyword arguments.

    8. \n@@ -2857,37 +2858,37 @@\n
    9. Attributes for fields with relations
    10. \n \n \n \n \n \n
      \n-

      Previous topic

      \n+

      Argomento precedente

      \n

      Models

      \n+ title=\"capitolo precedente\">Models

      \n
      \n
      \n-

      Next topic

      \n+

      Argomento successivo

      \n

      Model index reference

      \n+ title=\"capitolo successivo\">Model index reference

      \n
      \n \n-

      Quick search

      \n+

      Ricerca veloce

      \n
      \n
      \n \n- \n+ \n
      \n
      \n
      \n \n \n \n

      Last update:

      \n-

      Dec 04, 2024

      \n+

      dic 04, 2024

      \n \n \n \n \n \n
      \n
      \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,54 +1,54 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl f\bfi\bie\bel\bld\bd r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document contains all the API references of _\bF_\bi_\be_\bl_\bd including the _\bf_\bi_\be_\bl_\bd\n _\bo_\bp_\bt_\bi_\bo_\bn_\bs and _\bf_\bi_\be_\bl_\bd_\b _\bt_\by_\bp_\be_\bs Django offers.\n-See also\n+Vedi anche\n If the built-in fields don\u2019t do the trick, you can try _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\bl_\bo_\bc_\ba_\bl_\bf_\bl_\ba_\bv_\bo_\br\n (_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn), which contains assorted pieces of code that are useful for\n particular countries and cultures.\n Also, you can easily _\bw_\br_\bi_\bt_\be_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\bs.\n-Note\n+Nota\n Fields are defined in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bf_\bi_\be_\bl_\bd_\bs, but for convenience they\u2019re\n imported into _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs. The standard convention is to use from\n django.db import models and refer to fields as models.Field.\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bd o\bop\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The following arguments are available to all field types. All are optional.\n *\b**\b**\b**\b* n\bnu\bul\bll\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.null_\b\u00b6\n If True, Django will store empty values as NULL in the database. Default is\n False.\n Avoid using _\bn_\bu_\bl_\bl on string-based fields such as _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd and _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd. If a\n-string-based field has null=True, that means it has two possible values for \u201cno\n-data\u201d: NULL, and the empty string. In most cases, it\u2019s redundant to have two\n-possible values for \u201cno data;\u201d the Django convention is to use the empty\n+string-based field has null=True, that means it has two possible values for \u00abno\n+data\u00bb: NULL, and the empty string. In most cases, it\u2019s redundant to have two\n+possible values for \u00abno data;\u00bb the Django convention is to use the empty\n string, not NULL. One exception is when a _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd has both unique=True and\n blank=True set. In this situation, null=True is required to avoid unique\n constraint violations when saving multiple objects with blank values.\n For both string-based and non-string-based fields, you will also need to set\n blank=True if you wish to permit empty values in forms, as the _\bn_\bu_\bl_\bl parameter\n only affects database storage (see _\bb_\bl_\ba_\bn_\bk).\n-Note\n+Nota\n When using the Oracle database backend, the value NULL will be stored to denote\n the empty string regardless of this attribute.\n *\b**\b**\b**\b* b\bbl\bla\ban\bnk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.blank_\b\u00b6\n If True, the field is allowed to be blank. Default is False.\n Note that this is different than _\bn_\bu_\bl_\bl. _\bn_\bu_\bl_\bl is purely database-related, whereas\n _\bb_\bl_\ba_\bn_\bk is validation-related. If a field has blank=True, form validation will\n allow entry of an empty value. If a field has blank=False, the field will be\n required.\n Supplying missing values\n blank=True can be used with fields having null=False, but this will require\n implementing _\bc_\bl_\be_\ba_\bn_\b(_\b) on the model in order to programmatically supply any\n missing values.\n *\b**\b**\b**\b* c\bch\bho\boi\bic\bce\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- Field.choices_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Field.choices_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A mapping or iterable in the format described below to use as choices for this\n field. If choices are given, they\u2019re enforced by _\bm_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn and the\n default form widget will be a select box with these choices instead of the\n standard text field.\n If a mapping is given, the key element is the actual value to be set on the\n model, and the second element is the human readable name. For example:\n YEAR_IN_SCHOOL_CHOICES = {\n@@ -156,15 +156,15 @@\n (\"unknown\", \"Unknown\"),\n ]\n Note that choices can be any sequence object \u2013 not necessarily a list or tuple.\n This lets you construct choices dynamically. But if you find yourself hacking\n _\bc_\bh_\bo_\bi_\bc_\be_\bs to be dynamic, you\u2019re probably better off using a proper database table\n with a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by. _\bc_\bh_\bo_\bi_\bc_\be_\bs is meant for static data that doesn\u2019t change much,\n if ever.\n-Note\n+Nota\n A new migration is created each time the order of choices changes.\n For each model field that has _\bc_\bh_\bo_\bi_\bc_\be_\bs set, Django will normalize the choices to\n a list of 2-tuples and add a method to retrieve the human-readable name for the\n field\u2019s current value. See _\bg_\be_\bt_\b__\bF_\bO_\bO_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b) in the database API documentation.\n Unless _\bb_\bl_\ba_\bn_\bk_\b=_\bF_\ba_\bl_\bs_\be is set on the field along with a _\bd_\be_\bf_\ba_\bu_\bl_\bt then a label\n containing \"---------\" will be rendered with the select box. To override this\n behavior, add a tuple to choices containing None; e.g. (None, 'Your String For\n@@ -205,15 +205,15 @@\n _\bs_\bu_\bb_\bc_\bl_\ba_\bs_\bs_\bi_\bn_\bg_\b _\bc_\bh_\bo_\bi_\bc_\be_\bs using a more complex data type. If a tuple is not\n provided, or the last item is not a (lazy) string, the label is\n _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\ba_\bl_\bl_\by_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\bd from the member name.\n * A .label property is added on values, to return the human-readable name.\n * A number of custom properties are added to the enumeration classes \u2013\n .choices, .labels, .values, and .names \u2013 to make it easier to access\n lists of those separate parts of the enumeration.\n- Warning\n+ Avvertimento\n These property names cannot be used as member names as they would\n conflict.\n * The use of _\be_\bn_\bu_\bm_\b._\bu_\bn_\bi_\bq_\bu_\be_\b(_\b) is enforced to ensure that values cannot be\n defined multiple times. This is unlikely to be expected in choices for a\n field.\n Note that using YearInSchool.SENIOR, YearInSchool['SENIOR'], or YearInSchool\n ('SR') to access or lookup enum members work as expected, as do the .name and\n@@ -313,15 +313,15 @@\n Field.db_index_\b\u00b6\n If True, a database index will be created for this field.\n Use the _\bi_\bn_\bd_\be_\bx_\be_\bs option instead.\n Where possible, use the _\bM_\be_\bt_\ba_\b._\bi_\bn_\bd_\be_\bx_\be_\bs option instead. In nearly all cases,\n _\bi_\bn_\bd_\be_\bx_\be_\bs provides more functionality than db_index. db_index may be deprecated\n in the future.\n *\b**\b**\b**\b* d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- Field.db_tablespace_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Field.db_tablespace_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The name of the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be to use for this field\u2019s index, if this\n field is indexed. The default is the project\u2019s _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bI_\bN_\bD_\bE_\bX_\b__\bT_\bA_\bB_\bL_\bE_\bS_\bP_\bA_\bC_\bE\n setting, if set, or the _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be of the model, if any. If the backend\n doesn\u2019t support tablespaces for indexes, this option is ignored.\n *\b**\b**\b**\b* d\bde\bef\bfa\bau\bul\blt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.default_\b\u00b6\n The default value for the field. This can be a value or a callable object. If\n@@ -346,26 +346,26 @@\n also used when the field is set to None.\n The default value can also be set at the database level with _\bF_\bi_\be_\bl_\bd_\b._\bd_\bb_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt.\n *\b**\b**\b**\b* e\bed\bdi\bit\bta\bab\bbl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.editable_\b\u00b6\n If False, the field will not be displayed in the admin or any other _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm.\n They are also skipped during _\bm_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn. Default is True.\n *\b**\b**\b**\b* e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- Field.error_messages_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Field.error_messages_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The error_messages argument lets you override the default messages that the\n field will raise. Pass in a dictionary with keys matching the error messages\n you want to override.\n Error message keys include null, blank, invalid, invalid_choice, unique, and\n unique_for_date. Additional error message keys are specified for each field in\n the _\bF_\bi_\be_\bl_\bd_\b _\bt_\by_\bp_\be_\bs section below.\n These error messages often don\u2019t propagate to forms. See _\bC_\bo_\bn_\bs_\bi_\bd_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n _\br_\be_\bg_\ba_\br_\bd_\bi_\bn_\bg_\b _\bm_\bo_\bd_\be_\bl_\b\u2019_\bs_\b _\be_\br_\br_\bo_\br_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\bs.\n *\b**\b**\b**\b* h\bhe\bel\blp\bp_\b_t\bte\bex\bxt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.help_text_\b\u00b6\n-Extra \u201chelp\u201d text to be displayed with the form widget. It\u2019s useful for\n+Extra \u00abhelp\u00bb text to be displayed with the form widget. It\u2019s useful for\n documentation even if your field isn\u2019t used on a form.\n Note that this value is n\bno\bot\bt HTML-escaped in automatically-generated forms. This\n lets you include HTML in _\bh_\be_\bl_\bp_\b__\bt_\be_\bx_\bt if you so desire. For example:\n help_text = \"Please use the following format: YYYY-MM-DD.\"\n Alternatively you can use plain text and _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bh_\bt_\bm_\bl_\b._\be_\bs_\bc_\ba_\bp_\be_\b(_\b) to escape\n any HTML special characters. Ensure that you escape any help text that may come\n from untrusted users to avoid a cross-site scripting attack.\n@@ -381,15 +381,15 @@\n primary_key=True implies _\bn_\bu_\bl_\bl_\b=_\bF_\ba_\bl_\bs_\be and _\bu_\bn_\bi_\bq_\bu_\be_\b=_\bT_\br_\bu_\be. Only one primary key is\n allowed on an object.\n The primary key field is read-only. If you change the value of the primary key\n on an existing object and then save it, a new object will be created alongside\n the old one.\n The primary key field is set to None when _\bd_\be_\bl_\be_\bt_\bi_\bn_\bg an object.\n *\b**\b**\b**\b* u\bun\bni\biq\bqu\bue\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- Field.unique_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Field.unique_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If True, this field must be unique throughout the table.\n This is enforced at the database level and by model validation. If you try to\n save a model with a duplicate value in a _\bu_\bn_\bi_\bq_\bu_\be field, a\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br will be raised by the model\u2019s _\bs_\ba_\bv_\be_\b(_\b) method.\n This option is valid on all field types except _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd and\n _\bO_\bn_\be_\bT_\bo_\bO_\bn_\be_\bF_\bi_\be_\bl_\bd.\n Note that when unique is True, you don\u2019t need to specify _\bd_\bb_\b__\bi_\bn_\bd_\be_\bx, because\n@@ -418,83 +418,83 @@\n Like _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bd_\ba_\bt_\be and _\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bm_\bo_\bn_\bt_\bh.\n *\b**\b**\b**\b* v\bve\ber\brb\bbo\bos\bse\be_\b_n\bna\bam\bme\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Field.verbose_name_\b\u00b6\n A human-readable name for the field. If the verbose name isn\u2019t given, Django\n will automatically create it using the field\u2019s attribute name, converting\n underscores to spaces. See _\bV_\be_\br_\bb_\bo_\bs_\be_\b _\bf_\bi_\be_\bl_\bd_\b _\bn_\ba_\bm_\be_\bs.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- Field.validators_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Field.validators_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A list of validators to run for this field. See the _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n for more information.\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bd t\bty\byp\bpe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* A\bAu\but\bto\boF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs AutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs AutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n An _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd that automatically increments according to available IDs. You\n usually won\u2019t need to use this directly; a primary key field will automatically\n be added to your model if you don\u2019t specify otherwise. See _\bA_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\b _\bp_\br_\bi_\bm_\ba_\br_\by\n _\bk_\be_\by_\b _\bf_\bi_\be_\bl_\bd_\bs.\n *\b**\b**\b**\b* B\bBi\big\bgA\bAu\but\bto\boF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BigAutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BigAutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A 64-bit integer, much like an _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd except that it is guaranteed to fit\n numbers from 1 to 9223372036854775807.\n *\b**\b**\b**\b* B\bBi\big\bgI\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BigIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BigIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A 64-bit integer, much like an _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd except that it is guaranteed to fit\n numbers from -9223372036854775808 to 9223372036854775807. The default form\n widget for this field is a _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt.\n *\b**\b**\b**\b* B\bBi\bin\bna\bar\bry\byF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BinaryField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BinaryField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A field to store raw binary data. It can be assigned _\bb_\by_\bt_\be_\bs, _\bb_\by_\bt_\be_\ba_\br_\br_\ba_\by, or\n _\bm_\be_\bm_\bo_\br_\by_\bv_\bi_\be_\bw.\n By default, BinaryField sets _\be_\bd_\bi_\bt_\ba_\bb_\bl_\be to False, in which case it can\u2019t be\n included in a _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm.\n BinaryField.max_length_\b\u00b6\n Optional. The maximum length (in bytes) of the field. The maximum length\n is enforced in Django\u2019s validation using _\bM_\ba_\bx_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br.\n Abusing BinaryField\n Although you might think about storing files in the database, consider that it\n is bad design in 99% of the cases. This field is n\bno\bot\bt a replacement for proper\n _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs handling.\n *\b**\b**\b**\b* B\bBo\boo\bol\ble\bea\ban\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BooleanField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BooleanField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A true/false field.\n The default form widget for this field is _\bC_\bh_\be_\bc_\bk_\bb_\bo_\bx_\bI_\bn_\bp_\bu_\bt, or _\bN_\bu_\bl_\bl_\bB_\bo_\bo_\bl_\be_\ba_\bn_\bS_\be_\bl_\be_\bc_\bt\n if _\bn_\bu_\bl_\bl_\b=_\bT_\br_\bu_\be.\n The default value of BooleanField is None when _\bF_\bi_\be_\bl_\bd_\b._\bd_\be_\bf_\ba_\bu_\bl_\bt isn\u2019t defined.\n *\b**\b**\b**\b* C\bCh\bha\bar\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs CharField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs CharField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A string field, for small- to large-sized strings.\n For large amounts of text, use _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd.\n The default form widget for this field is a _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt.\n _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd has the following extra arguments:\n CharField.max_length_\b\u00b6\n The maximum length (in characters) of the field. The max_length is\n enforced at the database level and in Django\u2019s validation using\n _\bM_\ba_\bx_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br. It\u2019s required for all database backends included with\n Django except PostgreSQL, which supports unlimited VARCHAR columns.\n- Note\n+ Nota\n If you are writing an application that must be portable to multiple\n database backends, you should be aware that there are restrictions on\n max_length for some backends. Refer to the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\b _\bn_\bo_\bt_\be_\bs for\n details.\n CharField.db_collation_\b\u00b6\n Optional. The database collation name of the field.\n- Note\n+ Nota\n Collation names are not standardized. As such, this will not be portable\n across multiple database backends.\n Oracle\n Oracle supports collations only when the MAX_STRING_SIZE database\n initialization parameter is set to EXTENDED.\n *\b**\b**\b**\b* D\bDa\bat\bte\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DateField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DateField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A date, represented in Python by a datetime.date instance. Has a few extra,\n optional arguments:\n DateField.auto_now_\b\u00b6\n Automatically set the field to now every time the object is saved. Useful\n- for \u201clast-modified\u201d timestamps. Note that the current date is a\bal\blw\bwa\bay\bys\bs\n+ for \u00ablast-modified\u00bb timestamps. Note that the current date is a\bal\blw\bwa\bay\bys\bs\n used; it\u2019s not just a default value that you can override.\n The field is only automatically updated when calling _\bM_\bo_\bd_\be_\bl_\b._\bs_\ba_\bv_\be_\b(_\b). The\n field isn\u2019t updated when making updates to other fields in other ways\n such as _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bu_\bp_\bd_\ba_\bt_\be_\b(_\b), though you can specify a custom value for the\n field in an update like that.\n DateField.auto_now_add_\b\u00b6\n Automatically set the field to now when the object is first created.\n@@ -503,50 +503,51 @@\n set a value for this field when creating the object, it will be ignored.\n If you want to be able to modify this field, set the following instead of\n auto_now_add=True:\n * For _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd: default=date.today - from _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\b._\bt_\bo_\bd_\ba_\by_\b(_\b)\n * For _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd: default=timezone.now - from\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b._\bn_\bo_\bw_\b(_\b)\n The default form widget for this field is a _\bD_\ba_\bt_\be_\bI_\bn_\bp_\bu_\bt. The admin adds a\n-JavaScript calendar, and a shortcut for \u201cToday\u201d. Includes an additional\n+JavaScript calendar, and a shortcut for \u00abToday\u00bb. Includes an additional\n invalid_date error message key.\n The options auto_now_add, auto_now, and default are mutually exclusive. Any\n combination of these options will result in an error.\n-Note\n+Nota\n As currently implemented, setting auto_now or auto_now_add to True will cause\n the field to have editable=False and blank=True set.\n-Note\n+Nota\n The auto_now and auto_now_add options will always use the date in the _\bd_\be_\bf_\ba_\bu_\bl_\bt\n _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be at the moment of creation or update. If you need something different,\n you may want to consider using your own callable default or overriding save()\n instead of using auto_now or auto_now_add; or using a DateTimeField instead of\n a DateField and deciding how to handle the conversion from datetime to date at\n display time.\n-Warning\n+Avvertimento\n Always use _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd with a datetime.date instance.\n If you have a datetime.datetime instance, it\u2019s recommended to convert it to a\n datetime.date first. If you don\u2019t, _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd will localize the\n datetime.datetime to the _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be and convert it to a datetime.date\n instance, removing its time component. This is true for both storage and\n comparison.\n *\b**\b**\b**\b* D\bDa\bat\bte\beT\bTi\bim\bme\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DateTimeField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DateTimeField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A date and time, represented in Python by a datetime.datetime instance. Takes\n the same extra arguments as _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd.\n The default form widget for this field is a single _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt. The admin\n uses two separate _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt widgets with JavaScript shortcuts.\n-Warning\n+Avvertimento\n Always use _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd with a datetime.datetime instance.\n If you have a datetime.date instance, it\u2019s recommended to convert it to a\n datetime.datetime first. If you don\u2019t, _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd will use midnight in the\n _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be for the time component. This is true for both storage and\n comparison. To compare the date portion of a _\bD_\ba_\bt_\be_\bT_\bi_\bm_\be_\bF_\bi_\be_\bl_\bd with a datetime.date\n instance, use the _\bd_\ba_\bt_\be lookup.\n *\b**\b**\b**\b* D\bDe\bec\bci\bim\bma\bal\blF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DecimalField(m\bma\bax\bx_\b_d\bdi\big\bgi\bit\bts\bs=\b=N\bNo\bon\bne\be, d\bde\bec\bci\bim\bma\bal\bl_\b_p\bpl\bla\bac\bce\bes\bs=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DecimalField(m\bma\bax\bx_\b_d\bdi\big\bgi\bit\bts\bs=\b=N\bNo\bon\bne\be, d\bde\bec\bci\bim\bma\bal\bl_\b_p\bpl\bla\bac\bce\bes\bs=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A fixed-precision decimal number, represented in Python by a _\bD_\be_\bc_\bi_\bm_\ba_\bl instance.\n It validates the input using _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br.\n Has the following r\bre\beq\bqu\bui\bir\bre\bed\bd arguments:\n DecimalField.max_digits_\b\u00b6\n The maximum number of digits allowed in the number. Note that this number\n must be greater than or equal to decimal_places.\n DecimalField.decimal_places_\b\u00b6\n@@ -555,36 +556,36 @@\n places, you\u2019d use:\n models.DecimalField(..., max_digits=5, decimal_places=2)\n And to store numbers up to approximately one billion with a resolution of 10\n decimal places:\n models.DecimalField(..., max_digits=19, decimal_places=10)\n The default form widget for this field is a _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt when _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be is False\n or _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt otherwise.\n-Note\n+Nota\n For more information about the differences between the _\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd and\n _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd classes, please see _\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd_\b _\bv_\bs_\b._\b _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd. You should also\n be aware of _\bS_\bQ_\bL_\bi_\bt_\be_\b _\bl_\bi_\bm_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\bs of decimal fields.\n *\b**\b**\b**\b* D\bDu\bur\bra\bat\bti\bio\bon\bnF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DurationField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DurationField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A field for storing periods of time - modeled in Python by _\bt_\bi_\bm_\be_\bd_\be_\bl_\bt_\ba. When used\n on PostgreSQL, the data type used is an interval and on Oracle the data type is\n INTERVAL DAY(9) TO SECOND(6). Otherwise a bigint of microseconds is used.\n-Note\n+Nota\n Arithmetic with DurationField works in most cases. However on all databases\n other than PostgreSQL, comparing the value of a DurationField to arithmetic on\n DateTimeField instances will not work as expected.\n *\b**\b**\b**\b* E\bEm\bma\bai\bil\blF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs EmailField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=2\b25\b54\b4, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs EmailField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=2\b25\b54\b4, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd that checks that the value is a valid email address using\n _\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br.\n *\b**\b**\b**\b* F\bFi\bil\ble\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs FileField(u\bup\bpl\blo\boa\bad\bd_\b_t\bto\bo=\b='\b''\b', s\bst\bto\bor\bra\bag\bge\be=\b=N\bNo\bon\bne\be, m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=1\b10\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A file-upload field.\n-Note\n+Nota\n The primary_key argument isn\u2019t supported and will raise an error if used.\n Has the following optional arguments:\n FileField.upload_to_\b\u00b6\n This attribute provides a way of setting the upload directory and file\n name, and can be set in two ways. In both cases, the value is passed to\n the _\bS_\bt_\bo_\br_\ba_\bg_\be_\b._\bs_\ba_\bv_\be_\b(_\b) method.\n If you specify a string value or a _\bP_\ba_\bt_\bh, it may contain _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be_\b(_\b)\n@@ -646,15 +647,15 @@\n formatting; '%Y' is the four-digit year, '%m' is the two-digit month and '%d'\n is the two-digit day. If you upload a file on Jan. 15, 2007, it will be saved\n in the directory /home/media/photos/2007/01/15.\n If you wanted to retrieve the uploaded file\u2019s on-disk filename, or the file\u2019s\n size, you could use the _\bn_\ba_\bm_\be and _\bs_\bi_\bz_\be attributes respectively; for more\n information on the available attributes and methods, see the _\bF_\bi_\bl_\be class\n reference and the _\bM_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs topic guide.\n-Note\n+Nota\n The file is saved as part of saving the model in the database, so the actual\n file name used on disk cannot be relied on until after the model has been\n saved.\n The uploaded file\u2019s relative URL can be obtained using the _\bu_\br_\bl attribute.\n Internally, this calls the _\bu_\br_\bl_\b(_\b) method of the underlying _\bS_\bt_\bo_\br_\ba_\bg_\be class.\n Note that whenever you deal with uploaded files, you should pay close attention\n to where you\u2019re uploading them and what type of files they are, to avoid\n@@ -666,49 +667,49 @@\n Also note that even an uploaded HTML file, since it can be executed by the\n browser (though not by the server), can pose security threats that are\n equivalent to XSS or CSRF attacks.\n _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd instances are created in your database as varchar columns with a\n default max length of 100 characters. As with other fields, you can change the\n maximum length using the _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh argument.\n *\b**\b**\b* F\bFi\bil\ble\beF\bFi\bie\bel\bld\bd a\ban\bnd\bd F\bFi\bie\bel\bld\bdF\bFi\bil\ble\be_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FieldFile_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FieldFile_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n When you access a _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd on a model, you are given an instance of _\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be\n as a proxy for accessing the underlying file.\n The API of _\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be mirrors that of _\bF_\bi_\bl_\be, with one key difference: T\bTh\bhe\be o\bob\bbj\bje\bec\bct\bt\n w\bwr\bra\bap\bpp\bpe\bed\bd b\bby\by t\bth\bhe\be c\bcl\bla\bas\bss\bs i\bis\bs n\bno\bot\bt n\bne\bec\bce\bes\bss\bsa\bar\bri\bil\bly\by a\ba w\bwr\bra\bap\bpp\bpe\ber\br a\bar\bro\bou\bun\bnd\bd P\bPy\byt\bth\bho\bon\bn?\b\u2019s\bs b\bbu\bui\bil\blt\bt-\b-i\bin\bn f\bfi\bil\ble\be\n o\bob\bbj\bje\bec\bct\bt.\b. Instead, it is a wrapper around the result of the _\bS_\bt_\bo_\br_\ba_\bg_\be_\b._\bo_\bp_\be_\bn_\b(_\b)\n method, which may be a _\bF_\bi_\bl_\be object, or it may be a custom storage\u2019s\n implementation of the _\bF_\bi_\bl_\be API.\n In addition to the API inherited from _\bF_\bi_\bl_\be such as read() and write(),\n _\bF_\bi_\be_\bl_\bd_\bF_\bi_\bl_\be includes several methods that can be used to interact with the\n underlying file:\n-Warning\n+Avvertimento\n Two methods of this class, _\bs_\ba_\bv_\be_\b(_\b) and _\bd_\be_\bl_\be_\bt_\be_\b(_\b), default to saving the model\n object of the associated FieldFile in the database.\n FieldFile.name_\b\u00b6\n The name of the file including the relative path from the root of the _\bS_\bt_\bo_\br_\ba_\bg_\be\n of the associated _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd.\n- FieldFile.path_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.path_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A read-only property to access the file\u2019s local filesystem path by calling the\n _\bp_\ba_\bt_\bh_\b(_\b) method of the underlying _\bS_\bt_\bo_\br_\ba_\bg_\be class.\n- FieldFile.size_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.size_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The result of the underlying _\bS_\bt_\bo_\br_\ba_\bg_\be_\b._\bs_\bi_\bz_\be_\b(_\b) method.\n- FieldFile.url_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.url_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A read-only property to access the file\u2019s relative URL by calling the _\bu_\br_\bl_\b(_\b)\n method of the underlying _\bS_\bt_\bo_\br_\ba_\bg_\be class.\n- FieldFile.open(m\bmo\bod\bde\be=\b='\b'r\brb\bb'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.open(m\bmo\bod\bde\be=\b='\b'r\brb\bb'\b')_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Opens or reopens the file associated with this instance in the specified mode.\n Unlike the standard Python open() method, it doesn\u2019t return a file descriptor.\n Since the underlying file is opened implicitly when accessing it, it may be\n unnecessary to call this method except to reset the pointer to the underlying\n file or to change the mode.\n- FieldFile.close()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.close()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Behaves like the standard Python file.close() method and closes the file\n associated with this instance.\n- FieldFile.save(n\bna\bam\bme\be, c\bco\bon\bnt\bte\ben\bnt\bt, s\bsa\bav\bve\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.save(n\bna\bam\bme\be, c\bco\bon\bnt\bte\ben\bnt\bt, s\bsa\bav\bve\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method takes a filename and file contents and passes them to the storage\n class for the field, then associates the stored file with the model field. If\n you want to manually associate file data with _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd instances on your\n model, the save() method is used to persist that file data.\n Takes two required arguments: name which is the name of the file, and content\n which is an object containing the file\u2019s contents. The optional save argument\n controls whether or not the model instance is saved after the file associated\n@@ -722,27 +723,27 @@\n f = open(\"/path/to/hello.world\")\n myfile = File(f)\n Or you can construct one from a Python string like this:\n from django.core.files.base import ContentFile\n \n myfile = ContentFile(\"hello world\")\n For more information, see _\bM_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs.\n- FieldFile.delete(s\bsa\bav\bve\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ FieldFile.delete(s\bsa\bav\bve\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Deletes the file associated with this instance and clears all attributes on the\n field. Note: This method will close the file if it happens to be open when\n delete() is called.\n The optional save argument controls whether or not the model instance is saved\n after the file associated with this field has been deleted. Defaults to True.\n Note that when a model is deleted, related files are not deleted. If you need\n to cleanup orphaned files, you\u2019ll need to handle it yourself (for instance,\n with a custom management command that can be run manually or scheduled to run\n periodically via e.g. cron).\n *\b**\b**\b**\b* F\bFi\bil\ble\beP\bPa\bat\bth\bhF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs FilePathField(p\bpa\bat\bth\bh=\b='\b''\b', m\bma\bat\btc\bch\bh=\b=N\bNo\bon\bne\be, r\bre\bec\bcu\bur\brs\bsi\biv\bve\be=\b=F\bFa\bal\bls\bse\be, a\bal\bll\blo\bow\bw_\b_f\bfi\bil\ble\bes\bs=\b=T\bTr\bru\bue\be,\n- a\bal\bll\blo\bow\bw_\b_f\bfo\bol\bld\bde\ber\brs\bs=\b=F\bFa\bal\bls\bse\be, m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=1\b10\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ a\bal\bll\blo\bow\bw_\b_f\bfo\bol\bld\bde\ber\brs\bs=\b=F\bFa\bal\bls\bse\be, m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=1\b10\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd whose choices are limited to the filenames in a certain directory\n on the filesystem. Has some special arguments, of which the first is r\bre\beq\bqu\bui\bir\bre\bed\bd:\n FilePathField.path_\b\u00b6\n Required. The absolute filesystem path to a directory from which this\n _\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd should get its choices. Example: \"/home/images\".\n path may also be a callable, such as a function to dynamically set the\n path at runtime. Example:\n@@ -778,28 +779,28 @@\n FilePathField(path=\"/home/images\", match=\"foo.*\", recursive=True)\n \u2026will match /home/images/foo.png but not /home/images/foo/bar.png because the\n _\bm_\ba_\bt_\bc_\bh applies to the base filename (foo.png and bar.png).\n _\bF_\bi_\bl_\be_\bP_\ba_\bt_\bh_\bF_\bi_\be_\bl_\bd instances are created in your database as varchar columns with a\n default max length of 100 characters. As with other fields, you can change the\n maximum length using the _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh argument.\n *\b**\b**\b**\b* F\bFl\blo\boa\bat\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FloatField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FloatField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A floating-point number represented in Python by a float instance.\n The default form widget for this field is a _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt when _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be is False\n or _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt otherwise.\n FloatField vs. DecimalField\n The _\bF_\bl_\bo_\ba_\bt_\bF_\bi_\be_\bl_\bd class is sometimes mixed up with the _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bF_\bi_\be_\bl_\bd class.\n Although they both represent real numbers, they represent those numbers\n differently. FloatField uses Python\u2019s float type internally, while DecimalField\n uses Python\u2019s Decimal type. For information on the difference between the two,\n see Python\u2019s documentation for the _\bd_\be_\bc_\bi_\bm_\ba_\bl module.\n *\b**\b**\b**\b* G\bGe\ben\bne\ber\bra\bat\bte\bed\bdF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n New in Django 5.0.\n c\bcl\bla\bas\bss\bs GeneratedField(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd, d\bdb\bb_\b_p\bpe\ber\brs\bsi\bis\bst\bt=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A field that is always computed based on other fields in the model. This field\n is managed and updated by the database itself. Uses the GENERATED ALWAYS SQL\n syntax.\n There are two kinds of generated columns: stored and virtual. A stored\n generated column is computed when it is written (inserted or updated) and\n occupies storage as if it were a regular column. A virtual generated column\n occupies no storage and is computed when it is read. Thus, a virtual generated\n@@ -828,15 +829,15 @@\n doesn\u2019t validate and the database may raise an error e.g. PostgreSQL requires\n functions and operators referenced in a generated column to be marked as\n IMMUTABLE.\n You should always check that expression is supported on your database. Check\n out _\bM_\ba_\br_\bi_\ba_\bD_\bB, _\bM_\by_\bS_\bQ_\bL, _\bO_\br_\ba_\bc_\bl_\be, _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL, or _\bS_\bQ_\bL_\bi_\bt_\be docs.\n *\b**\b**\b**\b* G\bGe\ben\bne\ber\bri\bic\bcI\bIP\bPA\bAd\bdd\bdr\bre\bes\bss\bsF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs GenericIPAddressField(p\bpr\bro\bot\bto\boc\bco\bol\bl=\b='\b'b\bbo\bot\bth\bh'\b', u\bun\bnp\bpa\bac\bck\bk_\b_i\bip\bpv\bv4\b4=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n An IPv4 or IPv6 address, in string format (e.g. 192.0.2.30 or 2a02:42fe::4).\n The default form widget for this field is a _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt.\n The IPv6 address normalization follows _\bR\bR_\bF\bF_\bC\bC_\b _\b4\b4_\b2\b2_\b9\b9_\b1\b1_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b2\b2_\b.\b._\b2\b2 section 2.2,\n including using the IPv4 format suggested in paragraph 3 of that section, like\n ::ffff:192.0.2.0. For example, 2001:0::0:01 would be normalized to 2001::1, and\n ::ffff:0a0a:0a0a to ::ffff:10.10.10.10. All characters are converted to\n lowercase.\n@@ -847,15 +848,15 @@\n Unpacks IPv4 mapped addresses like ::ffff:192.0.2.1. If this option is\n enabled that address would be unpacked to 192.0.2.1. Default is disabled.\n Can only be used when protocol is set to 'both'.\n If you allow for blank values, you have to allow for null values since blank\n values are stored as null.\n *\b**\b**\b**\b* I\bIm\bma\bag\bge\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs ImageField(u\bup\bpl\blo\boa\bad\bd_\b_t\bto\bo=\b=N\bNo\bon\bne\be, h\bhe\bei\big\bgh\bht\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, w\bwi\bid\bdt\bth\bh_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be,\n- m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=1\b10\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=1\b10\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Inherits all attributes and methods from _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd, but also validates that the\n uploaded object is a valid image.\n In addition to the special attributes that are available for _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd, an\n _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd also has height and width attributes.\n To facilitate querying on those attributes, _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd has the following\n optional arguments:\n ImageField.height_field_\b\u00b6\n@@ -866,23 +867,23 @@\n each time an image object is set.\n Requires the _\bp_\bi_\bl_\bl_\bo_\bw library.\n _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd instances are created in your database as varchar columns with a\n default max length of 100 characters. As with other fields, you can change the\n maximum length using the _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh argument.\n The default form widget for this field is a _\bC_\bl_\be_\ba_\br_\ba_\bb_\bl_\be_\bF_\bi_\bl_\be_\bI_\bn_\bp_\bu_\bt.\n *\b**\b**\b**\b* I\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs IntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs IntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n An integer. Values from -2147483648 to 2147483647 are safe in all databases\n supported by Django.\n It uses _\bM_\bi_\bn_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br and _\bM_\ba_\bx_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br to validate the input based on\n the values that the default database supports.\n The default form widget for this field is a _\bN_\bu_\bm_\bb_\be_\br_\bI_\bn_\bp_\bu_\bt when _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\be is False\n or _\bT_\be_\bx_\bt_\bI_\bn_\bp_\bu_\bt otherwise.\n *\b**\b**\b**\b* J\bJS\bSO\bON\bNF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs JSONField(e\ben\bnc\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be, d\bde\bec\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs JSONField(e\ben\bnc\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be, d\bde\bec\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A field for storing JSON encoded data. In Python the data is represented in its\n Python native format: dictionaries, lists, strings, numbers, booleans and None.\n JSONField is supported on MariaDB, MySQL, Oracle, PostgreSQL, and SQLite (with\n the _\bJ_\bS_\bO_\bN_\b1_\b _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\b _\be_\bn_\ba_\bb_\bl_\be_\bd).\n JSONField.encoder_\b\u00b6\n An optional _\bj_\bs_\bo_\bn_\b._\bJ_\bS_\bO_\bN_\bE_\bn_\bc_\bo_\bd_\be_\br subclass to serialize data types not\n supported by the standard JSON serializer (e.g. datetime.datetime or\n@@ -914,79 +915,79 @@\n is stored based on the actual structure of the JSON which allows indexing. The\n trade-off is a small additional cost on writing to the jsonb field. JSONField\n uses jsonb.\n Oracle users\n Oracle Database does not support storing JSON scalar values. Only JSON objects\n and arrays (represented in Python using _\bd_\bi_\bc_\bt and _\bl_\bi_\bs_\bt) are supported.\n *\b**\b**\b**\b* P\bPo\bos\bsi\bit\bti\biv\bve\beB\bBi\big\bgI\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PositiveBigIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PositiveBigIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like a _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd, but only allows values under a certain (database-\n dependent) point. Values from 0 to 9223372036854775807 are safe in all\n databases supported by Django.\n *\b**\b**\b**\b* P\bPo\bos\bsi\bit\bti\biv\bve\beI\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PositiveIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PositiveIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like an _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd, but must be either positive or zero (0). Values from 0 to\n 2147483647 are safe in all databases supported by Django. The value 0 is\n accepted for backward compatibility reasons.\n *\b**\b**\b**\b* P\bPo\bos\bsi\bit\bti\biv\bve\beS\bSm\bma\bal\bll\blI\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs PositiveSmallIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs PositiveSmallIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like a _\bP_\bo_\bs_\bi_\bt_\bi_\bv_\be_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd, but only allows values under a certain (database-\n dependent) point. Values from 0 to 32767 are safe in all databases supported by\n Django.\n *\b**\b**\b**\b* S\bSl\blu\bug\bgF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SlugField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=5\b50\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SlugField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=5\b50\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n _\bS_\bl_\bu_\bg is a newspaper term. A slug is a short label for something, containing\n only letters, numbers, underscores or hyphens. They\u2019re generally used in URLs.\n Like a CharField, you can specify _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh (read the note about database\n portability and _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh in that section, too). If _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh is not\n specified, Django will use a default length of 50.\n Implies setting _\bF_\bi_\be_\bl_\bd_\b._\bd_\bb_\b__\bi_\bn_\bd_\be_\bx to True.\n It is often useful to automatically prepopulate a SlugField based on the value\n of some other value. You can do this automatically in the admin using\n _\bp_\br_\be_\bp_\bo_\bp_\bu_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs.\n It uses _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bs_\bl_\bu_\bg or _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bc_\bo_\bd_\be_\b__\bs_\bl_\bu_\bg for validation.\n SlugField.allow_unicode_\b\u00b6\n If True, the field accepts Unicode letters in addition to ASCII letters.\n Defaults to False.\n *\b**\b**\b**\b* S\bSm\bma\bal\bll\blA\bAu\but\bto\boF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SmallAutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SmallAutoField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like an _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd, but only allows values under a certain (database-dependent)\n limit. Values from 1 to 32767 are safe in all databases supported by Django.\n *\b**\b**\b**\b* S\bSm\bma\bal\bll\blI\bIn\bnt\bte\beg\bge\ber\brF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SmallIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SmallIntegerField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like an _\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd, but only allows values under a certain (database-\n dependent) point. Values from -32768 to 32767 are safe in all databases\n supported by Django.\n *\b**\b**\b**\b* T\bTe\bex\bxt\btF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TextField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TextField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A large text field. The default form widget for this field is a _\bT_\be_\bx_\bt_\ba_\br_\be_\ba.\n If you specify a max_length attribute, it will be reflected in the _\bT_\be_\bx_\bt_\ba_\br_\be_\ba\n widget of the auto-generated form field. However it is not enforced at the\n model or database level. Use a _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd for that.\n TextField.db_collation_\b\u00b6\n Optional. The database collation name of the field.\n- Note\n+ Nota\n Collation names are not standardized. As such, this will not be portable\n across multiple database backends.\n Oracle\n Oracle does not support collations for a TextField.\n *\b**\b**\b**\b* T\bTi\bim\bme\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TimeField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TimeField(a\bau\but\bto\bo_\b_n\bno\bow\bw=\b=F\bFa\bal\bls\bse\be, a\bau\but\bto\bo_\b_n\bno\bow\bw_\b_a\bad\bdd\bd=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A time, represented in Python by a datetime.time instance. Accepts the same\n auto-population options as _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd.\n The default form widget for this field is a _\bT_\bi_\bm_\be_\bI_\bn_\bp_\bu_\bt. The admin adds some\n JavaScript shortcuts.\n *\b**\b**\b**\b* U\bUR\bRL\bLF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs URLField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=2\b20\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs URLField(m\bma\bax\bx_\b_l\ble\ben\bng\bgt\bth\bh=\b=2\b20\b00\b0, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd for a URL, validated by _\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br.\n The default form widget for this field is a _\bU_\bR_\bL_\bI_\bn_\bp_\bu_\bt.\n Like all _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd subclasses, _\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd takes the optional _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh argument.\n If you don\u2019t specify _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh, a default of 200 is used.\n *\b**\b**\b**\b* U\bUU\bUI\bID\bDF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs UUIDField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs UUIDField(*\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A field for storing universally unique identifiers. Uses Python\u2019s _\bU_\bU_\bI_\bD class.\n When used on PostgreSQL and MariaDB 10.7+, this stores in a uuid datatype,\n otherwise in a char(32).\n Universally unique identifiers are a good alternative to _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd for\n _\bp_\br_\bi_\bm_\ba_\br_\by_\b__\bk_\be_\by. The database will not generate the UUID for you, so it is\n recommended to use _\bd_\be_\bf_\ba_\bu_\bl_\bt:\n import uuid\n@@ -1001,15 +1002,15 @@\n Lookups on PostgreSQL and MariaDB 10.7+\n Using _\bi_\be_\bx_\ba_\bc_\bt, _\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs, _\bi_\bc_\bo_\bn_\bt_\ba_\bi_\bn_\bs, _\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh, _\bi_\bs_\bt_\ba_\br_\bt_\bs_\bw_\bi_\bt_\bh, _\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh, or\n _\bi_\be_\bn_\bd_\bs_\bw_\bi_\bt_\bh lookups on PostgreSQL don\u2019t work for values without hyphens, because\n PostgreSQL and MariaDB 10.7+ store them in a hyphenated uuid datatype type.\n *\b**\b**\b**\b**\b* R\bRe\bel\bla\bat\bti\bio\bon\bns\bsh\bhi\bip\bp f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django also defines a set of fields that represent relations.\n *\b**\b**\b**\b* F\bFo\bor\bre\bei\big\bgn\bnK\bKe\bey\by_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ForeignKey(t\bto\bo, o\bon\bn_\b_d\bde\bel\ble\bet\bte\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ForeignKey(t\bto\bo, o\bon\bn_\b_d\bde\bel\ble\bet\bte\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A many-to-one relationship. Requires two positional arguments: the class to\n which the model is related and the _\bo_\bn_\b__\bd_\be_\bl_\be_\bt_\be option:\n from django.db import models\n \n \n class Manufacturer(models.Model):\n name = models.TextField()\n@@ -1046,24 +1047,24 @@\n models.SET_NULL,\n blank=True,\n null=True,\n )\n on_delete doesn\u2019t create an SQL constraint in the database. Support for\n database-level cascade options _\bm_\ba_\by_\b _\bb_\be_\b _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b _\bl_\ba_\bt_\be_\br.\n The possible values for _\bo_\bn_\b__\bd_\be_\bl_\be_\bt_\be are found in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs:\n- * CASCADE_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * CASCADE_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Cascade deletes. Django emulates the behavior of the SQL constraint\n ON DELETE CASCADE and also deletes the object containing the\n ForeignKey.\n _\bM_\bo_\bd_\be_\bl_\b._\bd_\be_\bl_\be_\bt_\be_\b(_\b) isn\u2019t called on related models, but the _\bp_\br_\be_\b__\bd_\be_\bl_\be_\bt_\be\n and _\bp_\bo_\bs_\bt_\b__\bd_\be_\bl_\be_\bt_\be signals are sent for all deleted objects.\n- * PROTECT_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * PROTECT_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Prevent deletion of the referenced object by raising\n _\bP_\br_\bo_\bt_\be_\bc_\bt_\be_\bd_\bE_\br_\br_\bo_\br, a subclass of _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br.\n- * RESTRICT_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * RESTRICT_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Prevent deletion of the referenced object by raising\n _\bR_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd_\bE_\br_\br_\bo_\br (a subclass of _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br). Unlike\n _\bP_\bR_\bO_\bT_\bE_\bC_\bT, deletion of the referenced object is allowed if it also\n references a different object that is being deleted in the same\n operation, but via a _\bC_\bA_\bS_\bC_\bA_\bD_\bE relationship.\n Consider this set of models:\n class Artist(models.Model):\n@@ -1090,20 +1091,20 @@\n album=album_two)\n >>> album_one.delete()\n # Raises RestrictedError.\n >>> artist_two.delete()\n # Raises RestrictedError.\n >>> artist_one.delete()\n (4, {'Song': 2, 'Album': 1, 'Artist': 1})\n- * SET_NULL_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * SET_NULL_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Set the _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by null; this is only possible if _\bn_\bu_\bl_\bl is True.\n- * SET_DEFAULT_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * SET_DEFAULT_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Set the _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by to its default value; a default for the\n _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by must be set.\n- * SET()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * SET()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Set the _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by to the value passed to _\bS_\bE_\bT_\b(_\b), or if a callable\n is passed in, the result of calling it. In most cases, passing a\n callable will be necessary to avoid executing queries at the time\n your models.py is imported:\n from django.conf import settings\n from django.contrib.auth import get_user_model\n from django.db import models\n@@ -1115,15 +1116,15 @@\n \n \n class MyModel(models.Model):\n user = models.ForeignKey(\n settings.AUTH_USER_MODEL,\n on_delete=models.SET(get_sentinel_user),\n )\n- * DO_NOTHING_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ * DO_NOTHING_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Take no action. If your database backend enforces referential\n integrity, this will cause an _\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br unless you manually\n add an SQL ON DELETE constraint to the database field.\n ForeignKey.limit_choices_to_\b\u00b6\n Sets a limit to the available choices for this field when this field is\n rendered using a ModelForm or the admin (by default, all objects in the\n queryset are available to choose). Either a dictionary, a _\bQ object, or a\n@@ -1144,15 +1145,15 @@\n \n \n limit_choices_to = limit_pub_date_choices\n If limit_choices_to is or returns a _\bQ_\b _\bo_\bb_\bj_\be_\bc_\bt, which is useful for _\bc_\bo_\bm_\bp_\bl_\be_\bx\n _\bq_\bu_\be_\br_\bi_\be_\bs, then it will only have an effect on the choices available in the\n admin when the field is not listed in _\br_\ba_\bw_\b__\bi_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs in the ModelAdmin for\n the model.\n- Note\n+ Nota\n If a callable is used for limit_choices_to, it will be invoked every time\n a new form is instantiated. It may also be invoked when a model is\n validated, for example by management commands or the admin. The admin\n constructs querysets to validate its form inputs in various edge cases\n multiple times, so there is a possibility your callable may be invoked\n several times.\n ForeignKey.related_name_\b\u00b6\n@@ -1215,15 +1216,15 @@\n Setting it to False does not mean you can reference a swappable model\n even if it is swapped out - False means that the migrations made with\n this ForeignKey will always reference the exact model you specify (so it\n will fail hard if the user tries to run with a User model you don\u2019t\n support, for example).\n If in doubt, leave it to its default of True.\n *\b**\b**\b**\b* M\bMa\ban\bny\byT\bTo\boM\bMa\ban\bny\byF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ManyToManyField(t\bto\bo, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ManyToManyField(t\bto\bo, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A many-to-many relationship. Requires a positional argument: the class to which\n the model is related, which works exactly the same as it does for _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by,\n including _\br_\be_\bc_\bu_\br_\bs_\bi_\bv_\be and _\bl_\ba_\bz_\by relationships.\n Related objects can be added, removed, or created with the field\u2019s\n _\bR_\be_\bl_\ba_\bt_\be_\bd_\bM_\ba_\bn_\ba_\bg_\be_\br.\n *\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be R\bRe\bep\bpr\bre\bes\bse\ben\bnt\bta\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n Behind the scenes, Django creates an intermediary join table to represent the\n@@ -1261,19 +1262,19 @@\n ManyToManyField.through_\b\u00b6\n Django will automatically generate a table to manage many-to-many\n relationships. However, if you want to manually specify the intermediary\n table, you can use the _\bt_\bh_\br_\bo_\bu_\bg_\bh option to specify the Django model that\n represents the intermediate table that you want to use.\n The most common use for this option is when you want to associate _\be_\bx_\bt_\br_\ba\n _\bd_\ba_\bt_\ba_\b _\bw_\bi_\bt_\bh_\b _\ba_\b _\bm_\ba_\bn_\by_\b-_\bt_\bo_\b-_\bm_\ba_\bn_\by_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs_\bh_\bi_\bp.\n- Note\n+ Nota\n If you don\u2019t want multiple associations between the same instances, add a\n _\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt including the from and to fields. Django\u2019s automatically\n generated many-to-many tables include such a constraint.\n- Note\n+ Nota\n Recursive relationships using an intermediary model can\u2019t determine the\n reverse accessors names, as they would be the same. You need to set a\n _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be to at least one of them. If you\u2019d prefer Django not to\n create a backwards relation, set related_name to '+'.\n If you don\u2019t specify an explicit through model, there is still an\n implicit through model class you can use to directly access the table\n created to hold the association. It has three fields to link the models.\n@@ -1363,19 +1364,19 @@\n should always point toward the swapped-in model - for example, if it is a\n profile model designed specifically for your custom user model.\n If in doubt, leave it to its default of True.\n _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd does not support _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs.\n _\bn_\bu_\bl_\bl has no effect since there is no way to require a relationship at the\n database level.\n *\b**\b**\b**\b* O\bOn\bne\beT\bTo\boO\bOn\bne\beF\bFi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs OneToOneField(t\bto\bo, o\bon\bn_\b_d\bde\bel\ble\bet\bte\be, p\bpa\bar\bre\ben\bnt\bt_\b_l\bli\bin\bnk\bk=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs OneToOneField(t\bto\bo, o\bon\bn_\b_d\bde\bel\ble\bet\bte\be, p\bpa\bar\bre\ben\bnt\bt_\b_l\bli\bin\bnk\bk=\b=F\bFa\bal\bls\bse\be, *\b**\b*o\bop\bpt\bti\bio\bon\bns\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A one-to-one relationship. Conceptually, this is similar to a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by with\n-_\bu_\bn_\bi_\bq_\bu_\be_\b=_\bT_\br_\bu_\be, but the \u201creverse\u201d side of the relation will directly return a\n+_\bu_\bn_\bi_\bq_\bu_\be_\b=_\bT_\br_\bu_\be, but the \u00abreverse\u00bb side of the relation will directly return a\n single object.\n-This is most useful as the primary key of a model which \u201cextends\u201d another model\n+This is most useful as the primary key of a model which \u00abextends\u00bb another model\n in some way; _\bM_\bu_\bl_\bt_\bi_\b-_\bt_\ba_\bb_\bl_\be_\b _\bi_\bn_\bh_\be_\br_\bi_\bt_\ba_\bn_\bc_\be is implemented by adding an implicit one-\n to-one relation from the child model to the parent model, for example.\n One positional argument is required: the class to which the model will be\n related. This works exactly the same as it does for _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by, including all\n the options regarding _\br_\be_\bc_\bu_\br_\bs_\bi_\bv_\be and _\bl_\ba_\bz_\by relationships.\n If you do not specify the _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be argument for the OneToOneField, Django\n will use the lowercase name of the current model as default value.\n@@ -1489,15 +1490,15 @@\n manufacturer = models.ForeignKey(\n \"thirdpartyapp.Manufacturer\",\n on_delete=models.CASCADE,\n )\n Absolute references always point to the same model, even when used in an\n _\ba_\bb_\bs_\bt_\br_\ba_\bc_\bt_\b _\bm_\bo_\bd_\be_\bl.\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bd A\bAP\bPI\bI r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Field_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Field_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Field is an abstract class that represents a database table column.\n Django uses fields to create the database table (_\bd_\bb_\b__\bt_\by_\bp_\be_\b(_\b)), to map\n Python types to database (_\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b)) and vice-versa (_\bf_\br_\bo_\bm_\b__\bd_\bb_\b__\bv_\ba_\bl_\bu_\be\n _\b(_\b)).\n A field is thus a fundamental piece in different Django APIs, notably,\n _\bm_\bo_\bd_\be_\bl_\bs and _\bq_\bu_\be_\br_\by_\bs_\be_\bt_\bs.\n In models, a field is instantiated as a class attribute and represents a\n@@ -1520,96 +1521,97 @@\n descriptor_class_\b\u00b6\n A class implementing the _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bo_\br_\b _\bp_\br_\bo_\bt_\bo_\bc_\bo_\bl that is instantiated\n and assigned to the model instance attribute. The constructor must\n accept a single argument, the Field instance. Overriding this class\n attribute allows for customizing the get and set behavior.\n To map a Field to a database-specific type, Django exposes several\n methods:\n- get_internal_type()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_internal_type()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a string naming this field for backend specific purposes.\n By default, it returns the class name.\n See _\bE_\bm_\bu_\bl_\ba_\bt_\bi_\bn_\bg_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bi_\be_\bl_\bd_\b _\bt_\by_\bp_\be_\bs for usage in custom fields.\n- db_type(c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ db_type(c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the database column data type for the _\bF_\bi_\be_\bl_\bd, taking into\n account the connection.\n See _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bt_\by_\bp_\be_\bs for usage in custom fields.\n- rel_db_type(c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ rel_db_type(c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the database column data type for fields such as ForeignKey\n and OneToOneField that point to the _\bF_\bi_\be_\bl_\bd, taking into account the\n connection.\n See _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bt_\by_\bp_\be_\bs for usage in custom fields.\n There are three main situations where Django needs to interact with the\n database backend and fields:\n * when it queries the database (Python value -> database backend\n value)\n * when it loads data from the database (database backend value -\n > Python value)\n * when it saves to the database (Python value -> database backend\n value)\n When querying, _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) and _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) are used:\n- get_prep_value(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_prep_value(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n value is the current value of the model\u2019s attribute, and the method\n should return data in a format that has been prepared for use as a\n parameter in a query.\n See _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bt_\bo_\b _\bq_\bu_\be_\br_\by_\b _\bv_\ba_\bl_\bu_\be_\bs for usage.\n- get_db_prep_value(v\bva\bal\blu\bue\be, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn, p\bpr\bre\bep\bpa\bar\bre\bed\bd=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_db_prep_value(v\bva\bal\blu\bue\be, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn, p\bpr\bre\bep\bpa\bar\bre\bed\bd=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts value to a backend-specific value. By default it returns\n value if prepared=True and _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) if is False.\n See _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bq_\bu_\be_\br_\by_\b _\bv_\ba_\bl_\bu_\be_\bs_\b _\bt_\bo_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bv_\ba_\bl_\bu_\be_\bs for usage.\n When loading data, _\bf_\br_\bo_\bm_\b__\bd_\bb_\b__\bv_\ba_\bl_\bu_\be_\b(_\b) is used:\n from_db_value(v\bva\bal\blu\bue\be, e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b\u00b6\n Converts a value as returned by the database to a Python object. It\n is the reverse of _\bg_\be_\bt_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b).\n This method is not used for most built-in fields as the database\n backend already returns the correct Python type, or the backend\n itself does the conversion.\n expression is the same as self.\n See _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bv_\ba_\bl_\bu_\be_\bs_\b _\bt_\bo_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs for usage.\n- Note\n+ Nota\n For performance reasons, from_db_value is not implemented as a no-\n op on fields which do not require it (all Django fields).\n Consequently you may not call super in your definition.\n When saving, _\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b(_\b) and _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bs_\ba_\bv_\be_\b(_\b) are used:\n- get_db_prep_save(v\bva\bal\blu\bue\be, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_db_prep_save(v\bva\bal\blu\bue\be, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Same as the _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be_\b(_\b), but called when the field value\n must be s\bsa\bav\bve\bed\bd to the database. By default returns _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bv_\ba_\bl_\bu_\be\n _\b(_\b).\n- pre_save(m\bmo\bod\bde\bel\bl_\b_i\bin\bns\bst\bta\ban\bnc\bce\be, a\bad\bdd\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ pre_save(m\bmo\bod\bde\bel\bl_\b_i\bin\bns\bst\bta\ban\bnc\bce\be, a\bad\bdd\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Method called prior to _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bs_\ba_\bv_\be_\b(_\b) to prepare the value\n before being saved (e.g. for _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd_\b._\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw).\n model_instance is the instance this field belongs to and add is\n whether the instance is being saved to the database for the first\n time.\n It should return the value of the appropriate attribute from\n model_instance for this field. The attribute name is in\n self.attname (this is set up by _\bF_\bi_\be_\bl_\bd).\n See _\bP_\br_\be_\bp_\br_\bo_\bc_\be_\bs_\bs_\bi_\bn_\bg_\b _\bv_\ba_\bl_\bu_\be_\bs_\b _\bb_\be_\bf_\bo_\br_\be_\b _\bs_\ba_\bv_\bi_\bn_\bg for usage.\n Fields often receive their values as a different type, either from\n serialization or from forms.\n- to_python(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ to_python(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts the value into the correct Python object. It acts as the\n reverse of _\bv_\ba_\bl_\bu_\be_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b), and is also called in _\bc_\bl_\be_\ba_\bn_\b(_\b).\n See _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bv_\ba_\bl_\bu_\be_\bs_\b _\bt_\bo_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs for usage.\n Besides saving to the database, the field also needs to know how to\n serialize its value:\n- value_from_object(o\bob\bbj\bj)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ value_from_object(o\bob\bbj\bj)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the field\u2019s value for the given model instance.\n This method is often used by _\bv_\ba_\bl_\bu_\be_\b__\bt_\bo_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b).\n- value_to_string(o\bob\bbj\bj)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ value_to_string(o\bob\bbj\bj)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts obj to a string. Used to serialize the value of the field.\n See _\bC_\bo_\bn_\bv_\be_\br_\bt_\bi_\bn_\bg_\b _\bf_\bi_\be_\bl_\bd_\b _\bd_\ba_\bt_\ba_\b _\bf_\bo_\br_\b _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn for usage.\n When using _\bm_\bo_\bd_\be_\bl_\b _\bf_\bo_\br_\bm_\bs, the Field needs to know which form field it\n should be represented by:\n- formfield(f\bfo\bor\brm\bm_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be, c\bch\bho\boi\bic\bce\bes\bs_\b_f\bfo\bor\brm\bm_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ formfield(f\bfo\bor\brm\bm_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be, c\bch\bho\boi\bic\bce\bes\bs_\b_f\bfo\bor\brm\bm_\b_c\bcl\bla\bas\bss\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the default _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\bF_\bi_\be_\bl_\bd of this field for _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm.\n By default, if both form_class and choices_form_class are None, it\n uses _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd. If the field has _\bc_\bh_\bo_\bi_\bc_\be_\bs and choices_form_class\n isn\u2019t specified, it uses _\bT_\by_\bp_\be_\bd_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd.\n See _\bS_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\bf_\bo_\br_\bm_\b _\bf_\bi_\be_\bl_\bd_\b _\bf_\bo_\br_\b _\ba_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd for usage.\n- deconstruct()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ deconstruct()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a 4-tuple with enough information to recreate the field:\n 1. The name of the field on the model.\n 2. The import path of the field (e.g.\n \"django.db.models.IntegerField\"). This should be the most\n portable version, so less specific may be better.\n 3. A list of positional arguments.\n 4. A dict of keyword arguments.\n@@ -1733,16 +1735,16 @@\n # _\bR_\be_\bl_\ba_\bt_\bi_\bv_\be\n # _\bA_\bb_\bs_\bo_\bl_\bu_\bt_\be\n o _\bF_\bi_\be_\bl_\bd_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bi_\bn_\bg_\b _\ba_\bn_\bd_\b _\bf_\be_\bt_\bc_\bh_\bi_\bn_\bg_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n * _\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b _\bf_\bo_\br_\b _\bf_\bi_\be_\bl_\bd_\bs\n o _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b _\bf_\bo_\br_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\bw_\bi_\bt_\bh_\b _\br_\be_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bd_\be_\bx_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Models — Django 5.1.4 documentation\n+ Models — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
      \n
      \n
      \n-

      Django 5.1.4 documentation

      \n+

      Documentazione Django 5.1.4

      \n \n
      \n@@ -107,37 +108,37 @@\n \n \n
      \n \n
      \n
      \n
      \n-

      Previous topic

      \n+

      Argomento precedente

      \n

      Migration Operations

      \n+ title=\"capitolo precedente\">Migration Operations

      \n
      \n
      \n-

      Next topic

      \n+

      Argomento successivo

      \n

      Model field reference

      \n+ title=\"capitolo successivo\">Model field reference

      \n
      \n \n-

      Quick search

      \n+

      Ricerca veloce

      \n
      \n
      \n \n- \n+ \n
      \n
      \n
      \n \n
      \n
      \n

      Last update:

      \n-

      Dec 04, 2024

      \n+

      dic 04, 2024

      \n
      \n \n \n
      \n \n
      \n
      \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Model API reference. For introductory material, see _\bM_\bo_\bd_\be_\bl_\bs.\n * _\bM_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bF_\bi_\be_\bl_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bd_\be_\bx_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n@@ -13,16 +13,16 @@\n * _\bM_\bo_\bd_\be_\bl_\b _\bM_\be_\bt_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs\n * _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bL_\bo_\bo_\bk_\bu_\bp_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n * _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n * _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n * _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/indexes.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/indexes.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model index reference — Django 5.1.4 documentation\n+ Model index reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
      \n
      \n
      \n-

      Django 5.1.4 documentation

      \n+

      Documentazione Django 5.1.4

      \n \n
      \n@@ -90,15 +91,15 @@\n to use from django.db import models and refer to the indexes as\n models.<IndexClass>.

      \n
      \n
      \n

      Index options\u00b6

      \n
      \n
      \n-class Index(*expressions, fields=(), name=None, db_tablespace=None, opclasses=(), condition=None, include=None)[source]\u00b6
      \n+class Index(*expressions, fields=(), name=None, db_tablespace=None, opclasses=(), condition=None, include=None)[sorgente]\u00b6\n

      Creates an index (B-Tree) in the database.

      \n
      \n \n
      \n

      expressions\u00b6

      \n
      \n
      \n@@ -194,15 +195,15 @@\n index is created in the db_tablespace of the field.

      \n

      If Field.db_tablespace isn\u2019t specified (or if the index uses multiple\n fields), the index is created in tablespace specified in the\n db_tablespace option inside the model\u2019s\n class Meta. If neither of those tablespaces are set, the index is created\n in the same tablespace as the table.

      \n
      \n-

      See also

      \n+

      Vedi anche

      \n

      For a list of PostgreSQL-specific indexes, see\n django.contrib.postgres.indexes.

      \n
      \n
      \n
      \n

      opclasses\u00b6

      \n
      \n@@ -317,37 +318,37 @@\n \n \n \n \n \n
      \n
      \n-

      Previous topic

      \n+

      Argomento precedente

      \n

      Model field reference

      \n+ title=\"capitolo precedente\">Model field reference

      \n
      \n
      \n-

      Next topic

      \n+

      Argomento successivo

      \n

      Constraints reference

      \n+ title=\"capitolo successivo\">Constraints reference

      \n
      \n \n-

      Quick search

      \n+

      Ricerca veloce

      \n
      \n
      \n \n- \n+ \n
      \n
      \n
      \n \n
      \n
      \n

      Last update:

      \n-

      Dec 04, 2024

      \n+

      dic 04, 2024

      \n
      \n \n \n
      \n \n
      \n
      \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl i\bin\bnd\bde\bex\bx r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Index classes ease creating database indexes. They can be added using the\n _\bM_\be_\bt_\ba_\b._\bi_\bn_\bd_\be_\bx_\be_\bs option. This document explains the API references of _\bI_\bn_\bd_\be_\bx which\n includes the _\bi_\bn_\bd_\be_\bx_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs.\n Referencing built-in indexes\n Indexes are defined in django.db.models.indexes, but for convenience they\u2019re\n imported into _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs. The standard convention is to use from\n django.db import models and refer to the indexes as models..\n *\b**\b**\b**\b**\b* I\bIn\bnd\bde\bex\bx o\bop\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs Index(*\b*e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs, f\bfi\bie\bel\bld\bds\bs=\b=(\b()\b), n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be=\b=N\bNo\bon\bne\be,\n- o\bop\bpc\bcl\bla\bas\bss\bse\bes\bs=\b=(\b()\b), c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, i\bin\bnc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ o\bop\bpc\bcl\bla\bas\bss\bse\bes\bs=\b=(\b()\b), c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, i\bin\bnc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates an index (B-Tree) in the database.\n *\b**\b**\b**\b* e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Index.expressions_\b\u00b6\n Positional argument *expressions allows creating functional indexes on\n expressions and database functions.\n For example:\n Index(Lower(\"title\").desc(), \"pub_date\", name=\"lower_title_date_idx\")\n@@ -67,15 +67,15 @@\n The name of the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be to use for this index. For single field\n indexes, if db_tablespace isn\u2019t provided, the index is created in the\n db_tablespace of the field.\n If _\bF_\bi_\be_\bl_\bd_\b._\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be isn\u2019t specified (or if the index uses multiple fields),\n the index is created in tablespace specified in the _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be option inside\n the model\u2019s class Meta. If neither of those tablespaces are set, the index is\n created in the same tablespace as the table.\n-See also\n+Vedi anche\n For a list of PostgreSQL-specific indexes, see _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bp_\bo_\bs_\bt_\bg_\br_\be_\bs_\b._\bi_\bn_\bd_\be_\bx_\be_\bs.\n *\b**\b**\b**\b* o\bop\bpc\bcl\bla\bas\bss\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Index.opclasses_\b\u00b6\n The names of the _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL_\b _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b _\bc_\bl_\ba_\bs_\bs_\be_\bs to use for this index. If you\n require a custom operator class, you must provide one for each field in the\n index.\n For example, GinIndex(name='json_index', fields=['jsonfield'], opclasses=\n@@ -129,16 +129,16 @@\n # _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bf_\bi_\be_\bl_\bd_\bs\n # _\bn_\ba_\bm_\be\n # _\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be\n # _\bo_\bp_\bc_\bl_\ba_\bs_\bs_\be_\bs\n # _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn\n # _\bi_\bn_\bc_\bl_\bu_\bd_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/instances.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/instances.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model instance reference — Django 5.1.4 documentation\n+ Model instance reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
      \n
      \n
      \n-

      Django 5.1.4 documentation

      \n+

      Documentazione Django 5.1.4

      \n \n
      \n@@ -86,22 +87,22 @@\n

      Throughout this reference we\u2019ll use the example blog models presented in the database query guide.

      \n
      \n

      Creating objects\u00b6

      \n

      To create a new instance of a model, instantiate it like any other Python\n class:

      \n
      \n
      \n-class Model(**kwargs)[source]\u00b6
      \n+class Model(**kwargs)[sorgente]\u00b6\n
      \n \n

      The keyword arguments are the names of the fields you\u2019ve defined on your model.\n Note that instantiating a model in no way touches your database; for that, you\n need to save().

      \n
      \n-

      Note

      \n+

      Nota

      \n

      You may be tempted to customize the model by overriding the __init__\n method. If you do so, however, take care not to change the calling\n signature as any change may prevent the model instance from being saved.\n Additionally, referring to model fields within __init__ may potentially\n result in infinite recursion errors in some circumstances. Rather than\n overriding __init__, try using one of these approaches:

      \n
        \n@@ -143,15 +144,15 @@\n \n
      \n
      \n
      \n

      Customizing model loading\u00b6

      \n
      \n
      \n-classmethod Model.from_db(db, field_names, values)[source]\u00b6
      \n+classmethod Model.from_db(db, field_names, values)[sorgente]\u00b6\n
      \n \n

      The from_db() method can be used to customize model instance creation\n when loading from the database.

      \n

      The db argument contains the database alias for the database the model\n is loaded from, field_names contains the names of all loaded fields, and\n values contains the loaded values for each field in field_names. The\n@@ -212,15 +213,15 @@\n

      >>> obj = MyModel.objects.first()\n >>> del obj.field\n >>> obj.field  # Loads the field from the database\n 
      \n
      \n
      \n
      \n-Model.refresh_from_db(using=None, fields=None, from_queryset=None)[source]\u00b6
      \n+Model.refresh_from_db(using=None, fields=None, from_queryset=None)[sorgente]\u00b6\n
      \n \n
      \n
      \n Model.arefresh_from_db(using=None, fields=None, from_queryset=None)\u00b6
      \n
      \n \n@@ -290,15 +291,15 @@\n
      \n
      \n
      \n Changed in Django 5.1:

      The from_queryset argument was added.

      \n
      \n
      \n
      \n-Model.get_deferred_fields()[source]\u00b6
      \n+Model.get_deferred_fields()[sorgente]\u00b6\n
      \n \n

      A helper method that returns a set containing the attribute names of all those\n fields that are currently deferred for this model.

      \n
    \n
    \n

    Validating objects\u00b6

    \n@@ -316,15 +317,15 @@\n all the fields that are included on the form. See the ModelForm\n documentation for more information. You should only\n need to call a model\u2019s full_clean() method if you plan to handle\n validation errors yourself, or if you have excluded fields from the\n ModelForm that require validation.

    \n
    \n
    \n-Model.full_clean(exclude=None, validate_unique=True, validate_constraints=True)[source]\u00b6
    \n+Model.full_clean(exclude=None, validate_unique=True, validate_constraints=True)[sorgente]\u00b6\n
    \n \n

    This method calls Model.clean_fields(), Model.clean(),\n Model.validate_unique() (if validate_unique is True), and\n Model.validate_constraints() (if validate_constraints is True)\n in that order and raises a ValidationError that\n has a message_dict attribute containing errors from all four stages.

    \n@@ -346,26 +347,26 @@\n # Display them to a user, or handle them programmatically.\n pass\n \n \n

    The first step full_clean() performs is to clean each individual field.

    \n
    \n
    \n-Model.clean_fields(exclude=None)[source]\u00b6
    \n+Model.clean_fields(exclude=None)[sorgente]\u00b6\n
    \n \n

    This method will validate all fields on your model. The optional exclude\n argument lets you provide a set of field names to exclude from validation.\n It will raise a ValidationError if any fields\n fail validation.

    \n

    The second step full_clean() performs is to call Model.clean().\n This method should be overridden to perform custom validation on your model.

    \n
    \n
    \n-Model.clean()[source]\u00b6
    \n+Model.clean()[sorgente]\u00b6\n
    \n \n

    This method should be used to provide custom model validation, and to modify\n attributes on your model if desired. For instance, you could use it to\n automatically provide a value for a field, or to do validation that requires\n access to more than a single field:

    \n
    import datetime\n@@ -456,15 +457,15 @@\n                     }\n                 )\n 
    \n
    \n \n
    \n
    \n-Model.validate_unique(exclude=None)[source]\u00b6
    \n+Model.validate_unique(exclude=None)[sorgente]\u00b6\n
    \n \n

    This method is similar to clean_fields(), but validates\n uniqueness constraints defined via Field.unique,\n Field.unique_for_date, Field.unique_for_month,\n Field.unique_for_year, or Meta.unique_together on your model instead of individual\n field values. The optional exclude argument allows you to provide a set\n@@ -475,30 +476,30 @@\n by Model.validate_constraints().

    \n

    Note that if you provide an exclude argument to validate_unique(), any\n unique_together constraint involving one of\n the fields you provided will not be checked.

    \n

    Finally, full_clean() will check any other constraints on your model.

    \n
    \n
    \n-Model.validate_constraints(exclude=None)[source]\u00b6
    \n+Model.validate_constraints(exclude=None)[sorgente]\u00b6\n
    \n \n

    This method validates all constraints defined in\n Meta.constraints. The\n optional exclude argument allows you to provide a set of field names to\n exclude from validation. It will raise a\n ValidationError if any constraints fail\n validation.

    \n
    \n
    \n

    Saving objects\u00b6

    \n

    To save an object back to the database, call save():

    \n
    \n
    \n-Model.save(*, force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS, update_fields=None)[source]\u00b6
    \n+Model.save(*, force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS, update_fields=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n Model.asave(*, force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS, update_fields=None)\u00b6
    \n
    \n \n@@ -506,15 +507,15 @@\n

    For details on using the force_insert and force_update arguments, see\n Forcing an INSERT or UPDATE. Details about the update_fields argument\n can be found in the Specifying which fields to save section.

    \n

    If you want customized saving behavior, you can override this save()\n method. See Overriding predefined model methods for more details.

    \n

    The model save process also has some subtleties; see the sections below.

    \n
    \n-

    Deprecated since version 5.1: Support for positional arguments is deprecated.

    \n+

    Deprecato dalla versione 5.1: Support for positional arguments is deprecated.

    \n
    \n
    \n

    Auto-incrementing primary keys\u00b6

    \n

    If a model has an AutoField \u2014 an auto-incrementing\n primary key \u2014 then that auto-incremented value will be calculated and saved as\n an attribute on your object the first time you call save():

    \n
    >>> b2 = Blog(name="Cheddar Talk", tagline="Thoughts on cheese.")\n@@ -585,15 +586,15 @@\n override pre_save() to implement\n auto_now_add and\n auto_now.

    \n
  • Prepare the data for the database. Each field\u2019s\n get_db_prep_save() method is asked to provide\n its current value in a data type that can be written to the database.

    \n

    Most fields don\u2019t require data preparation. Simple data types, such as\n-integers and strings, are \u2018ready to write\u2019 as a Python object. However, more\n+integers and strings, are \u201cready to write\u201d as a Python object. However, more\n complex data types often require some modification.

    \n

    For example, DateField fields use a Python\n datetime object to store data. Databases don\u2019t store datetime\n objects, so the field value must be converted into an ISO-compliant date\n string for insertion into the database.

    \n
  • \n
  • Insert the data into the database. The preprocessed, prepared data is\n@@ -727,15 +728,15 @@\n

  • \n
    \n
    \n
    \n

    Deleting objects\u00b6

    \n
    \n
    \n-Model.delete(using=DEFAULT_DB_ALIAS, keep_parents=False)[source]\u00b6
    \n+Model.delete(using=DEFAULT_DB_ALIAS, keep_parents=False)[sorgente]\u00b6\n
    \n \n
    \n
    \n Model.adelete(using=DEFAULT_DB_ALIAS, keep_parents=False)\u00b6
    \n
    \n \n@@ -774,15 +775,15 @@\n
    \n

    Other model instance methods\u00b6

    \n

    A few object methods have special purposes.

    \n
    \n

    __str__()\u00b6

    \n
    \n
    \n-Model.__str__()[source]\u00b6
    \n+Model.__str__()[sorgente]\u00b6\n
    \n \n

    The __str__() method is called whenever you call str() on an object.\n Django uses str(obj) in a number of places. Most notably, to display an\n object in the Django admin site and as the value inserted into a template when\n it displays an object. Thus, you should always return a nice, human-readable\n representation of the model from the __str__() method.

    \n@@ -799,15 +800,15 @@\n \n \n
    \n
    \n

    __eq__()\u00b6

    \n
    \n
    \n-Model.__eq__()[source]\u00b6
    \n+Model.__eq__()[sorgente]\u00b6\n
    \n \n

    The equality method is defined such that instances with the same primary\n key value and the same concrete class are considered equal, except that\n instances with a primary key value of None aren\u2019t equal to anything except\n themselves. For proxy models, concrete class is defined as the model\u2019s first\n non-proxy parent; for all other models it\u2019s simply the model\u2019s class.

    \n@@ -843,15 +844,15 @@\n \n \n
    \n
    \n

    __hash__()\u00b6

    \n
    \n
    \n-Model.__hash__()[source]\u00b6
    \n+Model.__hash__()[sorgente]\u00b6\n
    \n \n

    The __hash__() method is based on the instance\u2019s primary key value. It\n is effectively hash(obj.pk). If the instance doesn\u2019t have a primary key\n value then a TypeError will be raised (otherwise the __hash__()\n method would return different values before and after the instance is\n saved, but changing the __hash__() value of an instance is\n@@ -879,49 +880,49 @@\n

    def get_absolute_url(self):\n     from django.urls import reverse\n \n     return reverse("people-detail", kwargs={"pk": self.pk})\n 
    \n
    \n

    One place Django uses get_absolute_url() is in the admin app. If an object\n-defines this method, the object-editing page will have a \u201cView on site\u201d link\n+defines this method, the object-editing page will have a \u00abView on site\u00bb link\n that will jump you directly to the object\u2019s public view, as given by\n get_absolute_url().

    \n

    Similarly, a couple of other bits of Django, such as the syndication feed\n framework, use get_absolute_url() when it is\n defined. If it makes sense for your model\u2019s instances to each have a unique\n URL, you should define get_absolute_url().

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    You should avoid building the URL from unvalidated user input, in order to\n reduce possibilities of link or redirect poisoning:

    \n
    def get_absolute_url(self):\n     return "/%s/" % self.name\n 
    \n
    \n

    If self.name is '/example.com' this returns '//example.com/'\n which, in turn, is a valid schema relative URL but not the expected\n '/%2Fexample.com/'.

    \n
    \n

    It\u2019s good practice to use get_absolute_url() in templates, instead of\n-hard-coding your objects\u2019 URLs. For example, this template code is bad:

    \n+hard-coding your objects\u201d URLs. For example, this template code is bad:

    \n
    <!-- BAD template code. Avoid! -->\n <a href="/people/{{ object.id }}/">{{ object.name }}</a>\n 
    \n
    \n

    This template code is much better:

    \n
    <a href="{{ object.get_absolute_url }}">{{ object.name }}</a>\n 
    \n
    \n

    The logic here is that if you change the URL structure of your objects, even\n for something small like correcting a spelling error, you don\u2019t want to have to\n track down every place that the URL might be created. Specify it once, in\n get_absolute_url() and have all your other code call that one place.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The string you return from get_absolute_url() must contain only\n ASCII characters (required by the URI specification, RFC 3986#section-2)\n and be URL-encoded, if necessary.

    \n

    Code and templates calling get_absolute_url() should be able to use the\n result directly without any further processing. You may wish to use the\n django.utils.encoding.iri_to_uri() function to help with this if you\n are using strings containing characters outside the ASCII range.

    \n@@ -935,15 +936,15 @@\n
    \n
    \n Model.get_FOO_display()\u00b6
    \n
    \n \n

    For every field that has choices set, the\n object will have a get_FOO_display() method, where FOO is the name of\n-the field. This method returns the \u201chuman-readable\u201d value of the field.

    \n+the field. This method returns the \u00abhuman-readable\u00bb value of the field.

    \n

    For example:

    \n
    from django.db import models\n \n \n class Person(models.Model):\n     SHIRT_SIZES = {\n         "S": "Small",\n@@ -1069,37 +1070,37 @@\n \n \n \n \n \n   
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Model Meta options

    \n+ title=\"capitolo precedente\">Model Meta options

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    QuerySet API reference

    \n+ title=\"capitolo successivo\">QuerySet API reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,24 +1,24 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl i\bin\bns\bst\bta\ban\bnc\bce\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document describes the details of the Model API. It builds on the material\n presented in the _\bm_\bo_\bd_\be_\bl and _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bq_\bu_\be_\br_\by guides, so you\u2019ll probably want to\n read and understand those documents before reading this one.\n Throughout this reference we\u2019ll use the _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bb_\bl_\bo_\bg_\b _\bm_\bo_\bd_\be_\bl_\bs presented in the\n _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bq_\bu_\be_\br_\by_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* C\bCr\bre\bea\bat\bti\bin\bng\bg o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To create a new instance of a model, instantiate it like any other Python\n class:\n- c\bcl\bla\bas\bss\bs Model(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Model(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The keyword arguments are the names of the fields you\u2019ve defined on your model.\n Note that instantiating a model in no way touches your database; for that, you\n need to _\bs_\ba_\bv_\be_\b(_\b).\n-Note\n+Nota\n You may be tempted to customize the model by overriding the __init__ method. If\n you do so, however, take care not to change the calling signature as any change\n may prevent the model instance from being saved. Additionally, referring to\n model fields within __init__ may potentially result in infinite recursion\n errors in some circumstances. Rather than overriding __init__, try using one of\n these approaches:\n 1. Add a classmethod on the model class:\n@@ -48,15 +48,15 @@\n title = models.CharField(max_length=100)\n \n objects = BookManager()\n \n \n book = Book.objects.create_book(\"Pride and Prejudice\")\n *\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bmi\biz\bzi\bin\bng\bg m\bmo\bod\bde\bel\bl l\blo\boa\bad\bdi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd Model.from_db(d\bdb\bb, f\bfi\bie\bel\bld\bd_\b_n\bna\bam\bme\bes\bs, v\bva\bal\blu\bue\bes\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bsm\bme\bet\bth\bho\bod\bd Model.from_db(d\bdb\bb, f\bfi\bie\bel\bld\bd_\b_n\bna\bam\bme\bes\bs, v\bva\bal\blu\bue\bes\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The from_db() method can be used to customize model instance creation when\n loading from the database.\n The db argument contains the database alias for the database the model is\n loaded from, field_names contains the names of all loaded fields, and values\n contains the loaded values for each field in field_names. The field_names are\n in the same order as the values. If all of the model\u2019s fields are present, then\n values are guaranteed to be in the order __init__() expects them. That is, the\n@@ -105,15 +105,15 @@\n method.\n *\b**\b**\b**\b**\b* R\bRe\bef\bfr\bre\bes\bsh\bhi\bin\bng\bg o\bob\bbj\bje\bec\bct\bts\bs f\bfr\bro\bom\bm d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you delete a field from a model instance, accessing it again reloads the\n value from the database:\n >>> obj = MyModel.objects.first()\n >>> del obj.field\n >>> obj.field # Loads the field from the database\n- Model.refresh_from_db(u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be, f\bfr\bro\bom\bm_\b_q\bqu\bue\ber\bry\bys\bse\bet\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.refresh_from_db(u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be, f\bfr\bro\bom\bm_\b_q\bqu\bue\ber\bry\bys\bse\bet\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Model.arefresh_from_db(u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be, f\bfr\bro\bom\bm_\b_q\bqu\bue\ber\bry\bys\bse\bet\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: arefresh_from_db()\n If you need to reload a model\u2019s values from the database, you can use the\n refresh_from_db() method. When this method is called without arguments the\n following is done:\n 1. All non-deferred fields of the model are updated to the values currently\n present in the database.\n@@ -162,15 +162,15 @@\n obj.refresh_from_db(from_queryset=MyModel.objects.select_related\n (\"related_field\"))\n You can lock the row until the end of transaction before reloading a model\u2019s\n values:\n obj.refresh_from_db(from_queryset=MyModel.objects.select_for_update())\n Changed in Django 5.1:\n The from_queryset argument was added.\n- Model.get_deferred_fields()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.get_deferred_fields()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A helper method that returns a set containing the attribute names of all those\n fields that are currently deferred for this model.\n *\b**\b**\b**\b**\b* V\bVa\bal\bli\bid\bda\bat\bti\bin\bng\bg o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n There are four steps involved in validating a model:\n 1. Validate the model fields - _\bM_\bo_\bd_\be_\bl_\b._\bc_\bl_\be_\ba_\bn_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b)\n 2. Validate the model as a whole - _\bM_\bo_\bd_\be_\bl_\b._\bc_\bl_\be_\ba_\bn_\b(_\b)\n 3. Validate the field uniqueness - _\bM_\bo_\bd_\be_\bl_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bq_\bu_\be_\b(_\b)\n@@ -178,15 +178,15 @@\n All four steps are performed when you call a model\u2019s _\bf_\bu_\bl_\bl_\b__\bc_\bl_\be_\ba_\bn_\b(_\b) method.\n When you use a _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm, the call to _\bi_\bs_\b__\bv_\ba_\bl_\bi_\bd_\b(_\b) will perform these validation\n steps for all the fields that are included on the form. See the _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more information. You should only need to call a model\u2019s\n _\bf_\bu_\bl_\bl_\b__\bc_\bl_\be_\ba_\bn_\b(_\b) method if you plan to handle validation errors yourself, or if you\n have excluded fields from the _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm that require validation.\n Model.full_clean(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be, v\bva\bal\bli\bid\bda\bat\bte\be_\b_u\bun\bni\biq\bqu\bue\be=\b=T\bTr\bru\bue\be,\n- v\bva\bal\bli\bid\bda\bat\bte\be_\b_c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bts\bs=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ v\bva\bal\bli\bid\bda\bat\bte\be_\b_c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bts\bs=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method calls _\bM_\bo_\bd_\be_\bl_\b._\bc_\bl_\be_\ba_\bn_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b), _\bM_\bo_\bd_\be_\bl_\b._\bc_\bl_\be_\ba_\bn_\b(_\b), _\bM_\bo_\bd_\be_\bl_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bu_\bn_\bi_\bq_\bu_\be_\b(_\b)\n (if validate_unique is True), and _\bM_\bo_\bd_\be_\bl_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b(_\b) (if\n validate_constraints is True) in that order and raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br that\n has a message_dict attribute containing errors from all four stages.\n The optional exclude argument can be used to provide a set of field names that\n can be excluded from validation and cleaning. _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm uses this argument to\n exclude fields that aren\u2019t present on your form from being validated since any\n@@ -199,21 +199,21 @@\n try:\n article.full_clean()\n except ValidationError as e:\n # Do something based on the errors contained in e.message_dict.\n # Display them to a user, or handle them programmatically.\n pass\n The first step full_clean() performs is to clean each individual field.\n- Model.clean_fields(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.clean_fields(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method will validate all fields on your model. The optional exclude\n argument lets you provide a set of field names to exclude from validation. It\n will raise a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if any fields fail validation.\n The second step full_clean() performs is to call _\bM_\bo_\bd_\be_\bl_\b._\bc_\bl_\be_\ba_\bn_\b(_\b). This method\n should be overridden to perform custom validation on your model.\n- Model.clean()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.clean()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method should be used to provide custom model validation, and to modify\n attributes on your model if desired. For instance, you could use it to\n automatically provide a value for a field, or to do validation that requires\n access to more than a single field:\n import datetime\n from django.core.exceptions import ValidationError\n from django.db import models\n@@ -289,45 +289,45 @@\n {\n \"status\": _(\n \"Set status to draft if there is not a publication\n date.\"\n ),\n }\n )\n- Model.validate_unique(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.validate_unique(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method is similar to _\bc_\bl_\be_\ba_\bn_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b), but validates uniqueness constraints\n defined via _\bF_\bi_\be_\bl_\bd_\b._\bu_\bn_\bi_\bq_\bu_\be, _\bF_\bi_\be_\bl_\bd_\b._\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bd_\ba_\bt_\be, _\bF_\bi_\be_\bl_\bd_\b._\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\bm_\bo_\bn_\bt_\bh,\n _\bF_\bi_\be_\bl_\bd_\b._\bu_\bn_\bi_\bq_\bu_\be_\b__\bf_\bo_\br_\b__\by_\be_\ba_\br, or _\bM_\be_\bt_\ba_\b._\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br on your model instead of\n individual field values. The optional exclude argument allows you to provide a\n set of field names to exclude from validation. It will raise a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br\n if any fields fail validation.\n _\bU_\bn_\bi_\bq_\bu_\be_\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bts defined in the _\bM_\be_\bt_\ba_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs are validated by\n _\bM_\bo_\bd_\be_\bl_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b(_\b).\n Note that if you provide an exclude argument to validate_unique(), any\n _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br constraint involving one of the fields you provided will not be\n checked.\n Finally, full_clean() will check any other constraints on your model.\n- Model.validate_constraints(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.validate_constraints(e\bex\bxc\bcl\blu\bud\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This method validates all constraints defined in _\bM_\be_\bt_\ba_\b._\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs. The optional\n exclude argument allows you to provide a set of field names to exclude from\n validation. It will raise a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if any constraints fail validation.\n *\b**\b**\b**\b**\b* S\bSa\bav\bvi\bin\bng\bg o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To save an object back to the database, call save():\n Model.save(*\b*, f\bfo\bor\brc\bce\be_\b_i\bin\bns\bse\ber\brt\bt=\b=F\bFa\bal\bls\bse\be, f\bfo\bor\brc\bce\be_\b_u\bup\bpd\bda\bat\bte\be=\b=F\bFa\bal\bls\bse\be, u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS,\n- u\bup\bpd\bda\bat\bte\be_\b_f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ u\bup\bpd\bda\bat\bte\be_\b_f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Model.asave(*\b*, f\bfo\bor\brc\bce\be_\b_i\bin\bns\bse\ber\brt\bt=\b=F\bFa\bal\bls\bse\be, f\bfo\bor\brc\bce\be_\b_u\bup\bpd\bda\bat\bte\be=\b=F\bFa\bal\bls\bse\be,\n u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS, u\bup\bpd\bda\bat\bte\be_\b_f\bfi\bie\bel\bld\bds\bs=\b=N\bNo\bon\bne\be)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: asave()\n For details on using the force_insert and force_update arguments, see _\bF_\bo_\br_\bc_\bi_\bn_\bg\n _\ba_\bn_\b _\bI_\bN_\bS_\bE_\bR_\bT_\b _\bo_\br_\b _\bU_\bP_\bD_\bA_\bT_\bE. Details about the update_fields argument can be found in\n the _\bS_\bp_\be_\bc_\bi_\bf_\by_\bi_\bn_\bg_\b _\bw_\bh_\bi_\bc_\bh_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\bt_\bo_\b _\bs_\ba_\bv_\be section.\n If you want customized saving behavior, you can override this save() method.\n See _\bO_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bp_\br_\be_\bd_\be_\bf_\bi_\bn_\be_\bd_\b _\bm_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs for more details.\n The model save process also has some subtleties; see the sections below.\n-Deprecated since version 5.1: Support for positional arguments is deprecated.\n+Deprecato dalla versione 5.1: Support for positional arguments is deprecated.\n *\b**\b**\b**\b* A\bAu\but\bto\bo-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bti\bin\bng\bg p\bpr\bri\bim\bma\bar\bry\by k\bke\bey\bys\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n If a model has an _\bA_\bu_\bt_\bo_\bF_\bi_\be_\bl_\bd \u2014 an auto-incrementing primary key \u2014 then that\n auto-incremented value will be calculated and saved as an attribute on your\n object the first time you call save():\n >>> b2 = Blog(name=\"Cheddar Talk\", tagline=\"Thoughts on cheese.\")\n >>> b2.id # Returns None, because b2 doesn't have an ID yet.\n >>> b2.save()\n@@ -374,15 +374,15 @@\n 2. P\bPr\bre\bep\bpr\bro\boc\bce\bes\bss\bs t\bth\bhe\be d\bda\bat\bta\ba.\b. Each field\u2019s _\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b(_\b) method is called to perform\n any automated data modification that\u2019s needed. For example, the date/time\n fields override pre_save() to implement _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw_\b__\ba_\bd_\bd and _\ba_\bu_\bt_\bo_\b__\bn_\bo_\bw.\n 3. P\bPr\bre\bep\bpa\bar\bre\be t\bth\bhe\be d\bda\bat\bta\ba f\bfo\bor\br t\bth\bhe\be d\bda\bat\bta\bab\bba\bas\bse\be.\b. Each field\u2019s _\bg_\be_\bt_\b__\bd_\bb_\b__\bp_\br_\be_\bp_\b__\bs_\ba_\bv_\be_\b(_\b) method\n is asked to provide its current value in a data type that can be written\n to the database.\n Most fields don\u2019t require data preparation. Simple data types, such as\n- integers and strings, are \u2018ready to write\u2019 as a Python object. However,\n+ integers and strings, are \u201cready to write\u201d as a Python object. However,\n more complex data types often require some modification.\n For example, _\bD_\ba_\bt_\be_\bF_\bi_\be_\bl_\bd fields use a Python datetime object to store data.\n Databases don\u2019t store datetime objects, so the field value must be\n converted into an ISO-compliant date string for insertion into the\n database.\n 4. I\bIn\bns\bse\ber\brt\bt t\bth\bhe\be d\bda\bat\bta\ba i\bin\bnt\bto\bo t\bth\bhe\be d\bda\bat\bta\bab\bba\bas\bse\be.\b. The preprocessed, prepared data is\n composed into an SQL statement for insertion into the database.\n@@ -478,15 +478,15 @@\n automatic update_fields in this case. If you assign or change any deferred\n field value, the field will be added to the updated fields.\n Field.pre_save() and update_fields\n If update_fields is passed in, only the _\bp_\br_\be_\b__\bs_\ba_\bv_\be_\b(_\b) methods of the update_fields\n are called. For example, this means that date/time fields with auto_now=True\n will not be updated unless they are included in the update_fields.\n *\b**\b**\b**\b**\b* D\bDe\bel\ble\bet\bti\bin\bng\bg o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- Model.delete(u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS, k\bke\bee\bep\bp_\b_p\bpa\bar\bre\ben\bnt\bts\bs=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.delete(u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS, k\bke\bee\bep\bp_\b_p\bpa\bar\bre\ben\bnt\bts\bs=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Model.adelete(u\bus\bsi\bin\bng\bg=\b=D\bDE\bEF\bFA\bAU\bUL\bLT\bT_\b_D\bDB\bB_\b_A\bAL\bLI\bIA\bAS\bS, k\bke\bee\bep\bp_\b_p\bpa\bar\bre\ben\bnt\bts\bs=\b=F\bFa\bal\bls\bse\be)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: adelete()\n Issues an SQL DELETE for the object. This only deletes the object in the\n database; the Python instance will still exist and will still have data in its\n fields, except for the primary key set to None. This method returns the number\n of objects deleted and a dictionary with the number of deletions per object\n type.\n@@ -508,15 +508,15 @@\n Since pickle compatibility errors can be difficult to diagnose, such as\n silently corrupted objects, a RuntimeWarning is raised when you try to unpickle\n a model in a Django version that is different than the one in which it was\n pickled.\n *\b**\b**\b**\b**\b* O\bOt\bth\bhe\ber\br m\bmo\bod\bde\bel\bl i\bin\bns\bst\bta\ban\bnc\bce\be m\bme\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A few object methods have special purposes.\n *\b**\b**\b**\b* _\b__\b_s\bst\btr\br_\b__\b_(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- Model.__str__()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.__str__()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The __str__() method is called whenever you call str() on an object. Django\n uses str(obj) in a number of places. Most notably, to display an object in the\n Django admin site and as the value inserted into a template when it displays an\n object. Thus, you should always return a nice, human-readable representation of\n the model from the __str__() method.\n For example:\n from django.db import models\n@@ -525,15 +525,15 @@\n class Person(models.Model):\n first_name = models.CharField(max_length=50)\n last_name = models.CharField(max_length=50)\n \n def __str__(self):\n return f\"{self.first_name} {self.last_name}\"\n *\b**\b**\b**\b* _\b__\b_e\beq\bq_\b__\b_(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- Model.__eq__()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.__eq__()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The equality method is defined such that instances with the same primary key\n value and the same concrete class are considered equal, except that instances\n with a primary key value of None aren\u2019t equal to anything except themselves.\n For proxy models, concrete class is defined as the model\u2019s first non-proxy\n parent; for all other models it\u2019s simply the model\u2019s class.\n For example:\n from django.db import models\n@@ -561,15 +561,15 @@\n instance = MyModel(id=None)\n instance == instance\n # Proxy model\n MyModel(id=1) == MyProxyModel(id=1)\n # Multi-table inheritance\n MyModel(id=1) != MultitableInherited(id=1)\n *\b**\b**\b**\b* _\b__\b_h\bha\bas\bsh\bh_\b__\b_(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- Model.__hash__()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Model.__hash__()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The __hash__() method is based on the instance\u2019s primary key value. It is\n effectively hash(obj.pk). If the instance doesn\u2019t have a primary key value then\n a TypeError will be raised (otherwise the __hash__() method would return\n different values before and after the instance is saved, but changing the\n _\b__\b__\bh_\ba_\bs_\bh_\b__\b__\b(_\b) value of an instance is forbidden in Python.\n *\b**\b**\b**\b* g\bge\bet\bt_\b_a\bab\bbs\bso\bol\blu\but\bte\be_\b_u\bur\brl\bl(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n Model.get_absolute_url()_\b\u00b6\n@@ -584,53 +584,53 @@\n approach.\n For example:\n def get_absolute_url(self):\n from django.urls import reverse\n \n return reverse(\"people-detail\", kwargs={\"pk\": self.pk})\n One place Django uses get_absolute_url() is in the admin app. If an object\n-defines this method, the object-editing page will have a \u201cView on site\u201d link\n+defines this method, the object-editing page will have a \u00abView on site\u00bb link\n that will jump you directly to the object\u2019s public view, as given by\n get_absolute_url().\n Similarly, a couple of other bits of Django, such as the _\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bf_\be_\be_\bd\n _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk, use get_absolute_url() when it is defined. If it makes sense for\n your model\u2019s instances to each have a unique URL, you should define\n get_absolute_url().\n-Warning\n+Avvertimento\n You should avoid building the URL from unvalidated user input, in order to\n reduce possibilities of link or redirect poisoning:\n def get_absolute_url(self):\n return \"/%s/\" % self.name\n If self.name is '/example.com' this returns '//example.com/' which, in turn, is\n a valid schema relative URL but not the expected '/%2Fexample.com/'.\n It\u2019s good practice to use get_absolute_url() in templates, instead of hard-\n-coding your objects\u2019 URLs. For example, this template code is bad:\n+coding your objects\u201d URLs. For example, this template code is bad:\n \n {{ object.name }}\n This template code is much better:\n {{ object.name }}\n The logic here is that if you change the URL structure of your objects, even\n for something small like correcting a spelling error, you don\u2019t want to have to\n track down every place that the URL might be created. Specify it once, in\n get_absolute_url() and have all your other code call that one place.\n-Note\n+Nota\n The string you return from get_absolute_url() m\bmu\bus\bst\bt contain only ASCII\n characters (required by the URI specification, _\bR\bR_\bF\bF_\bC\bC_\b _\b3\b3_\b9\b9_\b8\b8_\b6\b6_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b2\b2) and be URL-\n encoded, if necessary.\n Code and templates calling get_absolute_url() should be able to use the result\n directly without any further processing. You may wish to use the\n django.utils.encoding.iri_to_uri() function to help with this if you are using\n strings containing characters outside the ASCII range.\n *\b**\b**\b**\b**\b* E\bEx\bxt\btr\bra\ba i\bin\bns\bst\bta\ban\bnc\bce\be m\bme\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In addition to _\bs_\ba_\bv_\be_\b(_\b), _\bd_\be_\bl_\be_\bt_\be_\b(_\b), a model object might have some of the\n following methods:\n Model.get_FOO_display()_\b\u00b6\n For every field that has _\bc_\bh_\bo_\bi_\bc_\be_\bs set, the object will have a get_FOO_display()\n-method, where FOO is the name of the field. This method returns the \u201chuman-\n-readable\u201d value of the field.\n+method, where FOO is the name of the field. This method returns the \u00abhuman-\n+readable\u00bb value of the field.\n For example:\n from django.db import models\n \n \n class Person(models.Model):\n SHIRT_SIZES = {\n \"S\": \"Small\",\n@@ -696,16 +696,16 @@\n # _\b__\b__\bs_\bt_\br_\b__\b__\b(_\b)\n # _\b__\b__\be_\bq_\b__\b__\b(_\b)\n # _\b__\b__\bh_\ba_\bs_\bh_\b__\b__\b(_\b)\n # _\bg_\be_\bt_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bl_\b(_\b)\n o _\bE_\bx_\bt_\br_\ba_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs\n o _\bO_\bt_\bh_\be_\br_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\b__\bs_\bt_\ba_\bt_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bM_\be_\bt_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/lookups.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/lookups.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Lookup API reference — Django 5.1.4 documentation\n+ Lookup API reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -213,15 +214,15 @@\n \n \n
    \n
    \n

    Transform reference\u00b6

    \n
    \n
    \n-class Transform[source]\u00b6
    \n+class Transform[sorgente]\u00b6\n

    A Transform is a generic class to implement field transformations. A\n prominent example is __year that transforms a DateField into a\n IntegerField.

    \n

    The notation to use a Transform in a lookup expression is\n <expression>__<transformation> (e.g. date__year).

    \n

    This class follows the Query Expression API, which\n implies that you can use <expression>__<transform1>__<transform2>. It\u2019s\n@@ -235,15 +236,15 @@\n lhs and rhs. Bilateral transformations will be applied to rhs in\n the same order as they appear in the lookup expression. By default it is set\n to False. For example usage, see How to write custom lookups.

    \n
    \n \n
    \n
    \n-lhs[source]\u00b6
    \n+lhs[sorgente]\u00b6\n

    The left-hand side - what is being transformed. It must follow the\n Query Expression API.

    \n
    \n \n
    \n
    \n lookup_name\u00b6
    \n@@ -262,15 +263,15 @@\n
    \n \n
    \n
    \n

    Lookup reference\u00b6

    \n
    \n
    \n-class Lookup[source]\u00b6
    \n+class Lookup[sorgente]\u00b6\n

    A Lookup is a generic class to implement lookups. A lookup is a query\n expression with a left-hand side, lhs; a right-hand side,\n rhs; and a lookup_name that is used to produce a boolean\n comparison between lhs and rhs such as lhs in rhs or\n lhs > rhs.

    \n

    The primary notation to use a lookup in an expression is\n <lhs>__<lookup_name>=<rhs>. Lookups can also be used directly in\n@@ -313,27 +314,27 @@\n a parameter in a query. In order to do so,\n lhs.output_field.get_prep_value() is called if defined, or rhs\n is wrapped in Value() otherwise.

    \n
    \n \n
    \n
    \n-process_lhs(compiler, connection, lhs=None)[source]\u00b6
    \n+process_lhs(compiler, connection, lhs=None)[sorgente]\u00b6\n

    Returns a tuple (lhs_string, lhs_params), as returned by\n compiler.compile(lhs). This method can be overridden to tune how\n the lhs is processed.

    \n

    compiler is an SQLCompiler object, to be used like\n compiler.compile(lhs) for compiling lhs. The connection\n can be used for compiling vendor specific SQL. If lhs is not\n None, use it as the processed lhs instead of self.lhs.

    \n
    \n \n
    \n
    \n-process_rhs(compiler, connection)[source]\u00b6
    \n+process_rhs(compiler, connection)[sorgente]\u00b6\n

    Behaves the same way as process_lhs(), for the right-hand side.

    \n
    \n \n \n \n
    \n
    \n@@ -358,37 +359,37 @@\n
  • Lookup reference
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    QuerySet API reference

    \n+ title=\"capitolo precedente\">QuerySet API reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Query Expressions

    \n+ title=\"capitolo successivo\">Query Expressions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* L\bLo\boo\bok\bku\bup\bp A\bAP\bPI\bI r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document has the API references of lookups, the Django API for building\n the WHERE clause of a database query. To learn how to u\bus\bse\be lookups, see _\bM_\ba_\bk_\bi_\bn_\bg\n _\bq_\bu_\be_\br_\bi_\be_\bs; to learn how to c\bcr\bre\bea\bat\bte\be new lookups, see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs.\n The lookup API has two components: a _\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bL_\bo_\bo_\bk_\bu_\bp_\bM_\bi_\bx_\bi_\bn class that registers\n@@ -84,15 +84,15 @@\n get_transform(t\btr\bra\ban\bns\bsf\bfo\bor\brm\bm_\b_n\bna\bam\bme\be)_\b\u00b6\n Must return the lookup named transform_name. For instance, by returning\n self.output_field.get_transform(transform_name).\n output_field_\b\u00b6\n Defines the type of class returned by the get_lookup() method. It must be\n a _\bF_\bi_\be_\bl_\bd instance.\n *\b**\b**\b**\b**\b* T\bTr\bra\ban\bns\bsf\bfo\bor\brm\bm r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Transform_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Transform_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Transform is a generic class to implement field transformations. A\n prominent example is __year that transforms a DateField into a\n IntegerField.\n The notation to use a Transform in a lookup expression is\n __ (e.g. date__year).\n This class follows the _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bA_\bP_\bI, which implies that you can\n use ____. It\u2019s a specialized _\bF_\bu_\bn_\bc_\b(_\b)\n@@ -100,25 +100,25 @@\n right hand side of a filter or directly as an annotation.\n bilateral_\b\u00b6\n A boolean indicating whether this transformation should apply to\n both lhs and rhs. Bilateral transformations will be applied to rhs\n in the same order as they appear in the lookup expression. By\n default it is set to False. For example usage, see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be\n _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs.\n- lhs_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ lhs_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The left-hand side - what is being transformed. It must follow the\n _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bA_\bP_\bI.\n lookup_name_\b\u00b6\n The name of the lookup, used for identifying it on parsing query\n expressions. It cannot contain the string \"__\".\n output_field_\b\u00b6\n Defines the class this transformation outputs. It must be a _\bF_\bi_\be_\bl_\bd\n instance. By default is the same as its lhs.output_field.\n *\b**\b**\b**\b**\b* L\bLo\boo\bok\bku\bup\bp r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Lookup_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Lookup_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Lookup is a generic class to implement lookups. A lookup is a query\n expression with a left-hand side, _\bl_\bh_\bs; a right-hand side, _\br_\bh_\bs; and a\n lookup_name that is used to produce a boolean comparison between lhs and\n rhs such as lhs in rhs or lhs > rhs.\n The primary notation to use a lookup in an expression is\n __=. Lookups can also be used directly in QuerySet\n filters:\n@@ -136,32 +136,32 @@\n The name of this lookup, used to identify it on parsing query\n expressions. It cannot contain the string \"__\".\n prepare_rhs_\b\u00b6\n Defaults to True. When _\br_\bh_\bs is a plain value, _\bp_\br_\be_\bp_\ba_\br_\be_\b__\br_\bh_\bs determines\n whether it should be prepared for use as a parameter in a query. In\n order to do so, lhs.output_field.get_prep_value() is called if\n defined, or rhs is wrapped in _\bV_\ba_\bl_\bu_\be_\b(_\b) otherwise.\n- process_lhs(c\bco\bom\bmp\bpi\bil\ble\ber\br, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn, l\blh\bhs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ process_lhs(c\bco\bom\bmp\bpi\bil\ble\ber\br, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn, l\blh\bhs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a tuple (lhs_string, lhs_params), as returned by\n compiler.compile(lhs). This method can be overridden to tune how\n the lhs is processed.\n compiler is an SQLCompiler object, to be used like compiler.compile\n (lhs) for compiling lhs. The connection can be used for compiling\n vendor specific SQL. If lhs is not None, use it as the processed\n lhs instead of self.lhs.\n- process_rhs(c\bco\bom\bmp\bpi\bil\ble\ber\br, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ process_rhs(c\bco\bom\bmp\bpi\bil\ble\ber\br, c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Behaves the same way as _\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\bh_\bs_\b(_\b), for the right-hand side.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bL_\bo_\bo_\bk_\bu_\bp_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\b _\bA_\bP_\bI\n o _\bT_\bh_\be_\b _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b _\bA_\bP_\bI\n o _\bT_\br_\ba_\bn_\bs_\bf_\bo_\br_\bm_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bL_\bo_\bo_\bk_\bu_\bp_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bQ_\bu_\be_\br_\by_\b _\bE_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/meta.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/meta.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model _meta API — Django 5.1.4 documentation\n+ Model _meta API — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -77,15 +78,15 @@\n
    \n
    \n \n
    \n

    Model _meta API\u00b6

    \n
    \n
    \n-class Options[source]\u00b6
    \n+class Options[sorgente]\u00b6\n
    \n \n

    The model _meta API is at the core of the Django ORM. It enables other\n parts of the system such as lookups, queries, forms, and the admin to\n understand the capabilities of each model. The API is accessible through\n the _meta attribute of each model class, which is an instance of an\n django.db.models.options.Options object.

    \n@@ -96,15 +97,15 @@\n \n
    \n

    Field access API\u00b6

    \n
    \n

    Retrieving a single field instance of a model by name\u00b6

    \n
    \n
    \n-Options.get_field(field_name)[source]\u00b6
    \n+Options.get_field(field_name)[sorgente]\u00b6\n

    Returns the field instance given a name of a field.

    \n

    field_name can be the name of a field on the model, a field\n on an abstract or inherited model, or a field defined on another\n model that points to the model. In the latter case, the field_name\n will be (in order of preference) the related_query_name\n set by the user, the related_name set by the user, or\n the name automatically generated by Django.

    \n@@ -133,15 +134,15 @@\n
    \n \n
    \n
    \n

    Retrieving all field instances of a model\u00b6

    \n
    \n
    \n-Options.get_fields(include_parents=True, include_hidden=False)[source]\u00b6
    \n+Options.get_fields(include_parents=True, include_hidden=False)[sorgente]\u00b6\n

    Returns a tuple of fields associated with a model. get_fields() accepts\n two parameters that can be used to control which fields are returned:

    \n
    \n
    include_parents

    True by default. Recursively includes fields defined on parent\n classes. If set to False, get_fields() will only search for\n fields declared directly on the current model. Fields from models that\n directly inherit from abstract models or proxy classes are considered\n@@ -215,37 +216,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Constraints reference

    \n+ title=\"capitolo precedente\">Constraints reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Related objects reference

    \n+ title=\"capitolo successivo\">Related objects reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl _\b_m\bme\bet\bta\ba A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Options_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Options_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The model _meta API is at the core of the Django ORM. It enables other parts of\n the system such as lookups, queries, forms, and the admin to understand the\n capabilities of each model. The API is accessible through the _meta attribute\n of each model class, which is an instance of an\n django.db.models.options.Options object.\n Methods that it provides can be used to:\n * Retrieve all field instances of a model\n * Retrieve a single field instance of a model by name\n *\b**\b**\b**\b**\b* F\bFi\bie\bel\bld\bd a\bac\bcc\bce\bes\bss\bs A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* R\bRe\bet\btr\bri\bie\bev\bvi\bin\bng\bg a\ba s\bsi\bin\bng\bgl\ble\be f\bfi\bie\bel\bld\bd i\bin\bns\bst\bta\ban\bnc\bce\be o\bof\bf a\ba m\bmo\bod\bde\bel\bl b\bby\by n\bna\bam\bme\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- Options.get_field(f\bfi\bie\bel\bld\bd_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Options.get_field(f\bfi\bie\bel\bld\bd_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the field instance given a name of a field.\n field_name can be the name of a field on the model, a field on an\n abstract or inherited model, or a field defined on another model that\n points to the model. In the latter case, the field_name will be (in order\n of preference) the _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bq_\bu_\be_\br_\by_\b__\bn_\ba_\bm_\be set by the user, the _\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be\n set by the user, or the name automatically generated by Django.\n _\bH_\bi_\bd_\bd_\be_\bn_\b _\bf_\bi_\be_\bl_\bd_\bs cannot be retrieved by name.\n@@ -35,15 +35,15 @@\n \n # A non existent field\n >>> User._meta.get_field(\"does_not_exist\")\n Traceback (most recent call last):\n ...\n FieldDoesNotExist: User has no field named 'does_not_exist'\n *\b**\b**\b**\b* R\bRe\bet\btr\bri\bie\bev\bvi\bin\bng\bg a\bal\bll\bl f\bfi\bie\bel\bld\bd i\bin\bns\bst\bta\ban\bnc\bce\bes\bs o\bof\bf a\ba m\bmo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n- Options.get_fields(i\bin\bnc\bcl\blu\bud\bde\be_\b_p\bpa\bar\bre\ben\bnt\bts\bs=\b=T\bTr\bru\bue\be, i\bin\bnc\bcl\blu\bud\bde\be_\b_h\bhi\bid\bdd\bde\ben\bn=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Options.get_fields(i\bin\bnc\bcl\blu\bud\bde\be_\b_p\bpa\bar\bre\ben\bnt\bts\bs=\b=T\bTr\bru\bue\be, i\bin\bnc\bcl\blu\bud\bde\be_\b_h\bhi\bid\bdd\bde\ben\bn=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a tuple of fields associated with a model. get_fields() accepts\n two parameters that can be used to control which fields are returned:\n include_parents\n True by default. Recursively includes fields defined on parent\n classes. If set to False, get_fields() will only search for fields\n declared directly on the current model. Fields from models that\n directly inherit from abstract models or proxy classes are\n@@ -87,16 +87,16 @@\n ,\n )\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bM_\bo_\bd_\be_\bl_\b _\b__\bm_\be_\bt_\ba_\b _\bA_\bP_\bI\n o _\bF_\bi_\be_\bl_\bd_\b _\ba_\bc_\bc_\be_\bs_\bs_\b _\bA_\bP_\bI\n # _\bR_\be_\bt_\br_\bi_\be_\bv_\bi_\bn_\bg_\b _\ba_\b _\bs_\bi_\bn_\bg_\bl_\be_\b _\bf_\bi_\be_\bl_\bd_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\bo_\bf_\b _\ba_\b _\bm_\bo_\bd_\be_\bl_\b _\bb_\by_\b _\bn_\ba_\bm_\be\n # _\bR_\be_\bt_\br_\bi_\be_\bv_\bi_\bn_\bg_\b _\ba_\bl_\bl_\b _\bf_\bi_\be_\bl_\bd_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\bs_\b _\bo_\bf_\b _\ba_\b _\bm_\bo_\bd_\be_\bl\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bC_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bR_\be_\bl_\ba_\bt_\be_\bd_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/options.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/options.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Model Meta options — Django 5.1.4 documentation\n+ Model Meta options — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -130,15 +131,15 @@\n
    \n \n \n
    \n

    Table names\u00b6

    \n

    To save you time, Django automatically derives the name of the database table\n from the name of your model class and the app that contains it. A model\u2019s\n-database table name is constructed by joining the model\u2019s \u201capp label\u201d \u2013 the\n+database table name is constructed by joining the model\u2019s \u00abapp label\u00bb \u2013 the\n name you used in manage.py startapp \u2013 to the model\u2019s\n class name, with an underscore between them.

    \n

    For example, if you have an app bookstore (as created by\n manage.py startapp bookstore), a model defined as class Book will have\n a database table named bookstore_book.

    \n

    To override the database table name, use the db_table parameter in\n class Meta.

    \n@@ -250,15 +251,15 @@\n

    managed\u00b6

    \n
    \n
    \n Options.managed\u00b6
    \n

    Defaults to True, meaning Django will create the appropriate database\n tables in migrate or as part of migrations and remove them as\n part of a flush management command. That is, Django\n-manages the database tables\u2019 lifecycles.

    \n+manages the database tables\u201d lifecycles.

    \n

    If False, no database table creation, modification, or deletion\n operations will be performed for this model. This is useful if the model\n represents an existing table or a database view that has been created by\n some other means. This is the only difference when managed=False. All\n other aspects of model handling are exactly the same as normal. This\n includes

    \n
      \n@@ -361,16 +362,16 @@\n
      \n Options.ordering\u00b6
      \n

      The default ordering for the object, for use when obtaining lists of objects:

      \n
      ordering = ["-order_date"]\n 
      \n
      \n

      This is a tuple or list of strings and/or query expressions. Each string is\n-a field name with an optional \u201c-\u201d prefix, which indicates descending order.\n-Fields without a leading \u201c-\u201d will be ordered ascending. Use the string \u201c?\u201d\n+a field name with an optional \u00ab-\u00bb prefix, which indicates descending order.\n+Fields without a leading \u00ab-\u00bb will be ordered ascending. Use the string \u00ab?\u00bb\n to order randomly.

      \n

      For example, to order by a pub_date field ascending, use this:

      \n
      ordering = ["pub_date"]\n 
      \n
      \n

      To order by pub_date descending, use this:

      \n
      ordering = ["-pub_date"]\n@@ -386,15 +387,15 @@\n \n ordering = [F("author").asc(nulls_last=True)]\n 
      \n
      \n
    \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Ordering is not a free operation. Each field you add to the ordering\n incurs a cost to your database. Each foreign key you add will\n implicitly include all of its default orderings as well.

    \n

    If a query doesn\u2019t have an ordering specified, results are returned from\n the database in an unspecified order. A particular ordering is guaranteed\n only when ordering by a set of fields that uniquely identify each object in\n the results. For example, if a name field isn\u2019t unique, ordering by it\n@@ -669,37 +670,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Model class reference

    \n+ title=\"capitolo precedente\">Model class reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Model instance reference

    \n+ title=\"capitolo successivo\">Model instance reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl M\bMe\bet\bta\ba o\bop\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains all the possible _\bm_\be_\bt_\ba_\bd_\ba_\bt_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs that you can give your\n model in its internal class Meta.\n *\b**\b**\b**\b**\b* A\bAv\bva\bai\bil\bla\bab\bbl\ble\be M\bMe\bet\bta\ba o\bop\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* a\bab\bbs\bst\btr\bra\bac\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -23,15 +23,15 @@\n *\b**\b**\b**\b* d\bdb\bb_\b_t\bta\bab\bbl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Options.db_table_\b\u00b6\n The name of the database table to use for the model:\n db_table = \"music_album\"\n *\b**\b**\b* T\bTa\bab\bbl\ble\be n\bna\bam\bme\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n To save you time, Django automatically derives the name of the database table\n from the name of your model class and the app that contains it. A model\u2019s\n-database table name is constructed by joining the model\u2019s \u201capp label\u201d \u2013 the\n+database table name is constructed by joining the model\u2019s \u00abapp label\u00bb \u2013 the\n name you used in _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by_\b _\bs_\bt_\ba_\br_\bt_\ba_\bp_\bp \u2013 to the model\u2019s class name, with an\n underscore between them.\n For example, if you have an app bookstore (as created by manage.py startapp\n bookstore), a model defined as class Book will have a database table named\n bookstore_book.\n To override the database table name, use the db_table parameter in class Meta.\n If your database table name is an SQL reserved word, or contains characters\n@@ -92,15 +92,15 @@\n # Latest by priority descending, order_date ascending.\n get_latest_by = [\"-priority\", \"order_date\"]\n See the _\bl_\ba_\bt_\be_\bs_\bt_\b(_\b) docs for more.\n *\b**\b**\b**\b* m\bma\ban\bna\bag\bge\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n Options.managed_\b\u00b6\n Defaults to True, meaning Django will create the appropriate database\n tables in _\bm_\bi_\bg_\br_\ba_\bt_\be or as part of migrations and remove them as part of a\n- _\bf_\bl_\bu_\bs_\bh management command. That is, Django m\bma\ban\bna\bag\bge\bes\bs the database tables\u2019\n+ _\bf_\bl_\bu_\bs_\bh management command. That is, Django m\bma\ban\bna\bag\bge\bes\bs the database tables\u201d\n lifecycles.\n If False, no database table creation, modification, or deletion\n operations will be performed for this model. This is useful if the model\n represents an existing table or a database view that has been created by\n some other means. This is the o\bon\bnl\bly\by difference when managed=False. All\n other aspects of model handling are exactly the same as normal. This\n includes\n@@ -176,29 +176,29 @@\n after your initial _\bm_\bi_\bg_\br_\ba_\bt_\be.\n *\b**\b**\b**\b* o\bor\brd\bde\ber\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n Options.ordering_\b\u00b6\n The default ordering for the object, for use when obtaining lists of\n objects:\n ordering = [\"-order_date\"]\n This is a tuple or list of strings and/or query expressions. Each string\n- is a field name with an optional \u201c-\u201d prefix, which indicates descending\n- order. Fields without a leading \u201c-\u201d will be ordered ascending. Use the\n- string \u201c?\u201d to order randomly.\n+ is a field name with an optional \u00ab-\u00bb prefix, which indicates descending\n+ order. Fields without a leading \u00ab-\u00bb will be ordered ascending. Use the\n+ string \u00ab?\u00bb to order randomly.\n For example, to order by a pub_date field ascending, use this:\n ordering = [\"pub_date\"]\n To order by pub_date descending, use this:\n ordering = [\"-pub_date\"]\n To order by pub_date descending, then by author ascending, use this:\n ordering = [\"-pub_date\", \"author\"]\n You can also use _\bq_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs. To order by author ascending and make\n null values sort last, use this:\n from django.db.models import F\n \n ordering = [F(\"author\").asc(nulls_last=True)]\n-Warning\n+Avvertimento\n Ordering is not a free operation. Each field you add to the ordering incurs a\n cost to your database. Each foreign key you add will implicitly include all of\n its default orderings as well.\n If a query doesn\u2019t have an ordering specified, results are returned from the\n database in an unspecified order. A particular ordering is guaranteed only when\n ordering by a set of fields that uniquely identify each object in the results.\n For example, if a name field isn\u2019t unique, ordering by it won\u2019t guarantee\n@@ -343,16 +343,16 @@\n # _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br\n # _\bc_\bo_\bn_\bs_\bt_\br_\ba_\bi_\bn_\bt_\bs\n # _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be\n # _\bv_\be_\br_\bb_\bo_\bs_\be_\b__\bn_\ba_\bm_\be_\b__\bp_\bl_\bu_\br_\ba_\bl\n o _\bR_\be_\ba_\bd_\b-_\bo_\bn_\bl_\by_\b _\bM_\be_\bt_\ba_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bl_\ba_\bb_\be_\bl\n # _\bl_\ba_\bb_\be_\bl_\b__\bl_\bo_\bw_\be_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bc_\bl_\ba_\bs_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/querysets.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/querysets.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- QuerySet API reference — Django 5.1.4 documentation\n+ QuerySet API reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,15 +110,15 @@\n
    \n

    Both synchronous and asynchronous iterators of QuerySets share the same\n underlying cache.

    \n \n
  • Slicing. As explained in Limiting QuerySets, a QuerySet can\n be sliced, using Python\u2019s array-slicing syntax. Slicing an unevaluated\n QuerySet usually returns another unevaluated QuerySet, but Django\n-will execute the database query if you use the \u201cstep\u201d parameter of slice\n+will execute the database query if you use the \u00abstep\u00bb parameter of slice\n syntax, and will return a list. Slicing a QuerySet that has been\n evaluated also returns a list.

    \n

    Also note that even though slicing an unevaluated QuerySet returns\n another unevaluated QuerySet, modifying it further (e.g., adding\n more filters, or modifying ordering) is not allowed, since that does not\n translate well into SQL and it would not have a clear meaning either.

    \n
  • \n@@ -205,51 +206,51 @@\n
    \n \n
    \n

    QuerySet API\u00b6

    \n

    Here\u2019s the formal declaration of a QuerySet:

    \n
    \n
    \n-class QuerySet(model=None, query=None, using=None, hints=None)[source]\u00b6
    \n+class QuerySet(model=None, query=None, using=None, hints=None)[sorgente]\u00b6\n

    Usually when you\u2019ll interact with a QuerySet you\u2019ll use it by\n chaining filters. To make this work, most\n QuerySet methods return new querysets. These methods are covered in\n detail later in this section.

    \n

    The QuerySet class has the following public attributes you can use for\n introspection:

    \n
    \n
    \n-ordered[source]\u00b6
    \n+ordered[sorgente]\u00b6\n

    True if the QuerySet is ordered \u2014 i.e. has an\n order_by() clause or a default ordering on the model.\n False otherwise.

    \n
    \n \n
    \n
    \n-db[source]\u00b6
    \n+db[sorgente]\u00b6\n

    The database that will be used if this query is executed now.

    \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    The query parameter to QuerySet exists so that specialized\n query subclasses can reconstruct internal query state. The value of the\n parameter is an opaque representation of that query state and is not\n part of a public API.

    \n
    \n
    \n \n
    \n

    Methods that return new QuerySets\u00b6

    \n

    Django provides a range of QuerySet refinement methods that modify either\n the types of results returned by the QuerySet or the way its SQL query is\n executed.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    These methods do not run database queries, therefore they are safe to\n run in asynchronous code, and do not have separate asynchronous\n versions.

    \n
    \n
    \n

    filter()\u00b6

    \n
    \n@@ -274,25 +275,25 @@\n \n

    Returns a new QuerySet containing objects that do not match the given\n lookup parameters.

    \n

    The lookup parameters (**kwargs) should be in the format described in\n Field lookups below. Multiple parameters are joined via AND in the\n underlying SQL statement, and the whole thing is enclosed in a NOT().

    \n

    This example excludes all entries whose pub_date is later than 2005-1-3\n-AND whose headline is \u201cHello\u201d:

    \n+AND whose headline is \u00abHello\u00bb:

    \n
    Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3), headline="Hello")\n 
    \n
    \n

    In SQL terms, that evaluates to:

    \n
    SELECT ...\n WHERE NOT (pub_date > '2005-1-3' AND headline = 'Hello')\n 
    \n
    \n

    This example excludes all entries whose pub_date is later than 2005-1-3\n-OR whose headline is \u201cHello\u201d:

    \n+OR whose headline is \u00abHello\u00bb:

    \n
    Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3)).exclude(headline="Hello")\n 
    \n
    \n

    In SQL terms, that evaluates to:

    \n
    SELECT ...\n WHERE NOT pub_date > '2005-1-3'\n AND NOT headline = 'Hello'\n@@ -437,15 +438,15 @@\n 
    \n

    asc() and desc() have arguments\n (nulls_first and nulls_last) that control how null values are sorted.

    \n

    Be cautious when ordering by fields in related models if you are also using\n distinct(). See the note in distinct() for an explanation of how\n related model ordering can change the expected results.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    It is permissible to specify a multi-valued field to order the results by\n (for example, a ManyToManyField field, or the\n reverse relation of a ForeignKey field).

    \n

    Consider this case:

    \n
    class Event(Model):\n     parent = models.ForeignKey(\n         "self",\n@@ -485,15 +486,15 @@\n QuerySet has been ordered in any way.

    \n

    Each order_by() call will clear any previous ordering. For example, this\n query will be ordered by pub_date and not headline:

    \n
    Entry.objects.order_by("headline").order_by("pub_date")\n 
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Ordering is not a free operation. Each field you add to the ordering\n incurs a cost to your database. Each foreign key you add will\n implicitly include all of its default orderings as well.

    \n

    If a query doesn\u2019t have an ordering specified, results are returned from\n the database in an unspecified order. A particular ordering is guaranteed\n only when ordering by a set of fields that uniquely identify each object in\n the results. For example, if a name field isn\u2019t unique, ordering by it\n@@ -506,15 +507,15 @@\n

    \n reverse()\u00b6
    \n
    \n \n

    Use the reverse() method to reverse the order in which a queryset\u2019s\n elements are returned. Calling reverse() a second time restores the\n ordering back to the normal direction.

    \n-

    To retrieve the \u201clast\u201d five items in a queryset, you could do this:

    \n+

    To retrieve the \u00ablast\u00bb five items in a queryset, you could do this:

    \n
    my_queryset.reverse()[:5]\n 
    \n
    \n

    Note that this is not quite the same as slicing from the end of a sequence in\n Python. The above example will return the last item first, then the\n penultimate item and so on. If we had a Python sequence and looked at\n seq[-5:], we would see the fifth-last item first. Django doesn\u2019t support\n@@ -538,15 +539,15 @@\n eliminates duplicate rows from the query results.

    \n

    By default, a QuerySet will not eliminate duplicate rows. In practice, this\n is rarely a problem, because simple queries such as Blog.objects.all()\n don\u2019t introduce the possibility of duplicate result rows. However, if your\n query spans multiple tables, it\u2019s possible to get duplicate results when a\n QuerySet is evaluated. That\u2019s when you\u2019d use distinct().

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Any fields used in an order_by() call are included in the SQL\n SELECT columns. This can sometimes lead to unexpected results when used\n in conjunction with distinct(). If you order by fields from a related\n model, those fields will be added to the selected columns and they may make\n otherwise duplicate rows appear to be distinct. Since the extra columns\n don\u2019t appear in the returned results (they are only there to support\n ordering), it sometimes looks like non-distinct results are being returned.

    \n@@ -561,15 +562,15 @@\n

    On PostgreSQL only, you can pass positional arguments (*fields) in order to\n specify the names of fields to which the DISTINCT should apply. This\n translates to a SELECT DISTINCT ON SQL query. Here\u2019s the difference. For a\n normal distinct() call, the database compares each field in each row when\n determining which rows are distinct. For a distinct() call with specified\n field names, the database will only compare the specified field names.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When you specify field names, you must provide an order_by() in the\n QuerySet, and the fields in order_by() must start with the fields in\n distinct(), in the same order.

    \n

    For example, SELECT DISTINCT ON (a) gives you the first row for each\n value in column a. If you don\u2019t specify an order, you\u2019ll get some\n arbitrary row.

    \n
    \n@@ -590,15 +591,15 @@\n [...]\n \n >>> Entry.objects.order_by("author", "pub_date").distinct("author")\n [...]\n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    Keep in mind that order_by() uses any default related model ordering\n that has been defined. You might have to explicitly order by the relation\n _id or referenced field to make sure the DISTINCT ON expressions\n match those at the beginning of the ORDER BY clause. For example, if\n the Blog model defined an ordering by\n name:

    \n
    Entry.objects.order_by("blog").distinct("blog")\n@@ -740,15 +741,15 @@\n OneToOneField, ForeignKey and ManyToManyField attributes:

    \n
    >>> Blog.objects.values("name", "entry__headline")\n <QuerySet [{'name': 'My blog', 'entry__headline': 'An entry'},\n      {'name': 'My blog', 'entry__headline': 'Another entry'}, ...]>\n 
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Because ManyToManyField attributes and reverse\n relations can have multiple related rows, including these can have a\n multiplier effect on the size of your result set. This will be especially\n pronounced if you include multiple such fields in your values() query,\n in which case all possible combinations will be returned.

    \n
    \n
    \n@@ -805,15 +806,15 @@\n 'First entry'\n
    \n
    \n

    values() and values_list() are both intended as optimizations for a\n specific use case: retrieving a subset of data without the overhead of creating\n a model instance. This metaphor falls apart when dealing with many-to-many and\n other multivalued relations (such as the one-to-many relation of a reverse\n-foreign key) because the \u201cone row, one object\u201d assumption doesn\u2019t hold.

    \n+foreign key) because the \u00abone row, one object\u00bb assumption doesn\u2019t hold.

    \n

    For example, notice the behavior when querying across a\n ManyToManyField:

    \n
    >>> Author.objects.values_list("name", "entry__headline")\n <QuerySet [('Noam Chomsky', 'Impressions of Gaza'),\n  ('George Orwell', 'Why Socialists Do Not Believe in Fun'),\n  ('George Orwell', 'In Defence of English Cooking'),\n  ('Don Quixote', None)]>\n@@ -844,15 +845,15 @@\n 
    \n \n

    Returns a QuerySet that evaluates to a list of datetime.date\n objects representing all available dates of a particular kind within the\n contents of the QuerySet.

    \n

    field should be the name of a DateField of your model.\n kind should be either "year", "month", "week", or "day".\n-Each datetime.date object in the result list is \u201ctruncated\u201d to the\n+Each datetime.date object in the result list is \u00abtruncated\u00bb to the\n given type.

    \n
      \n
    • "year" returns a list of all distinct year values for the field.

    • \n
    • "month" returns a list of all distinct year/month values for the\n field.

    • \n
    • "week" returns a list of all distinct year/week values for the field. All\n dates will be a Monday.

    • \n@@ -886,24 +887,24 @@\n \n

      Returns a QuerySet that evaluates to a list of datetime.datetime\n objects representing all available dates of a particular kind within the\n contents of the QuerySet.

      \n

      field_name should be the name of a DateTimeField of your model.

      \n

      kind should be either "year", "month", "week", "day",\n "hour", "minute", or "second". Each datetime.datetime\n-object in the result list is \u201ctruncated\u201d to the given type.

      \n+object in the result list is \u00abtruncated\u00bb to the given type.

      \n

      order, which defaults to 'ASC', should be either 'ASC' or\n 'DESC'. This specifies how to order the results.

      \n

      tzinfo defines the time zone to which datetimes are converted prior to\n truncation. Indeed, a given datetime has different representations depending\n on the time zone in use. This parameter must be a datetime.tzinfo\n object. If it\u2019s None, Django uses the current time zone. It has no effect when USE_TZ is\n False.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      This function performs time zone conversions directly in the database.\n As a consequence, your database must be able to interpret the value of\n tzinfo.tzname(None). This translates into the following requirements:

      \n
        \n
      • SQLite: no requirements. Conversions are performed in Python.

      • \n
      • PostgreSQL: no requirements (see Time Zones).

      • \n
      • Oracle: no requirements (see Choosing a Time Zone File).

      • \n@@ -1010,15 +1011,15 @@\n
        \n

        select_related()\u00b6

        \n
        \n
        \n select_related(*fields)\u00b6
        \n
        \n \n-

        Returns a QuerySet that will \u201cfollow\u201d foreign-key relationships, selecting\n+

        Returns a QuerySet that will \u00abfollow\u00bb foreign-key relationships, selecting\n additional related-object data when it executes its query. This is a\n performance booster which results in a single more complex query but means\n later use of foreign-key relationships won\u2019t require database queries.

        \n

        The following examples illustrate the difference between plain lookups and\n select_related() lookups. Here\u2019s standard lookup:

        \n
        # Hits the database.\n e = Entry.objects.get(id=5)\n@@ -1126,19 +1127,19 @@\n related objects for each of the specified lookups.

        \n

        This has a similar purpose to select_related, in that both are designed to\n stop the deluge of database queries that is caused by accessing related objects,\n but the strategy is quite different.

        \n

        select_related works by creating an SQL join and including the fields of the\n related object in the SELECT statement. For this reason, select_related\n gets the related objects in the same database query. However, to avoid the much\n-larger result set that would result from joining across a \u2018many\u2019 relationship,\n+larger result set that would result from joining across a \u201cmany\u201d relationship,\n select_related is limited to single-valued relationships - foreign key and\n one-to-one.

        \n

        prefetch_related, on the other hand, does a separate lookup for each\n-relationship, and does the \u2018joining\u2019 in Python. This allows it to prefetch\n+relationship, and does the \u201cjoining\u201d in Python. This allows it to prefetch\n many-to-many, many-to-one, and\n GenericRelation objects which\n cannot be done using select_related, in addition to the foreign key and\n one-to-one relationships that are supported by select_related. It also\n supports prefetching of\n GenericForeignKey, however, the\n queryset for each ContentType must be provided in the querysets\n@@ -1205,15 +1206,15 @@\n function.

        \n

        Note that the result cache of the primary QuerySet and all specified related\n objects will then be fully loaded into memory. This changes the typical\n behavior of QuerySets, which normally try to avoid loading all objects into\n memory before they are needed, even after a query has been executed in the\n database.

        \n
        \n-

        Note

        \n+

        Nota

        \n

        Remember that, as always with QuerySets, any subsequent chained methods\n which imply a different database query will ignore previously cached\n results, and retrieve data using a fresh database query. So, if you write\n the following:

        \n
        >>> pizzas = Pizza.objects.prefetch_related("toppings")\n >>> [list(pizza.toppings.filter(spicy=True)) for pizza in pizzas]\n 
        \n@@ -1250,15 +1251,15 @@\n belonging to those pizzas. This will result in a total of 3 database queries -\n one for the restaurants, one for the pizzas, and one for the toppings.

        \n
        >>> Restaurant.objects.prefetch_related("best_pizza__toppings")\n 
        \n
        \n

        This will fetch the best pizza and all the toppings for the best pizza for each\n restaurant. This will be done in 3 database queries - one for the restaurants,\n-one for the \u2018best pizzas\u2019, and one for the toppings.

        \n+one for the \u201cbest pizzas\u201d, and one for the toppings.

        \n

        The best_pizza relationship could also be fetched using select_related\n to reduce the query count to 2:

        \n
        >>> Restaurant.objects.select_related("best_pizza").prefetch_related("best_pizza__toppings")\n 
        \n
        \n

        Since the prefetch is executed after the main query (which includes the joins\n needed by select_related), it is able to detect that the best_pizza\n@@ -1278,15 +1279,15 @@\n

        While prefetch_related supports prefetching GenericForeignKey\n relationships, the number of queries will depend on the data. Since a\n GenericForeignKey can reference data in multiple tables, one query per table\n referenced is needed, rather than one query for all the items. There could be\n additional queries on the ContentType table if the relevant rows have not\n already been fetched.

        \n

        prefetch_related in most cases will be implemented using an SQL query that\n-uses the \u2018IN\u2019 operator. This means that for a large QuerySet a large \u2018IN\u2019 clause\n+uses the \u201cIN\u201d operator. This means that for a large QuerySet a large \u201cIN\u201d clause\n could be generated, which, depending on the database, might have performance\n problems of its own when it comes to parsing or executing the SQL query. Always\n profile for your use case!

        \n

        If you use iterator() to run the query, prefetch_related() calls will\n only be observed if a value for chunk_size is provided.

        \n

        You can use the Prefetch object to further control\n the prefetch operation.

        \n@@ -1383,15 +1384,15 @@\n >>> # Inner will use 'replica' database; outer will use 'cold-storage' database\n >>> Restaurant.objects.prefetch_related(\n ... Prefetch("pizzas__toppings", queryset=Toppings.objects.using("replica")),\n ... ).using("cold-storage")\n
        \n
        \n
        \n-

        Note

        \n+

        Nota

        \n

        The ordering of lookups matters.

        \n

        Take the following examples:

        \n
        >>> prefetch_related("pizzas__toppings", "pizzas")\n 
        \n
        \n

        This works even though it\u2019s unordered because 'pizzas__toppings'\n already contains all the needed information, therefore the second argument\n@@ -1448,15 +1449,15 @@\n

        The main benefit of using RawSQL is\n that you can set output_field if needed. The main downside is that if\n you refer to some table alias of the queryset in the raw SQL, then it is\n possible that Django might change that alias (for example, when the\n queryset is used as a subquery in yet another query).

        \n
        \n
        \n-

        Warning

        \n+

        Avvertimento

        \n

        You should be very careful whenever you use extra(). Every time you use\n it, you should escape any parameters that the user can control by using\n params in order to protect against SQL injection attacks.

        \n

        You also must not quote placeholders in the SQL string. This example is\n vulnerable to SQL injection because of the quotes around %s:

        \n
        SELECT col FROM sometable WHERE othercol = '%s'  # unsafe!\n 
        \n@@ -1519,15 +1520,15 @@\n the sequence %%s.

        \n \n
      • where / tables

        \n

        You can define explicit SQL WHERE clauses \u2014 perhaps to perform\n non-explicit joins \u2014 by using where. You can manually add tables to\n the SQL FROM clause by using tables.

        \n

        where and tables both take a list of strings. All where\n-parameters are \u201cAND\u201ded to any other search criteria.

        \n+parameters are \u00abAND\u00bbed to any other search criteria.

        \n

        Example:

        \n
        Entry.objects.extra(where=["foo='a' OR bar = 'a'", "baz = 'a'"])\n 
        \n
        \n

        \u2026translates (roughly) into the following SQL:

        \n
        SELECT * FROM blog_entry WHERE (foo='a' OR bar='a') AND (baz='a')\n 
        \n@@ -1591,15 +1592,15 @@\n

        Good:

        \n
        Entry.objects.extra(where=["headline=%s"], params=["Lennon"])\n 
        \n
        \n
      • \n
      \n
      \n-

      Warning

      \n+

      Avvertimento

      \n

      If you are performing queries on MySQL, note that MySQL\u2019s silent type coercion\n may cause unexpected results when mixing types. If you query on a string\n type column, but with an integer value, MySQL will coerce the types of all values\n in the table to an integer before performing the comparison. For example, if your\n table contains the values 'abc', 'def' and you query for WHERE mycolumn=0,\n both rows will match. To prevent this, perform the correct typecasting\n before using the value in a query.

      \n@@ -1622,15 +1623,15 @@\n
      Entry.objects.defer("headline", "body")\n 
      \n
      \n

      A queryset that has deferred fields will still return model instances. Each\n deferred field will be retrieved from the database if you access that field\n (one at a time, not all the deferred fields at once).

      \n
      \n-

      Note

      \n+

      Nota

      \n

      Deferred fields will not lazy-load like this from asynchronous code.\n Instead, you will get a SynchronousOnlyOperation exception. If you are\n writing asynchronous code, you should not try to access any fields that you\n defer().

      \n
      \n

      You can make multiple calls to defer(). Each call adds new fields to the\n deferred set:

      \n@@ -1659,15 +1660,15 @@\n loading of the field that connects from the primary model to the related\n one, doing so will result in an error.

      \n

      Similarly, calling defer() (or its counterpart only()) including an\n argument from an aggregation (e.g. using the result of annotate())\n doesn\u2019t make sense: doing so will raise an exception. The aggregated values\n will always be fetched into the resulting queryset.

      \n
      \n-

      Note

      \n+

      Nota

      \n

      The defer() method (and its cousin, only(), below) are only for\n advanced use-cases. They provide an optimization for when you have analyzed\n your queries closely and understand exactly what information you need and\n have measured that the difference between returning the fields you need and\n the full set of fields for the model will be significant.

      \n

      Even if you think you are in the advanced use-case situation, only use\n defer() when you cannot, at queryset load time, determine if you will\n@@ -1704,15 +1705,15 @@\n

    \n
    \n

    If many fields need to be duplicated in the unmanaged model, it may be best\n to create an abstract model with the shared fields and then have the\n unmanaged and managed models inherit from the abstract model.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    When calling save() for instances with\n deferred fields, only the loaded fields will be saved. See\n save() for more details.

    \n
    \n
    \n
    \n

    only()\u00b6

    \n@@ -1758,21 +1759,21 @@\n an error as well. On the other hand, invoking only() without any arguments,\n will return every field (including annotations) fetched by the queryset.

    \n

    As with defer(), you cannot access the non-loaded fields from asynchronous\n code and expect them to load. Instead, you will get a\n SynchronousOnlyOperation exception. Ensure that all fields you might access\n are in your only() call.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When calling save() for instances with\n deferred fields, only the loaded fields will be saved. See\n save() for more details.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    When using defer() after only() the fields in defer() will\n override only() for fields that are listed in both.

    \n
    \n
    \n
    \n

    using()\u00b6

    \n
    \n@@ -1878,15 +1879,15 @@\n corruption and could easily be caused by calling code that expects to be run in\n a transaction outside of one.

    \n

    Using select_for_update() on backends which do not support\n SELECT ... FOR UPDATE (such as SQLite) will have no effect.\n SELECT ... FOR UPDATE will not be added to the query, and an error isn\u2019t\n raised if select_for_update() is used in autocommit mode.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Although select_for_update() normally fails in autocommit mode, since\n TestCase automatically wraps each test in a\n transaction, calling select_for_update() in a TestCase even outside\n an atomic() block will (perhaps unexpectedly)\n pass without raising a TransactionManagementError. To properly test\n select_for_update() you should use\n TransactionTestCase.

    \n@@ -1906,15 +1907,15 @@\n \n

    Takes a raw SQL query, executes it, and returns a\n django.db.models.query.RawQuerySet instance. This RawQuerySet instance\n can be iterated over just like a normal QuerySet to provide object\n instances.

    \n

    See the Performing raw SQL queries for more information.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    raw() always triggers a new query and doesn\u2019t account for previous\n filtering. As such, it should generally be called from the Manager or\n from a fresh QuerySet instance.

    \n
    \n
    \n
    \n
    \n@@ -1963,15 +1964,15 @@\n \n \n

    SQL equivalent:

    \n
    SELECT ... WHERE x=1 XOR y=2\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    XOR is natively supported on MariaDB and MySQL. On other databases,\n x ^ y ^ ... ^ z is converted to an equivalent:

    \n
    (x OR y OR ... OR z) AND\n 1=MOD(\n     (CASE WHEN x THEN 1 ELSE 0 END) +\n     (CASE WHEN y THEN 1 ELSE 0 END) +\n     ...\n@@ -2119,15 +2120,15 @@\n )\n 
    \n
    \n

    Any keyword arguments passed to get_or_create() \u2014 except an optional one\n called defaults \u2014 will be used in a get() call. If an object is\n found, get_or_create() returns a tuple of that object and False.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    This method is atomic assuming that the database enforces uniqueness of the\n keyword arguments (see unique or\n unique_together). If the fields used in the\n keyword arguments do not have a uniqueness constraint, concurrent calls to\n this method may result in multiple rows with the same parameters being\n inserted.

    \n
    \n@@ -2171,15 +2172,15 @@\n IntegrityError will be raised.

    \n

    Finally, a word on using get_or_create() in Django views. Please make sure\n to use it only in POST requests unless you have a good reason not to.\n GET requests shouldn\u2019t have any effect on data. Instead, use POST\n whenever a request to a page has a side effect on your data. For more, see\n Safe methods in the HTTP spec.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    You can use get_or_create() through ManyToManyField\n attributes and reverse relations. In that case you will restrict the queries\n inside the context of that relation. That could lead you to some integrity\n problems if you don\u2019t use it consistently.

    \n

    Being the following models:

    \n
    class Chapter(models.Model):\n     title = models.CharField(max_length=255, unique=True)\n@@ -2199,16 +2200,16 @@\n (<Chapter: Telemachus>, False)\n >>> Chapter.objects.create(title="Chapter 1")\n <Chapter: Chapter 1>\n >>> book.chapters.get_or_create(title="Chapter 1")\n # Raises IntegrityError\n 
    \n
    \n-

    This is happening because it\u2019s trying to get or create \u201cChapter 1\u201d through the\n-book \u201cUlysses\u201d, but it can\u2019t do any of them: the relation can\u2019t fetch that\n+

    This is happening because it\u2019s trying to get or create \u00abChapter 1\u00bb through the\n+book \u00abUlysses\u00bb, but it can\u2019t do any of them: the relation can\u2019t fetch that\n chapter because it isn\u2019t related to that book, but it can\u2019t create it either\n because title field should be unique.

    \n
    \n
    \n
    \n

    update_or_create()\u00b6

    \n
    \n@@ -2338,15 +2339,15 @@\n

    Enabling the ignore_conflicts parameter disables setting the primary key on\n each model instance (if the database normally supports it).

    \n
    \n Changed in Django 5.0:

    In older versions, enabling the update_conflicts parameter prevented\n setting the primary key on each model instance.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    On MySQL and MariaDB, setting the ignore_conflicts parameter to\n True turns certain types of errors, other than duplicate key, into\n warnings. Even with Strict Mode. For example: invalid values or\n non-nullable violations. See the MySQL documentation and\n MariaDB documentation for more details.

    \n
    \n
    \n@@ -2863,15 +2864,15 @@\n

    Chaining order_by() with update() is supported only on MariaDB and\n MySQL, and is ignored for different databases. This is useful for updating a\n unique field in the order that is specified without conflicts. For example:

    \n
    Entry.objects.order_by("-number").update(number=F("number") + 1)\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    order_by() clause will be ignored if it contains annotations, inherited\n fields, or lookups spanning relations.

    \n
    \n
    \n \n
    \n

    delete()\u00b6

    \n@@ -3015,15 +3016,15 @@\n

    SQL equivalents:

    \n
    SELECT ... WHERE id = 14;\n SELECT ... WHERE id IS NULL;\n 
    \n
    \n
    \n

    MySQL comparisons

    \n-

    In MySQL, a database table\u2019s \u201ccollation\u201d setting determines whether\n+

    In MySQL, a database table\u2019s \u00abcollation\u00bb setting determines whether\n exact comparisons are case-sensitive. This is a database setting, not\n a Django setting. It\u2019s possible to configure your MySQL tables to use\n case-sensitive comparisons, but some trade-offs are involved. For more\n information about this, see the collation section\n in the databases documentation.

    \n
    \n
    \n@@ -3246,17 +3247,17 @@\n

    SQL equivalent:

    \n
    SELECT ... WHERE pub_date BETWEEN '2005-01-01' and '2005-03-31';\n 
    \n
    \n

    You can use range anywhere you can use BETWEEN in SQL \u2014 for dates,\n numbers and even characters.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Filtering a DateTimeField with dates won\u2019t include items on the last\n-day, because the bounds are interpreted as \u201c0am on the given date\u201d. If\n+day, because the bounds are interpreted as \u00ab0am on the given date\u00bb. If\n pub_date was a DateTimeField, the above expression would be turned\n into this SQL:

    \n
    SELECT ... WHERE pub_date BETWEEN '2005-01-01 00:00:00' and '2005-03-31 00:00:00';\n 
    \n
    \n

    Generally speaking, you can\u2019t mix dates and datetimes.

    \n
    \n@@ -3363,15 +3364,15 @@\n implementation of the relevant query varies among different database engines.)

    \n

    When USE_TZ is True, datetime fields are converted to the\n current time zone before filtering. This requires time zone definitions\n in the database.

    \n \n
    \n

    week_day\u00b6

    \n-

    For date and datetime fields, a \u2018day of the week\u2019 match. Allows chaining\n+

    For date and datetime fields, a \u201cday of the week\u201d match. Allows chaining\n additional field lookups.

    \n

    Takes an integer value representing the day of week from 1 (Sunday) to 7\n (Saturday).

    \n

    Example:

    \n
    Entry.objects.filter(pub_date__week_day=2)\n Entry.objects.filter(pub_date__week_day__gte=2)\n 
    \n@@ -3403,15 +3404,15 @@\n are indexed with day 1 being Monday and day 7 being Sunday.

    \n

    When USE_TZ is True, datetime fields are converted to the\n current time zone before filtering. This requires time zone definitions\n in the database.

    \n
    \n
    \n

    quarter\u00b6

    \n-

    For date and datetime fields, a \u2018quarter of the year\u2019 match. Allows chaining\n+

    For date and datetime fields, a \u201cquarter of the year\u201d match. Allows chaining\n additional field lookups. Takes an integer value between 1 and 4 representing\n the quarter of the year.

    \n

    Example to retrieve entries in the second quarter (April 1 to June 30):

    \n
    Entry.objects.filter(pub_date__quarter=2)\n 
    \n
    \n

    (No equivalent SQL code fragment is included for this lookup because\n@@ -3557,15 +3558,15 @@\n

    \n

    Aggregation functions\u00b6

    \n

    Django provides the following aggregation functions in the\n django.db.models module. For details on how to use these\n aggregate functions, see the topic guide on aggregation. See the Aggregate\n documentation to learn how to create your aggregates.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    SQLite can\u2019t handle aggregation on date/time fields out of the box.\n This is because there are no native date/time fields in SQLite and Django\n currently emulates these features using a text field. Attempts to use\n aggregation on date/time fields in SQLite will raise NotSupportedError.

    \n
    \n
    \n

    Empty querysets or groups

    \n@@ -3584,15 +3585,15 @@\n query expressions.

    \n
    \n
    \n

    output_field\u00b6

    \n

    An optional argument that represents the model field\n of the return value

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When combining multiple field types, Django can only determine the\n output_field if all fields are of the same type. Otherwise, you\n must provide the output_field yourself.

    \n
    \n
    \n
    \n

    filter\u00b6

    \n@@ -3611,15 +3612,15 @@\n

    Keyword arguments that can provide extra context for the SQL generated\n by the aggregate.

    \n
    \n
    \n

    Avg\u00b6

    \n
    \n
    \n-class Avg(expression, output_field=None, distinct=False, filter=None, default=None, **extra)[source]\u00b6
    \n+class Avg(expression, output_field=None, distinct=False, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Returns the mean value of the given expression, which must be numeric\n unless you specify a different output_field.

    \n
      \n
    • Default alias: <field>__avg

    • \n
    • Return type: float if input is int, otherwise same as input\n field, or output_field if supplied. If the queryset or grouping is\n empty, default is returned.

    • \n@@ -3635,15 +3636,15 @@\n
    \n \n
    \n
    \n

    Count\u00b6

    \n
    \n
    \n-class Count(expression, distinct=False, filter=None, **extra)[source]\u00b6
    \n+class Count(expression, distinct=False, filter=None, **extra)[sorgente]\u00b6\n

    Returns the number of objects that are related through the provided\n expression. Count('*') is equivalent to the SQL COUNT(*)\n expression.

    \n
      \n
    • Default alias: <field>__count

    • \n
    • Return type: int

    • \n
    \n@@ -3652,53 +3653,53 @@\n distinct\u00b6\n

    Optional. If distinct=True, the count will only include unique\n instances. This is the SQL equivalent of COUNT(DISTINCT <field>).\n The default value is False.

    \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    The default argument is not supported.

    \n
    \n \n \n
    \n
    \n

    Max\u00b6

    \n
    \n
    \n-class Max(expression, output_field=None, filter=None, default=None, **extra)[source]\u00b6
    \n+class Max(expression, output_field=None, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Returns the maximum value of the given expression.

    \n
      \n
    • Default alias: <field>__max

    • \n
    • Return type: same as input field, or output_field if supplied. If the\n queryset or grouping is empty, default is returned.

    • \n
    \n
    \n \n
    \n
    \n

    Min\u00b6

    \n
    \n
    \n-class Min(expression, output_field=None, filter=None, default=None, **extra)[source]\u00b6
    \n+class Min(expression, output_field=None, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Returns the minimum value of the given expression.

    \n
      \n
    • Default alias: <field>__min

    • \n
    • Return type: same as input field, or output_field if supplied. If the\n queryset or grouping is empty, default is returned.

    • \n
    \n
    \n \n
    \n
    \n

    StdDev\u00b6

    \n
    \n
    \n-class StdDev(expression, output_field=None, sample=False, filter=None, default=None, **extra)[source]\u00b6
    \n+class StdDev(expression, output_field=None, sample=False, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Returns the standard deviation of the data in the provided expression.

    \n
      \n
    • Default alias: <field>__stddev

    • \n
    • Return type: float if input is int, otherwise same as input\n field, or output_field if supplied. If the queryset or grouping is\n empty, default is returned.

    • \n
    \n@@ -3713,15 +3714,15 @@\n
    \n \n
    \n
    \n

    Sum\u00b6

    \n
    \n
    \n-class Sum(expression, output_field=None, distinct=False, filter=None, default=None, **extra)[source]\u00b6
    \n+class Sum(expression, output_field=None, distinct=False, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Computes the sum of all values of the given expression.

    \n
      \n
    • Default alias: <field>__sum

    • \n
    • Return type: same as input field, or output_field if supplied. If the\n queryset or grouping is empty, default is returned.

    • \n
    \n
    \n@@ -3735,15 +3736,15 @@\n
    \n \n
    \n
    \n

    Variance\u00b6

    \n
    \n
    \n-class Variance(expression, output_field=None, sample=False, filter=None, default=None, **extra)[source]\u00b6
    \n+class Variance(expression, output_field=None, sample=False, filter=None, default=None, **extra)[sorgente]\u00b6\n

    Returns the variance of the data in the provided expression.

    \n
      \n
    • Default alias: <field>__variance

    • \n
    • Return type: float if input is int, otherwise same as input\n field, or output_field if supplied. If the queryset or grouping is\n empty, default is returned.

    • \n
    \n@@ -3764,30 +3765,30 @@\n

    Query-related tools\u00b6

    \n

    This section provides reference material for query-related tools not documented\n elsewhere.

    \n
    \n

    Q() objects\u00b6

    \n
    \n
    \n-class Q[source]\u00b6
    \n+class Q[sorgente]\u00b6\n
    \n \n

    A Q() object represents an SQL condition that can be used in\n database-related operations. It\u2019s similar to how an\n F() object represents the value of a model field\n or annotation. They make it possible to define and reuse conditions. These can\n be negated using the ~ (NOT) operator, and combined using operators\n such as | (OR), & (AND), and ^ (XOR). See\n Complex lookups with Q objects.

    \n
    \n
    \n

    Prefetch() objects\u00b6

    \n
    \n
    \n-class Prefetch(lookup, queryset=None, to_attr=None)[source]\u00b6
    \n+class Prefetch(lookup, queryset=None, to_attr=None)[sorgente]\u00b6\n
    \n \n

    The Prefetch() object can be used to control the operation of\n prefetch_related().

    \n

    The lookup argument describes the relations to follow and works the same\n as the string based lookups passed to\n prefetch_related(). For example:

    \n@@ -3818,26 +3819,26 @@\n >>> Question.objects.prefetch_related(prefetch).get().voted_choices\n [<Choice: The sky>]\n >>> Question.objects.prefetch_related(prefetch).get().choice_set.all()\n <QuerySet [<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]>\n \n \n
    \n-

    Note

    \n+

    Nota

    \n

    When using to_attr the prefetched result is stored in a list. This can\n provide a significant speed improvement over traditional\n prefetch_related calls which store the cached result within a\n QuerySet instance.

    \n
    \n
    \n \n
    \n

    FilteredRelation() objects\u00b6

    \n
    \n
    \n-class FilteredRelation(relation_name, *, condition=Q())[source]\u00b6
    \n+class FilteredRelation(relation_name, *, condition=Q())[sorgente]\u00b6\n
    \n
    \n relation_name\u00b6
    \n

    The name of the field on which you\u2019d like to filter the relation.

    \n
    \n \n
    \n@@ -4053,37 +4054,37 @@\n \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Model instance reference

    \n+ title=\"capitolo precedente\">Model instance reference

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Lookup API reference

    \n+ title=\"capitolo successivo\">Lookup API reference

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* Q\bQu\bue\ber\bry\byS\bSe\bet\bt A\bAP\bPI\bI r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document describes the details of the QuerySet API. It builds on the\n material presented in the _\bm_\bo_\bd_\be_\bl and _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bq_\bu_\be_\br_\by guides, so you\u2019ll probably\n want to read and understand those documents before reading this one.\n Throughout this reference we\u2019ll use the _\be_\bx_\ba_\bm_\bp_\bl_\be_\b _\bb_\bl_\bo_\bg_\b _\bm_\bo_\bd_\be_\bl_\bs presented in the\n@@ -24,15 +24,15 @@\n async for e in Entry.objects.all():\n results.append(e)\n Both synchronous and asynchronous iterators of QuerySets share the same\n underlying cache.\n * S\bSl\bli\bic\bci\bin\bng\bg.\b. As explained in _\bL_\bi_\bm_\bi_\bt_\bi_\bn_\bg_\b _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\bs, a QuerySet can be sliced,\n using Python\u2019s array-slicing syntax. Slicing an unevaluated QuerySet\n usually returns another unevaluated QuerySet, but Django will execute the\n- database query if you use the \u201cstep\u201d parameter of slice syntax, and will\n+ database query if you use the \u00abstep\u00bb parameter of slice syntax, and will\n return a list. Slicing a QuerySet that has been evaluated also returns a\n list.\n Also note that even though slicing an unevaluated QuerySet returns\n another unevaluated QuerySet, modifying it further (e.g., adding more\n filters, or modifying ordering) is not allowed, since that does not\n translate well into SQL and it would not have a clear meaning either.\n * P\bPi\bic\bck\bkl\bli\bin\bng\bg/\b/C\bCa\bac\bch\bhi\bin\bng\bg.\b. See the following section for details of what is\n@@ -96,34 +96,34 @@\n not be used as part of a long-term archival strategy.\n Since pickle compatibility errors can be difficult to diagnose, such as\n silently corrupted objects, a RuntimeWarning is raised when you try to unpickle\n a queryset in a Django version that is different than the one in which it was\n pickled.\n *\b**\b**\b**\b**\b* Q\bQu\bue\ber\bry\byS\bSe\bet\bt A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Here\u2019s the formal declaration of a QuerySet:\n- c\bcl\bla\bas\bss\bs QuerySet(m\bmo\bod\bde\bel\bl=\b=N\bNo\bon\bne\be, q\bqu\bue\ber\bry\by=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs QuerySet(m\bmo\bod\bde\bel\bl=\b=N\bNo\bon\bne\be, q\bqu\bue\ber\bry\by=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Usually when you\u2019ll interact with a QuerySet you\u2019ll use it by _\bc_\bh_\ba_\bi_\bn_\bi_\bn_\bg\n _\bf_\bi_\bl_\bt_\be_\br_\bs. To make this work, most QuerySet methods return new querysets.\n These methods are covered in detail later in this section.\n The QuerySet class has the following public attributes you can use for\n introspection:\n- ordered_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ ordered_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n True if the QuerySet is ordered \u2014 i.e. has an _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) clause or\n a default ordering on the model. False otherwise.\n- db_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ db_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The database that will be used if this query is executed now.\n- Note\n+ Nota\n The query parameter to _\bQ_\bu_\be_\br_\by_\bS_\be_\bt exists so that specialized query\n subclasses can reconstruct internal query state. The value of the\n parameter is an opaque representation of that query state and is not part\n of a public API.\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs t\bth\bha\bat\bt r\bre\bet\btu\bur\brn\bn n\bne\bew\bw Q\bQu\bue\ber\bry\byS\bSe\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django provides a range of QuerySet refinement methods that modify either the\n types of results returned by the QuerySet or the way its SQL query is executed.\n-Note\n+Nota\n These methods do not run database queries, therefore they are s\bsa\baf\bfe\be t\bto\bo r\bru\bun\bn i\bin\bn\n a\bas\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs c\bco\bod\bde\be, and do not have separate asynchronous versions.\n *\b**\b**\b* f\bfi\bil\blt\bte\ber\br(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n filter(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n Returns a new QuerySet containing objects that match the given lookup\n parameters.\n The lookup parameters (**kwargs) should be in the format described in _\bF_\bi_\be_\bl_\bd\n@@ -135,21 +135,21 @@\n exclude(*\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n Returns a new QuerySet containing objects that do n\bno\bot\bt match the given lookup\n parameters.\n The lookup parameters (**kwargs) should be in the format described in _\bF_\bi_\be_\bl_\bd\n _\bl_\bo_\bo_\bk_\bu_\bp_\bs below. Multiple parameters are joined via AND in the underlying SQL\n statement, and the whole thing is enclosed in a NOT().\n This example excludes all entries whose pub_date is later than 2005-1-3 AND\n-whose headline is \u201cHello\u201d:\n+whose headline is \u00abHello\u00bb:\n Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3), headline=\"Hello\")\n In SQL terms, that evaluates to:\n SELECT ...\n WHERE NOT (pub_date > '2005-1-3' AND headline = 'Hello')\n This example excludes all entries whose pub_date is later than 2005-1-3 OR\n-whose headline is \u201cHello\u201d:\n+whose headline is \u00abHello\u00bb:\n Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3)).exclude\n (headline=\"Hello\")\n In SQL terms, that evaluates to:\n SELECT ...\n WHERE NOT pub_date > '2005-1-3'\n AND NOT headline = 'Hello'\n Note the second example is more restrictive.\n@@ -244,15 +244,15 @@\n expression:\n Entry.objects.order_by(Coalesce(\"summary\", \"headline\").desc())\n _\ba_\bs_\bc_\b(_\b) and _\bd_\be_\bs_\bc_\b(_\b) have arguments (nulls_first and nulls_last) that control how\n null values are sorted.\n Be cautious when ordering by fields in related models if you are also using\n _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b(_\b). See the note in _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\b(_\b) for an explanation of how related model\n ordering can change the expected results.\n-Note\n+Nota\n It is permissible to specify a multi-valued field to order the results by (for\n example, a _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd field, or the reverse relation of a _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by\n field).\n Consider this case:\n class Event(Model):\n parent = models.ForeignKey(\n \"self\",\n@@ -281,29 +281,29 @@\n If you don\u2019t want any ordering to be applied to a query, not even the default\n ordering, call _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) with no parameters.\n You can tell if a query is ordered or not by checking the _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bo_\br_\bd_\be_\br_\be_\bd\n attribute, which will be True if the QuerySet has been ordered in any way.\n Each order_by() call will clear any previous ordering. For example, this query\n will be ordered by pub_date and not headline:\n Entry.objects.order_by(\"headline\").order_by(\"pub_date\")\n-Warning\n+Avvertimento\n Ordering is not a free operation. Each field you add to the ordering incurs a\n cost to your database. Each foreign key you add will implicitly include all of\n its default orderings as well.\n If a query doesn\u2019t have an ordering specified, results are returned from the\n database in an unspecified order. A particular ordering is guaranteed only when\n ordering by a set of fields that uniquely identify each object in the results.\n For example, if a name field isn\u2019t unique, ordering by it won\u2019t guarantee\n objects with the same name always appear in the same order.\n *\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n reverse()_\b\u00b6\n Use the reverse() method to reverse the order in which a queryset\u2019s elements\n are returned. Calling reverse() a second time restores the ordering back to the\n normal direction.\n-To retrieve the \u201clast\u201d five items in a queryset, you could do this:\n+To retrieve the \u00ablast\u00bb five items in a queryset, you could do this:\n my_queryset.reverse()[:5]\n Note that this is not quite the same as slicing from the end of a sequence in\n Python. The above example will return the last item first, then the penultimate\n item and so on. If we had a Python sequence and looked at seq[-5:], we would\n see the fifth-last item first. Django doesn\u2019t support that mode of access\n (slicing from the end), because it\u2019s not possible to do it efficiently in SQL.\n Also, note that reverse() should generally only be called on a QuerySet which\n@@ -316,15 +316,15 @@\n Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This\n eliminates duplicate rows from the query results.\n By default, a QuerySet will not eliminate duplicate rows. In practice, this is\n rarely a problem, because simple queries such as Blog.objects.all() don\u2019t\n introduce the possibility of duplicate result rows. However, if your query\n spans multiple tables, it\u2019s possible to get duplicate results when a QuerySet\n is evaluated. That\u2019s when you\u2019d use distinct().\n-Note\n+Nota\n Any fields used in an _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) call are included in the SQL SELECT columns.\n This can sometimes lead to unexpected results when used in conjunction with\n distinct(). If you order by fields from a related model, those fields will be\n added to the selected columns and they may make otherwise duplicate rows appear\n to be distinct. Since the extra columns don\u2019t appear in the returned results\n (they are only there to support ordering), it sometimes looks like non-distinct\n results are being returned.\n@@ -336,15 +336,15 @@\n careful when ordering by fields not in the _\bv_\ba_\bl_\bu_\be_\bs_\b(_\b) call.\n On PostgreSQL only, you can pass positional arguments (*fields) in order to\n specify the names of fields to which the DISTINCT should apply. This translates\n to a SELECT DISTINCT ON SQL query. Here\u2019s the difference. For a normal distinct\n () call, the database compares e\bea\bac\bch\bh field in each row when determining which\n rows are distinct. For a distinct() call with specified field names, the\n database will only compare the specified field names.\n-Note\n+Nota\n When you specify field names, you m\bmu\bus\bst\bt provide an order_by() in the QuerySet,\n and the fields in order_by() must start with the fields in distinct(), in the\n same order.\n For example, SELECT DISTINCT ON (a) gives you the first row for each value in\n column a. If you don\u2019t specify an order, you\u2019ll get some arbitrary row.\n Examples (those after the first will only work on PostgreSQL):\n >>> Author.objects.distinct()\n@@ -361,15 +361,15 @@\n \n >>> Entry.objects.order_by(\"blog__name\", \"mod_date\").distinct(\"blog__name\",\n \"mod_date\")\n [...]\n \n >>> Entry.objects.order_by(\"author\", \"pub_date\").distinct(\"author\")\n [...]\n-Note\n+Nota\n Keep in mind that _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) uses any default related model ordering that has\n been defined. You might have to explicitly order by the relation _id or\n referenced field to make sure the DISTINCT ON expressions match those at the\n beginning of the ORDER BY clause. For example, if the Blog model defined an\n _\bo_\br_\bd_\be_\br_\bi_\bn_\bg by name:\n Entry.objects.order_by(\"blog\").distinct(\"blog\")\n \u2026wouldn\u2019t work because the query would be ordered by blog__name thus\n@@ -483,15 +483,15 @@\n it doesn\u2019t really matter. This is your chance to really flaunt your\n individualism.\n You can also refer to fields on related models with reverse relations through\n OneToOneField, ForeignKey and ManyToManyField attributes:\n >>> Blog.objects.values(\"name\", \"entry__headline\")\n \n-Warning\n+Avvertimento\n Because _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd attributes and reverse relations can have multiple\n related rows, including these can have a multiplier effect on the size of your\n result set. This will be especially pronounced if you include multiple such\n fields in your values() query, in which case all possible combinations will be\n returned.\n Special values for JSONField on SQLite\n Due to the way the JSON_EXTRACT and JSON_TYPE SQL functions are implemented on\n@@ -529,15 +529,15 @@\n achieve that, use values_list() followed by a get() call:\n >>> Entry.objects.values_list(\"headline\", flat=True).get(pk=1)\n 'First entry'\n values() and values_list() are both intended as optimizations for a specific\n use case: retrieving a subset of data without the overhead of creating a model\n instance. This metaphor falls apart when dealing with many-to-many and other\n multivalued relations (such as the one-to-many relation of a reverse foreign\n-key) because the \u201cone row, one object\u201d assumption doesn\u2019t hold.\n+key) because the \u00abone row, one object\u00bb assumption doesn\u2019t hold.\n For example, notice the behavior when querying across a _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd:\n >>> Author.objects.values_list(\"name\", \"entry__headline\")\n \n Authors with multiple entries appear multiple times and authors without any\n@@ -554,15 +554,15 @@\n *\b**\b**\b* d\bda\bat\bte\bes\bs(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n dates(f\bfi\bie\bel\bld\bd, k\bki\bin\bnd\bd, o\bor\brd\bde\ber\br=\b='\b'A\bAS\bSC\bC'\b')_\b\u00b6\n Returns a QuerySet that evaluates to a list of _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be objects\n representing all available dates of a particular kind within the contents of\n the QuerySet.\n field should be the name of a DateField of your model. kind should be either\n \"year\", \"month\", \"week\", or \"day\". Each _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be object in the result list\n-is \u201ctruncated\u201d to the given type.\n+is \u00abtruncated\u00bb to the given type.\n * \"year\" returns a list of all distinct year values for the field.\n * \"month\" returns a list of all distinct year/month values for the field.\n * \"week\" returns a list of all distinct year/week values for the field. All\n dates will be a Monday.\n * \"day\" returns a list of all distinct year/month/day values for the field.\n order, which defaults to 'ASC', should be either 'ASC' or 'DESC'. This\n specifies how to order the results.\n@@ -582,23 +582,23 @@\n *\b**\b**\b* d\bda\bat\bte\bet\bti\bim\bme\bes\bs(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n datetimes(f\bfi\bie\bel\bld\bd_\b_n\bna\bam\bme\be, k\bki\bin\bnd\bd, o\bor\brd\bde\ber\br=\b='\b'A\bAS\bSC\bC'\b', t\btz\bzi\bin\bnf\bfo\bo=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns a QuerySet that evaluates to a list of _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be objects\n representing all available dates of a particular kind within the contents of\n the QuerySet.\n field_name should be the name of a DateTimeField of your model.\n kind should be either \"year\", \"month\", \"week\", \"day\", \"hour\", \"minute\", or\n-\"second\". Each _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be object in the result list is \u201ctruncated\u201d to\n+\"second\". Each _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be object in the result list is \u00abtruncated\u00bb to\n the given type.\n order, which defaults to 'ASC', should be either 'ASC' or 'DESC'. This\n specifies how to order the results.\n tzinfo defines the time zone to which datetimes are converted prior to\n truncation. Indeed, a given datetime has different representations depending on\n the time zone in use. This parameter must be a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bt_\bz_\bi_\bn_\bf_\bo object. If it\u2019s\n None, Django uses the _\bc_\bu_\br_\br_\be_\bn_\bt_\b _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be. It has no effect when _\bU_\bS_\bE_\b__\bT_\bZ is False.\n-Note\n+Nota\n This function performs time zone conversions directly in the database. As a\n consequence, your database must be able to interpret the value of tzinfo.tzname\n (None). This translates into the following requirements:\n * SQLite: no requirements. Conversions are performed in Python.\n * PostgreSQL: no requirements (see _\bT_\bi_\bm_\be_\b _\bZ_\bo_\bn_\be_\bs).\n * Oracle: no requirements (see _\bC_\bh_\bo_\bo_\bs_\bi_\bn_\bg_\b _\ba_\b _\bT_\bi_\bm_\be_\b _\bZ_\bo_\bn_\be_\b _\bF_\bi_\bl_\be).\n * MySQL: load the time zone tables with _\bm_\by_\bs_\bq_\bl_\b__\bt_\bz_\bi_\bn_\bf_\bo_\b__\bt_\bo_\b__\bs_\bq_\bl.\n@@ -654,15 +654,15 @@\n difference(*\b*o\bot\bth\bhe\ber\br_\b_q\bqs\bs)_\b\u00b6\n Uses SQL\u2019s EXCEPT operator to keep only elements present in the QuerySet but\n not in some other QuerySets. For example:\n >>> qs1.difference(qs2, qs3)\n See _\bu_\bn_\bi_\bo_\bn_\b(_\b) for some restrictions.\n *\b**\b**\b* s\bse\bel\ble\bec\bct\bt_\b_r\bre\bel\bla\bat\bte\bed\bd(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n select_related(*\b*f\bfi\bie\bel\bld\bds\bs)_\b\u00b6\n-Returns a QuerySet that will \u201cfollow\u201d foreign-key relationships, selecting\n+Returns a QuerySet that will \u00abfollow\u00bb foreign-key relationships, selecting\n additional related-object data when it executes its query. This is a\n performance booster which results in a single more complex query but means\n later use of foreign-key relationships won\u2019t require database queries.\n The following examples illustrate the difference between plain lookups and\n select_related() lookups. Here\u2019s standard lookup:\n # Hits the database.\n e = Entry.objects.get(id=5)\n@@ -749,19 +749,19 @@\n objects for each of the specified lookups.\n This has a similar purpose to select_related, in that both are designed to stop\n the deluge of database queries that is caused by accessing related objects, but\n the strategy is quite different.\n select_related works by creating an SQL join and including the fields of the\n related object in the SELECT statement. For this reason, select_related gets\n the related objects in the same database query. However, to avoid the much\n-larger result set that would result from joining across a \u2018many\u2019 relationship,\n+larger result set that would result from joining across a \u201cmany\u201d relationship,\n select_related is limited to single-valued relationships - foreign key and one-\n to-one.\n prefetch_related, on the other hand, does a separate lookup for each\n-relationship, and does the \u2018joining\u2019 in Python. This allows it to prefetch\n+relationship, and does the \u201cjoining\u201d in Python. This allows it to prefetch\n many-to-many, many-to-one, and _\bG_\be_\bn_\be_\br_\bi_\bc_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn objects which cannot be done\n using select_related, in addition to the foreign key and one-to-one\n relationships that are supported by select_related. It also supports\n prefetching of _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by, however, the queryset for each ContentType\n must be provided in the querysets parameter of _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\br_\be_\bf_\be_\bt_\bc_\bh.\n Changed in Django 5.0:\n Support for prefetching _\bG_\be_\bn_\be_\br_\bi_\bc_\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by with non-homogeneous set of results\n@@ -811,15 +811,15 @@\n If you have an iterable of model instances, you can prefetch related attributes\n on those instances using the _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b) function.\n Note that the result cache of the primary QuerySet and all specified related\n objects will then be fully loaded into memory. This changes the typical\n behavior of QuerySets, which normally try to avoid loading all objects into\n memory before they are needed, even after a query has been executed in the\n database.\n-Note\n+Nota\n Remember that, as always with QuerySets, any subsequent chained methods which\n imply a different database query will ignore previously cached results, and\n retrieve data using a fresh database query. So, if you write the following:\n >>> pizzas = Pizza.objects.prefetch_related(\"toppings\")\n >>> [list(pizza.toppings.filter(spicy=True)) for pizza in pizzas]\n \u2026then the fact that pizza.toppings.all() has been prefetched will not help you.\n The prefetch_related('toppings') implied pizza.toppings.all(), but\n@@ -840,15 +840,15 @@\n >>> Restaurant.objects.prefetch_related(\"pizzas__toppings\")\n This will prefetch all pizzas belonging to restaurants, and all toppings\n belonging to those pizzas. This will result in a total of 3 database queries -\n one for the restaurants, one for the pizzas, and one for the toppings.\n >>> Restaurant.objects.prefetch_related(\"best_pizza__toppings\")\n This will fetch the best pizza and all the toppings for the best pizza for each\n restaurant. This will be done in 3 database queries - one for the restaurants,\n-one for the \u2018best pizzas\u2019, and one for the toppings.\n+one for the \u201cbest pizzas\u201d, and one for the toppings.\n The best_pizza relationship could also be fetched using select_related to\n reduce the query count to 2:\n >>> Restaurant.objects.select_related(\"best_pizza\").prefetch_related\n (\"best_pizza__toppings\")\n Since the prefetch is executed after the main query (which includes the joins\n needed by select_related), it is able to detect that the best_pizza objects\n have already been fetched, and it will skip fetching them again.\n@@ -863,15 +863,15 @@\n save both memory and CPU time.\n While prefetch_related supports prefetching GenericForeignKey relationships,\n the number of queries will depend on the data. Since a GenericForeignKey can\n reference data in multiple tables, one query per table referenced is needed,\n rather than one query for all the items. There could be additional queries on\n the ContentType table if the relevant rows have not already been fetched.\n prefetch_related in most cases will be implemented using an SQL query that uses\n-the \u2018IN\u2019 operator. This means that for a large QuerySet a large \u2018IN\u2019 clause\n+the \u201cIN\u201d operator. This means that for a large QuerySet a large \u201cIN\u201d clause\n could be generated, which, depending on the database, might have performance\n problems of its own when it comes to parsing or executing the SQL query. Always\n profile for your use case!\n If you use iterator() to run the query, prefetch_related() calls will only be\n observed if a value for chunk_size is provided.\n You can use the _\bP_\br_\be_\bf_\be_\bt_\bc_\bh object to further control the prefetch operation.\n In its simplest form Prefetch is equivalent to the traditional string based\n@@ -952,15 +952,15 @@\n ... )\n >>>\n >>> # Inner will use 'replica' database; outer will use 'cold-storage' database\n >>> Restaurant.objects.prefetch_related(\n ... Prefetch(\"pizzas__toppings\", queryset=Toppings.objects.using\n (\"replica\")),\n ... ).using(\"cold-storage\")\n-Note\n+Nota\n The ordering of lookups matters.\n Take the following examples:\n >>> prefetch_related(\"pizzas__toppings\", \"pizzas\")\n This works even though it\u2019s unordered because 'pizzas__toppings' already\n contains all the needed information, therefore the second argument 'pizzas' is\n actually redundant.\n >>> prefetch_related(\"pizzas__toppings\", Prefetch(\"pizzas\",\n@@ -998,15 +998,15 @@\n is equivalent to:\n >>> qs.annotate(val=RawSQL(\"select col from sometable where othercol = %s\",\n (someparam,)))\n The main benefit of using _\bR_\ba_\bw_\bS_\bQ_\bL is that you can set output_field if needed.\n The main downside is that if you refer to some table alias of the queryset in\n the raw SQL, then it is possible that Django might change that alias (for\n example, when the queryset is used as a subquery in yet another query).\n-Warning\n+Avvertimento\n You should be very careful whenever you use extra(). Every time you use it, you\n should escape any parameters that the user can control by using params in order\n to protect against SQL injection attacks.\n You also must not quote placeholders in the SQL string. This example is\n vulnerable to SQL injection because of the quotes around %s:\n SELECT col FROM sometable WHERE othercol = '%s' # unsafe!\n You can read more about how Django\u2019s _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn works.\n@@ -1056,15 +1056,15 @@\n If you need to use a literal %s inside your select string, use the\n sequence %%s.\n * where / tables\n You can define explicit SQL WHERE clauses \u2014 perhaps to perform non-\n explicit joins \u2014 by using where. You can manually add tables to the SQL\n FROM clause by using tables.\n where and tables both take a list of strings. All where parameters are\n- \u201cAND\u201ded to any other search criteria.\n+ \u00abAND\u00bbed to any other search criteria.\n Example:\n Entry.objects.extra(where=[\"foo='a' OR bar = 'a'\", \"baz = 'a'\"])\n \u2026translates (roughly) into the following SQL:\n SELECT * FROM blog_entry WHERE (foo='a' OR bar='a') AND (baz='a')\n Be careful when using the tables parameter if you\u2019re specifying tables\n that are already used in the query. When you add extra tables via the\n tables parameter, Django assumes you want that table included an extra\n@@ -1107,15 +1107,15 @@\n Always use params instead of embedding values directly into where because\n params will ensure values are quoted correctly according to your\n particular backend. For example, quotes will be escaped correctly.\n Bad:\n Entry.objects.extra(where=[\"headline='Lennon'\"])\n Good:\n Entry.objects.extra(where=[\"headline=%s\"], params=[\"Lennon\"])\n-Warning\n+Avvertimento\n If you are performing queries on MySQL, note that MySQL\u2019s silent type coercion\n may cause unexpected results when mixing types. If you query on a string type\n column, but with an integer value, MySQL will coerce the types of all values in\n the table to an integer before performing the comparison. For example, if your\n table contains the values 'abc', 'def' and you query for WHERE mycolumn=0, both\n rows will match. To prevent this, perform the correct typecasting before using\n the value in a query.\n@@ -1128,15 +1128,15 @@\n need those particular fields when you initially fetch the data, you can tell\n Django not to retrieve them from the database.\n This is done by passing the names of the fields to not load to defer():\n Entry.objects.defer(\"headline\", \"body\")\n A queryset that has deferred fields will still return model instances. Each\n deferred field will be retrieved from the database if you access that field\n (one at a time, not all the deferred fields at once).\n-Note\n+Nota\n Deferred fields will not lazy-load like this from asynchronous code. Instead,\n you will get a SynchronousOnlyOperation exception. If you are writing\n asynchronous code, you should not try to access any fields that you defer().\n You can make multiple calls to defer(). Each call adds new fields to the\n deferred set:\n # Defers both the body and headline fields.\n Entry.objects.defer(\"body\").filter(rating=5).defer(\"headline\")\n@@ -1156,15 +1156,15 @@\n to retrieve related models, you shouldn\u2019t defer the loading of the field that\n connects from the primary model to the related one, doing so will result in an\n error.\n Similarly, calling defer() (or its counterpart _\bo_\bn_\bl_\by_\b(_\b)) including an argument\n from an aggregation (e.g. using the result of _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\b(_\b)) doesn\u2019t make sense:\n doing so will raise an exception. The aggregated values will always be fetched\n into the resulting queryset.\n-Note\n+Nota\n The defer() method (and its cousin, _\bo_\bn_\bl_\by_\b(_\b), below) are only for advanced use-\n cases. They provide an optimization for when you have analyzed your queries\n closely and understand e\bex\bxa\bac\bct\btl\bly\by what information you need and have measured that\n the difference between returning the fields you need and the full set of fields\n for the model will be significant.\n Even if you think you are in the advanced use-case situation, o\bon\bnl\bly\by u\bus\bse\be defer()\n w\bwh\bhe\ben\bn y\byo\bou\bu c\bca\ban\bnn\bno\bot\bt,\b, a\bat\bt q\bqu\bue\ber\bry\bys\bse\bet\bt l\blo\boa\bad\bd t\bti\bim\bme\be,\b, d\bde\bet\bte\ber\brm\bmi\bin\bne\be i\bif\bf y\byo\bou\bu w\bwi\bil\bll\bl n\bne\bee\bed\bd t\bth\bhe\be e\bex\bxt\btr\bra\ba\n@@ -1195,15 +1195,15 @@\n \n # Two equivalent QuerySets:\n CommonlyUsedModel.objects.all()\n ManagedModel.objects.defer(\"f2\")\n If many fields need to be duplicated in the unmanaged model, it may be best to\n create an abstract model with the shared fields and then have the unmanaged and\n managed models inherit from the abstract model.\n-Note\n+Nota\n When calling _\bs_\ba_\bv_\be_\b(_\b) for instances with deferred fields, only the loaded fields\n will be saved. See _\bs_\ba_\bv_\be_\b(_\b) for more details.\n *\b**\b**\b* o\bon\bnl\bly\by(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n only(*\b*f\bfi\bie\bel\bld\bds\bs)_\b\u00b6\n The only() method is essentially the opposite of _\bd_\be_\bf_\be_\br_\b(_\b). Only the fields\n passed into this method and that are n\bno\bot\bt already specified as deferred are\n loaded immediately when the queryset is evaluated.\n@@ -1230,18 +1230,18 @@\n as well. Use it cautiously and only after exhausting your other options.\n Using only() and omitting a field requested using _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b) is an error\n as well. On the other hand, invoking only() without any arguments, will return\n every field (including annotations) fetched by the queryset.\n As with defer(), you cannot access the non-loaded fields from asynchronous code\n and expect them to load. Instead, you will get a SynchronousOnlyOperation\n exception. Ensure that all fields you might access are in your only() call.\n-Note\n+Nota\n When calling _\bs_\ba_\bv_\be_\b(_\b) for instances with deferred fields, only the loaded fields\n will be saved. See _\bs_\ba_\bv_\be_\b(_\b) for more details.\n-Note\n+Nota\n When using _\bd_\be_\bf_\be_\br_\b(_\b) after only() the fields in _\bd_\be_\bf_\be_\br_\b(_\b) will override only() for\n fields that are listed in both.\n *\b**\b**\b* u\bus\bsi\bin\bng\bg(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n using(a\bal\bli\bia\bas\bs)_\b\u00b6\n This method is for controlling which database the QuerySet will be evaluated\n against if you are using more than one database. The only argument this method\n takes is the alias of a database, as defined in _\bD_\bA_\bT_\bA_\bB_\bA_\bS_\bE_\bS.\n@@ -1315,29 +1315,29 @@\n because the rows are not locked in that case. If allowed, this would facilitate\n data corruption and could easily be caused by calling code that expects to be\n run in a transaction outside of one.\n Using select_for_update() on backends which do not support SELECT ... FOR\n UPDATE (such as SQLite) will have no effect. SELECT ... FOR UPDATE will not be\n added to the query, and an error isn\u2019t raised if select_for_update() is used in\n autocommit mode.\n-Warning\n+Avvertimento\n Although select_for_update() normally fails in autocommit mode, since _\bT_\be_\bs_\bt_\bC_\ba_\bs_\be\n automatically wraps each test in a transaction, calling select_for_update() in\n a TestCase even outside an _\ba_\bt_\bo_\bm_\bi_\bc_\b(_\b) block will (perhaps unexpectedly) pass\n without raising a TransactionManagementError. To properly test\n select_for_update() you should use _\bT_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\bT_\be_\bs_\bt_\bC_\ba_\bs_\be.\n Certain expressions may not be supported\n PostgreSQL doesn\u2019t support select_for_update() with _\bW_\bi_\bn_\bd_\bo_\bw expressions.\n *\b**\b**\b* r\bra\baw\bw(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n raw(r\bra\baw\bw_\b_q\bqu\bue\ber\bry\by, p\bpa\bar\bra\bam\bms\bs=\b=(\b()\b), t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bns\bs=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be)_\b\u00b6\n Takes a raw SQL query, executes it, and returns a\n django.db.models.query.RawQuerySet instance. This RawQuerySet instance can be\n iterated over just like a normal QuerySet to provide object instances.\n See the _\bP_\be_\br_\bf_\bo_\br_\bm_\bi_\bn_\bg_\b _\br_\ba_\bw_\b _\bS_\bQ_\bL_\b _\bq_\bu_\be_\br_\bi_\be_\bs for more information.\n-Warning\n+Avvertimento\n raw() always triggers a new query and doesn\u2019t account for previous filtering.\n As such, it should generally be called from the Manager or from a fresh\n QuerySet instance.\n *\b**\b**\b**\b* O\bOp\bpe\ber\bra\bat\bto\bor\brs\bs t\bth\bha\bat\bt r\bre\bet\btu\bur\brn\bn n\bne\bew\bw Q\bQu\bue\ber\bry\byS\bSe\bet\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Combined querysets must use the same model.\n *\b**\b**\b* A\bAN\bND\bD (\b(&\b&)\b)_\b?\b\u00b6 *\b**\b**\b*\n Combines two QuerySets using the SQL AND operator in a manner similar to\n@@ -1364,15 +1364,15 @@\n The following are equivalent:\n Model.objects.filter(x=1) ^ Model.objects.filter(y=2)\n from django.db.models import Q\n \n Model.objects.filter(Q(x=1) ^ Q(y=2))\n SQL equivalent:\n SELECT ... WHERE x=1 XOR y=2\n-Note\n+Nota\n XOR is natively supported on MariaDB and MySQL. On other databases, x ^ y ^ ...\n ^ z is converted to an equivalent:\n (x OR y OR ... OR z) AND\n 1=MOD(\n (CASE WHEN x THEN 1 ELSE 0 END) +\n (CASE WHEN y THEN 1 ELSE 0 END) +\n ...\n@@ -1464,15 +1464,15 @@\n first_name=\"John\",\n last_name=\"Lennon\",\n defaults={\"birthday\": date(1940, 10, 9)},\n )\n Any keyword arguments passed to get_or_create() \u2014 e\bex\bxc\bce\bep\bpt\bt an optional one called\n defaults \u2014 will be used in a _\bg_\be_\bt_\b(_\b) call. If an object is found, get_or_create()\n returns a tuple of that object and False.\n-Warning\n+Avvertimento\n This method is atomic assuming that the database enforces uniqueness of the\n keyword arguments (see _\bu_\bn_\bi_\bq_\bu_\be or _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br). If the fields used in the\n keyword arguments do not have a uniqueness constraint, concurrent calls to this\n method may result in multiple rows with the same parameters being inserted.\n You can specify more complex conditions for the retrieved object by chaining\n get_or_create() with filter() and using _\bQ_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs. For example, to retrieve\n Robert or Bob Marley if either exists, and create the latter otherwise:\n@@ -1504,15 +1504,15 @@\n using manually specified primary keys. If an object needs to be created and the\n key already exists in the database, an _\bI_\bn_\bt_\be_\bg_\br_\bi_\bt_\by_\bE_\br_\br_\bo_\br will be raised.\n Finally, a word on using get_or_create() in Django views. Please make sure to\n use it only in POST requests unless you have a good reason not to. GET requests\n shouldn\u2019t have any effect on data. Instead, use POST whenever a request to a\n page has a side effect on your data. For more, see _\bS\bS_\ba\ba_\bf\bf_\be\be_\b _\bm\bm_\be\be_\bt\bt_\bh\bh_\bo\bo_\bd\bd_\bs\bs in the HTTP\n spec.\n-Warning\n+Avvertimento\n You can use get_or_create() through _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd attributes and reverse\n relations. In that case you will restrict the queries inside the context of\n that relation. That could lead you to some integrity problems if you don\u2019t use\n it consistently.\n Being the following models:\n class Chapter(models.Model):\n title = models.CharField(max_length=255, unique=True)\n@@ -1528,16 +1528,16 @@\n (, True)\n >>> book.chapters.get_or_create(title=\"Telemachus\")\n (, False)\n >>> Chapter.objects.create(title=\"Chapter 1\")\n \n >>> book.chapters.get_or_create(title=\"Chapter 1\")\n # Raises IntegrityError\n-This is happening because it\u2019s trying to get or create \u201cChapter 1\u201d through the\n-book \u201cUlysses\u201d, but it can\u2019t do any of them: the relation can\u2019t fetch that\n+This is happening because it\u2019s trying to get or create \u00abChapter 1\u00bb through the\n+book \u00abUlysses\u00bb, but it can\u2019t do any of them: the relation can\u2019t fetch that\n chapter because it isn\u2019t related to that book, but it can\u2019t create it either\n because title field should be unique.\n *\b**\b**\b* u\bup\bpd\bda\bat\bte\be_\b_o\bor\br_\b_c\bcr\bre\bea\bat\bte\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n update_or_create(d\bde\bef\bfa\bau\bul\blt\bts\bs=\b=N\bNo\bon\bne\be, c\bcr\bre\bea\bat\bte\be_\b_d\bde\bef\bfa\bau\bul\blt\bts\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n aupdate_or_create(d\bde\bef\bfa\bau\bul\blt\bts\bs=\b=N\bNo\bon\bne\be, c\bcr\bre\bea\bat\bte\be_\b_d\bde\bef\bfa\bau\bul\blt\bts\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: aupdate_or_create()\n A convenience method for updating an object with the given kwargs, creating a\n@@ -1633,15 +1633,15 @@\n update_fields, a list of unique_fields that may be in conflict must be\n provided.\n Enabling the ignore_conflicts parameter disables setting the primary key on\n each model instance (if the database normally supports it).\n Changed in Django 5.0:\n In older versions, enabling the update_conflicts parameter prevented setting\n the primary key on each model instance.\n-Warning\n+Avvertimento\n On MySQL and MariaDB, setting the ignore_conflicts parameter to True turns\n certain types of errors, other than duplicate key, into warnings. Even with\n Strict Mode. For example: invalid values or non-nullable violations. See the\n _\bM_\by_\bS_\bQ_\bL_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn and _\bM_\ba_\br_\bi_\ba_\bD_\bB_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more details.\n *\b**\b**\b* b\bbu\bul\blk\bk_\b_u\bup\bpd\bda\bat\bte\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n bulk_update(o\bob\bbj\bjs\bs, f\bfi\bie\bel\bld\bds\bs, b\bba\bat\btc\bch\bh_\b_s\bsi\biz\bze\be=\b=N\bNo\bon\bne\be)_\b\u00b6\n abulk_update(o\bob\bbj\bjs\bs, f\bfi\bie\bel\bld\bds\bs, b\bba\bat\btc\bch\bh_\b_s\bsi\biz\bze\be=\b=N\bNo\bon\bne\be)_\b\u00b6\n@@ -1959,15 +1959,15 @@\n e.comments_on = False\n e.save()\n *\b**\b* O\bOr\brd\bde\ber\bre\bed\bd q\bqu\bue\ber\bry\bys\bse\bet\bt_\b?\b\u00b6 *\b**\b*\n Chaining order_by() with update() is supported only on MariaDB and MySQL, and\n is ignored for different databases. This is useful for updating a unique field\n in the order that is specified without conflicts. For example:\n Entry.objects.order_by(\"-number\").update(number=F(\"number\") + 1)\n-Note\n+Nota\n order_by() clause will be ignored if it contains annotations, inherited fields,\n or lookups spanning relations.\n *\b**\b**\b* d\bde\bel\ble\bet\bte\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n delete()_\b\u00b6\n adelete()_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: adelete()\n Performs an SQL delete query on all rows in the _\bQ_\bu_\be_\br_\by_\bS_\be_\bt and returns the number\n@@ -2060,15 +2060,15 @@\n Examples:\n Entry.objects.get(id__exact=14)\n Entry.objects.get(id__exact=None)\n SQL equivalents:\n SELECT ... WHERE id = 14;\n SELECT ... WHERE id IS NULL;\n MySQL comparisons\n-In MySQL, a database table\u2019s \u201ccollation\u201d setting determines whether exact\n+In MySQL, a database table\u2019s \u00abcollation\u00bb setting determines whether exact\n comparisons are case-sensitive. This is a database setting, n\bno\bot\bt a Django\n setting. It\u2019s possible to configure your MySQL tables to use case-sensitive\n comparisons, but some trade-offs are involved. For more information about this,\n see the _\bc_\bo_\bl_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bs_\be_\bc_\bt_\bi_\bo_\bn in the _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs documentation.\n *\b**\b**\b* i\bie\bex\bxa\bac\bct\bt_\b?\b\u00b6 *\b**\b**\b*\n Case-insensitive exact match. If the value provided for comparison is None, it\n will be interpreted as an SQL NULL (see _\bi_\bs_\bn_\bu_\bl_\bl for more details).\n@@ -2196,17 +2196,17 @@\n start_date = datetime.date(2005, 1, 1)\n end_date = datetime.date(2005, 3, 31)\n Entry.objects.filter(pub_date__range=(start_date, end_date))\n SQL equivalent:\n SELECT ... WHERE pub_date BETWEEN '2005-01-01' and '2005-03-31';\n You can use range anywhere you can use BETWEEN in SQL \u2014 for dates, numbers and\n even characters.\n-Warning\n+Avvertimento\n Filtering a DateTimeField with dates won\u2019t include items on the last day,\n-because the bounds are interpreted as \u201c0am on the given date\u201d. If pub_date was\n+because the bounds are interpreted as \u00ab0am on the given date\u00bb. If pub_date was\n a DateTimeField, the above expression would be turned into this SQL:\n SELECT ... WHERE pub_date BETWEEN '2005-01-01 00:00:00' and '2005-03-31 00:00:\n 00';\n Generally speaking, you can\u2019t mix dates and datetimes.\n *\b**\b**\b* d\bda\bat\bte\be_\b?\b\u00b6 *\b**\b**\b*\n For datetime fields, casts the value as date. Allows chaining additional field\n lookups. Takes a date value.\n@@ -2272,15 +2272,15 @@\n Entry.objects.filter(pub_date__week=52)\n Entry.objects.filter(pub_date__week__gte=32, pub_date__week__lte=38)\n (No equivalent SQL code fragment is included for this lookup because\n implementation of the relevant query varies among different database engines.)\n When _\bU_\bS_\bE_\b__\bT_\bZ is True, datetime fields are converted to the current time zone\n before filtering. This requires _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\b _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be.\n *\b**\b**\b* w\bwe\bee\bek\bk_\b_d\bda\bay\by_\b?\b\u00b6 *\b**\b**\b*\n-For date and datetime fields, a \u2018day of the week\u2019 match. Allows chaining\n+For date and datetime fields, a \u201cday of the week\u201d match. Allows chaining\n additional field lookups.\n Takes an integer value representing the day of week from 1 (Sunday) to 7\n (Saturday).\n Example:\n Entry.objects.filter(pub_date__week_day=2)\n Entry.objects.filter(pub_date__week_day__gte=2)\n (No equivalent SQL code fragment is included for this lookup because\n@@ -2302,15 +2302,15 @@\n implementation of the relevant query varies among different database engines.)\n Note this will match any record with a pub_date that falls on a Monday (day 1\n of the week), regardless of the month or year in which it occurs. Week days are\n indexed with day 1 being Monday and day 7 being Sunday.\n When _\bU_\bS_\bE_\b__\bT_\bZ is True, datetime fields are converted to the current time zone\n before filtering. This requires _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\b _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bo_\bn_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be.\n *\b**\b**\b* q\bqu\bua\bar\brt\bte\ber\br_\b?\b\u00b6 *\b**\b**\b*\n-For date and datetime fields, a \u2018quarter of the year\u2019 match. Allows chaining\n+For date and datetime fields, a \u201cquarter of the year\u201d match. Allows chaining\n additional field lookups. Takes an integer value between 1 and 4 representing\n the quarter of the year.\n Example to retrieve entries in the second quarter (April 1 to June 30):\n Entry.objects.filter(pub_date__quarter=2)\n (No equivalent SQL code fragment is included for this lookup because\n implementation of the relevant query varies among different database engines.)\n When _\bU_\bS_\bE_\b__\bT_\bZ is True, datetime fields are converted to the current time zone\n@@ -2406,15 +2406,15 @@\n \n SELECT ... WHERE title REGEXP '(?i)^(an?|the) +'; -- SQLite\n *\b**\b**\b**\b* A\bAg\bgg\bgr\bre\beg\bga\bat\bti\bio\bon\bn f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django provides the following aggregation functions in the django.db.models\n module. For details on how to use these aggregate functions, see _\bt_\bh_\be_\b _\bt_\bo_\bp_\bi_\bc\n _\bg_\bu_\bi_\bd_\be_\b _\bo_\bn_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn. See the _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be documentation to learn how to create\n your aggregates.\n-Warning\n+Avvertimento\n SQLite can\u2019t handle aggregation on date/time fields out of the box. This is\n because there are no native date/time fields in SQLite and Django currently\n emulates these features using a text field. Attempts to use aggregation on\n date/time fields in SQLite will raise NotSupportedError.\n Empty querysets or groups\n Aggregation functions return None when used with an empty QuerySet or group.\n For example, the Sum aggregation function returns None instead of 0 if the\n@@ -2424,113 +2424,113 @@\n does not support the default argument.\n All aggregates have the following parameters in common:\n *\b**\b**\b* e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b*\n Strings that reference fields on the model, transforms of the field, or _\bq_\bu_\be_\br_\by\n _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs.\n *\b**\b**\b* o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd_\b?\b\u00b6 *\b**\b**\b*\n An optional argument that represents the _\bm_\bo_\bd_\be_\bl_\b _\bf_\bi_\be_\bl_\bd of the return value\n-Note\n+Nota\n When combining multiple field types, Django can only determine the output_field\n if all fields are of the same type. Otherwise, you must provide the\n output_field yourself.\n *\b**\b**\b* f\bfi\bil\blt\bte\ber\br_\b?\b\u00b6 *\b**\b**\b*\n An optional _\bQ_\b _\bo_\bb_\bj_\be_\bc_\bt that\u2019s used to filter the rows that are aggregated.\n See _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\bi_\bo_\bn and _\bF_\bi_\bl_\bt_\be_\br_\bi_\bn_\bg_\b _\bo_\bn_\b _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\bi_\bo_\bn_\bs for example usage.\n *\b**\b**\b* d\bde\bef\bfa\bau\bul\blt\bt_\b?\b\u00b6 *\b**\b**\b*\n An optional argument that allows specifying a value to use as a default value\n when the queryset (or grouping) contains no entries.\n *\b**\b**\b* *\b**\b*e\bex\bxt\btr\bra\ba_\b?\b\u00b6 *\b**\b**\b*\n Keyword arguments that can provide extra context for the SQL generated by the\n aggregate.\n *\b**\b**\b* A\bAv\bvg\bg_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs Avg(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be,\n- d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the mean value of the given expression, which must be numeric\n unless you specify a different output_field.\n * Default alias: __avg\n * Return type: float if input is int, otherwise same as input field,\n or output_field if supplied. If the queryset or grouping is empty,\n default is returned.\n distinct_\b\u00b6\n Optional. If distinct=True, Avg returns the mean value of unique\n values. This is the SQL equivalent of AVG(DISTINCT ). The\n default value is False.\n *\b**\b**\b* C\bCo\bou\bun\bnt\bt_\b?\b\u00b6 *\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Count(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Count(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the number of objects that are related through the provided\n expression. Count('*') is equivalent to the SQL COUNT(*) expression.\n * Default alias: __count\n * Return type: int\n distinct_\b\u00b6\n Optional. If distinct=True, the count will only include unique\n instances. This is the SQL equivalent of COUNT(DISTINCT ).\n The default value is False.\n- Note\n+ Nota\n The default argument is not supported.\n *\b**\b**\b* M\bMa\bax\bx_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs Max(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the maximum value of the given expression.\n * Default alias: __max\n * Return type: same as input field, or output_field if supplied. If\n the queryset or grouping is empty, default is returned.\n *\b**\b**\b* M\bMi\bin\bn_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs Min(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the minimum value of the given expression.\n * Default alias: __min\n * Return type: same as input field, or output_field if supplied. If\n the queryset or grouping is empty, default is returned.\n *\b**\b**\b* S\bSt\btd\bdD\bDe\bev\bv_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs StdDev(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, s\bsa\bam\bmp\bpl\ble\be=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be,\n- d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the standard deviation of the data in the provided expression.\n * Default alias: __stddev\n * Return type: float if input is int, otherwise same as input field,\n or output_field if supplied. If the queryset or grouping is empty,\n default is returned.\n sample_\b\u00b6\n Optional. By default, StdDev returns the population standard\n deviation. However, if sample=True, the return value will be the\n sample standard deviation.\n *\b**\b**\b* S\bSu\bum\bm_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs Sum(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, d\bdi\bis\bst\bti\bin\bnc\bct\bt=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be,\n- d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Computes the sum of all values of the given expression.\n * Default alias: __sum\n * Return type: same as input field, or output_field if supplied. If\n the queryset or grouping is empty, default is returned.\n distinct_\b\u00b6\n Optional. If distinct=True, Sum returns the sum of unique values.\n This is the SQL equivalent of SUM(DISTINCT ). The default\n value is False.\n *\b**\b**\b* V\bVa\bar\bri\bia\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b*\n c\bcl\bla\bas\bss\bs Variance(e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bn, o\bou\but\btp\bpu\but\bt_\b_f\bfi\bie\bel\bld\bd=\b=N\bNo\bon\bne\be, s\bsa\bam\bmp\bpl\ble\be=\b=F\bFa\bal\bls\bse\be, f\bfi\bil\blt\bte\ber\br=\b=N\bNo\bon\bne\be,\n- d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be, *\b**\b*e\bex\bxt\btr\bra\ba)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the variance of the data in the provided expression.\n * Default alias: __variance\n * Return type: float if input is int, otherwise same as input field,\n or output_field if supplied. If the queryset or grouping is empty,\n default is returned.\n sample_\b\u00b6\n Optional. By default, Variance returns the population variance.\n However, if sample=True, the return value will be the sample\n variance.\n *\b**\b**\b**\b**\b* Q\bQu\bue\ber\bry\by-\b-r\bre\bel\bla\bat\bte\bed\bd t\bto\boo\bol\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n This section provides reference material for query-related tools not documented\n elsewhere.\n *\b**\b**\b**\b* Q\bQ(\b()\b) o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Q_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Q_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Q() object represents an SQL condition that can be used in database-related\n operations. It\u2019s similar to how an _\bF_\b(_\b) object represents the value of a model\n field or annotation. They make it possible to define and reuse conditions.\n These can be negated using the ~ (NOT) operator, and combined using operators\n such as | (OR), & (AND), and ^ (XOR). See _\bC_\bo_\bm_\bp_\bl_\be_\bx_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs_\b _\bw_\bi_\bt_\bh_\b _\bQ_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs.\n *\b**\b**\b**\b* P\bPr\bre\bef\bfe\bet\btc\bch\bh(\b()\b) o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Prefetch(l\blo\boo\bok\bku\bup\bp, q\bqu\bue\ber\bry\bys\bse\bet\bt=\b=N\bNo\bon\bne\be, t\bto\bo_\b_a\bat\btt\btr\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Prefetch(l\blo\boo\bok\bku\bup\bp, q\bqu\bue\ber\bry\bys\bse\bet\bt=\b=N\bNo\bon\bne\be, t\bto\bo_\b_a\bat\btt\btr\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The Prefetch() object can be used to control the operation of _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd\n _\b(_\b).\n The lookup argument describes the relations to follow and works the same as the\n string based lookups passed to _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b). For example:\n >>> from django.db.models import Prefetch\n >>> Question.objects.prefetch_related(Prefetch(\"choice_set\")).get\n ().choice_set.all()\n@@ -2555,20 +2555,20 @@\n >>> prefetch = Prefetch(\"choice_set\", queryset=voted_choices,\n to_attr=\"voted_choices\")\n >>> Question.objects.prefetch_related(prefetch).get().voted_choices\n []\n >>> Question.objects.prefetch_related(prefetch).get().choice_set.all()\n , , ]>\n-Note\n+Nota\n When using to_attr the prefetched result is stored in a list. This can provide\n a significant speed improvement over traditional prefetch_related calls which\n store the cached result within a QuerySet instance.\n *\b**\b**\b**\b* p\bpr\bre\bef\bfe\bet\btc\bch\bh_\b_r\bre\bel\bla\bat\bte\bed\bd_\b_o\bob\bbj\bje\bec\bct\bts\bs(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- prefetch_related_objects(m\bmo\bod\bde\bel\bl_\b_i\bin\bns\bst\bta\ban\bnc\bce\bes\bs, *\b*r\bre\bel\bla\bat\bte\bed\bd_\b_l\blo\boo\bok\bku\bup\bps\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ prefetch_related_objects(m\bmo\bod\bde\bel\bl_\b_i\bin\bns\bst\bta\ban\bnc\bce\bes\bs, *\b*r\bre\bel\bla\bat\bte\bed\bd_\b_l\blo\boo\bok\bku\bup\bps\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n aprefetch_related_objects(m\bmo\bod\bde\bel\bl_\b_i\bin\bns\bst\bta\ban\bnc\bce\bes\bs, *\b*r\bre\bel\bla\bat\bte\bed\bd_\b_l\blo\boo\bok\bku\bup\bps\bs)_\b\u00b6\n A\bAs\bsy\byn\bnc\bch\bhr\bro\bon\bno\bou\bus\bs v\bve\ber\brs\bsi\bio\bon\bn: aprefetch_related_objects()\n Prefetches the given lookups on an iterable of model instances. This is useful\n in code that receives a list of model instances as opposed to a QuerySet; for\n example, when fetching models from a cache or instantiating them manually.\n Pass an iterable of model instances (must all be of the same class) and the\n lookups or _\bP_\br_\be_\bf_\be_\bt_\bc_\bh objects you want to prefetch for. For example:\n@@ -2577,15 +2577,15 @@\n >>> prefetch_related_objects(restaurants, \"pizzas__toppings\")\n When using multiple databases with prefetch_related_objects, the prefetch query\n will use the database associated with the model instance. This can be\n overridden by using a custom queryset in a related lookup.\n Changed in Django 5.0:\n aprefetch_related_objects() function was added.\n *\b**\b**\b**\b* F\bFi\bil\blt\bte\ber\bre\bed\bdR\bRe\bel\bla\bat\bti\bio\bon\bn(\b()\b) o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FilteredRelation(r\bre\bel\bla\bat\bti\bio\bon\bn_\b_n\bna\bam\bme\be, *\b*, c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=Q\bQ(\b()\b))_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FilteredRelation(r\bre\bel\bla\bat\bti\bio\bon\bn_\b_n\bna\bam\bme\be, *\b*, c\bco\bon\bnd\bdi\bit\bti\bio\bon\bn=\b=Q\bQ(\b()\b))_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n relation_name_\b\u00b6\n The name of the field on which you\u2019d like to filter the relation.\n condition_\b\u00b6\n A _\bQ object to control the filtering.\n FilteredRelation is used with _\ba_\bn_\bn_\bo_\bt_\ba_\bt_\be_\b(_\b) to create an ON clause when a JOIN is\n performed. It doesn\u2019t act on the default relationship but on the annotation\n name (pizzas_vegetarian in example below).\n@@ -2711,16 +2711,16 @@\n # _\bS_\bu_\bm\n # _\bV_\ba_\br_\bi_\ba_\bn_\bc_\be\n o _\bQ_\bu_\be_\br_\by_\b-_\br_\be_\bl_\ba_\bt_\be_\bd_\b _\bt_\bo_\bo_\bl_\bs\n # _\bQ_\b(_\b)_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n # _\bP_\br_\be_\bf_\be_\bt_\bc_\bh_\b(_\b)_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n # _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\bs_\b(_\b)\n # _\bF_\bi_\bl_\bt_\be_\br_\be_\bd_\bR_\be_\bl_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bM_\bo_\bd_\be_\bl_\b _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bL_\bo_\bo_\bk_\bu_\bp_\b _\bA_\bP_\bI_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/models/relations.html", "source2": "./usr/share/doc/python-django-doc/html/ref/models/relations.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Related objects reference — Django 5.1.4 documentation\n+ Related objects reference — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,18 +79,18 @@\n
    \n \n
    \n \n
    \n

    Methods\u00b6

    \n
    \n
    \n-Paginator.get_page(number)[source]\u00b6
    \n+Paginator.get_page(number)[sorgente]\u00b6\n

    Returns a Page object with the given 1-based index, while also\n handling out of range and invalid page numbers.

    \n

    If the page isn\u2019t a number, it returns the first page. If the page number\n is negative or greater than the number of pages, it returns the last page.

    \n

    Raises an EmptyPage exception only if you specify\n Paginator(..., allow_empty_first_page=False) and the object_list is\n empty.

    \n
    \n \n
    \n
    \n-Paginator.page(number)[source]\u00b6
    \n+Paginator.page(number)[sorgente]\u00b6\n

    Returns a Page object with the given 1-based index. Raises\n PageNotAnInteger if the number cannot be converted to an integer\n by calling int(). Raises EmptyPage if the given page number\n doesn\u2019t exist.

    \n
    \n \n
    \n
    \n-Paginator.get_elided_page_range(number, *, on_each_side=3, on_ends=2)[source]\u00b6
    \n+Paginator.get_elided_page_range(number, *, on_each_side=3, on_ends=2)[sorgente]\u00b6\n

    Returns a 1-based list of page numbers similar to\n Paginator.page_range, but may add an ellipsis to either or both\n sides of the current page number when Paginator.num_pages is large.

    \n

    The number of pages to include on each side of the current page number is\n determined by the on_each_side argument which defaults to 3.

    \n

    The number of pages to include at the beginning and end of page range is\n determined by the on_ends argument which defaults to 2.

    \n@@ -220,98 +221,98 @@\n

    A translatable string used as a substitute for elided page numbers in the\n page range returned by get_elided_page_range(). Default is\n '\u2026'.

    \n
    \n \n
    \n
    \n-Paginator.count[source]\u00b6
    \n+Paginator.count[sorgente]\u00b6\n

    The total number of objects, across all pages.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When determining the number of objects contained in object_list,\n Paginator will first try calling object_list.count(). If\n object_list has no count() method, then Paginator will\n fall back to using len(object_list). This allows objects, such as\n QuerySet, to use a more efficient count() method when\n available.

    \n
    \n
    \n \n
    \n
    \n-Paginator.num_pages[source]\u00b6
    \n+Paginator.num_pages[sorgente]\u00b6\n

    The total number of pages.

    \n
    \n \n
    \n
    \n-Paginator.page_range[source]\u00b6
    \n+Paginator.page_range[sorgente]\u00b6\n

    A 1-based range iterator of page numbers, e.g. yielding [1, 2, 3, 4].

    \n
    \n \n
    \n
    \n
    \n

    Page class\u00b6

    \n

    You usually won\u2019t construct Page objects by hand \u2013 you\u2019ll get them by\n iterating Paginator, or by using Paginator.page().

    \n
    \n
    \n-class Page(object_list, number, paginator)[source]\u00b6
    \n+class Page(object_list, number, paginator)[sorgente]\u00b6\n

    A page acts like a sequence of Page.object_list when using\n len() or iterating it directly.

    \n
    \n \n
    \n

    Methods\u00b6

    \n
    \n
    \n-Page.has_next()[source]\u00b6
    \n+Page.has_next()[sorgente]\u00b6\n

    Returns True if there\u2019s a next page.

    \n
    \n \n
    \n
    \n-Page.has_previous()[source]\u00b6
    \n+Page.has_previous()[sorgente]\u00b6\n

    Returns True if there\u2019s a previous page.

    \n
    \n \n
    \n
    \n-Page.has_other_pages()[source]\u00b6
    \n+Page.has_other_pages()[sorgente]\u00b6\n

    Returns True if there\u2019s a next or previous page.

    \n
    \n \n
    \n
    \n-Page.next_page_number()[source]\u00b6
    \n+Page.next_page_number()[sorgente]\u00b6\n

    Returns the next page number. Raises InvalidPage if next page\n doesn\u2019t exist.

    \n
    \n \n
    \n
    \n-Page.previous_page_number()[source]\u00b6
    \n+Page.previous_page_number()[sorgente]\u00b6\n

    Returns the previous page number. Raises InvalidPage if previous\n page doesn\u2019t exist.

    \n
    \n \n
    \n
    \n-Page.start_index()[source]\u00b6
    \n+Page.start_index()[sorgente]\u00b6\n

    Returns the 1-based index of the first object on the page, relative to all\n of the objects in the paginator\u2019s list. For example, when paginating a list\n of 5 objects with 2 objects per page, the second page\u2019s\n start_index() would return 3.

    \n
    \n \n
    \n
    \n-Page.end_index()[source]\u00b6
    \n+Page.end_index()[sorgente]\u00b6\n

    Returns the 1-based index of the last object on the page, relative to all\n of the objects in the paginator\u2019s list. For example, when paginating a list\n of 5 objects with 2 objects per page, the second page\u2019s\n end_index() would return 4.

    \n
    \n \n
    \n@@ -337,32 +338,32 @@\n \n
    \n
    \n
    \n

    Exceptions\u00b6

    \n
    \n
    \n-exception InvalidPage[source]\u00b6
    \n+exception InvalidPage[sorgente]\u00b6\n

    A base class for exceptions raised when a paginator is passed an invalid\n page number.

    \n
    \n \n

    The Paginator.page() method raises an exception if the requested page is\n invalid (i.e. not an integer) or contains no objects. Generally, it\u2019s enough\n to catch the InvalidPage exception, but if you\u2019d like more granularity,\n you can catch either of the following exceptions:

    \n
    \n
    \n-exception PageNotAnInteger[source]\u00b6
    \n+exception PageNotAnInteger[sorgente]\u00b6\n

    Raised when page() is given a value that isn\u2019t an integer.

    \n
    \n \n
    \n
    \n-exception EmptyPage[source]\u00b6
    \n+exception EmptyPage[sorgente]\u00b6\n

    Raised when page() is given a valid value but no objects\n exist on that page.

    \n
    \n \n

    Both of the exceptions are subclasses of InvalidPage, so you can handle\n them both with except InvalidPage.

    \n
    \n@@ -395,37 +396,37 @@\n
  • Exceptions
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Database Functions

    \n+ title=\"capitolo precedente\">Database Functions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Request and response objects

    \n+ title=\"capitolo successivo\">Request and response objects

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPa\bag\bgi\bin\bna\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django provides a few classes that help you manage paginated data \u2013 that is,\n-data that\u2019s split across several pages, with \u201cPrevious/Next\u201d links. These\n+data that\u2019s split across several pages, with \u00abPrevious/Next\u00bb links. These\n classes live in _\bd_\bj_\ba_\bn_\bg_\bo_\b/_\bc_\bo_\br_\be_\b/_\bp_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b._\bp_\by.\n For examples, see the _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be.\n *\b**\b**\b**\b**\b* P\bPa\bag\bgi\bin\bna\bat\bto\bor\br c\bcl\bla\bas\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs Paginator(o\bob\bbj\bje\bec\bct\bt_\b_l\bli\bis\bst\bt, p\bpe\ber\br_\b_p\bpa\bag\bge\be, o\bor\brp\bph\bha\ban\bns\bs=\b=0\b0,\n- a\bal\bll\blo\bow\bw_\b_e\bem\bmp\bpt\bty\by_\b_f\bfi\bir\brs\bst\bt_\b_p\bpa\bag\bge\be=\b=T\bTr\bru\bue\be, e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\bes\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ a\bal\bll\blo\bow\bw_\b_e\bem\bmp\bpt\bty\by_\b_f\bfi\bir\brs\bst\bt_\b_p\bpa\bag\bge\be=\b=T\bTr\bru\bue\be, e\ber\brr\bro\bor\br_\b_m\bme\bes\bss\bsa\bag\bge\bes\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A paginator acts like a sequence of _\bP_\ba_\bg_\be when using len() or iterating it\n directly.\n Paginator.object_list_\b\u00b6\n Required. A list, tuple, QuerySet, or other sliceable object with a count\n () or __len__() method. For consistent pagination, QuerySets should be\n ordered, e.g. with an _\bo_\br_\bd_\be_\br_\b__\bb_\by_\b(_\b) clause or with a default _\bo_\br_\bd_\be_\br_\bi_\bn_\bg on the\n model.\n@@ -56,28 +56,28 @@\n ... error_messages={\"no_results\": \"Page does not exist\"},\n ... )\n >>> paginator.page(5)\n Traceback (most recent call last):\n ...\n EmptyPage: Page does not exist\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- Paginator.get_page(n\bnu\bum\bmb\bbe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Paginator.get_page(n\bnu\bum\bmb\bbe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bP_\ba_\bg_\be object with the given 1-based index, while also handling\n out of range and invalid page numbers.\n If the page isn\u2019t a number, it returns the first page. If the page number\n is negative or greater than the number of pages, it returns the last\n page.\n Raises an _\bE_\bm_\bp_\bt_\by_\bP_\ba_\bg_\be exception only if you specify Paginator(...,\n allow_empty_first_page=False) and the object_list is empty.\n- Paginator.page(n\bnu\bum\bmb\bbe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Paginator.page(n\bnu\bum\bmb\bbe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bP_\ba_\bg_\be object with the given 1-based index. Raises\n _\bP_\ba_\bg_\be_\bN_\bo_\bt_\bA_\bn_\bI_\bn_\bt_\be_\bg_\be_\br if the number cannot be converted to an integer by\n calling int(). Raises _\bE_\bm_\bp_\bt_\by_\bP_\ba_\bg_\be if the given page number doesn\u2019t exist.\n Paginator.get_elided_page_range(n\bnu\bum\bmb\bbe\ber\br, *\b*, o\bon\bn_\b_e\bea\bac\bch\bh_\b_s\bsi\bid\bde\be=\b=3\b3, o\bon\bn_\b_e\ben\bnd\bds\bs=\b=2\b2)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a 1-based list of page numbers similar to _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b._\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be,\n but may add an ellipsis to either or both sides of the current page\n number when _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b._\bn_\bu_\bm_\b__\bp_\ba_\bg_\be_\bs is large.\n The number of pages to include on each side of the current page number is\n determined by the on_each_side argument which defaults to 3.\n The number of pages to include at the beginning and end of page range is\n determined by the on_ends argument which defaults to 2.\n@@ -87,88 +87,88 @@\n 8, and 9 to the left of and 11, 12, and 13 to the right of the current\n page as well as pages 1 and 2 at the start and 49 and 50 at the end.\n Raises _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be if the given page number doesn\u2019t exist.\n *\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Paginator.ELLIPSIS_\b\u00b6\n A translatable string used as a substitute for elided page numbers in the\n page range returned by _\bg_\be_\bt_\b__\be_\bl_\bi_\bd_\be_\bd_\b__\bp_\ba_\bg_\be_\b__\br_\ba_\bn_\bg_\be_\b(_\b). Default is '\u2026'.\n- Paginator.count_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Paginator.count_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The total number of objects, across all pages.\n- Note\n+ Nota\n When determining the number of objects contained in object_list,\n Paginator will first try calling object_list.count(). If object_list has\n no count() method, then Paginator will fall back to using len\n (object_list). This allows objects, such as QuerySet, to use a more\n efficient count() method when available.\n- Paginator.num_pages_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Paginator.num_pages_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The total number of pages.\n- Paginator.page_range_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Paginator.page_range_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A 1-based range iterator of page numbers, e.g. yielding [1, 2, 3, 4].\n *\b**\b**\b**\b**\b* P\bPa\bag\bge\be c\bcl\bla\bas\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You usually won\u2019t construct Page objects by hand \u2013 you\u2019ll get them by iterating\n _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br, or by using _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b._\bp_\ba_\bg_\be_\b(_\b).\n- c\bcl\bla\bas\bss\bs Page(o\bob\bbj\bje\bec\bct\bt_\b_l\bli\bis\bst\bt, n\bnu\bum\bmb\bbe\ber\br, p\bpa\bag\bgi\bin\bna\bat\bto\bor\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Page(o\bob\bbj\bje\bec\bct\bt_\b_l\bli\bis\bst\bt, n\bnu\bum\bmb\bbe\ber\br, p\bpa\bag\bgi\bin\bna\bat\bto\bor\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A page acts like a sequence of _\bP_\ba_\bg_\be_\b._\bo_\bb_\bj_\be_\bc_\bt_\b__\bl_\bi_\bs_\bt when using len() or\n iterating it directly.\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- Page.has_next()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.has_next()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if there\u2019s a next page.\n- Page.has_previous()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.has_previous()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if there\u2019s a previous page.\n- Page.has_other_pages()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.has_other_pages()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if there\u2019s a next o\bor\br previous page.\n- Page.next_page_number()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.next_page_number()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the next page number. Raises _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be if next page doesn\u2019t\n exist.\n- Page.previous_page_number()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.previous_page_number()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the previous page number. Raises _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be if previous page\n doesn\u2019t exist.\n- Page.start_index()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.start_index()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the 1-based index of the first object on the page, relative to\n all of the objects in the paginator\u2019s list. For example, when paginating\n a list of 5 objects with 2 objects per page, the second page\u2019s\n _\bs_\bt_\ba_\br_\bt_\b__\bi_\bn_\bd_\be_\bx_\b(_\b) would return 3.\n- Page.end_index()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Page.end_index()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the 1-based index of the last object on the page, relative to all\n of the objects in the paginator\u2019s list. For example, when paginating a\n list of 5 objects with 2 objects per page, the second page\u2019s _\be_\bn_\bd_\b__\bi_\bn_\bd_\be_\bx_\b(_\b)\n would return 4.\n *\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Page.object_list_\b\u00b6\n The list of objects on this page.\n Page.number_\b\u00b6\n The 1-based page number for this page.\n Page.paginator_\b\u00b6\n The associated _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br object.\n *\b**\b**\b**\b**\b* E\bEx\bxc\bce\bep\bpt\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn InvalidPage_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn InvalidPage_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A base class for exceptions raised when a paginator is passed an invalid\n page number.\n The _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b._\bp_\ba_\bg_\be_\b(_\b) method raises an exception if the requested page is\n invalid (i.e. not an integer) or contains no objects. Generally, it\u2019s enough to\n catch the InvalidPage exception, but if you\u2019d like more granularity, you can\n catch either of the following exceptions:\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn PageNotAnInteger_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn PageNotAnInteger_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raised when _\bp_\ba_\bg_\be_\b(_\b) is given a value that isn\u2019t an integer.\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn EmptyPage_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn EmptyPage_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raised when _\bp_\ba_\bg_\be_\b(_\b) is given a valid value but no objects exist on that\n page.\n Both of the exceptions are subclasses of _\bI_\bn_\bv_\ba_\bl_\bi_\bd_\bP_\ba_\bg_\be, so you can handle them\n both with except InvalidPage.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br\n o _\bP_\ba_\bg_\bi_\bn_\ba_\bt_\bo_\br_\b _\bc_\bl_\ba_\bs_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n # _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n o _\bP_\ba_\bg_\be_\b _\bc_\bl_\ba_\bs_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n # _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n o _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bn_\bd_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/request-response.html", "source2": "./usr/share/doc/python-django-doc/html/ref/request-response.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Request and response objects — Django 5.1.4 documentation\n+ Request and response objects — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -90,30 +91,30 @@\n HttpResponse objects, which are defined in the django.http\n module.

    \n
    \n
    \n

    HttpRequest objects\u00b6

    \n
    \n
    \n-class HttpRequest[source]\u00b6
    \n+class HttpRequest[sorgente]\u00b6\n
    \n \n
    \n

    Attributes\u00b6

    \n

    All attributes should be considered read-only, unless stated otherwise.

    \n
    \n
    \n-HttpRequest.scheme[source]\u00b6
    \n+HttpRequest.scheme[sorgente]\u00b6\n

    A string representing the scheme of the request (http or https\n usually).

    \n
    \n \n
    \n
    \n-HttpRequest.body[source]\u00b6
    \n+HttpRequest.body[sorgente]\u00b6\n

    The raw HTTP request body as a bytestring. This is useful for processing\n data in different ways than conventional HTML forms: binary images,\n XML payload etc. For processing conventional form data, use\n HttpRequest.POST.

    \n

    You can also read from an HttpRequest using a file-like interface with\n HttpRequest.read() or HttpRequest.readline(). Accessing\n the body attribute after reading the request with either of these I/O\n@@ -153,15 +154,15 @@\n do_something_else()\n \n \n

    \n \n
    \n
    \n-HttpRequest.encoding[source]\u00b6
    \n+HttpRequest.encoding[sorgente]\u00b6\n

    A string representing the current encoding used to decode form submission\n data (or None, which means the DEFAULT_CHARSET setting is\n used). You can write to this attribute to change the encoding used when\n accessing the form data. Any subsequent attribute accesses (such as reading\n from GET or POST) will use the new encoding value.\n Useful if you know the form data is not in the DEFAULT_CHARSET\n encoding.

    \n@@ -257,15 +258,15 @@\n web servers like Nginx and Apache 2.4+.

    \n

    HttpRequest.headers is a simpler way to access all HTTP-prefixed\n headers, plus CONTENT_LENGTH and CONTENT_TYPE.

    \n
    \n \n
    \n
    \n-HttpRequest.headers[source]\u00b6
    \n+HttpRequest.headers[sorgente]\u00b6\n

    A case insensitive, dict-like object that provides access to all\n HTTP-prefixed headers (plus Content-Length and Content-Type) from\n the request.

    \n

    The name of each header is stylized with title-casing (e.g. User-Agent)\n when it\u2019s displayed. You can access headers case-insensitively:

    \n
    >>> request.headers\n {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6', ...}\n@@ -396,26 +397,26 @@\n auser will return an instance of\n AnonymousUser. This is similar to the\n user attribute but it works in async contexts.

    \n
    \n \n
    \n
    \n-HttpRequest.get_host()[source]\u00b6
    \n+HttpRequest.get_host()[sorgente]\u00b6\n

    Returns the originating host of the request using information from the\n HTTP_X_FORWARDED_HOST (if USE_X_FORWARDED_HOST is enabled)\n and HTTP_HOST headers, in that order. If they don\u2019t provide a value,\n the method uses a combination of SERVER_NAME and SERVER_PORT as\n detailed in PEP 3333.

    \n

    Example: "127.0.0.1:8000"

    \n

    Raises django.core.exceptions.DisallowedHost if the host is not in\n ALLOWED_HOSTS or the domain name is invalid according to\n RFC 1034/1035.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The get_host() method fails when the host is\n behind multiple proxies. One solution is to use middleware to rewrite\n the proxy headers, as in the following example:

    \n
    class MultipleProxyMiddleware:\n     FORWARDED_FOR_FIELDS = [\n         "HTTP_X_FORWARDED_FOR",\n         "HTTP_X_FORWARDED_HOST",\n@@ -443,64 +444,64 @@\n CommonMiddleware or\n CsrfViewMiddleware.

    \n
    \n
    \n \n
    \n
    \n-HttpRequest.get_port()[source]\u00b6
    \n+HttpRequest.get_port()[sorgente]\u00b6\n

    Returns the originating port of the request using information from the\n HTTP_X_FORWARDED_PORT (if USE_X_FORWARDED_PORT is enabled)\n and SERVER_PORT META variables, in that order.

    \n
    \n \n
    \n
    \n-HttpRequest.get_full_path()[source]\u00b6
    \n+HttpRequest.get_full_path()[sorgente]\u00b6\n

    Returns the path, plus an appended query string, if applicable.

    \n

    Example: "/music/bands/the_beatles/?print=true"

    \n
    \n \n
    \n
    \n-HttpRequest.get_full_path_info()[source]\u00b6
    \n+HttpRequest.get_full_path_info()[sorgente]\u00b6\n

    Like get_full_path(), but uses path_info instead of\n path.

    \n

    Example: "/minfo/music/bands/the_beatles/?print=true"

    \n
    \n \n
    \n
    \n-HttpRequest.build_absolute_uri(location=None)[source]\u00b6
    \n+HttpRequest.build_absolute_uri(location=None)[sorgente]\u00b6\n

    Returns the absolute URI form of location. If no location is provided,\n the location will be set to request.get_full_path().

    \n

    If the location is already an absolute URI, it will not be altered.\n Otherwise the absolute URI is built using the server variables available in\n this request. For example:

    \n
    >>> request.build_absolute_uri()\n 'https://example.com/music/bands/the_beatles/?print=true'\n >>> request.build_absolute_uri("/bands/")\n 'https://example.com/bands/'\n >>> request.build_absolute_uri("https://example2.com/bands/")\n 'https://example2.com/bands/'\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Mixing HTTP and HTTPS on the same site is discouraged, therefore\n build_absolute_uri() will always generate an\n absolute URI with the same scheme the current request has. If you need\n to redirect users to HTTPS, it\u2019s best to let your web server redirect\n all HTTP traffic to HTTPS.

    \n
    \n
    \n \n
    \n
    \n-HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)[source]\u00b6
    \n+HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)[sorgente]\u00b6\n

    Returns a cookie value for a signed cookie, or raises a\n django.core.signing.BadSignature exception if the signature is\n no longer valid. If you provide the default argument the exception\n will be suppressed and that default value will be returned instead.

    \n

    The optional salt argument can be used to provide extra protection\n against brute force attacks on your secret key. If supplied, the\n max_age argument will be checked against the signed timestamp\n@@ -524,22 +525,22 @@\n \n \n

    See cryptographic signing for more information.

    \n
    \n \n
    \n
    \n-HttpRequest.is_secure()[source]\u00b6
    \n+HttpRequest.is_secure()[sorgente]\u00b6\n

    Returns True if the request is secure; that is, if it was made with\n HTTPS.

    \n
    \n \n
    \n
    \n-HttpRequest.accepts(mime_type)[source]\u00b6
    \n+HttpRequest.accepts(mime_type)[sorgente]\u00b6\n

    Returns True if the request Accept header matches the mime_type\n argument:

    \n
    >>> request.accepts("text/html")\n True\n 
    \n
    \n

    Most browsers send Accept: */* by default, so this would return\n@@ -551,30 +552,30 @@\n you are using some form of caching like Django\u2019s cache middleware, you should decorate the view with\n vary_on_headers('Accept') so that the responses are\n properly cached.

    \n
    \n \n
    \n
    \n-HttpRequest.read(size=None)[source]\u00b6
    \n+HttpRequest.read(size=None)[sorgente]\u00b6\n
    \n \n
    \n
    \n-HttpRequest.readline()[source]\u00b6
    \n+HttpRequest.readline()[sorgente]\u00b6\n
    \n \n
    \n
    \n-HttpRequest.readlines()[source]\u00b6
    \n+HttpRequest.readlines()[sorgente]\u00b6\n
    \n \n
    \n
    \n-HttpRequest.__iter__()[source]\u00b6
    \n+HttpRequest.__iter__()[sorgente]\u00b6\n

    Methods implementing a file-like interface for reading from an\n HttpRequest instance. This makes it possible to consume an incoming\n request in a streaming fashion. A common use-case would be to process a\n big XML payload with an iterative parser without constructing a whole\n XML tree in memory.

    \n

    Given this standard interface, an HttpRequest instance can be\n passed directly to an XML parser such as\n@@ -589,15 +590,15 @@\n \n

    \n
    \n
    \n

    QueryDict objects\u00b6

    \n
    \n
    \n-class QueryDict[source]\u00b6
    \n+class QueryDict[sorgente]\u00b6\n
    \n \n

    In an HttpRequest object, the GET and\n POST attributes are instances of django.http.QueryDict,\n a dictionary-like class customized to deal with multiple values for the same\n key. This is necessary because some HTML form elements, notably\n <select multiple>, pass multiple values for the same key.

    \n@@ -606,15 +607,15 @@\n need to use QueryDict.copy().

    \n
    \n

    Methods\u00b6

    \n

    QueryDict implements all the standard dictionary methods because it\u2019s\n a subclass of dictionary. Exceptions are outlined here:

    \n
    \n
    \n-QueryDict.__init__(query_string=None, mutable=False, encoding=None)[source]\u00b6
    \n+QueryDict.__init__(query_string=None, mutable=False, encoding=None)[sorgente]\u00b6\n

    Instantiates a QueryDict object based on query_string.

    \n
    >>> QueryDict("a=1&a=2&c=3")\n <QueryDict: {'a': ['1', '2'], 'c': ['3']}>\n 
    \n
    \n

    If query_string is not passed in, the resulting QueryDict will be\n empty (it will have no keys or values).

    \n@@ -625,15 +626,15 @@\n

    Strings for setting both keys and values will be converted from encoding\n to str. If encoding is not set, it defaults to\n DEFAULT_CHARSET.

    \n
    \n \n
    \n
    \n-classmethod QueryDict.fromkeys(iterable, value='', mutable=False, encoding=None)[source]\u00b6
    \n+classmethod QueryDict.fromkeys(iterable, value='', mutable=False, encoding=None)[sorgente]\u00b6\n

    Creates a new QueryDict with keys from iterable and each value\n equal to value. For example:

    \n
    >>> QueryDict.fromkeys(["a", "a", "b"], value="val")\n <QueryDict: {'a': ['val', 'val'], 'b': ['val']}>\n 
    \n
    \n
    \n@@ -646,15 +647,15 @@\n django.utils.datastructures.MultiValueDictKeyError if the key does not\n exist. (This is a subclass of Python\u2019s standard KeyError, so you can\n stick to catching KeyError.)

    \n \n \n
    \n
    \n-QueryDict.__setitem__(key, value)[source]\u00b6
    \n+QueryDict.__setitem__(key, value)[sorgente]\u00b6\n

    Sets the given key to [value] (a list whose single element is\n value). Note that this, as other dictionary functions that have side\n effects, can only be called on a mutable QueryDict (such as one that\n was created via QueryDict.copy()).

    \n
    \n \n
    \n@@ -669,15 +670,15 @@\n QueryDict.get(key, default=None)\u00b6\n

    Uses the same logic as __getitem__(), with a hook for returning a\n default value if the key doesn\u2019t exist.

    \n
    \n \n
    \n
    \n-QueryDict.setdefault(key, default=None)[source]\u00b6
    \n+QueryDict.setdefault(key, default=None)[sorgente]\u00b6\n

    Like dict.setdefault(), except it uses __setitem__() internally.

    \n
    \n \n
    \n
    \n QueryDict.update(other_dict)\u00b6
    \n

    Takes either a QueryDict or a dictionary. Like dict.update(),\n@@ -718,42 +719,42 @@\n \n \n

    \n \n

    In addition, QueryDict has the following methods:

    \n
    \n
    \n-QueryDict.copy()[source]\u00b6
    \n+QueryDict.copy()[sorgente]\u00b6\n

    Returns a copy of the object using copy.deepcopy(). This copy will\n be mutable even if the original was not.

    \n
    \n \n
    \n
    \n QueryDict.getlist(key, default=None)\u00b6
    \n

    Returns a list of the data with the requested key. Returns an empty list if\n the key doesn\u2019t exist and default is None. It\u2019s guaranteed to\n return a list unless the default value provided isn\u2019t a list.

    \n
    \n \n
    \n
    \n-QueryDict.setlist(key, list_)[source]\u00b6
    \n+QueryDict.setlist(key, list_)[sorgente]\u00b6\n

    Sets the given key to list_ (unlike __setitem__()).

    \n
    \n \n
    \n
    \n-QueryDict.appendlist(key, item)[source]\u00b6
    \n+QueryDict.appendlist(key, item)[sorgente]\u00b6\n

    Appends an item to the internal list associated with key.

    \n
    \n \n
    \n
    \n-QueryDict.setlistdefault(key, default_list=None)[source]\u00b6
    \n+QueryDict.setlistdefault(key, default_list=None)[sorgente]\u00b6\n

    Like setdefault(), except it takes a list of values instead of a\n single value.

    \n
    \n \n
    \n
    \n QueryDict.lists()\u00b6
    \n@@ -764,27 +765,27 @@\n [('a', ['1', '2', '3'])]\n \n \n
    \n \n
    \n
    \n-QueryDict.pop(key)[source]\u00b6
    \n+QueryDict.pop(key)[sorgente]\u00b6\n

    Returns a list of values for the given key and removes them from the\n dictionary. Raises KeyError if the key does not exist. For example:

    \n
    >>> q = QueryDict("a=1&a=2&a=3", mutable=True)\n >>> q.pop("a")\n ['1', '2', '3']\n 
    \n
    \n
    \n \n
    \n
    \n-QueryDict.popitem()[source]\u00b6
    \n+QueryDict.popitem()[sorgente]\u00b6\n

    Removes an arbitrary member of the dictionary (since there\u2019s no concept\n of ordering), and returns a two value tuple containing the key and a list\n of all values for the key. Raises KeyError when called on an empty\n dictionary. For example:

    \n
    >>> q = QueryDict("a=1&a=2&a=3", mutable=True)\n >>> q.popitem()\n ('a', ['1', '2', '3'])\n@@ -803,15 +804,15 @@\n {'a': '5'}\n 
    \n
    \n
    \n \n
    \n
    \n-QueryDict.urlencode(safe=None)[source]\u00b6
    \n+QueryDict.urlencode(safe=None)[sorgente]\u00b6\n

    Returns a string of the data in query string format. For example:

    \n
    >>> q = QueryDict("a=2&b=3&b=5")\n >>> q.urlencode()\n 'a=2&b=3&b=5'\n 
    \n
    \n

    Use the safe parameter to pass characters which don\u2019t require encoding.\n@@ -826,15 +827,15 @@\n \n

    \n
    \n
    \n

    HttpResponse objects\u00b6

    \n
    \n
    \n-class HttpResponse[source]\u00b6
    \n+class HttpResponse[sorgente]\u00b6\n
    \n \n

    In contrast to HttpRequest objects, which are created automatically by\n Django, HttpResponse objects are your responsibility. Each view you\n write is responsible for instantiating, populating, and returning an\n HttpResponse.

    \n

    The HttpResponse class lives in the django.http module.

    \n@@ -891,15 +892,15 @@\n
    >>> response = HttpResponse(headers={"Age": 120})\n 
    \n
    \n

    For setting the Cache-Control and Vary header fields, it is recommended\n to use the patch_cache_control() and\n patch_vary_headers() methods from\n django.utils.cache, since these fields can have multiple, comma-separated\n-values. The \u201cpatch\u201d methods ensure that other values, e.g. added by a\n+values. The \u00abpatch\u00bb methods ensure that other values, e.g. added by a\n middleware, are not removed.

    \n

    HTTP header fields cannot contain newlines. An attempt to set a header field\n containing a newline character (CR or LF) will raise BadHeaderError

    \n
    \n
    \n

    Telling the browser to treat the response as a file attachment\u00b6

    \n

    To tell the browser to treat the response as a file attachment, set the\n@@ -918,15 +919,15 @@\n it\u2019s easy to forget the syntax, so we\u2019ve included it here.

    \n
    \n \n
    \n

    Attributes\u00b6

    \n
    \n
    \n-HttpResponse.content[source]\u00b6
    \n+HttpResponse.content[sorgente]\u00b6\n

    A bytestring representing the content, encoded from a string if necessary.

    \n
    \n \n
    \n
    \n HttpResponse.cookies\u00b6
    \n

    A http.cookies.SimpleCookie object holding the cookies included\n@@ -982,15 +983,15 @@\n

    \n \n
    \n
    \n

    Methods\u00b6

    \n
    \n
    \n-HttpResponse.__init__(content=b'', content_type=None, status=200, reason=None, charset=None, headers=None)[source]\u00b6
    \n+HttpResponse.__init__(content=b'', content_type=None, status=200, reason=None, charset=None, headers=None)[sorgente]\u00b6\n

    Instantiates an HttpResponse object with the given page content,\n content type, and headers.

    \n

    content is most commonly an iterator, bytestring, memoryview,\n or string. Other types will be converted to a bytestring by encoding their\n string representation. Iterators should return strings or bytestrings and\n those will be joined together to form the content of the response.

    \n

    content_type is the MIME type optionally completed by a character set\n@@ -1087,15 +1088,15 @@\n isn\u2019t supported by all browsers, so it\u2019s not a replacement for Django\u2019s\n CSRF protection, but rather a defense in depth measure.

    \n

    Use samesite='None' (string) to explicitly state that this cookie is\n sent with all same-site and cross-site requests.

    \n \n \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    RFC 6265 states that user agents should\n support cookies of at least 4096 bytes. For many browsers this is also\n the maximum size. Django will not raise an exception if there\u2019s an\n attempt to store a cookie of more than 4096 bytes, but many browsers\n will not set the cookie correctly.

    \n
    \n
    \n@@ -1126,33 +1127,33 @@\n HttpResponse.close()\u00b6\n

    This method is called at the end of the request directly by the WSGI\n server.

    \n
    \n \n
    \n
    \n-HttpResponse.write(content)[source]\u00b6
    \n+HttpResponse.write(content)[sorgente]\u00b6\n

    This method makes an HttpResponse instance a file-like object.

    \n
    \n \n
    \n
    \n HttpResponse.flush()\u00b6
    \n

    This method makes an HttpResponse instance a file-like object.

    \n
    \n \n
    \n
    \n-HttpResponse.tell()[source]\u00b6
    \n+HttpResponse.tell()[sorgente]\u00b6\n

    This method makes an HttpResponse instance a file-like object.

    \n
    \n \n
    \n
    \n-HttpResponse.getvalue()[source]\u00b6
    \n+HttpResponse.getvalue()[sorgente]\u00b6\n

    Returns the value of HttpResponse.content. This method makes\n an HttpResponse instance a stream-like object.

    \n
    \n \n
    \n
    \n HttpResponse.readable()\u00b6
    \n@@ -1165,35 +1166,35 @@\n HttpResponse.seekable()\u00b6\n

    Always False. This method makes an HttpResponse instance a\n stream-like object.

    \n
    \n \n
    \n
    \n-HttpResponse.writable()[source]\u00b6
    \n+HttpResponse.writable()[sorgente]\u00b6\n

    Always True. This method makes an HttpResponse instance a\n stream-like object.

    \n
    \n \n
    \n
    \n-HttpResponse.writelines(lines)[source]\u00b6
    \n+HttpResponse.writelines(lines)[sorgente]\u00b6\n

    Writes a list of lines to the response. Line separators are not added. This\n method makes an HttpResponse instance a stream-like object.

    \n
    \n \n
    \n
    \n

    HttpResponse subclasses\u00b6

    \n

    Django includes a number of HttpResponse subclasses that handle different\n types of HTTP responses. Like HttpResponse, these subclasses live in\n django.http.

    \n
    \n
    \n-class HttpResponseRedirect[source]\u00b6
    \n+class HttpResponseRedirect[sorgente]\u00b6\n

    The first argument to the constructor is required \u2013 the path to redirect\n to. This can be a fully qualified URL\n (e.g. 'https://www.yahoo.com/search/'), an absolute path with no domain\n (e.g. '/search/'), or even a relative path (e.g. 'search/'). In that\n last case, the client browser will reconstruct the full URL itself\n according to the current path. See HttpResponse for other optional\n constructor arguments. Note that this returns an HTTP status code 302.

    \n@@ -1204,67 +1205,67 @@\n to (equivalent to the Location response header).

    \n
    \n \n \n \n
    \n
    \n-class HttpResponsePermanentRedirect[source]\u00b6
    \n+class HttpResponsePermanentRedirect[sorgente]\u00b6\n

    Like HttpResponseRedirect, but it returns a permanent redirect\n-(HTTP status code 301) instead of a \u201cfound\u201d redirect (status code 302).

    \n+(HTTP status code 301) instead of a \u00abfound\u00bb redirect (status code 302).

    \n
    \n \n
    \n
    \n-class HttpResponseNotModified[source]\u00b6
    \n+class HttpResponseNotModified[sorgente]\u00b6\n

    The constructor doesn\u2019t take any arguments and no content should be added\n to this response. Use this to designate that a page hasn\u2019t been modified\n since the user\u2019s last request (status code 304).

    \n
    \n \n
    \n
    \n-class HttpResponseBadRequest[source]\u00b6
    \n+class HttpResponseBadRequest[sorgente]\u00b6\n

    Acts just like HttpResponse but uses a 400 status code.

    \n
    \n \n
    \n
    \n-class HttpResponseNotFound[source]\u00b6
    \n+class HttpResponseNotFound[sorgente]\u00b6\n

    Acts just like HttpResponse but uses a 404 status code.

    \n
    \n \n
    \n
    \n-class HttpResponseForbidden[source]\u00b6
    \n+class HttpResponseForbidden[sorgente]\u00b6\n

    Acts just like HttpResponse but uses a 403 status code.

    \n
    \n \n
    \n
    \n-class HttpResponseNotAllowed[source]\u00b6
    \n+class HttpResponseNotAllowed[sorgente]\u00b6\n

    Like HttpResponse, but uses a 405 status code. The first argument\n to the constructor is required: a list of permitted methods (e.g.\n ['GET', 'POST']).

    \n
    \n \n
    \n
    \n-class HttpResponseGone[source]\u00b6
    \n+class HttpResponseGone[sorgente]\u00b6\n

    Acts just like HttpResponse but uses a 410 status code.

    \n
    \n \n
    \n
    \n-class HttpResponseServerError[source]\u00b6
    \n+class HttpResponseServerError[sorgente]\u00b6\n

    Acts just like HttpResponse but uses a 500 status code.

    \n
    \n \n
    \n-

    Note

    \n+

    Nota

    \n

    If a custom subclass of HttpResponse implements a render\n method, Django will treat it as emulating a\n SimpleTemplateResponse, and the\n render method must itself return a valid response object.

    \n
    \n
    \n

    Custom response classes\u00b6

    \n@@ -1281,15 +1282,15 @@\n
    \n
    \n \n
    \n

    JsonResponse objects\u00b6

    \n
    \n
    \n-class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs)[source]\u00b6
    \n+class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs)[sorgente]\u00b6\n

    An HttpResponse subclass that helps to create a JSON-encoded\n response. It inherits most behavior from its superclass with a couple\n differences:

    \n

    Its default Content-Type header is set to application/json.

    \n

    The first parameter, data, should be a dict instance. If the\n safe parameter is set to False (see below) it can be any\n JSON-serializable object.

    \n@@ -1321,15 +1322,15 @@\n \n \n

    Without passing safe=False, a TypeError will be raised.

    \n

    Note that an API based on dict objects is more extensible, flexible, and\n makes it easier to maintain forwards compatibility. Therefore, you should avoid\n using non-dict objects in JSON-encoded response.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Before the 5th edition of ECMAScript it was possible to\n poison the JavaScript Array constructor. For this reason, Django does\n not allow passing non-dict objects to the\n JsonResponse constructor by default. However, most\n modern browsers implement ECMAScript 5 which removes this attack vector.\n Therefore it is possible to disable this security precaution.

    \n
    \n@@ -1344,15 +1345,15 @@\n
    \n \n \n
    \n

    StreamingHttpResponse objects\u00b6

    \n
    \n
    \n-class StreamingHttpResponse[source]\u00b6
    \n+class StreamingHttpResponse[sorgente]\u00b6\n
    \n \n

    The StreamingHttpResponse class is used to stream a response from\n Django to the browser.

    \n
    \n

    Advanced usage

    \n

    StreamingHttpResponse is somewhat advanced, in that it is\n@@ -1405,15 +1406,15 @@\n \n

    The HttpResponseBase base class is common between\n HttpResponse and StreamingHttpResponse.

    \n
    \n

    Attributes\u00b6

    \n
    \n
    \n-StreamingHttpResponse.streaming_content[source]\u00b6
    \n+StreamingHttpResponse.streaming_content[sorgente]\u00b6\n

    An iterator of the response content, bytestring encoded according to\n HttpResponse.charset.

    \n
    \n \n
    \n
    \n StreamingHttpResponse.status_code\u00b6
    \n@@ -1475,15 +1476,15 @@\n handle disconnections in the view itself.

    \n
    \n
    \n
    \n

    FileResponse objects\u00b6

    \n
    \n
    \n-class FileResponse(open_file, as_attachment=False, filename='', **kwargs)[source]\u00b6
    \n+class FileResponse(open_file, as_attachment=False, filename='', **kwargs)[sorgente]\u00b6\n

    FileResponse is a subclass of StreamingHttpResponse\n optimized for binary files. It uses wsgi.file_wrapper if provided by the wsgi\n server, otherwise it streams the file out in small chunks.

    \n

    If as_attachment=True, the Content-Disposition header is set to\n attachment, which asks the browser to offer the file to the user as a\n download. Otherwise, a Content-Disposition header with a value of\n inline (the browser default) will be set only if a filename is\n@@ -1512,27 +1513,27 @@\n

    In order to stream a file asynchronously you need to use a third-party\n package that provides an asynchronous file API, such as aiofiles.

    \n \n
    \n

    Methods\u00b6

    \n
    \n
    \n-FileResponse.set_headers(open_file)[source]\u00b6
    \n+FileResponse.set_headers(open_file)[sorgente]\u00b6\n

    This method is automatically called during the response initialization and\n set various headers (Content-Length, Content-Type, and\n Content-Disposition) depending on open_file.

    \n
    \n \n
    \n
    \n
    \n

    HttpResponseBase class\u00b6

    \n
    \n
    \n-class HttpResponseBase[source]\u00b6
    \n+class HttpResponseBase[sorgente]\u00b6\n
    \n \n

    The HttpResponseBase class is common to all Django responses.\n It should not be used to create responses directly, but it can be\n useful for type-checking.

    \n
    \n \n@@ -1599,37 +1600,37 @@\n
  • HttpResponseBase class
  • \n \n \n \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Paginator

    \n+ title=\"capitolo precedente\">Paginator

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    SchemaEditor

    \n+ title=\"capitolo successivo\">SchemaEditor

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,26 +1,26 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* R\bRe\beq\bqu\bue\bes\bst\bt a\ban\bnd\bd r\bre\bes\bsp\bpo\bon\bns\bse\be o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk o\bov\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django uses request and response objects to pass state through the system.\n When a page is requested, Django creates an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object that contains\n metadata about the request. Then Django loads the appropriate view, passing the\n _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt as the first argument to the view function. Each view is\n responsible for returning an _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be object.\n This document explains the APIs for _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt and _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be objects, which\n are defined in the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bh_\bt_\bt_\bp module.\n *\b**\b**\b**\b**\b* H\bHt\btt\btp\bpR\bRe\beq\bqu\bue\bes\bst\bt o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs HttpRequest_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs HttpRequest_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n All attributes should be considered read-only, unless stated otherwise.\n- HttpRequest.scheme_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.scheme_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A string representing the scheme of the request (http or https usually).\n- HttpRequest.body_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.body_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The raw HTTP request body as a bytestring. This is useful for processing\n data in different ways than conventional HTML forms: binary images, XML\n payload etc. For processing conventional form data, use _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\bP_\bO_\bS_\bT.\n You can also read from an HttpRequest using a file-like interface with\n _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\br_\be_\ba_\bd_\b(_\b) or _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b). Accessing the body\n attribute a\baf\bft\bte\ber\br reading the request with either of these I/O stream\n methods will produce a RawPostDataException.\n@@ -41,15 +41,15 @@\n HttpRequest.method_\b\u00b6\n A string representing the HTTP method used in the request. This is\n guaranteed to be uppercase. For example:\n if request.method == \"GET\":\n do_something()\n elif request.method == \"POST\":\n do_something_else()\n- HttpRequest.encoding_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.encoding_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A string representing the current encoding used to decode form submission\n data (or None, which means the _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT setting is used). You can\n write to this attribute to change the encoding used when accessing the\n form data. Any subsequent attribute accesses (such as reading from _\bG_\bE_\bT or\n _\bP_\bO_\bS_\bT) will use the new encoding value. Useful if you know the form data\n is not in the _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT encoding.\n HttpRequest.content_type_\b\u00b6\n@@ -107,15 +107,15 @@\n Note that _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br strips all headers with underscores in the name, so\n you won\u2019t see them in META. This prevents header-spoofing based on\n ambiguity between underscores and dashes both being normalizing to\n underscores in WSGI environment variables. It matches the behavior of web\n servers like Nginx and Apache 2.4+.\n _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\bh_\be_\ba_\bd_\be_\br_\bs is a simpler way to access all HTTP-prefixed headers,\n plus CONTENT_LENGTH and CONTENT_TYPE.\n- HttpRequest.headers_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.headers_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A case insensitive, dict-like object that provides access to all HTTP-\n prefixed headers (plus Content-Length and Content-Type) from the request.\n The name of each header is stylized with title-casing (e.g. User-Agent)\n when it\u2019s displayed. You can access headers case-insensitively:\n >>> request.headers\n {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6', ...}\n \n@@ -183,23 +183,23 @@\n HttpRequest.auser()_\b\u00b6\n New in Django 5.0.\n From the _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be: Coroutine. Returns an instance of\n _\bA_\bU_\bT_\bH_\b__\bU_\bS_\bE_\bR_\b__\bM_\bO_\bD_\bE_\bL representing the currently logged-in user. If the user\n isn\u2019t currently logged in, auser will return an instance of\n _\bA_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\bU_\bs_\be_\br. This is similar to the _\bu_\bs_\be_\br attribute but it works in\n async contexts.\n- HttpRequest.get_host()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.get_host()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the originating host of the request using information from the\n HTTP_X_FORWARDED_HOST (if _\bU_\bS_\bE_\b__\bX_\b__\bF_\bO_\bR_\bW_\bA_\bR_\bD_\bE_\bD_\b__\bH_\bO_\bS_\bT is enabled) and HTTP_HOST\n headers, in that order. If they don\u2019t provide a value, the method uses a\n combination of SERVER_NAME and SERVER_PORT as detailed in _\bP\bP_\bE\bE_\bP\bP_\b _\b3\b3_\b3\b3_\b3\b3_\b3\b3.\n Example: \"127.0.0.1:8000\"\n Raises django.core.exceptions.DisallowedHost if the host is not in\n _\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bH_\bO_\bS_\bT_\bS or the domain name is invalid according to _\bR\bR_\bF\bF_\bC\bC_\b _\b1\b1_\b0\b0_\b3\b3_\b4\b4/_\b1\b1_\b0\b0_\b3\b3_\b5\b5.\n- Note\n+ Nota\n The _\bg_\be_\bt_\b__\bh_\bo_\bs_\bt_\b(_\b) method fails when the host is behind multiple proxies. One\n solution is to use middleware to rewrite the proxy headers, as in the\n following example:\n class MultipleProxyMiddleware:\n FORWARDED_FOR_FIELDS = [\n \"HTTP_X_FORWARDED_FOR\",\n \"HTTP_X_FORWARDED_HOST\",\n@@ -219,43 +219,43 @@\n if \",\" in request.META[field]:\n parts = request.META[field].split(\",\")\n request.META[field] = parts[-1].strip()\n return self.get_response(request)\n This middleware should be positioned before any other middleware that\n relies on the value of _\bg_\be_\bt_\b__\bh_\bo_\bs_\bt_\b(_\b) \u2013 for instance, _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be or\n _\bC_\bs_\br_\bf_\bV_\bi_\be_\bw_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be.\n- HttpRequest.get_port()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.get_port()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the originating port of the request using information from the\n HTTP_X_FORWARDED_PORT (if _\bU_\bS_\bE_\b__\bX_\b__\bF_\bO_\bR_\bW_\bA_\bR_\bD_\bE_\bD_\b__\bP_\bO_\bR_\bT is enabled) and\n SERVER_PORT META variables, in that order.\n- HttpRequest.get_full_path()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.get_full_path()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the path, plus an appended query string, if applicable.\n Example: \"/music/bands/the_beatles/?print=true\"\n- HttpRequest.get_full_path_info()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.get_full_path_info()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like _\bg_\be_\bt_\b__\bf_\bu_\bl_\bl_\b__\bp_\ba_\bt_\bh_\b(_\b), but uses _\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo instead of _\bp_\ba_\bt_\bh.\n Example: \"/minfo/music/bands/the_beatles/?print=true\"\n- HttpRequest.build_absolute_uri(l\blo\boc\bca\bat\bti\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.build_absolute_uri(l\blo\boc\bca\bat\bti\bio\bon\bn=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the absolute URI form of location. If no location is provided,\n the location will be set to request.get_full_path().\n If the location is already an absolute URI, it will not be altered.\n Otherwise the absolute URI is built using the server variables available\n in this request. For example:\n >>> request.build_absolute_uri()\n 'https://example.com/music/bands/the_beatles/?print=true'\n >>> request.build_absolute_uri(\"/bands/\")\n 'https://example.com/bands/'\n >>> request.build_absolute_uri(\"https://example2.com/bands/\")\n 'https://example2.com/bands/'\n- Note\n+ Nota\n Mixing HTTP and HTTPS on the same site is discouraged, therefore\n _\bb_\bu_\bi_\bl_\bd_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bi_\b(_\b) will always generate an absolute URI with the same\n scheme the current request has. If you need to redirect users to HTTPS,\n it\u2019s best to let your web server redirect all HTTP traffic to HTTPS.\n HttpRequest.get_signed_cookie(k\bke\bey\by, d\bde\bef\bfa\bau\bul\blt\bt=\b=R\bRA\bAI\bIS\bSE\bE_\b_E\bER\bRR\bRO\bOR\bR, s\bsa\bal\blt\bt=\b='\b''\b',\n- m\bma\bax\bx_\b_a\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ m\bma\bax\bx_\b_a\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a cookie value for a signed cookie, or raises a\n django.core.signing.BadSignature exception if the signature is no longer\n valid. If you provide the default argument the exception will be\n suppressed and that default value will be returned instead.\n The optional salt argument can be used to provide extra protection\n against brute force attacks on your secret key. If supplied, the max_age\n argument will be checked against the signed timestamp attached to the\n@@ -272,93 +272,94 @@\n >>> request.get_signed_cookie(\"cookie-that-was-tampered-with\")\n BadSignature: ...\n >>> request.get_signed_cookie(\"name\", max_age=60)\n SignatureExpired: Signature age 1677.3839159 > 60 seconds\n >>> request.get_signed_cookie(\"name\", False, max_age=60)\n False\n See _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bs_\bi_\bg_\bn_\bi_\bn_\bg for more information.\n- HttpRequest.is_secure()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.is_secure()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if the request is secure; that is, if it was made with\n HTTPS.\n- HttpRequest.accepts(m\bmi\bim\bme\be_\b_t\bty\byp\bpe\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.accepts(m\bmi\bim\bme\be_\b_t\bty\byp\bpe\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns True if the request Accept header matches the mime_type argument:\n >>> request.accepts(\"text/html\")\n True\n Most browsers send Accept: */* by default, so this would return True for\n all content types. Setting an explicit Accept header in API requests can\n be useful for returning a different content type for those consumers\n only. See _\bC_\bo_\bn_\bt_\be_\bn_\bt_\b _\bn_\be_\bg_\bo_\bt_\bi_\ba_\bt_\bi_\bo_\bn_\b _\be_\bx_\ba_\bm_\bp_\bl_\be of using accepts() to return\n different content to API consumers.\n If a response varies depending on the content of the Accept header and\n you are using some form of caching like Django\u2019s _\bc_\ba_\bc_\bh_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be, you\n should decorate the view with _\bv_\ba_\br_\by_\b__\bo_\bn_\b__\bh_\be_\ba_\bd_\be_\br_\bs_\b(_\b'_\bA_\bc_\bc_\be_\bp_\bt_\b'_\b) so that the\n responses are properly cached.\n- HttpRequest.read(s\bsi\biz\bze\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- HttpRequest.readline()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- HttpRequest.readlines()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- HttpRequest.__iter__()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ HttpRequest.read(s\bsi\biz\bze\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ HttpRequest.readline()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ HttpRequest.readlines()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ HttpRequest.__iter__()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Methods implementing a file-like interface for reading from an\n HttpRequest instance. This makes it possible to consume an incoming\n request in a streaming fashion. A common use-case would be to process a\n big XML payload with an iterative parser without constructing a whole XML\n tree in memory.\n Given this standard interface, an HttpRequest instance can be passed\n directly to an XML parser such as _\bE_\bl_\be_\bm_\be_\bn_\bt_\bT_\br_\be_\be:\n import xml.etree.ElementTree as ET\n \n for element in ET.iterparse(request):\n process(element)\n *\b**\b**\b**\b**\b* Q\bQu\bue\ber\bry\byD\bDi\bic\bct\bt o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs QueryDict_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs QueryDict_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n In an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object, the _\bG_\bE_\bT and _\bP_\bO_\bS_\bT attributes are instances of\n django.http.QueryDict, a dictionary-like class customized to deal with multiple\n values for the same key. This is necessary because some HTML form elements,\n notably \n- \n+ \n \n
    \n \n \n
    \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSc\bch\bhe\bem\bma\baE\bEd\bdi\bit\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs BaseDatabaseSchemaEditor_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs BaseDatabaseSchemaEditor_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Django\u2019s migration system is split into two parts; the logic for calculating\n and storing what operations should be run (django.db.migrations), and the\n-database abstraction layer that turns things like \u201ccreate a model\u201d or \u201cdelete a\n-field\u201d into SQL - which is the job of the SchemaEditor.\n+database abstraction layer that turns things like \u00abcreate a model\u00bb or \u00abdelete a\n+field\u00bb into SQL - which is the job of the SchemaEditor.\n It\u2019s unlikely that you will want to interact directly with SchemaEditor as a\n normal developer using Django, but if you want to write your own migration\n system, or have more advanced needs, it\u2019s a lot nicer than writing SQL.\n Each database backend in Django supplies its own version of SchemaEditor, and\n it\u2019s always accessible via the connection.schema_editor() context manager:\n with connection.schema_editor() as schema_editor:\n schema_editor.delete_model(MyModel)\n@@ -24,84 +24,84 @@\n you will need to provide a SchemaEditor implementation in order to work with\n Django\u2019s migration functionality - however, as long as your database is\n relatively standard in its use of SQL and relational design, you should be able\n to subclass one of the built-in Django SchemaEditor classes and tweak the\n syntax a little.\n *\b**\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* e\bex\bxe\bec\bcu\but\bte\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.execute(s\bsq\bql\bl, p\bpa\bar\bra\bam\bms\bs=\b=(\b()\b))_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.execute(s\bsq\bql\bl, p\bpa\bar\bra\bam\bms\bs=\b=(\b()\b))_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Executes the SQL statement passed in, with parameters if supplied. This is a\n wrapper around the normal database cursors that allows capture of the SQL to a\n .sql file if the user wishes.\n *\b**\b**\b**\b* c\bcr\bre\bea\bat\bte\be_\b_m\bmo\bod\bde\bel\bl(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.create_model(m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.create_model(m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a new table in the database for the provided model, along with any\n unique constraints or indexes it requires.\n *\b**\b**\b**\b* d\bde\bel\ble\bet\bte\be_\b_m\bmo\bod\bde\bel\bl(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.delete_model(m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.delete_model(m\bmo\bod\bde\bel\bl)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Drops the model\u2019s table in the database along with any unique constraints or\n indexes it has.\n *\b**\b**\b**\b* a\bad\bdd\bd_\b_i\bin\bnd\bde\bex\bx(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.add_index(m\bmo\bod\bde\bel\bl, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.add_index(m\bmo\bod\bde\bel\bl, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds index to model\u2019s table.\n *\b**\b**\b**\b* r\bre\bem\bmo\bov\bve\be_\b_i\bin\bnd\bde\bex\bx(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.remove_index(m\bmo\bod\bde\bel\bl, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.remove_index(m\bmo\bod\bde\bel\bl, i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes index from model\u2019s table.\n *\b**\b**\b**\b* r\bre\ben\bna\bam\bme\be_\b_i\bin\bnd\bde\bex\bx(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.rename_index(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_i\bin\bnd\bde\bex\bx, n\bne\bew\bw_\b_i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.rename_index(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_i\bin\bnd\bde\bex\bx, n\bne\bew\bw_\b_i\bin\bnd\bde\bex\bx)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Renames old_index from model\u2019s table to new_index.\n *\b**\b**\b**\b* a\bad\bdd\bd_\b_c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.add_constraint(m\bmo\bod\bde\bel\bl, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.add_constraint(m\bmo\bod\bde\bel\bl, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds constraint to model\u2019s table.\n *\b**\b**\b**\b* r\bre\bem\bmo\bov\bve\be_\b_c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.remove_constraint(m\bmo\bod\bde\bel\bl, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.remove_constraint(m\bmo\bod\bde\bel\bl, c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes constraint from model\u2019s table.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_unique_together(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br,\n- n\bne\bew\bw_\b_u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ n\bne\bew\bw_\b_u\bun\bni\biq\bqu\bue\be_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes a model\u2019s _\bu_\bn_\bi_\bq_\bu_\be_\b__\bt_\bo_\bg_\be_\bt_\bh_\be_\br value; this will add or remove unique\n constraints from the model\u2019s table until they match the new value.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_index_together(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br,\n- n\bne\bew\bw_\b_i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ n\bne\bew\bw_\b_i\bin\bnd\bde\bex\bx_\b_t\bto\bog\bge\bet\bth\bhe\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Changes a model\u2019s index_together value; this will add or remove indexes from\n the model\u2019s table until they match the new value.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_db_table(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be, n\bne\bew\bw_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Renames the model\u2019s table from old_db_table to new_db_table.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_db_table_comment(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt,\n- n\bne\bew\bw_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ n\bne\bew\bw_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\be_\b_c\bco\bom\bmm\bme\ben\bnt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Change the model\u2019s table comment to new_db_table_comment.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_db_tablespace(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be,\n- n\bne\bew\bw_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ n\bne\bew\bw_\b_d\bdb\bb_\b_t\bta\bab\bbl\ble\bes\bsp\bpa\bac\bce\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Moves the model\u2019s table from one tablespace to another.\n *\b**\b**\b**\b* a\bad\bdd\bd_\b_f\bfi\bie\bel\bld\bd(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.add_field(m\bmo\bod\bde\bel\bl, f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.add_field(m\bmo\bod\bde\bel\bl, f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds a column (or sometimes multiple) to the model\u2019s table to represent the\n field. This will also add indexes or a unique constraint if the field has\n db_index=True or unique=True.\n If the field is a ManyToManyField without a value for through, instead of\n creating a column, it will make a table to represent the relationship. If\n through is provided, it is a no-op.\n If the field is a ForeignKey, this will also add the foreign key constraint to\n the column.\n *\b**\b**\b**\b* r\bre\bem\bmo\bov\bve\be_\b_f\bfi\bie\bel\bld\bd(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n- BaseDatabaseSchemaEditor.remove_field(m\bmo\bod\bde\bel\bl, f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ BaseDatabaseSchemaEditor.remove_field(m\bmo\bod\bde\bel\bl, f\bfi\bie\bel\bld\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Removes the column(s) representing the field from the model\u2019s table, along with\n any unique constraints, foreign key constraints, or indexes caused by that\n field.\n If the field is a ManyToManyField without a value for through, it will remove\n the table created to track the relationship. If through is provided, it is a\n no-op.\n *\b**\b**\b**\b* a\bal\blt\bte\ber\br_\b_f\bfi\bie\bel\bld\bd(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b*\n BaseDatabaseSchemaEditor.alter_field(m\bmo\bod\bde\bel\bl, o\bol\bld\bd_\b_f\bfi\bie\bel\bld\bd, n\bne\bew\bw_\b_f\bfi\bie\bel\bld\bd,\n- s\bst\btr\bri\bic\bct\bt=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\btr\bri\bic\bct\bt=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This transforms the field on the model from the old field to the new one. This\n includes changing the name of the column (the _\bd_\bb_\b__\bc_\bo_\bl_\bu_\bm_\bn attribute), changing\n the type of the field (if the field class changes), changing the NULL status of\n the field, adding or removing field-only unique constraints and indexes,\n changing primary key, and changing the destination of ForeignKey constraints.\n The most common transformation this cannot do is transforming a ManyToManyField\n into a normal Field or vice-versa; Django cannot do this without losing data,\n@@ -136,16 +136,16 @@\n # _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bm_\bm_\be_\bn_\bt_\b(_\b)\n # _\ba_\bl_\bt_\be_\br_\b__\bd_\bb_\b__\bt_\ba_\bb_\bl_\be_\bs_\bp_\ba_\bc_\be_\b(_\b)\n # _\ba_\bd_\bd_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)\n # _\br_\be_\bm_\bo_\bv_\be_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)\n # _\ba_\bl_\bt_\be_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b)\n o _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\ba_\bn_\bd_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/settings.html", "source2": "./usr/share/doc/python-django-doc/html/ref/settings.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Settings — Django 5.1.4 documentation\n+ Settings — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -75,27 +76,27 @@\n
    \n
    \n
    \n
    \n \n
    \n

    Settings\u00b6

    \n-
    \n \n
    \n

    CSRF_USE_SESSIONS\u00b6

    \n

    Default: False

    \n

    Whether to store the CSRF token in the user\u2019s session instead of in a cookie.\n It requires the use of django.contrib.sessions.

    \n@@ -485,19 +486,19 @@\n MySQL will connect via a Unix socket to the specified socket. For example:

    \n
    "HOST": "/var/run/mysql"\n 
    \n
    \n

    If you\u2019re using MySQL and this value doesn\u2019t start with a forward slash, then\n this value is assumed to be the host.

    \n

    If you\u2019re using PostgreSQL, by default (empty HOST), the connection\n-to the database is done through UNIX domain sockets (\u2018local\u2019 lines in\n+to the database is done through UNIX domain sockets (\u201clocal\u201d lines in\n pg_hba.conf). If your UNIX domain socket is not in the standard location,\n use the same value of unix_socket_directory from postgresql.conf.\n-If you want to connect through TCP sockets, set HOST to \u2018localhost\u2019\n-or \u2018127.0.0.1\u2019 (\u2018host\u2019 lines in pg_hba.conf).\n+If you want to connect through TCP sockets, set HOST to \u201clocalhost\u201d\n+or \u201c127.0.0.1\u201d (\u201chost\u201d lines in pg_hba.conf).\n On Windows, you should always define HOST, as UNIX domain sockets\n are not available.

    \n
    \n
    \n

    NAME\u00b6

    \n

    Default: '' (Empty string)

    \n

    The name of the database to use. For SQLite, it\u2019s the full path to the database\n@@ -923,31 +924,31 @@\n that are inappropriate for public consumption. File paths, configuration\n options and the like all give attackers extra information about your server.

    \n

    It is also important to remember that when running with DEBUG\n turned on, Django will remember every SQL query it executes. This is useful\n when you\u2019re debugging, but it\u2019ll rapidly consume memory on a production server.

    \n

    Finally, if DEBUG is False, you also need to properly set\n the ALLOWED_HOSTS setting. Failing to do so will result in all\n-requests being returned as \u201cBad Request (400)\u201d.

    \n+requests being returned as \u00abBad Request (400)\u00bb.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The default settings.py file created by django-admin\n startproject sets DEBUG = True for convenience.

    \n
    \n
    \n
    \n

    DEBUG_PROPAGATE_EXCEPTIONS\u00b6

    \n

    Default: False

    \n

    If set to True, Django\u2019s exception handling of view functions\n (handler500, or the debug view if DEBUG\n is True) and logging of 500 responses (django.request) is\n skipped and exceptions propagate upward.

    \n

    This can be useful for some test setups. It shouldn\u2019t be used on a live site\n-unless you want your web server (instead of Django) to generate \u201cInternal\n-Server Error\u201d responses. In that case, make sure your server doesn\u2019t show the\n+unless you want your web server (instead of Django) to generate \u00abInternal\n+Server Error\u00bb responses. In that case, make sure your server doesn\u2019t show the\n stack trace or other sensitive information in the response.

    \n
    \n
    \n

    DECIMAL_SEPARATOR\u00b6

    \n

    Default: '.' (Dot)

    \n

    Default decimal separator used when formatting decimal numbers.

    \n

    Note that the locale-dictated format has higher precedence and will be applied\n@@ -1167,15 +1168,15 @@\n be saved using the system\u2019s standard umask.

    \n

    For security reasons, these permissions aren\u2019t applied to the temporary files\n that are stored in FILE_UPLOAD_TEMP_DIR.

    \n

    This setting also determines the default permissions for collected static files\n when using the collectstatic management command. See\n collectstatic for details on overriding it.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Always prefix the mode with 0o .

    \n

    If you\u2019re not familiar with file modes, please note that the 0o prefix\n is very important: it indicates an octal number, which is the way that\n modes must be specified. If you try to use 644, you\u2019ll get totally\n incorrect behavior.

    \n
    \n
    \n@@ -1231,15 +1232,15 @@\n \n \n
    \n

    FORMS_URLFIELD_ASSUME_HTTPS\u00b6

    \n
    \n New in Django 5.0.
    \n
    \n-

    Deprecated since version 5.0.

    \n+

    Deprecato dalla versione 5.0.

    \n
    \n

    Default: False

    \n

    Set this transitional setting to True to opt into using "https" as the\n new default value of URLField.assume_scheme during the Django 5.x release cycle.

    \n
    \n
    \n

    FORMAT_MODULE_PATH\u00b6

    \n@@ -1343,15 +1344,15 @@\n

    Default: [] (Empty list)

    \n

    A list of IP addresses, as strings, that:

    \n
      \n
    • Allow the debug() context processor\n to add some variables to the template context.

    • \n
    • Can use the admindocs bookmarklets even if\n not logged in as a staff user.

    • \n-
    • Are marked as \u201cinternal\u201d (as opposed to \u201cEXTERNAL\u201d) in\n+

    • Are marked as \u00abinternal\u00bb (as opposed to \u00abEXTERNAL\u00bb) in\n AdminEmailHandler emails.

    • \n
    \n
    \n
    \n

    LANGUAGE_CODE\u00b6

    \n

    Default: 'en-us'

    \n

    A string representing the language code for this installation. This should be in\n@@ -1434,15 +1435,15 @@\n cookie from being sent in cross-site requests.

    \n

    See SESSION_COOKIE_SAMESITE for details about SameSite.

    \n
    \n \n
    \n

    LANGUAGES\u00b6

    \n

    Default: A list of all available languages. This list is continually growing\n and including a copy here would inevitably become rapidly out of date. You can\n see the current list of translated languages by looking in\n@@ -1525,15 +1526,15 @@\n

    MEDIA_ROOT\u00b6

    \n

    Default: '' (Empty string)

    \n

    Absolute filesystem path to the directory that will hold user-uploaded\n files.

    \n

    Example: "/var/www/example.com/media/"

    \n

    See also MEDIA_URL.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    MEDIA_ROOT and STATIC_ROOT must have different\n values. Before STATIC_ROOT was introduced, it was common to\n rely or fallback on MEDIA_ROOT to also serve static files;\n however, since this can have serious security implications, there is a\n validation check to prevent it.

    \n
    \n
    \n@@ -1545,26 +1546,26 @@\n to a non-empty value. You will need to configure these files to be served in both development and production\n environments.

    \n

    If you want to use {{ MEDIA_URL }} in your templates, add\n 'django.template.context_processors.media' in the 'context_processors'\n option of TEMPLATES.

    \n

    Example: "https://media.example.com/"

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    There are security risks if you are accepting uploaded content from\n untrusted users! See the security guide\u2019s topic on\n User-uploaded content for mitigation details.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    MEDIA_URL and STATIC_URL must have different\n values. See MEDIA_ROOT for more details.

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If MEDIA_URL is a relative path, then it will be prefixed by the\n server-provided value of SCRIPT_NAME (or / if not set). This makes\n it easier to serve a Django application in a subpath without adding an\n extra configuration to the settings.

    \n
    \n \n
    \n@@ -1585,15 +1586,15 @@\n

    In this case, migrations pertaining to the blog app will be contained in\n the blog.db_migrations package.

    \n

    If you provide the app_label argument, makemigrations will\n automatically create the package if it doesn\u2019t already exist.

    \n

    When you supply None as a value for an app, Django will consider the app as\n an app without migrations regardless of an existing migrations submodule.\n This can be used, for example, in a test settings file to skip migrations while\n-testing (tables will still be created for the apps\u2019 models). To disable\n+testing (tables will still be created for the apps\u201d models). To disable\n migrations for all apps during tests, you can set the\n MIGRATE to False instead. If\n MIGRATION_MODULES is used in your general project settings, remember to use\n the migrate --run-syncdb option if you want to create tables for the\n app.

    \n
    \n
    \n@@ -1601,15 +1602,15 @@\n

    Default: 'F j'

    \n

    The default formatting to use for date fields on Django admin change-list\n pages \u2013 and, possibly, by other parts of the system \u2013 in cases when only the\n month and day are displayed.

    \n

    For example, when a Django admin change-list page is being filtered by a date\n drilldown, the header for a given day displays the day and month. Different\n locales have different formats. For example, U.S. English would say\n-\u201cJanuary 1,\u201d whereas Spanish might say \u201c1 Enero.\u201d

    \n+\u00abJanuary 1,\u00bb whereas Spanish might say \u00ab1 Enero.\u00bb

    \n

    Note that the corresponding locale-dictated format has higher precedence and\n will be applied instead.

    \n

    See allowed date format strings. See also\n DATE_FORMAT, DATETIME_FORMAT,\n TIME_FORMAT and YEAR_MONTH_FORMAT.

    \n
    \n
    \n@@ -1635,15 +1636,15 @@\n instead.

    \n

    See also DECIMAL_SEPARATOR, THOUSAND_SEPARATOR and\n USE_THOUSAND_SEPARATOR.

    \n
    \n
    \n

    PREPEND_WWW\u00b6

    \n

    Default: False

    \n-

    Whether to prepend the \u201cwww.\u201d subdomain to URLs that don\u2019t have it. This is only\n+

    Whether to prepend the \u00abwww.\u00bb subdomain to URLs that don\u2019t have it. This is only\n used if CommonMiddleware is installed\n (see Middleware). See also APPEND_SLASH.

    \n
    \n
    \n

    ROOT_URLCONF\u00b6

    \n

    Default: Not defined

    \n

    A string representing the full Python import path to your root URLconf, for\n@@ -1660,15 +1661,15 @@\n

    django-admin startproject automatically adds a\n randomly-generated SECRET_KEY to each new project.

    \n

    Uses of the key shouldn\u2019t assume that it\u2019s text or bytes. Every use should go\n through force_str() or\n force_bytes() to convert it to the desired type.

    \n

    Django will refuse to start if SECRET_KEY is not set.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Keep this value secret.

    \n

    Running Django with a known SECRET_KEY defeats many of Django\u2019s\n security protections, and can lead to privilege escalation and remote code\n execution vulnerabilities.

    \n
    \n

    The secret key is used for:

    \n
      \n@@ -1685,15 +1686,15 @@\n
    \n

    When a secret key is no longer set as SECRET_KEY or contained within\n SECRET_KEY_FALLBACKS all of the above will be invalidated. When\n rotating your secret key, you should move the old key to\n SECRET_KEY_FALLBACKS temporarily. Secret keys are not used for\n passwords of users and key rotation will not affect them.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The default settings.py file created by django-admin\n startproject creates a unique SECRET_KEY for\n convenience.

    \n
    \n
    \n
    \n

    SECRET_KEY_FALLBACKS\u00b6

    \n@@ -1701,15 +1702,15 @@\n

    A list of fallback secret keys for a particular Django installation. These are\n used to allow rotation of the SECRET_KEY.

    \n

    In order to rotate your secret keys, set a new SECRET_KEY and move the\n previous value to the beginning of SECRET_KEY_FALLBACKS. Then remove the\n old values from the end of the SECRET_KEY_FALLBACKS when you are ready to\n expire the sessions, password reset tokens, and so on, that make use of them.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Signing operations are computationally expensive. Having multiple old key\n values in SECRET_KEY_FALLBACKS adds additional overhead to all checks\n that don\u2019t match an earlier key.

    \n

    As such, fallback values should be removed after an appropriate period,\n allowing for key rotation.

    \n
    \n

    Uses of the secret key values shouldn\u2019t assume that they are text or bytes.\n@@ -1735,15 +1736,15 @@\n

    SECURE_HSTS_INCLUDE_SUBDOMAINS\u00b6

    \n

    Default: False

    \n

    If True, the SecurityMiddleware adds\n the includeSubDomains directive to the HTTP Strict Transport Security\n header. It has no effect unless SECURE_HSTS_SECONDS is set to a\n non-zero value.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Setting this incorrectly can irreversibly (for the value of\n SECURE_HSTS_SECONDS) break your site. Read the\n HTTP Strict Transport Security documentation first.

    \n
    \n
    \n
    \n

    SECURE_HSTS_PRELOAD\u00b6

    \n@@ -1757,29 +1758,29 @@\n

    SECURE_HSTS_SECONDS\u00b6

    \n

    Default: 0

    \n

    If set to a non-zero integer value, the\n SecurityMiddleware sets the\n HTTP Strict Transport Security header on all responses that do not\n already have it.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Setting this incorrectly can irreversibly (for some time) break your site.\n Read the HTTP Strict Transport Security documentation first.

    \n
    \n
    \n
    \n

    SECURE_PROXY_SSL_HEADER\u00b6

    \n

    Default: None

    \n

    A tuple representing an HTTP header/value combination that signifies a request\n is secure. This controls the behavior of the request object\u2019s is_secure()\n method.

    \n

    By default, is_secure() determines if a request is secure by confirming\n that a requested URL uses https://. This method is important for Django\u2019s\n CSRF protection, and it may be used by your own code or third-party apps.

    \n-

    If your Django app is behind a proxy, though, the proxy may be \u201cswallowing\u201d\n+

    If your Django app is behind a proxy, though, the proxy may be \u00abswallowing\u00bb\n whether the original request uses HTTPS or not. If there is a non-HTTPS\n connection between the proxy and Django then is_secure() would always\n return False \u2013 even for requests that were made via HTTPS by the end user.\n In contrast, if there is an HTTPS connection between the proxy and Django then\n is_secure() would always return True \u2013 even for requests that were\n made originally via HTTP.

    \n

    In this situation, configure your proxy to set a custom HTTP header that tells\n@@ -1801,15 +1802,15 @@\n

    You should only set this setting if you control your proxy or have some other\n guarantee that it sets/strips this header appropriately.

    \n

    Note that the header needs to be in the format as used by request.META \u2013\n all caps and likely starting with HTTP_. (Remember, Django automatically\n adds 'HTTP_' to the start of x-header names before making the header\n available in request.META.)

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Modifying this setting can compromise your site\u2019s security. Ensure you\n fully understand your setup before changing it.

    \n

    Make sure ALL of the following are true before setting this (assuming the\n values from the example above):

    \n
      \n
    • Your Django app is behind a proxy.

    • \n
    • Your proxy strips the X-Forwarded-Proto header from all incoming\n@@ -1852,15 +1853,15 @@\n

      SECURE_SSL_REDIRECT\u00b6

      \n

      Default: False

      \n

      If True, the SecurityMiddleware\n redirects all non-HTTPS requests to HTTPS (except for\n those URLs matching a regular expression listed in\n SECURE_REDIRECT_EXEMPT).

      \n
      \n-

      Note

      \n+

      Nota

      \n

      If turning this to True causes infinite redirects, it probably means\n your site is running behind a proxy and can\u2019t tell which requests are secure\n and which are not. Your proxy likely sets a header to indicate secure\n requests; you can correct the problem by finding out what that header is and\n configuring the SECURE_PROXY_SSL_HEADER setting accordingly.

      \n
      \n
    \n@@ -2017,15 +2018,15 @@\n \n
    \n

    APP_DIRS\u00b6

    \n

    Default: False

    \n

    Whether the engine should look for template source files inside installed\n applications.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The default settings.py file created by django-admin\n startproject sets 'APP_DIRS': True.

    \n
    \n
    \n
    \n

    OPTIONS\u00b6

    \n

    Default: {} (Empty dict)

    \n@@ -2093,15 +2094,15 @@\n
    \n
    \n

    TIME_ZONE\u00b6

    \n

    Default: 'America/Chicago'

    \n

    A string representing the time zone for this installation. See the list of\n time zones.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Since Django was first released with the TIME_ZONE set to\n 'America/Chicago', the global setting (used if nothing is defined in\n your project\u2019s settings.py) remains 'America/Chicago' for backwards\n compatibility. New project templates default to 'UTC'.

    \n
    \n

    Note that this isn\u2019t necessarily the time zone of the server. For example, one\n server may serve multiple Django-powered sites, each with a separate time zone\n@@ -2115,30 +2116,30 @@\n TIME_ZONE setting. Thus, all your views and models will\n automatically operate in this time zone. However, Django won\u2019t set the TZ\n environment variable if you\u2019re using the manual configuration option as\n described in manually configuring settings. If Django doesn\u2019t set the TZ\n environment variable, it\u2019s up to you to ensure your processes are running in\n the correct environment.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Django cannot reliably use alternate time zones in a Windows environment.\n If you\u2019re running Django on Windows, TIME_ZONE must be set to\n match the system time zone.

    \n
    \n
    \n
    \n

    USE_I18N\u00b6

    \n

    Default: True

    \n

    A boolean that specifies whether Django\u2019s translation system should be enabled.\n This provides a way to turn it off, for performance. If this is set to\n False, Django will make some optimizations so as not to load the\n translation machinery.

    \n

    See also LANGUAGE_CODE and USE_TZ.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The default settings.py file created by django-admin\n startproject includes USE_I18N = True for convenience.

    \n
    \n
    \n
    \n

    USE_THOUSAND_SEPARATOR\u00b6

    \n

    Default: False

    \n@@ -2197,15 +2198,15 @@\n

    Default: 'F Y'

    \n

    The default formatting to use for date fields on Django admin change-list\n pages \u2013 and, possibly, by other parts of the system \u2013 in cases when only the\n year and month are displayed.

    \n

    For example, when a Django admin change-list page is being filtered by a date\n drilldown, the header for a given month displays the month and the year.\n Different locales have different formats. For example, U.S. English would say\n-\u201cJanuary 2006,\u201d whereas another locale might say \u201c2006/January.\u201d

    \n+\u00abJanuary 2006,\u00bb whereas another locale might say \u00ab2006/January.\u00bb

    \n

    Note that the corresponding locale-dictated format has higher precedence and\n will be applied instead.

    \n

    See allowed date format strings. See also\n DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT\n and MONTH_DAY_FORMAT.

    \n
    \n
    \n@@ -2226,15 +2227,15 @@\n authenticate a user. See the authentication backends documentation for details.

    \n
    \n
    \n

    AUTH_USER_MODEL\u00b6

    \n

    Default: 'auth.User'

    \n

    The model to use to represent a User. See Substituting a custom User model.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    You cannot change the AUTH_USER_MODEL setting during the lifetime of\n a project (i.e. once you have made and migrated models that depend on it)\n without serious effort. It is intended to be set at the project start,\n and the model it refers to must be available in the first migration of\n the app that it lives in.\n See Substituting a custom User model for more details.

    \n
    \n@@ -2267,15 +2268,15 @@\n
    \n
    \n

    PASSWORD_RESET_TIMEOUT\u00b6

    \n

    Default: 259200 (3 days, in seconds)

    \n

    The number of seconds a password reset link is valid for.

    \n

    Used by the PasswordResetConfirmView.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Reducing the value of this timeout doesn\u2019t make any difference to the\n ability of an attacker to brute-force a password reset token. Tokens are\n designed to be safe from brute-forcing without any timeout.

    \n

    This timeout exists to protect against some unlikely attack scenarios, such\n as someone gaining access to email archives that may contain old, unused\n password reset tokens.

    \n
    \n@@ -2456,24 +2457,24 @@\n methods (e.g. POST).

    \n \n
  • 'None' (string): the session cookie will be sent with all same-site and\n cross-site requests.

  • \n
  • False: disables the flag.

  • \n \n
    \n-

    Note

    \n+

    Nota

    \n

    Modern browsers provide a more secure default policy for the SameSite\n flag and will assume Lax for cookies without an explicit value set.

    \n
    \n
    \n \n
    \n

    SESSION_ENGINE\u00b6

    \n@@ -2542,15 +2543,15 @@\n

    Example: "/var/www/example.com/static/"

    \n

    If the staticfiles contrib app is enabled\n (as in the default project template), the collectstatic management\n command will collect static files into this directory. See the how-to on\n managing static files for more details about\n usage.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    This should be an initially empty destination directory for collecting\n your static files from their permanent locations into one directory for\n ease of deployment; it is not a place to store your static files\n permanently. You should do that in directories that will be found by\n staticfiles\u2019s\n finders, which by default, are\n 'static/' app sub-directories and any directories you include in\n@@ -2565,15 +2566,15 @@\n

    If not None, this will be used as the base path for\n asset definitions (the Media class) and the\n staticfiles app.

    \n

    It must end in a slash if set to a non-empty value.

    \n

    You may need to configure these files to be served in development and will definitely need to do so\n in production.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If STATIC_URL is a relative path, then it will be prefixed by\n the server-provided value of SCRIPT_NAME (or / if not set). This\n makes it easier to serve a Django application in a subpath without adding\n an extra configuration to the settings.

    \n
    \n
    \n
    \n@@ -2602,15 +2603,15 @@\n
    STATICFILES_DIRS = [\n     # ...\n     ("downloads", "/opt/webfiles/stats"),\n ]\n 
    \n
    \n

    For example, assuming you have STATIC_URL set to 'static/', the\n-collectstatic management command would collect the \u201cstats\u201d files\n+collectstatic management command would collect the \u00abstats\u00bb files\n in a 'downloads' subdirectory of STATIC_ROOT.

    \n

    This would allow you to refer to the local file\n '/opt/webfiles/stats/polls_20101022.tar.gz' with\n '/static/downloads/polls_20101022.tar.gz' in your templates, e.g.:

    \n
    <a href="{% static 'downloads/polls_20101022.tar.gz' %}">\n 
    \n
    \n@@ -2635,15 +2636,15 @@\n used.

    \n

    One finder is disabled by default:\n django.contrib.staticfiles.finders.DefaultStorageFinder. If added to\n your STATICFILES_FINDERS setting, it will look for static files in\n the default file storage as defined by the default key in the\n STORAGES setting.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    When using the AppDirectoriesFinder finder, make sure your apps\n can be found by staticfiles by adding the app to the\n INSTALLED_APPS setting of your site.

    \n
    \n

    Static file finders are currently considered a private interface, and this\n interface is thus undocumented.

    \n
    \n@@ -3135,37 +3136,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    SchemaEditor

    \n+ title=\"capitolo precedente\">SchemaEditor

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Signals

    \n+ title=\"capitolo successivo\">Signals

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSe\bet\btt\bti\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n * _\bC_\bo_\br_\be_\b _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n * _\bA_\bu_\bt_\bh\n * _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs\n * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bs\n * _\bS_\bi_\bt_\be_\bs\n * _\bS_\bt_\ba_\bt_\bi_\bc_\b _\bF_\bi_\bl_\be_\bs\n * _\bC_\bo_\br_\be_\b _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bT_\bo_\bp_\bi_\bc_\ba_\bl_\b _\bI_\bn_\bd_\be_\bx\n-Warning\n+Avvertimento\n Be careful when you override settings, especially when the default value is a\n non-empty list or dictionary, such as _\bS_\bT_\bA_\bT_\bI_\bC_\bF_\bI_\bL_\bE_\bS_\b__\bF_\bI_\bN_\bD_\bE_\bR_\bS. Make sure you keep\n the components required by the features of Django you wish to use.\n *\b**\b**\b**\b**\b* _\bC\bC_\bo\bo_\br\br_\be\be_\b _\bS\bS_\be\be_\bt\bt_\bt\bt_\bi\bi_\bn\bn_\bg\bg_\bs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Here\u2019s a list of settings available in Django core and their default values.\n Settings provided by contrib apps are listed below, followed by a topical index\n of the core settings. For introductory material, see the _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bt_\bo_\bp_\bi_\bc_\b _\bg_\bu_\bi_\bd_\be.\n@@ -126,15 +126,15 @@\n Some information on available parameters can be found in the _\bc_\ba_\bc_\bh_\be_\b _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs\n documentation. For more information, consult your backend module\u2019s own\n documentation.\n *\b**\b**\b* T\bTI\bIM\bME\bEO\bOU\bUT\bT_\b?\b\u00b6 *\b**\b**\b*\n Default: 300\n The number of seconds before a cache entry is considered stale. If the value of\n this setting is None, cache entries will not expire. A value of 0 causes keys\n-to immediately expire (effectively \u201cdon\u2019t cache\u201d).\n+to immediately expire (effectively \u00abdon\u2019t cache\u00bb).\n *\b**\b**\b* V\bVE\bER\bRS\bSI\bIO\bON\bN_\b?\b\u00b6 *\b**\b**\b*\n Default: 1\n The default version number for cache keys generated by the Django server.\n See the _\bc_\ba_\bc_\bh_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more information.\n *\b**\b**\b**\b* C\bCA\bAC\bCH\bHE\bE_\b_M\bMI\bID\bDD\bDL\bLE\bEW\bWA\bAR\bRE\bE_\b_A\bAL\bLI\bIA\bAS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'default'\n The cache connection to use for the _\bc_\ba_\bc_\bh_\be_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be.\n@@ -201,15 +201,15 @@\n Default: 'Lax'\n The value of the _\bS_\ba_\bm_\be_\bS_\bi_\bt_\be flag on the CSRF cookie. This flag prevents the\n cookie from being sent in cross-site requests.\n See _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE for details about SameSite.\n *\b**\b**\b**\b* C\bCS\bSR\bRF\bF_\b_C\bCO\bOO\bOK\bKI\bIE\bE_\b_S\bSE\bEC\bCU\bUR\bRE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n Whether to use a secure cookie for the CSRF cookie. If this is set to True, the\n-cookie will be marked as \u201csecure\u201d, which means browsers may ensure that the\n+cookie will be marked as \u00absecure\u00bb, which means browsers may ensure that the\n cookie is only sent with an HTTPS connection.\n *\b**\b**\b**\b* C\bCS\bSR\bRF\bF_\b_U\bUS\bSE\bE_\b_S\bSE\bES\bSS\bSI\bIO\bON\bNS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n Whether to store the CSRF token in the user\u2019s session instead of in a cookie.\n It requires the use of _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs.\n Storing the CSRF token in a cookie (Django\u2019s default) is safe, but storing it\n in the session is common practice in other web frameworks and therefore\n@@ -304,18 +304,18 @@\n localhost. Not used with SQLite.\n If this value starts with a forward slash ('/') and you\u2019re using MySQL, MySQL\n will connect via a Unix socket to the specified socket. For example:\n \"HOST\": \"/var/run/mysql\"\n If you\u2019re using MySQL and this value d\bdo\boe\bes\bsn\bn?\b\u2019t\bt start with a forward slash, then\n this value is assumed to be the host.\n If you\u2019re using PostgreSQL, by default (empty _\bH_\bO_\bS_\bT), the connection to the\n-database is done through UNIX domain sockets (\u2018local\u2019 lines in pg_hba.conf). If\n+database is done through UNIX domain sockets (\u201clocal\u201d lines in pg_hba.conf). If\n your UNIX domain socket is not in the standard location, use the same value of\n unix_socket_directory from postgresql.conf. If you want to connect through TCP\n-sockets, set _\bH_\bO_\bS_\bT to \u2018localhost\u2019 or \u2018127.0.0.1\u2019 (\u2018host\u2019 lines in pg_hba.conf).\n+sockets, set _\bH_\bO_\bS_\bT to \u201clocalhost\u201d or \u201c127.0.0.1\u201d (\u201chost\u201d lines in pg_hba.conf).\n On Windows, you should always define _\bH_\bO_\bS_\bT, as UNIX domain sockets are not\n available.\n *\b**\b**\b* N\bNA\bAM\bME\bE_\b?\b\u00b6 *\b**\b**\b*\n Default: '' (Empty string)\n The name of the database to use. For SQLite, it\u2019s the full path to the database\n file. When specifying the path, always use forward slashes, even on Windows\n (e.g. C:/homes/user/mysite/sqlite3.db).\n@@ -637,27 +637,27 @@\n Still, note that there are always going to be sections of your debug output\n that are inappropriate for public consumption. File paths, configuration\n options and the like all give attackers extra information about your server.\n It is also important to remember that when running with _\bD_\bE_\bB_\bU_\bG turned on, Django\n will remember every SQL query it executes. This is useful when you\u2019re\n debugging, but it\u2019ll rapidly consume memory on a production server.\n Finally, if _\bD_\bE_\bB_\bU_\bG is False, you also need to properly set the _\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bH_\bO_\bS_\bT_\bS\n-setting. Failing to do so will result in all requests being returned as \u201cBad\n-Request (400)\u201d.\n-Note\n+setting. Failing to do so will result in all requests being returned as \u00abBad\n+Request (400)\u00bb.\n+Nota\n The default settings.py file created by _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt sets DEBUG =\n True for convenience.\n *\b**\b**\b**\b* D\bDE\bEB\bBU\bUG\bG_\b_P\bPR\bRO\bOP\bPA\bAG\bGA\bAT\bTE\bE_\b_E\bEX\bXC\bCE\bEP\bPT\bTI\bIO\bON\bNS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n If set to True, Django\u2019s exception handling of view functions (_\bh_\ba_\bn_\bd_\bl_\be_\br_\b5_\b0_\b0, or\n the debug view if _\bD_\bE_\bB_\bU_\bG is True) and logging of 500 responses (_\bd_\bj_\ba_\bn_\bg_\bo_\b._\br_\be_\bq_\bu_\be_\bs_\bt)\n is skipped and exceptions propagate upward.\n This can be useful for some test setups. It shouldn\u2019t be used on a live site\n-unless you want your web server (instead of Django) to generate \u201cInternal\n-Server Error\u201d responses. In that case, make sure your server doesn\u2019t show the\n+unless you want your web server (instead of Django) to generate \u00abInternal\n+Server Error\u00bb responses. In that case, make sure your server doesn\u2019t show the\n stack trace or other sensitive information in the response.\n *\b**\b**\b**\b* D\bDE\bEC\bCI\bIM\bMA\bAL\bL_\b_S\bSE\bEP\bPA\bAR\bRA\bAT\bTO\bOR\bR_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: '.' (Dot)\n Default decimal separator used when formatting decimal numbers.\n Note that the locale-dictated format has higher precedence and will be applied\n instead.\n See also _\bN_\bU_\bM_\bB_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\bI_\bN_\bG, _\bT_\bH_\bO_\bU_\bS_\bA_\bN_\bD_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR and _\bU_\bS_\bE_\b__\bT_\bH_\bO_\bU_\bS_\bA_\bN_\bD_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR.\n@@ -808,15 +808,15 @@\n temporary files will have a mode of 0o600, and files saved from memory will be\n saved using the system\u2019s standard umask.\n For security reasons, these permissions aren\u2019t applied to the temporary files\n that are stored in _\bF_\bI_\bL_\bE_\b__\bU_\bP_\bL_\bO_\bA_\bD_\b__\bT_\bE_\bM_\bP_\b__\bD_\bI_\bR.\n This setting also determines the default permissions for collected static files\n when using the _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc management command. See _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc for details\n on overriding it.\n-Warning\n+Avvertimento\n A\bAl\blw\bwa\bay\bys\bs p\bpr\bre\bef\bfi\bix\bx t\bth\bhe\be m\bmo\bod\bde\be w\bwi\bit\bth\bh 0o .\b.\n If you\u2019re not familiar with file modes, please note that the 0o prefix is very\n important: it indicates an octal number, which is the way that modes must be\n specified. If you try to use 644, you\u2019ll get totally incorrect behavior.\n *\b**\b**\b**\b* F\bFI\bIL\bLE\bE_\b_U\bUP\bPL\bLO\bOA\bAD\bD_\b_T\bTE\bEM\bMP\bP_\b_D\bDI\bIR\bR_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: None\n The directory to store data to (typically files larger than\n@@ -851,15 +851,15 @@\n The class that renders forms and form widgets. It must implement _\bt_\bh_\be_\b _\bl_\bo_\bw_\b-_\bl_\be_\bv_\be_\bl\n _\br_\be_\bn_\bd_\be_\br_\b _\bA_\bP_\bI. Included form renderers are:\n * '_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b._\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs'\n * '_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b._\bJ_\bi_\bn_\bj_\ba_\b2'\n * '_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bf_\bo_\br_\bm_\bs_\b._\br_\be_\bn_\bd_\be_\br_\be_\br_\bs_\b._\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\bS_\be_\bt_\bt_\bi_\bn_\bg'\n *\b**\b**\b**\b* F\bFO\bOR\bRM\bMS\bS_\b_U\bUR\bRL\bLF\bFI\bIE\bEL\bLD\bD_\b_A\bAS\bSS\bSU\bUM\bME\bE_\b_H\bHT\bTT\bTP\bPS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n New in Django 5.0.\n-Deprecated since version 5.0.\n+Deprecato dalla versione 5.0.\n Default: False\n Set this transitional setting to True to opt into using \"https\" as the new\n default value of _\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\b._\ba_\bs_\bs_\bu_\bm_\be_\b__\bs_\bc_\bh_\be_\bm_\be during the Django 5.x release cycle.\n *\b**\b**\b**\b* F\bFO\bOR\bRM\bMA\bAT\bT_\b_M\bMO\bOD\bDU\bUL\bLE\bE_\b_P\bPA\bAT\bTH\bH_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: None\n A full Python path to a Python package that contains custom format definitions\n for project locales. If not None, Django will check for a formats.py file,\n@@ -932,15 +932,15 @@\n listed first in _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS has precedence.\n *\b**\b**\b**\b* I\bIN\bNT\bTE\bER\bRN\bNA\bAL\bL_\b_I\bIP\bPS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: [] (Empty list)\n A list of IP addresses, as strings, that:\n * Allow the _\bd_\be_\bb_\bu_\bg_\b(_\b) context processor to add some variables to the template\n context.\n * Can use the _\ba_\bd_\bm_\bi_\bn_\bd_\bo_\bc_\bs_\b _\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bl_\be_\bt_\bs even if not logged in as a staff user.\n- * Are marked as \u201cinternal\u201d (as opposed to \u201cEXTERNAL\u201d) in _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br\n+ * Are marked as \u00abinternal\u00bb (as opposed to \u00abEXTERNAL\u00bb) in _\bA_\bd_\bm_\bi_\bn_\bE_\bm_\ba_\bi_\bl_\bH_\ba_\bn_\bd_\bl_\be_\br\n emails.\n *\b**\b**\b**\b* L\bLA\bAN\bNG\bGU\bUA\bAG\bGE\bE_\b_C\bCO\bOD\bDE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'en-us'\n A string representing the language code for this installation. This should be\n in standard _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\bI_\bD_\b _\bf_\bo_\br_\bm_\ba_\bt. For example, U.S. English is \"en-us\". See also\n the _\bl_\bi_\bs_\bt_\b _\bo_\bf_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\bi_\bd_\be_\bn_\bt_\bi_\bf_\bi_\be_\br_\bs and _\bI_\bn_\bt_\be_\br_\bn_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bn_\bd_\b _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn.\n It serves three purposes:\n@@ -1001,15 +1001,15 @@\n Default: None\n The value of the _\bS_\ba_\bm_\be_\bS_\bi_\bt_\be flag on the language cookie. This flag prevents the\n cookie from being sent in cross-site requests.\n See _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bS_\bA_\bM_\bE_\bS_\bI_\bT_\bE for details about SameSite.\n *\b**\b**\b**\b* L\bLA\bAN\bNG\bGU\bUA\bAG\bGE\bE_\b_C\bCO\bOO\bOK\bKI\bIE\bE_\b_S\bSE\bEC\bCU\bUR\bRE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n Whether to use a secure cookie for the language cookie. If this is set to True,\n-the cookie will be marked as \u201csecure\u201d, which means browsers may ensure that the\n+the cookie will be marked as \u00absecure\u00bb, which means browsers may ensure that the\n cookie is only sent under an HTTPS connection.\n *\b**\b**\b**\b* L\bLA\bAN\bNG\bGU\bUA\bAG\bGE\bES\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: A list of all available languages. This list is continually growing\n and including a copy here would inevitably become rapidly out of date. You can\n see the current list of translated languages by looking in _\bd_\bj_\ba_\bn_\bg_\bo_\b/_\bc_\bo_\bn_\bf_\b/\n _\bg_\bl_\bo_\bb_\ba_\bl_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b._\bp_\by.\n The list is a list of 2-tuples in the format (_\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\bc_\bo_\bd_\be, language name) \u2013\n@@ -1068,37 +1068,37 @@\n A list in the same format as _\bA_\bD_\bM_\bI_\bN_\bS that specifies who should get broken link\n notifications when _\bB_\br_\bo_\bk_\be_\bn_\bL_\bi_\bn_\bk_\bE_\bm_\ba_\bi_\bl_\bs_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be is enabled.\n *\b**\b**\b**\b* M\bME\bED\bDI\bIA\bA_\b_R\bRO\bOO\bOT\bT_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: '' (Empty string)\n Absolute filesystem path to the directory that will hold _\bu_\bs_\be_\br_\b-_\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\b _\bf_\bi_\bl_\be_\bs.\n Example: \"/var/www/example.com/media/\"\n See also _\bM_\bE_\bD_\bI_\bA_\b__\bU_\bR_\bL.\n-Warning\n+Avvertimento\n _\bM_\bE_\bD_\bI_\bA_\b__\bR_\bO_\bO_\bT and _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT must have different values. Before _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT was\n introduced, it was common to rely or fallback on _\bM_\bE_\bD_\bI_\bA_\b__\bR_\bO_\bO_\bT to also serve\n static files; however, since this can have serious security implications, there\n is a validation check to prevent it.\n *\b**\b**\b**\b* M\bME\bED\bDI\bIA\bA_\b_U\bUR\bRL\bL_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: '' (Empty string)\n URL that handles the media served from _\bM_\bE_\bD_\bI_\bA_\b__\bR_\bO_\bO_\bT, used for _\bm_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bs_\bt_\bo_\br_\be_\bd\n _\bf_\bi_\bl_\be_\bs. It must end in a slash if set to a non-empty value. You will need to\n _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\bt_\bh_\be_\bs_\be_\b _\bf_\bi_\bl_\be_\bs_\b _\bt_\bo_\b _\bb_\be_\b _\bs_\be_\br_\bv_\be_\bd in both development and production\n environments.\n If you want to use {{ MEDIA_URL }} in your templates, add\n 'django.template.context_processors.media' in the 'context_processors' option\n of _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS.\n Example: \"https://media.example.com/\"\n-Warning\n+Avvertimento\n There are security risks if you are accepting uploaded content from untrusted\n users! See the security guide\u2019s topic on _\bU_\bs_\be_\br_\b-_\bu_\bp_\bl_\bo_\ba_\bd_\be_\bd_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt for mitigation\n details.\n-Warning\n+Avvertimento\n _\bM_\bE_\bD_\bI_\bA_\b__\bU_\bR_\bL and _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL must have different values. See _\bM_\bE_\bD_\bI_\bA_\b__\bR_\bO_\bO_\bT for more\n details.\n-Note\n+Nota\n If _\bM_\bE_\bD_\bI_\bA_\b__\bU_\bR_\bL is a relative path, then it will be prefixed by the server-\n provided value of SCRIPT_NAME (or / if not set). This makes it easier to serve\n a Django application in a subpath without adding an extra configuration to the\n settings.\n *\b**\b**\b**\b* M\bMI\bID\bDD\bDL\bLE\bEW\bWA\bAR\bRE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: None\n A list of middleware to use. See _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be.\n@@ -1112,27 +1112,27 @@\n In this case, migrations pertaining to the blog app will be contained in the\n blog.db_migrations package.\n If you provide the app_label argument, _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs will automatically create\n the package if it doesn\u2019t already exist.\n When you supply None as a value for an app, Django will consider the app as an\n app without migrations regardless of an existing migrations submodule. This can\n be used, for example, in a test settings file to skip migrations while testing\n-(tables will still be created for the apps\u2019 models). To disable migrations for\n+(tables will still be created for the apps\u201d models). To disable migrations for\n all apps during tests, you can set the _\bM_\bI_\bG_\bR_\bA_\bT_\bE to False instead. If\n MIGRATION_MODULES is used in your general project settings, remember to use the\n _\bm_\bi_\bg_\br_\ba_\bt_\be_\b _\b-_\b-_\br_\bu_\bn_\b-_\bs_\by_\bn_\bc_\bd_\bb option if you want to create tables for the app.\n *\b**\b**\b**\b* M\bMO\bON\bNT\bTH\bH_\b_D\bDA\bAY\bY_\b_F\bFO\bOR\bRM\bMA\bAT\bT_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'F j'\n The default formatting to use for date fields on Django admin change-list pages\n \u2013 and, possibly, by other parts of the system \u2013 in cases when only the month\n and day are displayed.\n For example, when a Django admin change-list page is being filtered by a date\n drilldown, the header for a given day displays the day and month. Different\n-locales have different formats. For example, U.S. English would say \u201cJanuary\n-1,\u201d whereas Spanish might say \u201c1 Enero.\u201d\n+locales have different formats. For example, U.S. English would say \u00abJanuary\n+1,\u00bb whereas Spanish might say \u00ab1 Enero.\u00bb\n Note that the corresponding locale-dictated format has higher precedence and\n will be applied instead.\n See _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bd_\ba_\bt_\be_\b _\bf_\bo_\br_\bm_\ba_\bt_\b _\bs_\bt_\br_\bi_\bn_\bg_\bs. See also _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT, _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT,\n _\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT and _\bY_\bE_\bA_\bR_\b__\bM_\bO_\bN_\bT_\bH_\b__\bF_\bO_\bR_\bM_\bA_\bT.\n *\b**\b**\b**\b* N\bNU\bUM\bMB\bBE\bER\bR_\b_G\bGR\bRO\bOU\bUP\bPI\bIN\bNG\bG_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 0\n Number of digits grouped together on the integer part of a number.\n@@ -1149,15 +1149,15 @@\n Example tuple for en_IN:\n NUMBER_GROUPING = (3, 2, 0)\n Note that the locale-dictated format has higher precedence and will be applied\n instead.\n See also _\bD_\bE_\bC_\bI_\bM_\bA_\bL_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR, _\bT_\bH_\bO_\bU_\bS_\bA_\bN_\bD_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR and _\bU_\bS_\bE_\b__\bT_\bH_\bO_\bU_\bS_\bA_\bN_\bD_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR.\n *\b**\b**\b**\b* P\bPR\bRE\bEP\bPE\bEN\bND\bD_\b_W\bWW\bWW\bW_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n-Whether to prepend the \u201cwww.\u201d subdomain to URLs that don\u2019t have it. This is\n+Whether to prepend the \u00abwww.\u00bb subdomain to URLs that don\u2019t have it. This is\n only used if _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be is installed (see _\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be). See also\n _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH.\n *\b**\b**\b**\b* R\bRO\bOO\bOT\bT_\b_U\bUR\bRL\bLC\bCO\bON\bNF\bF_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: Not defined\n A string representing the full Python import path to your root URLconf, for\n example \"mydjangoapps.urls\". Can be overridden on a per-request basis by\n setting the attribute urlconf on the incoming HttpRequest object. See _\bH_\bo_\bw\n@@ -1167,15 +1167,15 @@\n A secret key for a particular Django installation. This is used to provide\n _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bs_\bi_\bg_\bn_\bi_\bn_\bg, and should be set to a unique, unpredictable value.\n _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt automatically adds a randomly-generated SECRET_KEY to\n each new project.\n Uses of the key shouldn\u2019t assume that it\u2019s text or bytes. Every use should go\n through _\bf_\bo_\br_\bc_\be_\b__\bs_\bt_\br_\b(_\b) or _\bf_\bo_\br_\bc_\be_\b__\bb_\by_\bt_\be_\bs_\b(_\b) to convert it to the desired type.\n Django will refuse to start if _\bS_\bE_\bC_\bR_\bE_\bT_\b__\bK_\bE_\bY is not set.\n-Warning\n+Avvertimento\n K\bKe\bee\bep\bp t\bth\bhi\bis\bs v\bva\bal\blu\bue\be s\bse\bec\bcr\bre\bet\bt.\b.\n Running Django with a known _\bS_\bE_\bC_\bR_\bE_\bT_\b__\bK_\bE_\bY defeats many of Django\u2019s security\n protections, and can lead to privilege escalation and remote code execution\n vulnerabilities.\n The secret key is used for:\n * All _\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs if you are using any other session backend than\n django.contrib.sessions.backends.cache, or are using the default\n@@ -1184,26 +1184,26 @@\n * All _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bV_\bi_\be_\bw tokens.\n * Any usage of _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bs_\bi_\bg_\bn_\bi_\bn_\bg, unless a different key is provided.\n When a secret key is no longer set as _\bS_\bE_\bC_\bR_\bE_\bT_\b__\bK_\bE_\bY or contained within\n _\bS_\bE_\bC_\bR_\bE_\bT_\b__\bK_\bE_\bY_\b__\bF_\bA_\bL_\bL_\bB_\bA_\bC_\bK_\bS all of the above will be invalidated. When rotating your\n secret key, you should move the old key to _\bS_\bE_\bC_\bR_\bE_\bT_\b__\bK_\bE_\bY_\b__\bF_\bA_\bL_\bL_\bB_\bA_\bC_\bK_\bS temporarily.\n Secret keys are not used for passwords of users and key rotation will not\n affect them.\n-Note\n+Nota\n The default settings.py file created by _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt creates a\n unique SECRET_KEY for convenience.\n *\b**\b**\b**\b* S\bSE\bEC\bCR\bRE\bET\bT_\b_K\bKE\bEY\bY_\b_F\bFA\bAL\bLL\bLB\bBA\bAC\bCK\bKS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: []\n A list of fallback secret keys for a particular Django installation. These are\n used to allow rotation of the SECRET_KEY.\n In order to rotate your secret keys, set a new SECRET_KEY and move the previous\n value to the beginning of SECRET_KEY_FALLBACKS. Then remove the old values from\n the end of the SECRET_KEY_FALLBACKS when you are ready to expire the sessions,\n password reset tokens, and so on, that make use of them.\n-Note\n+Nota\n Signing operations are computationally expensive. Having multiple old key\n values in SECRET_KEY_FALLBACKS adds additional overhead to all checks that\n don\u2019t match an earlier key.\n As such, fallback values should be removed after an appropriate period,\n allowing for key rotation.\n Uses of the secret key values shouldn\u2019t assume that they are text or bytes.\n Every use should go through _\bf_\bo_\br_\bc_\be_\b__\bs_\bt_\br_\b(_\b) or _\bf_\bo_\br_\bc_\be_\b__\bb_\by_\bt_\be_\bs_\b(_\b) to convert it to the\n@@ -1217,39 +1217,39 @@\n Unless set to None, the _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be sets the _\bC_\br_\bo_\bs_\bs_\b-_\bO_\br_\bi_\bg_\bi_\bn_\b _\bO_\bp_\be_\bn_\be_\br_\b _\bP_\bo_\bl_\bi_\bc_\by\n header on all responses that do not already have it to the value provided.\n *\b**\b**\b**\b* S\bSE\bEC\bCU\bUR\bRE\bE_\b_H\bHS\bST\bTS\bS_\b_I\bIN\bNC\bCL\bLU\bUD\bDE\bE_\b_S\bSU\bUB\bBD\bDO\bOM\bMA\bAI\bIN\bNS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n If True, the _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be adds the includeSubDomains directive to the\n _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt_\b _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by header. It has no effect unless\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS is set to a non-zero value.\n-Warning\n+Avvertimento\n Setting this incorrectly can irreversibly (for the value of\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS) break your site. Read the _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt_\b _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by\n documentation first.\n *\b**\b**\b**\b* S\bSE\bEC\bCU\bUR\bRE\bE_\b_H\bHS\bST\bTS\bS_\b_P\bPR\bRE\bEL\bLO\bOA\bAD\bD_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n If True, the _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be adds the preload directive to the _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt\n _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by header. It has no effect unless _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bH_\bS_\bT_\bS_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS is set\n to a non-zero value.\n *\b**\b**\b**\b* S\bSE\bEC\bCU\bUR\bRE\bE_\b_H\bHS\bST\bTS\bS_\b_S\bSE\bEC\bCO\bON\bND\bDS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 0\n If set to a non-zero integer value, the _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be sets the _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt\n _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by header on all responses that do not already have it.\n-Warning\n+Avvertimento\n Setting this incorrectly can irreversibly (for some time) break your site. Read\n the _\bH_\bT_\bT_\bP_\b _\bS_\bt_\br_\bi_\bc_\bt_\b _\bT_\br_\ba_\bn_\bs_\bp_\bo_\br_\bt_\b _\bS_\be_\bc_\bu_\br_\bi_\bt_\by documentation first.\n *\b**\b**\b**\b* S\bSE\bEC\bCU\bUR\bRE\bE_\b_P\bPR\bRO\bOX\bXY\bY_\b_S\bSS\bSL\bL_\b_H\bHE\bEA\bAD\bDE\bER\bR_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: None\n A tuple representing an HTTP header/value combination that signifies a request\n is secure. This controls the behavior of the request object\u2019s is_secure()\n method.\n By default, is_secure() determines if a request is secure by confirming that a\n requested URL uses https://. This method is important for Django\u2019s CSRF\n protection, and it may be used by your own code or third-party apps.\n-If your Django app is behind a proxy, though, the proxy may be \u201cswallowing\u201d\n+If your Django app is behind a proxy, though, the proxy may be \u00abswallowing\u00bb\n whether the original request uses HTTPS or not. If there is a non-HTTPS\n connection between the proxy and Django then is_secure() would always return\n False \u2013 even for requests that were made via HTTPS by the end user. In\n contrast, if there is an HTTPS connection between the proxy and Django then\n is_secure() would always return True \u2013 even for requests that were made\n originally via HTTP.\n In this situation, configure your proxy to set a custom HTTP header that tells\n@@ -1266,15 +1266,15 @@\n list of protocols (e.g. 'https,http,http').\n You should o\bon\bnl\bly\by set this setting if you control your proxy or have some other\n guarantee that it sets/strips this header appropriately.\n Note that the header needs to be in the format as used by request.META \u2013 all\n caps and likely starting with HTTP_. (Remember, Django automatically adds\n 'HTTP_' to the start of x-header names before making the header available in\n request.META.)\n-Warning\n+Avvertimento\n M\bMo\bod\bdi\bif\bfy\byi\bin\bng\bg t\bth\bhi\bis\bs s\bse\bet\btt\bti\bin\bng\bg c\bca\ban\bn c\bco\bom\bmp\bpr\bro\bom\bmi\bis\bse\be y\byo\bou\bur\br s\bsi\bit\bte\be?\b\u2019s\bs s\bse\bec\bcu\bur\bri\bit\bty\by.\b. E\bEn\bns\bsu\bur\bre\be y\byo\bou\bu f\bfu\bul\bll\bly\by\n u\bun\bnd\bde\ber\brs\bst\bta\ban\bnd\bd y\byo\bou\bur\br s\bse\bet\btu\bup\bp b\bbe\bef\bfo\bor\bre\be c\bch\bha\ban\bng\bgi\bin\bng\bg i\bit\bt.\b.\n Make sure ALL of the following are true before setting this (assuming the\n values from the example above):\n * Your Django app is behind a proxy.\n * Your proxy strips the X-Forwarded-Proto header from all incoming\n requests, even when it contains a comma-separated list of protocols. In\n@@ -1300,15 +1300,15 @@\n this host rather than the originally-requested host (e.g. www.example.com). If\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bS_\bS_\bL_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT is False, this setting has no effect.\n *\b**\b**\b**\b* S\bSE\bEC\bCU\bUR\bRE\bE_\b_S\bSS\bSL\bL_\b_R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bT_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n If True, the _\bS_\be_\bc_\bu_\br_\bi_\bt_\by_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs all non-HTTPS requests to HTTPS\n (except for those URLs matching a regular expression listed in\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT_\b__\bE_\bX_\bE_\bM_\bP_\bT).\n-Note\n+Nota\n If turning this to True causes infinite redirects, it probably means your site\n is running behind a proxy and can\u2019t tell which requests are secure and which\n are not. Your proxy likely sets a header to indicate secure requests; you can\n correct the problem by finding out what that header is and configuring the\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bP_\bR_\bO_\bX_\bY_\b__\bS_\bS_\bL_\b__\bH_\bE_\bA_\bD_\bE_\bR setting accordingly.\n *\b**\b**\b**\b* S\bSE\bER\bRI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN_\b_M\bMO\bOD\bDU\bUL\bLE\bES\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: Not defined\n@@ -1418,15 +1418,15 @@\n Default: [] (Empty list)\n Directories where the engine should look for template source files, in search\n order.\n *\b**\b**\b* A\bAP\bPP\bP_\b_D\bDI\bIR\bRS\bS_\b?\b\u00b6 *\b**\b**\b*\n Default: False\n Whether the engine should look for template source files inside installed\n applications.\n-Note\n+Nota\n The default settings.py file created by _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt sets\n 'APP_DIRS': True.\n *\b**\b**\b* O\bOP\bPT\bTI\bIO\bON\bNS\bS_\b?\b\u00b6 *\b**\b**\b*\n Default: {} (Empty dict)\n Extra parameters to pass to the template backend. Available parameters vary\n depending on the template backend. See _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs and _\bJ_\bi_\bn_\bj_\ba_\b2 for the\n options of the built-in backends.\n@@ -1469,15 +1469,15 @@\n the _\bd_\ba_\bt_\be template filter.\n The locale-dictated format has higher precedence and will be applied instead.\n See also _\bD_\bA_\bT_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS and _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bI_\bN_\bP_\bU_\bT_\b__\bF_\bO_\bR_\bM_\bA_\bT_\bS.\n *\b**\b**\b**\b* T\bTI\bIM\bME\bE_\b_Z\bZO\bON\bNE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'America/Chicago'\n A string representing the time zone for this installation. See the _\bl_\bi_\bs_\bt_\b _\bo_\bf_\b _\bt_\bi_\bm_\be\n _\bz_\bo_\bn_\be_\bs.\n-Note\n+Nota\n Since Django was first released with the _\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE set to 'America/Chicago',\n the global setting (used if nothing is defined in your project\u2019s settings.py)\n remains 'America/Chicago' for backwards compatibility. New project templates\n default to 'UTC'.\n Note that this isn\u2019t necessarily the time zone of the server. For example, one\n server may serve multiple Django-powered sites, each with a separate time zone\n setting.\n@@ -1488,26 +1488,26 @@\n On Unix environments (where _\bt_\bi_\bm_\be_\b._\bt_\bz_\bs_\be_\bt_\b(_\b) is implemented), Django sets the\n os.environ['TZ'] variable to the time zone you specify in the _\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE\n setting. Thus, all your views and models will automatically operate in this\n time zone. However, Django won\u2019t set the TZ environment variable if you\u2019re\n using the manual configuration option as described in _\bm_\ba_\bn_\bu_\ba_\bl_\bl_\by_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg\n _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs. If Django doesn\u2019t set the TZ environment variable, it\u2019s up to you to\n ensure your processes are running in the correct environment.\n-Note\n+Nota\n Django cannot reliably use alternate time zones in a Windows environment. If\n you\u2019re running Django on Windows, _\bT_\bI_\bM_\bE_\b__\bZ_\bO_\bN_\bE must be set to match the system\n time zone.\n *\b**\b**\b**\b* U\bUS\bSE\bE_\b_I\bI1\b18\b8N\bN_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: True\n A boolean that specifies whether Django\u2019s translation system should be enabled.\n This provides a way to turn it off, for performance. If this is set to False,\n Django will make some optimizations so as not to load the translation\n machinery.\n See also _\bL_\bA_\bN_\bG_\bU_\bA_\bG_\bE_\b__\bC_\bO_\bD_\bE and _\bU_\bS_\bE_\b__\bT_\bZ.\n-Note\n+Nota\n The default settings.py file created by _\bd_\bj_\ba_\bn_\bg_\bo_\b-_\ba_\bd_\bm_\bi_\bn_\b _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt includes\n USE_I18N = True for convenience.\n *\b**\b**\b**\b* U\bUS\bSE\bE_\b_T\bTH\bHO\bOU\bUS\bSA\bAN\bND\bD_\b_S\bSE\bEP\bPA\bAR\bRA\bAT\bTO\bOR\bR_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n A boolean that specifies whether to display numbers using a thousand separator.\n When set to True, Django will format numbers using the _\bN_\bU_\bM_\bB_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\bI_\bN_\bG and\n _\bT_\bH_\bO_\bU_\bS_\bA_\bN_\bD_\b__\bS_\bE_\bP_\bA_\bR_\bA_\bT_\bO_\bR settings. The latter two settings may also be dictated by\n@@ -1550,15 +1550,15 @@\n Default: 'F Y'\n The default formatting to use for date fields on Django admin change-list pages\n \u2013 and, possibly, by other parts of the system \u2013 in cases when only the year and\n month are displayed.\n For example, when a Django admin change-list page is being filtered by a date\n drilldown, the header for a given month displays the month and the year.\n Different locales have different formats. For example, U.S. English would say\n-\u201cJanuary 2006,\u201d whereas another locale might say \u201c2006/January.\u201d\n+\u00abJanuary 2006,\u00bb whereas another locale might say \u00ab2006/January.\u00bb\n Note that the corresponding locale-dictated format has higher precedence and\n will be applied instead.\n See _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bd_\ba_\bt_\be_\b _\bf_\bo_\br_\bm_\ba_\bt_\b _\bs_\bt_\br_\bi_\bn_\bg_\bs. See also _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT, _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT,\n _\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT and _\bM_\bO_\bN_\bT_\bH_\b__\bD_\bA_\bY_\b__\bF_\bO_\bR_\bM_\bA_\bT.\n *\b**\b**\b**\b* X\bX_\b_F\bFR\bRA\bAM\bME\bE_\b_O\bOP\bPT\bTI\bIO\bON\bNS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'DENY'\n The default value for the X-Frame-Options header used by\n@@ -1568,15 +1568,15 @@\n *\b**\b**\b**\b* A\bAU\bUT\bTH\bHE\bEN\bNT\bTI\bIC\bCA\bAT\bTI\bIO\bON\bN_\b_B\bBA\bAC\bCK\bKE\bEN\bND\bDS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: ['django.contrib.auth.backends.ModelBackend']\n A list of authentication backend classes (as strings) to use when attempting to\n authenticate a user. See the _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for details.\n *\b**\b**\b**\b* A\bAU\bUT\bTH\bH_\b_U\bUS\bSE\bER\bR_\b_M\bMO\bOD\bDE\bEL\bL_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'auth.User'\n The model to use to represent a User. See _\bS_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bn_\bg_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bU_\bs_\be_\br_\b _\bm_\bo_\bd_\be_\bl.\n-Warning\n+Avvertimento\n You cannot change the AUTH_USER_MODEL setting during the lifetime of a project\n (i.e. once you have made and migrated models that depend on it) without serious\n effort. It is intended to be set at the project start, and the model it refers\n to must be available in the first migration of the app that it lives in. See\n _\bS_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bn_\bg_\b _\ba_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bU_\bs_\be_\br_\b _\bm_\bo_\bd_\be_\bl for more details.\n *\b**\b**\b**\b* L\bLO\bOG\bGI\bIN\bN_\b_R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bT_\b_U\bUR\bRL\bL_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: '/accounts/profile/'\n@@ -1592,15 +1592,15 @@\n The URL or _\bn_\ba_\bm_\be_\bd_\b _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn where requests are redirected after logout if\n _\bL_\bo_\bg_\bo_\bu_\bt_\bV_\bi_\be_\bw doesn\u2019t have a next_page attribute.\n If None, no redirect will be performed and the logout view will be rendered.\n *\b**\b**\b**\b* P\bPA\bAS\bSS\bSW\bWO\bOR\bRD\bD_\b_R\bRE\bES\bSE\bET\bT_\b_T\bTI\bIM\bME\bEO\bOU\bUT\bT_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 259200 (3 days, in seconds)\n The number of seconds a password reset link is valid for.\n Used by the _\bP_\ba_\bs_\bs_\bw_\bo_\br_\bd_\bR_\be_\bs_\be_\bt_\bC_\bo_\bn_\bf_\bi_\br_\bm_\bV_\bi_\be_\bw.\n-Note\n+Nota\n Reducing the value of this timeout doesn\u2019t make any difference to the ability\n of an attacker to brute-force a password reset token. Tokens are designed to be\n safe from brute-forcing without any timeout.\n This timeout exists to protect against some unlikely attack scenarios, such as\n someone gaining access to email archives that may contain old, unused password\n reset tokens.\n *\b**\b**\b**\b* P\bPA\bAS\bSS\bSW\bWO\bOR\bRD\bD_\b_H\bHA\bAS\bSH\bHE\bER\bRS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -1728,21 +1728,21 @@\n arrives from an external link.\n In the GitHub scenario, the session cookie would be allowed when\n following a regular link from an external website and be blocked in CSRF-\n prone request methods (e.g. POST).\n * 'None' (string): the session cookie will be sent with all same-site and\n cross-site requests.\n * False: disables the flag.\n-Note\n+Nota\n Modern browsers provide a more secure default policy for the SameSite flag and\n will assume Lax for cookies without an explicit value set.\n *\b**\b**\b**\b* S\bSE\bES\bSS\bSI\bIO\bON\bN_\b_C\bCO\bOO\bOK\bKI\bIE\bE_\b_S\bSE\bEC\bCU\bUR\bRE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: False\n Whether to use a secure cookie for the session cookie. If this is set to True,\n-the cookie will be marked as \u201csecure\u201d, which means browsers may ensure that the\n+the cookie will be marked as \u00absecure\u00bb, which means browsers may ensure that the\n cookie is only sent under an HTTPS connection.\n Leaving this setting off isn\u2019t a good idea because an attacker could capture an\n unencrypted session cookie with a packet sniffer and use the cookie to hijack\n the user\u2019s session.\n *\b**\b**\b**\b* S\bSE\bES\bSS\bSI\bIO\bON\bN_\b_E\bEN\bNG\bGI\bIN\bNE\bE_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: 'django.contrib.sessions.backends.db'\n Controls where Django stores session data. Included engines are:\n@@ -1787,15 +1787,15 @@\n The absolute path to the directory where _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc will collect static\n files for deployment.\n Example: \"/var/www/example.com/static/\"\n If the _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs contrib app is enabled (as in the default project template),\n the _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc management command will collect static files into this\n directory. See the how-to on _\bm_\ba_\bn_\ba_\bg_\bi_\bn_\bg_\b _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs for more details about\n usage.\n-Warning\n+Avvertimento\n This should be an initially empty destination directory for collecting your\n static files from their permanent locations into one directory for ease of\n deployment; it is n\bno\bot\bt a place to store your static files permanently. You\n should do that in directories that will be found by _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs\u2019s _\bf_\bi_\bn_\bd_\be_\br_\bs,\n which by default, are 'static/' app sub-directories and any directories you\n include in _\bS_\bT_\bA_\bT_\bI_\bC_\bF_\bI_\bL_\bE_\bS_\b__\bD_\bI_\bR_\bS).\n *\b**\b**\b**\b* S\bST\bTA\bAT\bTI\bIC\bC_\b_U\bUR\bRL\bL_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -1803,15 +1803,15 @@\n URL to use when referring to static files located in _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT.\n Example: \"static/\" or \"https://static.example.com/\"\n If not None, this will be used as the base path for _\ba_\bs_\bs_\be_\bt_\b _\bd_\be_\bf_\bi_\bn_\bi_\bt_\bi_\bo_\bn_\bs (the\n Media class) and the _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs_\b _\ba_\bp_\bp.\n It must end in a slash if set to a non-empty value.\n You may need to _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b _\bt_\bh_\be_\bs_\be_\b _\bf_\bi_\bl_\be_\bs_\b _\bt_\bo_\b _\bb_\be_\b _\bs_\be_\br_\bv_\be_\bd_\b _\bi_\bn_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt and will\n definitely need to do so _\bi_\bn_\b _\bp_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn.\n-Note\n+Nota\n If _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL is a relative path, then it will be prefixed by the server-\n provided value of SCRIPT_NAME (or / if not set). This makes it easier to serve\n a Django application in a subpath without adding an extra configuration to the\n settings.\n *\b**\b**\b**\b* S\bST\bTA\bAT\bTI\bIC\bCF\bFI\bIL\bLE\bES\bS_\b_D\bDI\bIR\bRS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default: [] (Empty list)\n This setting defines the additional locations the staticfiles app will traverse\n@@ -1830,15 +1830,15 @@\n In case you want to refer to files in one of the locations with an additional\n namespace, you can o\bop\bpt\bti\bio\bon\bna\bal\bll\bly\by provide a prefix as (prefix, path) tuples, e.g.:\n STATICFILES_DIRS = [\n # ...\n (\"downloads\", \"/opt/webfiles/stats\"),\n ]\n For example, assuming you have _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL set to 'static/', the _\bc_\bo_\bl_\bl_\be_\bc_\bt_\bs_\bt_\ba_\bt_\bi_\bc\n-management command would collect the \u201cstats\u201d files in a 'downloads'\n+management command would collect the \u00abstats\u00bb files in a 'downloads'\n subdirectory of _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT.\n This would allow you to refer to the local file '/opt/webfiles/stats/\n polls_20101022.tar.gz' with '/static/downloads/polls_20101022.tar.gz' in your\n templates, e.g.:\n \n *\b**\b**\b**\b* S\bST\bTA\bAT\bTI\bIC\bCF\bFI\bIL\bLE\bES\bS_\b_F\bFI\bIN\bND\bDE\bER\bRS\bS_\b?\b\u00b6 *\b**\b**\b**\b*\n Default:\n@@ -1853,15 +1853,15 @@\n subdirectory of each app (using\n django.contrib.staticfiles.finders.AppDirectoriesFinder). If multiple files\n with the same name are present, the first file that is found will be used.\n One finder is disabled by default:\n django.contrib.staticfiles.finders.DefaultStorageFinder. If added to your\n _\bS_\bT_\bA_\bT_\bI_\bC_\bF_\bI_\bL_\bE_\bS_\b__\bF_\bI_\bN_\bD_\bE_\bR_\bS setting, it will look for static files in the default file\n storage as defined by the default key in the _\bS_\bT_\bO_\bR_\bA_\bG_\bE_\bS setting.\n-Note\n+Nota\n When using the AppDirectoriesFinder finder, make sure your apps can be found by\n staticfiles by adding the app to the _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting of your site.\n Static file finders are currently considered a private interface, and this\n interface is thus undocumented.\n *\b**\b**\b**\b**\b* _\bC\bC_\bo\bo_\br\br_\be\be_\b _\bS\bS_\be\be_\bt\bt_\bt\bt_\bi\bi_\bn\bn_\bg\bg_\bs\bs_\b _\bT\bT_\bo\bo_\bp\bp_\bi\bi_\bc\bc_\ba\ba_\bl\bl_\b _\bI\bI_\bn\bn_\bd\bd_\be\be_\bx\bx_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* C\bCa\bac\bch\bhe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n * _\bC_\bA_\bC_\bH_\bE_\bS\n@@ -2225,16 +2225,16 @@\n # _\bL_\bo_\bg_\bg_\bi_\bn_\bg\n # _\bM_\bo_\bd_\be_\bl_\bs\n # _\bS_\be_\bc_\bu_\br_\bi_\bt_\by\n # _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n # _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg\n # _\bU_\bR_\bL_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\bc_\bh_\be_\bm_\ba_\bE_\bd_\bi_\bt_\bo_\br\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bS_\bi_\bg_\bn_\ba_\bl_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/signals.html", "source2": "./usr/share/doc/python-django-doc/html/ref/signals.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Signals — Django 5.1.4 documentation\n+ Signals — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -78,45 +79,45 @@\n
    \n \n
    \n

    Signals\u00b6

    \n

    A list of all the signals that Django sends. All built-in signals are sent\n using the send() method.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    See the documentation on the signal dispatcher for\n information regarding how to register for and receive signals.

    \n

    The authentication framework sends signals when\n a user is logged in / out.

    \n
    \n
    \n

    Model signals\u00b6

    \n

    The django.db.models.signals module defines a set of signals sent by the\n model system.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Signals can make your code harder to maintain. Consider implementing a\n helper method on a custom manager, to\n both update your models and perform additional logic, or else\n overriding model methods before using\n model signals.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Many of these signals are sent by various model methods like\n __init__() or save() that you can\n override in your own code.

    \n-

    If you override these methods on your model, you must call the parent class\u2019\n+

    If you override these methods on your model, you must call the parent class\u201d\n methods for these signals to be sent.

    \n

    Note also that Django stores signal handlers as weak references by default,\n so if your handler is a local function, it may be garbage collected. To\n prevent this, pass weak=False when you call the signal\u2019s connect().

    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Model signals sender model can be lazily referenced when connecting a\n receiver by specifying its full application label. For example, an\n Question model defined in the polls application could be referenced\n as 'polls.Question'. This sort of reference can be quite handy when\n dealing with circular import dependencies and swappable models.

    \n
    \n
    \n@@ -173,24 +174,24 @@\n

    Like pre_init, but this one is sent when the __init__() method finishes.

    \n

    Arguments sent with this signal:

    \n
    \n
    sender

    As above: the model class that just had an instance created.

    \n
    \n
    instance

    The actual instance of the model that\u2019s just been created.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    instance._state isn\u2019t set\n before sending the post_init signal, so _state attributes\n always have their default values. For example, _state.db is\n None.

    \n
    \n
    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    For performance reasons, you shouldn\u2019t perform queries in receivers of\n pre_init or post_init signals because they would be executed for\n each instance returned during queryset iteration.

    \n
    \n
    \n
    \n

    pre_save\u00b6

    \n@@ -467,15 +468,15 @@\n
    \n

    class_prepared\u00b6

    \n
    \n
    \n django.db.models.signals.class_prepared\u00b6
    \n
    \n \n-

    Sent whenever a model class has been \u201cprepared\u201d \u2013 that is, once a model has\n+

    Sent whenever a model class has been \u00abprepared\u00bb \u2013 that is, once a model has\n been defined and registered with Django\u2019s model system. Django uses this\n signal internally; it\u2019s not generally used in third-party applications.

    \n

    Since this signal is sent during the app registry population process, and\n AppConfig.ready() runs after the app\n registry is fully populated, receivers cannot be connected in that method.\n One possibility is to connect them AppConfig.__init__() instead, taking\n care not to import models or trigger calls to the app registry.

    \n@@ -596,29 +597,29 @@\n ...\n \n def ready(self):\n post_migrate.connect(my_callback, sender=self)\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you provide an AppConfig instance as the sender\n argument, please ensure that the signal is registered in\n ready(). AppConfigs are recreated for\n tests that run with a modified set of INSTALLED_APPS (such as\n when settings are overridden) and such signals should be connected for each\n new AppConfig instance.

    \n
    \n \n \n
    \n

    Request/response signals\u00b6

    \n

    Signals sent by the core framework when processing a request.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Signals can make your code harder to maintain. Consider using a\n middleware before using request/response\n signals.

    \n
    \n
    \n

    request_started\u00b6

    \n
    \n@@ -676,27 +677,27 @@\n
    \n django.test.signals.setting_changed\u00b6
    \n
    \n \n

    This signal is sent when the value of a setting is changed through the\n django.test.TestCase.settings() context manager or the\n django.test.override_settings() decorator/context manager.

    \n-

    It\u2019s actually sent twice: when the new value is applied (\u201csetup\u201d) and when the\n-original value is restored (\u201cteardown\u201d). Use the enter argument to\n+

    It\u2019s actually sent twice: when the new value is applied (\u00absetup\u00bb) and when the\n+original value is restored (\u00abteardown\u00bb). Use the enter argument to\n distinguish between the two.

    \n

    You can also import this signal from django.core.signals to avoid importing\n from django.test in non-test situations.

    \n

    Arguments sent with this signal:

    \n
    \n
    sender

    The settings handler.

    \n
    \n
    setting

    The name of the setting.

    \n
    \n
    value

    The value of the setting after the change. For settings that initially\n-don\u2019t exist, in the \u201cteardown\u201d phase, value is None.

    \n+don\u2019t exist, in the \u00abteardown\u00bb phase, value is None.

    \n
    \n
    enter

    A boolean; True if the setting is applied, False if restored.

    \n
    \n
    \n
    \n
    \n

    template_rendered\u00b6

    \n@@ -795,37 +796,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Settings

    \n+ title=\"capitolo precedente\">Settings

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Templates

    \n+ title=\"capitolo successivo\">Templates

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,33 +1,33 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* S\bSi\big\bgn\bna\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A list of all the signals that Django sends. All built-in signals are sent\n using the _\bs_\be_\bn_\bd_\b(_\b) method.\n-See also\n+Vedi anche\n See the documentation on the _\bs_\bi_\bg_\bn_\ba_\bl_\b _\bd_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br for information regarding how to\n register for and receive signals.\n The _\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk sends _\bs_\bi_\bg_\bn_\ba_\bl_\bs_\b _\bw_\bh_\be_\bn_\b _\ba_\b _\bu_\bs_\be_\br_\b _\bi_\bs_\b _\bl_\bo_\bg_\bg_\be_\bd_\b _\bi_\bn_\b _\b/_\b _\bo_\bu_\bt.\n *\b**\b**\b**\b**\b* M\bMo\bod\bde\bel\bl s\bsi\big\bgn\bna\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs_\b._\bs_\bi_\bg_\bn_\ba_\bl_\bs module defines a set of signals sent by the model\n system.\n-Warning\n+Avvertimento\n Signals can make your code harder to maintain. Consider implementing a helper\n method on a _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bm_\ba_\bn_\ba_\bg_\be_\br, to both update your models and perform additional\n logic, or else _\bo_\bv_\be_\br_\br_\bi_\bd_\bi_\bn_\bg_\b _\bm_\bo_\bd_\be_\bl_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs before using model signals.\n-Warning\n+Avvertimento\n Many of these signals are sent by various model methods like __init__() or _\bs_\ba_\bv_\be\n _\b(_\b) that you can override in your own code.\n-If you override these methods on your model, you must call the parent class\u2019\n+If you override these methods on your model, you must call the parent class\u201d\n methods for these signals to be sent.\n Note also that Django stores signal handlers as weak references by default, so\n if your handler is a local function, it may be garbage collected. To prevent\n this, pass weak=False when you call the signal\u2019s _\bc_\bo_\bn_\bn_\be_\bc_\bt_\b(_\b).\n-Note\n+Nota\n Model signals sender model can be lazily referenced when connecting a receiver\n by specifying its full application label. For example, an Question model\n defined in the polls application could be referenced as 'polls.Question'. This\n sort of reference can be quite handy when dealing with circular import\n dependencies and swappable models.\n *\b**\b**\b**\b* p\bpr\bre\be_\b_i\bin\bni\bit\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n django.db.models.signals.pre_init_\b\u00b6\n@@ -53,19 +53,19 @@\n django.db.models.signals.post_init_\b\u00b6\n Like pre_init, but this one is sent when the __init__() method finishes.\n Arguments sent with this signal:\n sender\n As above: the model class that just had an instance created.\n instance\n The actual instance of the model that\u2019s just been created.\n- Note\n+ Nota\n _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b._\b__\bs_\bt_\ba_\bt_\be isn\u2019t set before sending the post_init signal, so _state\n attributes always have their default values. For example, _state.db is\n None.\n-Warning\n+Avvertimento\n For performance reasons, you shouldn\u2019t perform queries in receivers of pre_init\n or post_init signals because they would be executed for each instance returned\n during queryset iteration.\n *\b**\b**\b**\b* p\bpr\bre\be_\b_s\bsa\bav\bve\be_\b?\b\u00b6 *\b**\b**\b**\b*\n django.db.models.signals.pre_save_\b\u00b6\n This is sent at the beginning of a model\u2019s _\bs_\ba_\bv_\be_\b(_\b) method.\n Arguments sent with this signal:\n@@ -224,15 +224,15 @@\n reverse True (Pizza contains the _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd, so this call modifies the\n reverse relation)\n model Pizza (the class of the objects removed from the Topping)\n pk_set {p.id} (since only Pizza p was removed from the relation)\n using \"default\" (since the default router sends writes here)\n *\b**\b**\b**\b* c\bcl\bla\bas\bss\bs_\b_p\bpr\bre\bep\bpa\bar\bre\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n django.db.models.signals.class_prepared_\b\u00b6\n-Sent whenever a model class has been \u201cprepared\u201d \u2013 that is, once a model has\n+Sent whenever a model class has been \u00abprepared\u00bb \u2013 that is, once a model has\n been defined and registered with Django\u2019s model system. Django uses this signal\n internally; it\u2019s not generally used in third-party applications.\n Since this signal is sent during the app registry population process, and\n _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg_\b._\br_\be_\ba_\bd_\by_\b(_\b) runs after the app registry is fully populated, receivers\n cannot be connected in that method. One possibility is to connect them\n AppConfig.__init__() instead, taking care not to import models or trigger calls\n to the app registry.\n@@ -323,23 +323,23 @@\n \n \n class MyAppConfig(AppConfig):\n ...\n \n def ready(self):\n post_migrate.connect(my_callback, sender=self)\n-Note\n+Nota\n If you provide an _\bA_\bp_\bp_\bC_\bo_\bn_\bf_\bi_\bg instance as the sender argument, please ensure that\n the signal is registered in _\br_\be_\ba_\bd_\by_\b(_\b). AppConfigs are recreated for tests that\n run with a modified set of _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS (such as when settings are\n overridden) and such signals should be connected for each new AppConfig\n instance.\n *\b**\b**\b**\b**\b* R\bRe\beq\bqu\bue\bes\bst\bt/\b/r\bre\bes\bsp\bpo\bon\bns\bse\be s\bsi\big\bgn\bna\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Signals sent by the core framework when processing a request.\n-Warning\n+Avvertimento\n Signals can make your code harder to maintain. Consider _\bu_\bs_\bi_\bn_\bg_\b _\ba_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n before using request/response signals.\n *\b**\b**\b**\b* r\bre\beq\bqu\bue\bes\bst\bt_\b_s\bst\bta\bar\brt\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n django.core.signals.request_started_\b\u00b6\n Sent when Django begins processing an HTTP request.\n Arguments sent with this signal:\n sender\n@@ -365,27 +365,27 @@\n *\b**\b**\b**\b**\b* T\bTe\bes\bst\bt s\bsi\big\bgn\bna\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Signals only sent when _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bt_\be_\bs_\bt_\bs.\n *\b**\b**\b**\b* s\bse\bet\btt\bti\bin\bng\bg_\b_c\bch\bha\ban\bng\bge\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n django.test.signals.setting_changed_\b\u00b6\n This signal is sent when the value of a setting is changed through the\n django.test.TestCase.settings() context manager or the\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bt_\be_\bs_\bt_\b._\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b) decorator/context manager.\n-It\u2019s actually sent twice: when the new value is applied (\u201csetup\u201d) and when the\n-original value is restored (\u201cteardown\u201d). Use the enter argument to distinguish\n+It\u2019s actually sent twice: when the new value is applied (\u00absetup\u00bb) and when the\n+original value is restored (\u00abteardown\u00bb). Use the enter argument to distinguish\n between the two.\n You can also import this signal from django.core.signals to avoid importing\n from django.test in non-test situations.\n Arguments sent with this signal:\n sender\n The settings handler.\n setting\n The name of the setting.\n value\n The value of the setting after the change. For settings that initially\n- don\u2019t exist, in the \u201cteardown\u201d phase, value is None.\n+ don\u2019t exist, in the \u00abteardown\u00bb phase, value is None.\n enter\n A boolean; True if the setting is applied, False if restored.\n *\b**\b**\b**\b* t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_r\bre\ben\bnd\bde\ber\bre\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n django.test.signals.template_rendered_\b\u00b6\n Sent when the test system renders a template. This signal is not emitted during\n normal operation of a Django server \u2013 it is only available during testing.\n Arguments sent with this signal:\n@@ -430,16 +430,16 @@\n # _\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bf_\bi_\bn_\bi_\bs_\bh_\be_\bd\n # _\bg_\bo_\bt_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b__\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn\n o _\bT_\be_\bs_\bt_\b _\bs_\bi_\bg_\bn_\ba_\bl_\bs\n # _\bs_\be_\bt_\bt_\bi_\bn_\bg_\b__\bc_\bh_\ba_\bn_\bg_\be_\bd\n # _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\br_\be_\bn_\bd_\be_\br_\be_\bd\n o _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bW_\br_\ba_\bp_\bp_\be_\br_\bs\n # _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\be_\bt_\bt_\bi_\bn_\bg_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/template-response.html", "source2": "./usr/share/doc/python-django-doc/html/ref/template-response.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- TemplateResponse and SimpleTemplateResponse — Django 5.1.4 documentation\n+ TemplateResponse and SimpleTemplateResponse — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -92,15 +93,15 @@\n the details of the template and context that was provided by the view to\n compute the response. The final output of the response is not computed until\n it is needed, later in the response process.

    \n
    \n

    SimpleTemplateResponse objects\u00b6

    \n
    \n
    \n-class SimpleTemplateResponse[source]\u00b6
    \n+class SimpleTemplateResponse[sorgente]\u00b6\n
    \n \n
    \n

    Attributes\u00b6

    \n
    \n
    \n SimpleTemplateResponse.template_name\u00b6
    \n@@ -117,31 +118,31 @@\n

    The context data to be used when rendering the template. It must be a\n dict.

    \n

    Example: {'foo': 123}

    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.rendered_content[source]\u00b6
    \n+SimpleTemplateResponse.rendered_content[sorgente]\u00b6\n

    The current rendered value of the response content, using the current\n template and context data.

    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.is_rendered[source]\u00b6
    \n+SimpleTemplateResponse.is_rendered[sorgente]\u00b6\n

    A boolean indicating whether the response content has been rendered.

    \n
    \n \n
    \n
    \n

    Methods\u00b6

    \n
    \n
    \n-SimpleTemplateResponse.__init__(template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)[source]\u00b6
    \n+SimpleTemplateResponse.__init__(template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)[sorgente]\u00b6\n

    Instantiates a SimpleTemplateResponse\n object with the given template, context, content type, HTTP status, and\n charset.

    \n
    \n
    template

    A backend-dependent template object (such as those returned by\n get_template()), the name of a template,\n or a list of template names.

    \n@@ -166,35 +167,35 @@\n
    headers

    A dict of HTTP headers to add to the response.

    \n
    \n
    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.resolve_context(context)[source]\u00b6
    \n+SimpleTemplateResponse.resolve_context(context)[sorgente]\u00b6\n

    Preprocesses context data that will be used for rendering a template.\n Accepts a dict of context data. By default, returns the same\n dict.

    \n

    Override this method in order to customize the context.

    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.resolve_template(template)[source]\u00b6
    \n+SimpleTemplateResponse.resolve_template(template)[sorgente]\u00b6\n

    Resolves the template instance to use for rendering. Accepts a\n backend-dependent template object (such as those returned by\n get_template()), the name of a template,\n or a list of template names.

    \n

    Returns the backend-dependent template object instance to be rendered.

    \n

    Override this method in order to customize template loading.

    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.add_post_render_callback()[source]\u00b6
    \n+SimpleTemplateResponse.add_post_render_callback()[sorgente]\u00b6\n

    Add a callback that will be invoked after rendering has taken\n place. This hook can be used to defer certain processing\n operations (such as caching) until after rendering has occurred.

    \n

    If the SimpleTemplateResponse\n has already been rendered, the callback will be invoked\n immediately.

    \n

    When called, callbacks will be passed a single argument \u2013 the\n@@ -203,39 +204,39 @@\n

    If the callback returns a value that is not None, this will be\n used as the response instead of the original response object (and\n will be passed to the next post rendering callback etc.)

    \n
    \n \n
    \n
    \n-SimpleTemplateResponse.render()[source]\u00b6
    \n+SimpleTemplateResponse.render()[sorgente]\u00b6\n

    Sets response.content to the result obtained by\n SimpleTemplateResponse.rendered_content, runs all post-rendering\n callbacks, and returns the resulting response object.

    \n

    render() will only have an effect the first time it is called. On\n subsequent calls, it will return the result obtained from the first call.

    \n
    \n \n
    \n
    \n
    \n

    TemplateResponse objects\u00b6

    \n
    \n
    \n-class TemplateResponse[source]\u00b6
    \n+class TemplateResponse[sorgente]\u00b6\n

    TemplateResponse is a subclass of\n SimpleTemplateResponse that knows about\n the current HttpRequest.

    \n
    \n \n
    \n

    Methods\u00b6

    \n
    \n
    \n-TemplateResponse.__init__(request, template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)[source]\u00b6
    \n+TemplateResponse.__init__(request, template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)[sorgente]\u00b6\n

    Instantiates a TemplateResponse object\n with the given request, template, context, content type, HTTP status, and\n charset.

    \n
    \n
    request

    An HttpRequest instance.

    \n
    \n
    template

    A backend-dependent template object (such as those returned by\n@@ -400,37 +401,37 @@\n

  • Using TemplateResponse and SimpleTemplateResponse
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The Django template language: for Python programmers

    \n+ title=\"capitolo precedente\">The Django template language: for Python programmers

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Unicode data

    \n+ title=\"capitolo successivo\">Unicode data

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\beR\bRe\bes\bsp\bpo\bon\bns\bse\be a\ban\bnd\bd S\bSi\bim\bmp\bpl\ble\beT\bTe\bem\bmp\bpl\bla\bat\bte\beR\bRe\bes\bsp\bpo\bon\bns\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Standard _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be objects are static structures. They are provided with a\n block of pre-rendered content at time of construction, and while that content\n can be modified, it isn\u2019t in a form that makes it easy to perform\n modifications.\n@@ -12,33 +12,33 @@\n context.\n TemplateResponse provides a way to do just that. Unlike basic _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n objects, TemplateResponse objects retain the details of the template and\n context that was provided by the view to compute the response. The final output\n of the response is not computed until it is needed, later in the response\n process.\n *\b**\b**\b**\b**\b* S\bSi\bim\bmp\bpl\ble\beT\bTe\bem\bmp\bpl\bla\bat\bte\beR\bRe\bes\bsp\bpo\bon\bns\bse\be o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SimpleTemplateResponse_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SimpleTemplateResponse_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* A\bAt\btt\btr\bri\bib\bbu\but\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n SimpleTemplateResponse.template_name_\b\u00b6\n The name of the template to be rendered. Accepts a backend-dependent\n template object (such as those returned by _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)), the name of a\n template, or a list of template names.\n Example: ['foo.html', 'path/to/bar.html']\n SimpleTemplateResponse.context_data_\b\u00b6\n The context data to be used when rendering the template. It must be a\n _\bd_\bi_\bc_\bt.\n Example: {'foo': 123}\n- SimpleTemplateResponse.rendered_content_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.rendered_content_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The current rendered value of the response content, using the current\n template and context data.\n- SimpleTemplateResponse.is_rendered_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.is_rendered_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A boolean indicating whether the response content has been rendered.\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n SimpleTemplateResponse.__init__(t\bte\bem\bmp\bpl\bla\bat\bte\be, c\bco\bon\bnt\bte\bex\bxt\bt=\b=N\bNo\bon\bne\be, c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be,\n- s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, c\bch\bha\bar\brs\bse\bet\bt=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhe\bea\bad\bde\ber\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, c\bch\bha\bar\brs\bse\bet\bt=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhe\bea\bad\bde\ber\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Instantiates a _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be object with the given template,\n context, content type, HTTP status, and charset.\n template\n A backend-dependent template object (such as those returned by\n _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)), the name of a template, or a list of template\n names.\n context\n@@ -55,48 +55,48 @@\n The charset in which the response will be encoded. If not given it\n will be extracted from content_type, and if that is unsuccessful,\n the _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT setting will be used.\n using\n The _\bN_\bA_\bM_\bE of a template engine to use for loading the template.\n headers\n A _\bd_\bi_\bc_\bt of HTTP headers to add to the response.\n- SimpleTemplateResponse.resolve_context(c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.resolve_context(c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Preprocesses context data that will be used for rendering a template.\n Accepts a _\bd_\bi_\bc_\bt of context data. By default, returns the same _\bd_\bi_\bc_\bt.\n Override this method in order to customize the context.\n- SimpleTemplateResponse.resolve_template(t\bte\bem\bmp\bpl\bla\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.resolve_template(t\bte\bem\bmp\bpl\bla\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Resolves the template instance to use for rendering. Accepts a backend-\n dependent template object (such as those returned by _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)), the\n name of a template, or a list of template names.\n Returns the backend-dependent template object instance to be rendered.\n Override this method in order to customize template loading.\n- SimpleTemplateResponse.add_post_render_callback()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.add_post_render_callback()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Add a callback that will be invoked after rendering has taken place. This\n hook can be used to defer certain processing operations (such as caching)\n until after rendering has occurred.\n If the _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be has already been rendered, the callback\n will be invoked immediately.\n When called, callbacks will be passed a single argument \u2013 the rendered\n _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be instance.\n If the callback returns a value that is not None, this will be used as\n the response instead of the original response object (and will be passed\n to the next post rendering callback etc.)\n- SimpleTemplateResponse.render()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ SimpleTemplateResponse.render()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Sets response.content to the result obtained by\n _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b._\br_\be_\bn_\bd_\be_\br_\be_\bd_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt, runs all post-rendering\n callbacks, and returns the resulting response object.\n render() will only have an effect the first time it is called. On\n subsequent calls, it will return the result obtained from the first call.\n *\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\beR\bRe\bes\bsp\bpo\bon\bns\bse\be o\bob\bbj\bje\bec\bct\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs TemplateResponse_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs TemplateResponse_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n TemplateResponse is a subclass of _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be that knows about\n the current _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt.\n *\b**\b**\b**\b* M\bMe\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n TemplateResponse.__init__(r\bre\beq\bqu\bue\bes\bst\bt, t\bte\bem\bmp\bpl\bla\bat\bte\be, c\bco\bon\bnt\bte\bex\bxt\bt=\b=N\bNo\bon\bne\be, c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be,\n- s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, c\bch\bha\bar\brs\bse\bet\bt=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhe\bea\bad\bde\ber\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, c\bch\bha\bar\brs\bse\bet\bt=\b=N\bNo\bon\bne\be, u\bus\bsi\bin\bng\bg=\b=N\bNo\bon\bne\be, h\bhe\bea\bad\bde\ber\brs\bs=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Instantiates a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be object with the given request, template,\n context, content type, HTTP status, and charset.\n request\n An _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt instance.\n template\n A backend-dependent template object (such as those returned by\n _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b)), the name of a template, or a list of template\n@@ -208,16 +208,16 @@\n # _\bA_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n # _\bM_\be_\bt_\bh_\bo_\bd_\bs\n o _\bT_\bh_\be_\b _\br_\be_\bn_\bd_\be_\br_\bi_\bn_\bg_\b _\bp_\br_\bo_\bc_\be_\bs_\bs\n # _\bP_\bo_\bs_\bt_\b-_\br_\be_\bn_\bd_\be_\br_\b _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\bs\n o _\bU_\bs_\bi_\bn_\bg_\b _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bn_\bd_\b _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b:_\b _\bf_\bo_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bp_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bU_\bn_\bi_\bc_\bo_\bd_\be_\b _\bd_\ba_\bt_\ba\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/templates/api.html", "source2": "./usr/share/doc/python-django-doc/html/ref/templates/api.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The Django template language: for Python programmers — Django 5.1.4 documentation\n+ The Django template language: for Python programmers — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -115,30 +116,30 @@\n backend, this probably isn\u2019t the documentation you\u2019re looking for. An instance\n of the Engine class described below is accessible using the engine\n attribute of that backend and any attribute defaults mentioned below are\n overridden by what\u2019s passed by\n DjangoTemplates.

    \n
    \n
    \n-class Engine(dirs=None, app_dirs=False, context_processors=None, debug=False, loaders=None, string_if_invalid='', file_charset='utf-8', libraries=None, builtins=None, autoescape=True)[source]\u00b6
    \n+class Engine(dirs=None, app_dirs=False, context_processors=None, debug=False, loaders=None, string_if_invalid='', file_charset='utf-8', libraries=None, builtins=None, autoescape=True)[sorgente]\u00b6\n

    When instantiating an Engine all arguments must be passed as keyword\n arguments:

    \n
      \n
    • dirs is a list of directories where the engine should look for\n template source files. It is used to configure\n filesystem.Loader.

      \n

      It defaults to an empty list.

      \n
    • \n
    • app_dirs only affects the default value of loaders. See below.

      \n

      It defaults to False.

      \n
    • \n
    • autoescape controls whether HTML autoescaping is enabled.

      \n

      It defaults to True.

      \n
      \n-

      Warning

      \n+

      Avvertimento

      \n

      Only set it to False if you\u2019re rendering non-HTML templates!

      \n
      \n
    • \n
    • context_processors is a list of dotted Python paths to callables\n that are used to populate the context when a template is rendered with a\n request. These callables take a request object as their argument and\n return a dict of items to be merged into the context.

      \n@@ -199,39 +200,39 @@\n the {% load %} tag.

      \n
    • \n
    \n
    \n \n
    \n
    \n-static Engine.get_default()[source]\u00b6
    \n+static Engine.get_default()[sorgente]\u00b6\n

    Returns the underlying Engine from the first configured\n DjangoTemplates engine. Raises\n ImproperlyConfigured if no engines are\n configured.

    \n

    It\u2019s required for preserving APIs that rely on a globally available,\n implicitly configured engine. Any other use is strongly discouraged.

    \n
    \n \n
    \n
    \n-Engine.from_string(template_code)[source]\u00b6
    \n+Engine.from_string(template_code)[sorgente]\u00b6\n

    Compiles the given template code and returns a Template object.

    \n
    \n \n
    \n
    \n-Engine.get_template(template_name)[source]\u00b6
    \n+Engine.get_template(template_name)[sorgente]\u00b6\n

    Loads a template with the given name, compiles it and returns a\n Template object.

    \n
    \n \n
    \n
    \n-Engine.select_template(template_name_list)[source]\u00b6
    \n+Engine.select_template(template_name_list)[sorgente]\u00b6\n

    Like get_template(), except it takes a list of names\n and returns the first template that was found.

    \n
    \n \n \n
    \n

    Loading a template\u00b6

    \n@@ -241,15 +242,15 @@\n

    In a Django project where the TEMPLATES setting defines a\n DjangoTemplates engine, it\u2019s\n possible to instantiate a Template directly. If more than one\n DjangoTemplates engine is defined,\n the first one will be used.

    \n
    \n
    \n-class Template[source]\u00b6
    \n+class Template[sorgente]\u00b6\n

    This class lives at django.template.Template. The constructor takes\n one argument \u2014 the raw template code:

    \n
    from django.template import Template\n \n template = Template("My name is {{ my_name }}.")\n 
    \n
    \n@@ -267,23 +268,23 @@\n
    \n

    Rendering a context\u00b6

    \n

    Once you have a compiled Template object, you can render a context\n with it. You can reuse the same template to render it several times with\n different contexts.

    \n
    \n
    \n-class Context(dict_=None, autoescape=True, use_l10n=None, use_tz=None)[source]\u00b6
    \n+class Context(dict_=None, autoescape=True, use_l10n=None, use_tz=None)[sorgente]\u00b6\n

    The constructor of django.template.Context takes an optional argument \u2014\n a dictionary mapping variable names to variable values.

    \n

    Three optional keyword arguments can also be specified:

    \n
      \n
    • autoescape controls whether HTML autoescaping is enabled.

      \n

      It defaults to True.

      \n
      \n-

      Warning

      \n+

      Avvertimento

      \n

      Only set it to False if you\u2019re rendering non-HTML templates!

      \n
      \n
    • \n
    • use_l10n overrides whether values will be localized by default. If\n set to True numbers and dates will be formatted based on locale.

      \n

      It defaults to None.

      \n

      See Controlling localization in templates for details.

      \n@@ -296,17 +297,17 @@\n
    • \n
    \n

    For example usage, see Playing with Context objects below.

    \n
    \n \n
    \n
    \n-Template.render(context)[source]\u00b6
    \n+Template.render(context)[sorgente]\u00b6\n

    Call the Template object\u2019s render() method with a\n-Context to \u201cfill\u201d the template:

    \n+Context to \u00abfill\u00bb the template:

    \n
    >>> from django.template import Context, Template\n >>> template = Template("My name is {{ my_name }}.")\n \n >>> context = Context({"my_name": "Adrian"})\n >>> template.render(context)\n "My name is Adrian."\n \n@@ -325,16 +326,16 @@\n signifies a lookup. Specifically, when the template system encounters a\n dot in a variable name, it tries the following lookups, in this order:

    \n
      \n
    • Dictionary lookup. Example: foo["bar"]

    • \n
    • Attribute lookup. Example: foo.bar

    • \n
    • List-index lookup. Example: foo[bar]

    • \n
    \n-

    Note that \u201cbar\u201d in a template expression like {{ foo.bar }} will be\n-interpreted as a literal string and not using the value of the variable \u201cbar\u201d,\n+

    Note that \u00abbar\u00bb in a template expression like {{ foo.bar }} will be\n+interpreted as a literal string and not using the value of the variable \u00abbar\u00bb,\n if one exists in the template context.

    \n

    The template system uses the first lookup type that works. It\u2019s short-circuit\n logic. Here are a few examples:

    \n
    >>> from django.template import Context, Template\n >>> t = Template("My name is {{ person.first_name }}.")\n >>> d = {"person": {"first_name": "Joe", "last_name": "Johnson"}}\n >>> t.render(Context(d))\n@@ -455,15 +456,15 @@\n tags, the variable will be interpreted as None. Filters are always\n applied to invalid variables within these template tags.

    \n

    If string_if_invalid contains a '%s', the format marker will be\n replaced with the name of the invalid variable.

    \n
    \n

    For debug purposes only!

    \n

    While string_if_invalid can be a useful debugging tool, it is a bad\n-idea to turn it on as a \u2018development default\u2019.

    \n+idea to turn it on as a \u201cdevelopment default\u201d.

    \n

    Many templates, including some of Django\u2019s, rely upon the silence of the\n template system when a nonexistent variable is encountered. If you assign a\n value other than '' to string_if_invalid, you will experience\n rendering problems with these templates and sites.

    \n

    Generally, string_if_invalid should only be enabled in order to debug\n a specific template problem, then cleared once debugging is complete.

    \n
    \n@@ -539,15 +540,15 @@\n
    \n
    \n Context.push()\u00b6
    \n
    \n \n
    \n
    \n-exception ContextPopException[source]\u00b6
    \n+exception ContextPopException[sorgente]\u00b6\n
    \n \n

    A Context object is a stack. That is, you can push() and pop() it.\n If you pop() too much, it\u2019ll raise\n django.template.ContextPopException:

    \n
    >>> c = Context()\n >>> c["foo"] = "first level"\n@@ -592,15 +593,15 @@\n 'second level'\n >>> c["foo"]\n 'first level'\n 
    \n
    \n
    \n
    \n-Context.update(other_dict)[source]\u00b6
    \n+Context.update(other_dict)[sorgente]\u00b6\n
    \n \n

    In addition to push() and pop(), the Context\n object also defines an update() method. This works like push()\n but takes a dictionary as an argument and pushes that dictionary onto\n the stack instead of an empty one.

    \n
    >>> c = Context()\n@@ -672,15 +673,15 @@\n         )\n 
    \n
    \n
    \n

    Using RequestContext\u00b6

    \n
    \n
    \n-class RequestContext(request, dict_=None, processors=None, use_l10n=None, use_tz=None, autoescape=True)[source]\u00b6
    \n+class RequestContext(request, dict_=None, processors=None, use_l10n=None, use_tz=None, autoescape=True)[sorgente]\u00b6\n
    \n \n

    Django comes with a special Context class,\n django.template.RequestContext, that acts slightly differently from the\n normal django.template.Context. The first difference is that it takes an\n HttpRequest as its first argument. For example:

    \n
    c = RequestContext(\n@@ -762,15 +763,15 @@\n 
    \n

    Built-in template context processors\u00b6

    \n

    Here\u2019s what each of the built-in processors does:

    \n
    \n

    django.contrib.auth.context_processors.auth\u00b6

    \n
    \n
    \n-auth(request)[source]\u00b6
    \n+auth(request)[sorgente]\u00b6\n
    \n \n

    If this processor is enabled, every RequestContext will contain these\n variables:

    \n
      \n
    • user \u2013 An auth.User instance representing the currently\n logged-in user (or an AnonymousUser instance, if the client isn\u2019t\n@@ -780,15 +781,15 @@\n permissions that the currently logged-in user has.

    • \n
    \n
    \n
    \n

    django.template.context_processors.debug\u00b6

    \n
    \n
    \n-debug(request)[source]\u00b6
    \n+debug(request)[sorgente]\u00b6\n
    \n \n

    If this processor is enabled, every RequestContext will contain these two\n variables \u2013 but only if your DEBUG setting is set to True and\n the request\u2019s IP address (request.META['REMOTE_ADDR']) is in the\n INTERNAL_IPS setting:

    \n
      \n@@ -800,15 +801,15 @@\n query. It\u2019s lazily generated on access.

      \n
    \n
    \n
    \n

    django.template.context_processors.i18n\u00b6

    \n
    \n
    \n-i18n(request)[source]\u00b6
    \n+i18n(request)[sorgente]\u00b6\n
    \n \n

    If this processor is enabled, every RequestContext will contain these\n variables:

    \n
      \n
    • LANGUAGES \u2013 The value of the LANGUAGES setting.

    • \n
    • LANGUAGE_BIDI \u2013 True if the current language is a right-to-left\n@@ -825,15 +826,15 @@\n

      If this processor is enabled, every RequestContext will contain a variable\n MEDIA_URL, providing the value of the MEDIA_URL setting.

      \n
    \n
    \n

    django.template.context_processors.static\u00b6

    \n
    \n
    \n-static(request)[source]\u00b6
    \n+static(request)[sorgente]\u00b6\n
    \n \n

    If this processor is enabled, every RequestContext will contain a variable\n STATIC_URL, providing the value of the STATIC_URL setting.

    \n
    \n
    \n

    django.template.context_processors.csrf\u00b6

    \n@@ -845,15 +846,15 @@\n

    If this processor is enabled, every RequestContext will contain a variable\n request, which is the current HttpRequest.

    \n
    \n
    \n

    django.template.context_processors.tz\u00b6

    \n
    \n
    \n-tz(request)[source]\u00b6
    \n+tz(request)[sorgente]\u00b6\n
    \n \n

    If this processor is enabled, every RequestContext will contain a variable\n TIME_ZONE, providing the name of the currently active time zone.

    \n
    \n
    \n

    django.contrib.messages.context_processors.messages\u00b6

    \n@@ -892,15 +893,15 @@\n
    \n
    \n

    Loading templates\u00b6

    \n

    Generally, you\u2019ll store templates in files on your filesystem rather than\n using the low-level Template API yourself. Save\n templates in a directory specified as a template directory.

    \n

    Django searches for template directories in a number of places, depending on\n-your template loading settings (see \u201cLoader types\u201d below), but the most basic\n+your template loading settings (see \u00abLoader types\u00bb below), but the most basic\n way of specifying template directories is by using the DIRS option.

    \n
    \n

    The DIRS option\u00b6

    \n

    Tell Django what your template directories are by using the DIRS option in the TEMPLATES setting in your settings\n file \u2014 or the dirs argument of Engine. This\n should be set to a list of strings that contain full paths to your template\n directories:

    \n@@ -1039,15 +1040,15 @@\n ],\n },\n }\n ]\n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    All of the built-in Django template tags are safe to use with the\n cached loader, but if you\u2019re using custom template tags that come from\n third party packages, or that you wrote yourself, you should ensure\n that the Node implementation for each tag is thread-safe. For more\n information, see template tag thread safety considerations.

    \n
    \n
    \n@@ -1088,19 +1089,19 @@\n loaders. Custom Loader classes should inherit from\n django.template.loaders.base.Loader and define the get_contents() and\n get_template_sources() methods.

    \n
    \n

    Loader methods\u00b6

    \n
    \n
    \n-class Loader[source]\u00b6
    \n+class Loader[sorgente]\u00b6\n

    Loads templates from a given source, such as the filesystem or a database.

    \n
    \n
    \n-get_template_sources(template_name)[source]\u00b6
    \n+get_template_sources(template_name)[sorgente]\u00b6\n

    A method that takes a template_name and yields\n Origin instances for each possible\n source.

    \n

    For example, the filesystem loader may receive 'index.html' as a\n template_name argument. This method would yield origins for the\n full path of index.html as it appears in each template directory\n the loader looks at.

    \n@@ -1119,15 +1120,15 @@\n filesystem, or a database loader would read from the database. If a\n matching template doesn\u2019t exist, this should raise a\n TemplateDoesNotExist error.

    \n
    \n \n
    \n
    \n-get_template(template_name, skip=None)[source]\u00b6
    \n+get_template(template_name, skip=None)[sorgente]\u00b6\n

    Returns a Template object for a given template_name by looping\n through results from get_template_sources() and calling\n get_contents(). This returns the first matching template. If no\n template is found, TemplateDoesNotExist is\n raised.

    \n

    The optional skip argument is a list of origins to ignore when\n extending templates. This allow templates to extend other templates of\n@@ -1147,15 +1148,15 @@\n

    \n
    \n

    Template origin\u00b6

    \n

    Templates have an origin containing attributes depending on the source\n they are loaded from.

    \n
    \n
    \n-class Origin(name, template_name=None, loader=None)[source]\u00b6
    \n+class Origin(name, template_name=None, loader=None)[sorgente]\u00b6\n
    \n
    \n name\u00b6
    \n

    The path to the template as returned by the template loader.\n For loaders that read from the file system, this is the full\n path to the template.

    \n

    If the template is instantiated directly rather than through a\n@@ -1240,37 +1241,37 @@\n

  • Template origin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Built-in template tags and filters

    \n+ title=\"capitolo precedente\">Built-in template tags and filters

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    TemplateResponse and SimpleTemplateResponse

    \n+ title=\"capitolo successivo\">TemplateResponse and SimpleTemplateResponse

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n
    \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be D\bDj\bja\ban\bng\bgo\bo t\bte\bem\bmp\bpl\bla\bat\bte\be l\bla\ban\bng\bgu\bua\bag\bge\be:\b: f\bfo\bor\br P\bPy\byt\bth\bho\bon\bn p\bpr\bro\bog\bgr\bra\bam\bmm\bme\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains the Django template system from a technical perspective\n \u2013 how it works and how to extend it. If you\u2019re looking for reference on the\n language syntax, see _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be.\n It assumes an understanding of templates, contexts, variables, tags, and\n@@ -29,25 +29,25 @@\n If you are using the _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs backend, this probably isn\u2019t the\n documentation you\u2019re looking for. An instance of the Engine class described\n below is accessible using the engine attribute of that backend and any\n attribute defaults mentioned below are overridden by what\u2019s passed by\n _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs.\n c\bcl\bla\bas\bss\bs Engine(d\bdi\bir\brs\bs=\b=N\bNo\bon\bne\be, a\bap\bpp\bp_\b_d\bdi\bir\brs\bs=\b=F\bFa\bal\bls\bse\be, c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs=\b=N\bNo\bon\bne\be, d\bde\beb\bbu\bug\bg=\b=F\bFa\bal\bls\bse\be,\n l\blo\boa\bad\bde\ber\brs\bs=\b=N\bNo\bon\bne\be, s\bst\btr\bri\bin\bng\bg_\b_i\bif\bf_\b_i\bin\bnv\bva\bal\bli\bid\bd=\b='\b''\b', f\bfi\bil\ble\be_\b_c\bch\bha\bar\brs\bse\bet\bt=\b='\b'u\but\btf\bf-\b-8\b8'\b', l\bli\bib\bbr\bra\bar\bri\bie\bes\bs=\b=N\bNo\bon\bne\be,\n- b\bbu\bui\bil\blt\bti\bin\bns\bs=\b=N\bNo\bon\bne\be, a\bau\but\bto\boe\bes\bsc\bca\bap\bpe\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ b\bbu\bui\bil\blt\bti\bin\bns\bs=\b=N\bNo\bon\bne\be, a\bau\but\bto\boe\bes\bsc\bca\bap\bpe\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n When instantiating an Engine all arguments must be passed as keyword\n arguments:\n * dirs is a list of directories where the engine should look for\n template source files. It is used to configure _\bf_\bi_\bl_\be_\bs_\by_\bs_\bt_\be_\bm_\b._\bL_\bo_\ba_\bd_\be_\br.\n It defaults to an empty list.\n * app_dirs only affects the default value of loaders. See below.\n It defaults to False.\n * autoescape controls whether HTML autoescaping is enabled.\n It defaults to True.\n- Warning\n+ Avvertimento\n Only set it to False if you\u2019re rendering non-HTML templates!\n * context_processors is a list of dotted Python paths to callables\n that are used to populate the context when a template is rendered\n with a request. These callables take a request object as their\n argument and return a _\bd_\bi_\bc_\bt of items to be merged into the context.\n It defaults to an empty list.\n See _\bR_\be_\bq_\bu_\be_\bs_\bt_\bC_\bo_\bn_\bt_\be_\bx_\bt for more information.\n@@ -90,34 +90,34 @@\n * 'builtins': A list of dotted Python paths of template tag modules\n to add to _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\bs. For example:\n Engine(\n builtins=[\"myapp.builtins\"],\n )\n Tags and filters from built-in libraries can be used without first\n calling the _\b{_\b%_\b _\bl_\bo_\ba_\bd_\b _\b%_\b} tag.\n- s\bst\bta\bat\bti\bic\bc Engine.get_default()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ s\bst\bta\bat\bti\bic\bc Engine.get_default()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the underlying _\bE_\bn_\bg_\bi_\bn_\be from the first configured _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n engine. Raises _\bI_\bm_\bp_\br_\bo_\bp_\be_\br_\bl_\by_\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\bd if no engines are configured.\n It\u2019s required for preserving APIs that rely on a globally available,\n implicitly configured engine. Any other use is strongly discouraged.\n- Engine.from_string(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_c\bco\bod\bde\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Engine.from_string(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_c\bco\bod\bde\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Compiles the given template code and returns a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be object.\n- Engine.get_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Engine.get_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Loads a template with the given name, compiles it and returns a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be\n object.\n- Engine.select_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be_\b_l\bli\bis\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Engine.select_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be_\b_l\bli\bis\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b), except it takes a list of names and returns the\n first template that was found.\n *\b**\b**\b**\b**\b* L\bLo\boa\bad\bdi\bin\bng\bg a\ba t\bte\bem\bmp\bpl\bla\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The recommended way to create a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be is by calling the factory methods of\n the _\bE_\bn_\bg_\bi_\bn_\be: _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b), _\bs_\be_\bl_\be_\bc_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b(_\b) and _\bf_\br_\bo_\bm_\b__\bs_\bt_\br_\bi_\bn_\bg_\b(_\b).\n In a Django project where the _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS setting defines a _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n engine, it\u2019s possible to instantiate a _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be directly. If more than one\n _\bD_\bj_\ba_\bn_\bg_\bo_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs engine is defined, the first one will be used.\n- c\bcl\bla\bas\bss\bs Template_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Template_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This class lives at django.template.Template. The constructor takes one\n argument \u2014 the raw template code:\n from django.template import Template\n \n template = Template(\"My name is {{ my_name }}.\")\n Behind the scenes\n The system only parses your raw template code once \u2013 when you create the\n@@ -125,34 +125,34 @@\n performance.\n Even the parsing itself is quite fast. Most of the parsing happens via a single\n call to a single, short, regular expression.\n *\b**\b**\b**\b**\b* R\bRe\ben\bnd\bde\ber\bri\bin\bng\bg a\ba c\bco\bon\bnt\bte\bex\bxt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Once you have a compiled _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be object, you can render a context with it. You\n can reuse the same template to render it several times with different contexts.\n c\bcl\bla\bas\bss\bs Context(d\bdi\bic\bct\bt_\b_=\b=N\bNo\bon\bne\be, a\bau\but\bto\boe\bes\bsc\bca\bap\bpe\be=\b=T\bTr\bru\bue\be, u\bus\bse\be_\b_l\bl1\b10\b0n\bn=\b=N\bNo\bon\bne\be, u\bus\bse\be_\b_t\btz\bz=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The constructor of django.template.Context takes an optional argument \u2014 a\n dictionary mapping variable names to variable values.\n Three optional keyword arguments can also be specified:\n * autoescape controls whether HTML autoescaping is enabled.\n It defaults to True.\n- Warning\n+ Avvertimento\n Only set it to False if you\u2019re rendering non-HTML templates!\n * use_l10n overrides whether values will be localized by default. If\n set to True numbers and dates will be formatted based on locale.\n It defaults to None.\n See _\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\bi_\bn_\bg_\b _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs for details.\n * use_tz overrides whether dates are converted to the local time when\n rendered in a template. If set to True all dates will be rendered\n using the local timezone. This takes precedence over _\bU_\bS_\bE_\b__\bT_\bZ.\n It defaults to None.\n See _\bT_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\b _\ba_\bw_\ba_\br_\be_\b _\bo_\bu_\bt_\bp_\bu_\bt_\b _\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs for details.\n For example usage, see _\bP_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs below.\n- Template.render(c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Call the _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be object\u2019s render() method with a _\bC_\bo_\bn_\bt_\be_\bx_\bt to \u201cfill\u201d the\n+ Template.render(c\bco\bon\bnt\bte\bex\bxt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Call the _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be object\u2019s render() method with a _\bC_\bo_\bn_\bt_\be_\bx_\bt to \u00abfill\u00bb the\n template:\n >>> from django.template import Context, Template\n >>> template = Template(\"My name is {{ my_name }}.\")\n \n >>> context = Context({\"my_name\": \"Adrian\"})\n >>> template.render(context)\n \"My name is Adrian.\"\n@@ -165,16 +165,16 @@\n (but they must not start with an underscore) or a dot.\n Dots have a special meaning in template rendering. A dot in a variable name\n signifies a l\blo\boo\bok\bku\bup\bp. Specifically, when the template system encounters a dot in\n a variable name, it tries the following lookups, in this order:\n * Dictionary lookup. Example: foo[\"bar\"]\n * Attribute lookup. Example: foo.bar\n * List-index lookup. Example: foo[bar]\n-Note that \u201cbar\u201d in a template expression like {{ foo.bar }} will be interpreted\n-as a literal string and not using the value of the variable \u201cbar\u201d, if one\n+Note that \u00abbar\u00bb in a template expression like {{ foo.bar }} will be interpreted\n+as a literal string and not using the value of the variable \u00abbar\u00bb, if one\n exists in the template context.\n The template system uses the first lookup type that works. It\u2019s short-circuit\n logic. Here are a few examples:\n >>> from django.template import Context, Template\n >>> t = Template(\"My name is {{ person.first_name }}.\")\n >>> d = {\"person\": {\"first_name\": \"Joe\", \"last_name\": \"Johnson\"}}\n >>> t.render(Context(d))\n@@ -270,15 +270,15 @@\n If an invalid variable is provided to one of these template tags, the variable\n will be interpreted as None. Filters are always applied to invalid variables\n within these template tags.\n If string_if_invalid contains a '%s', the format marker will be replaced with\n the name of the invalid variable.\n For debug purposes only!\n While string_if_invalid can be a useful debugging tool, it is a bad idea to\n-turn it on as a \u2018development default\u2019.\n+turn it on as a \u201cdevelopment default\u201d.\n Many templates, including some of Django\u2019s, rely upon the silence of the\n template system when a nonexistent variable is encountered. If you assign a\n value other than '' to string_if_invalid, you will experience rendering\n problems with these templates and sites.\n Generally, string_if_invalid should only be enabled in order to debug a\n specific template problem, then cleared once debugging is complete.\n *\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn v\bva\bar\bri\bia\bab\bbl\ble\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -322,15 +322,15 @@\n Returns the value for key if key is in the context, else returns\n otherwise.\n Context.setdefault(k\bke\bey\by, d\bde\bef\bfa\bau\bul\blt\bt=\b=N\bNo\bon\bne\be)_\b\u00b6\n If key is in the context, returns its value. Otherwise inserts key with a\n value of default and returns default.\n Context.pop()_\b\u00b6\n Context.push()_\b\u00b6\n- e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn ContextPopException_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn ContextPopException_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A Context object is a stack. That is, you can push() and pop() it. If you pop()\n too much, it\u2019ll raise django.template.ContextPopException:\n >>> c = Context()\n >>> c[\"foo\"] = \"first level\"\n >>> c.push()\n {}\n >>> c[\"foo\"] = \"second level\"\n@@ -364,15 +364,15 @@\n >>> c[\"foo\"] = \"first level\"\n >>> with c.push(foo=\"second level\"):\n ... c[\"foo\"]\n ...\n 'second level'\n >>> c[\"foo\"]\n 'first level'\n- Context.update(o\bot\bth\bhe\ber\br_\b_d\bdi\bic\bct\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ Context.update(o\bot\bth\bhe\ber\br_\b_d\bdi\bic\bct\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n In addition to push() and pop(), the Context object also defines an update()\n method. This works like push() but takes a dictionary as an argument and pushes\n that dictionary onto the stack instead of an empty one.\n >>> c = Context()\n >>> c[\"foo\"] = \"first level\"\n >>> c.update({\"foo\": \"updated\"})\n {'foo': 'updated'}\n@@ -425,15 +425,15 @@\n \"None\": None,\n \"False\": False,\n \"update\": \"value\",\n },\n )\n *\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg R\bRe\beq\bqu\bue\bes\bst\btC\bCo\bon\bnt\bte\bex\bxt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RequestContext(r\bre\beq\bqu\bue\bes\bst\bt, d\bdi\bic\bct\bt_\b_=\b=N\bNo\bon\bne\be, p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs=\b=N\bNo\bon\bne\be, u\bus\bse\be_\b_l\bl1\b10\b0n\bn=\b=N\bNo\bon\bne\be,\n- u\bus\bse\be_\b_t\btz\bz=\b=N\bNo\bon\bne\be, a\bau\but\bto\boe\bes\bsc\bca\bap\bpe\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ u\bus\bse\be_\b_t\btz\bz=\b=N\bNo\bon\bne\be, a\bau\but\bto\boe\bes\bsc\bca\bap\bpe\be=\b=T\bTr\bru\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Django comes with a special _\bC_\bo_\bn_\bt_\be_\bx_\bt class, django.template.RequestContext, that\n acts slightly differently from the normal django.template.Context. The first\n difference is that it takes an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt as its first argument. For example:\n c = RequestContext(\n request,\n {\n \"foo\": \"bar\",\n@@ -494,59 +494,59 @@\n },\n [ip_address_processor],\n )\n return HttpResponse(template.render(context))\n *\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn t\bte\bem\bmp\bpl\bla\bat\bte\be c\bco\bon\bnt\bte\bex\bxt\bt p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Here\u2019s what each of the built-in processors does:\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bau\but\bth\bh.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.a\bau\but\bth\bh_\b?\b\u00b6 *\b**\b**\b*\n- auth(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ auth(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If this processor is enabled, every RequestContext will contain these\n variables:\n * user \u2013 An auth.User instance representing the currently logged-in user\n (or an AnonymousUser instance, if the client isn\u2019t logged in).\n * perms \u2013 An instance of\n django.contrib.auth.context_processors.PermWrapper, representing the\n permissions that the currently logged-in user has.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.d\bde\beb\bbu\bug\bg_\b?\b\u00b6 *\b**\b**\b*\n- debug(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ debug(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If this processor is enabled, every RequestContext will contain these two\n variables \u2013 but only if your _\bD_\bE_\bB_\bU_\bG setting is set to True and the request\u2019s IP\n address (request.META['REMOTE_ADDR']) is in the _\bI_\bN_\bT_\bE_\bR_\bN_\bA_\bL_\b__\bI_\bP_\bS setting:\n * debug \u2013 True. You can use this in templates to test whether you\u2019re in\n _\bD_\bE_\bB_\bU_\bG mode.\n * sql_queries \u2013 A list of {'sql': ..., 'time': ...} dictionaries,\n representing every SQL query that has happened so far during the request\n and how long it took. The list is in order by database alias and then by\n query. It\u2019s lazily generated on access.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.i\bi1\b18\b8n\bn_\b?\b\u00b6 *\b**\b**\b*\n- i18n(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ i18n(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If this processor is enabled, every RequestContext will contain these\n variables:\n * LANGUAGES \u2013 The value of the _\bL_\bA_\bN_\bG_\bU_\bA_\bG_\bE_\bS setting.\n * LANGUAGE_BIDI \u2013 True if the current language is a right-to-left language,\n e.g. Hebrew, Arabic. False if it\u2019s a left-to-right language, e.g.\n English, French, German.\n * LANGUAGE_CODE \u2013 request.LANGUAGE_CODE, if it exists. Otherwise, the value\n of the _\bL_\bA_\bN_\bG_\bU_\bA_\bG_\bE_\b__\bC_\bO_\bD_\bE setting.\n See _\bi_\b1_\b8_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs for template tags that generate the same values.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.m\bme\bed\bdi\bia\ba_\b?\b\u00b6 *\b**\b**\b*\n If this processor is enabled, every RequestContext will contain a variable\n MEDIA_URL, providing the value of the _\bM_\bE_\bD_\bI_\bA_\b__\bU_\bR_\bL setting.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.s\bst\bta\bat\bti\bic\bc_\b?\b\u00b6 *\b**\b**\b*\n- static(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ static(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If this processor is enabled, every RequestContext will contain a variable\n STATIC_URL, providing the value of the _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL setting.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.c\bcs\bsr\brf\bf_\b?\b\u00b6 *\b**\b**\b*\n This processor adds a token that is needed by the _\bc_\bs_\br_\bf_\b__\bt_\bo_\bk_\be_\bn template tag for\n protection against _\bC_\br_\bo_\bs_\bs_\b _\bS_\bi_\bt_\be_\b _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bF_\bo_\br_\bg_\be_\br_\bi_\be_\bs.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.r\bre\beq\bqu\bue\bes\bst\bt_\b?\b\u00b6 *\b**\b**\b*\n If this processor is enabled, every RequestContext will contain a variable\n request, which is the current _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.t\bte\bem\bmp\bpl\bla\bat\bte\be.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.t\btz\bz_\b?\b\u00b6 *\b**\b**\b*\n- tz(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ tz(r\bre\beq\bqu\bue\bes\bst\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n If this processor is enabled, every RequestContext will contain a variable\n TIME_ZONE, providing the name of the currently active time zone.\n *\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.m\bme\bes\bss\bsa\bag\bge\bes\bs.\b.c\bco\bon\bnt\bte\bex\bxt\bt_\b_p\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs.\b.m\bme\bes\bss\bsa\bag\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n If this processor is enabled, every RequestContext will contain these two\n variables:\n * messages \u2013 A list of messages (as strings) that have been set via the\n _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk.\n@@ -569,15 +569,15 @@\n 'context_processors' option in your _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS setting \u2014 or the\n context_processors argument of _\bE_\bn_\bg_\bi_\bn_\be if you\u2019re using it directly.\n *\b**\b**\b**\b**\b* L\bLo\boa\bad\bdi\bin\bng\bg t\bte\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Generally, you\u2019ll store templates in files on your filesystem rather than using\n the low-level _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be API yourself. Save templates in a directory specified as\n a t\bte\bem\bmp\bpl\bla\bat\bte\be d\bdi\bir\bre\bec\bct\bto\bor\bry\by.\n Django searches for template directories in a number of places, depending on\n-your template loading settings (see \u201cLoader types\u201d below), but the most basic\n+your template loading settings (see \u00abLoader types\u00bb below), but the most basic\n way of specifying template directories is by using the _\bD_\bI_\bR_\bS option.\n *\b**\b**\b**\b* T\bTh\bhe\be _\bD\bD_\bI\bI_\bR\bR_\bS\bS o\bop\bpt\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Tell Django what your template directories are by using the _\bD_\bI_\bR_\bS option in the\n _\bT_\bE_\bM_\bP_\bL_\bA_\bT_\bE_\bS setting in your settings file \u2014 or the dirs argument of _\bE_\bn_\bg_\bi_\bn_\be. This\n should be set to a list of strings that contain full paths to your template\n directories:\n TEMPLATES = [\n@@ -687,15 +687,15 @@\n \"path.to.custom.Loader\",\n ],\n ),\n ],\n },\n }\n ]\n- Note\n+ Nota\n All of the built-in Django template tags are safe to use with the cached\n loader, but if you\u2019re using custom template tags that come from third\n party packages, or that you wrote yourself, you should ensure that the\n Node implementation for each tag is thread-safe. For more information,\n see _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\b _\bt_\bh_\br_\be_\ba_\bd_\b _\bs_\ba_\bf_\be_\bt_\by_\b _\bc_\bo_\bn_\bs_\bi_\bd_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs.\n django.template.loaders.locmem.Loader\n c\bcl\bla\bas\bss\bs locmem.Loader_\b\u00b6\n@@ -721,18 +721,18 @@\n uses each loader until a loader finds a match.\n *\b**\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bm l\blo\boa\bad\bde\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n It\u2019s possible to load templates from additional sources using custom template\n loaders. Custom Loader classes should inherit from\n django.template.loaders.base.Loader and define the get_contents() and\n get_template_sources() methods.\n *\b**\b**\b**\b* L\bLo\boa\bad\bde\ber\br m\bme\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Loader_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Loader_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Loads templates from a given source, such as the filesystem or a\n database.\n- get_template_sources(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_template_sources(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A method that takes a template_name and yields _\bO_\br_\bi_\bg_\bi_\bn instances for\n each possible source.\n For example, the filesystem loader may receive 'index.html' as a\n template_name argument. This method would yield origins for the\n full path of index.html as it appears in each template directory\n the loader looks at.\n The method doesn\u2019t need to verify that the template exists at a\n@@ -741,15 +741,15 @@\n template directory.\n get_contents(o\bor\bri\big\bgi\bin\bn)_\b\u00b6\n Returns the contents for a template given a _\bO_\br_\bi_\bg_\bi_\bn instance.\n This is where a filesystem loader would read contents from the\n filesystem, or a database loader would read from the database. If a\n matching template doesn\u2019t exist, this should raise a\n _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt error.\n- get_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be, s\bsk\bki\bip\bp=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_template(t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be, s\bsk\bki\bip\bp=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a Template object for a given template_name by looping\n through results from _\bg_\be_\bt_\b__\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b__\bs_\bo_\bu_\br_\bc_\be_\bs_\b(_\b) and calling\n _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs_\b(_\b). This returns the first matching template. If no\n template is found, _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bD_\bo_\be_\bs_\bN_\bo_\bt_\bE_\bx_\bi_\bs_\bt is raised.\n The optional skip argument is a list of origins to ignore when\n extending templates. This allow templates to extend other templates\n of the same name. It also used to avoid recursion errors.\n@@ -757,15 +757,15 @@\n _\bg_\be_\bt_\b__\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs_\b(_\b) for custom template loaders. get_template() will\n usually not need to be overridden.\n Building your own\n For examples, read the _\bs_\bo_\bu_\br_\bc_\be_\b _\bc_\bo_\bd_\be_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bl_\bo_\ba_\bd_\be_\br_\bs.\n *\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\be o\bor\bri\big\bgi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Templates have an origin containing attributes depending on the source they are\n loaded from.\n- c\bcl\bla\bas\bss\bs Origin(n\bna\bam\bme\be, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, l\blo\boa\bad\bde\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Origin(n\bna\bam\bme\be, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, l\blo\boa\bad\bde\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n name_\b\u00b6\n The path to the template as returned by the template loader. For\n loaders that read from the file system, this is the full path to\n the template.\n If the template is instantiated directly rather than through a\n template loader, this is a string value of .\n template_name_\b\u00b6\n@@ -805,16 +805,16 @@\n # _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bo_\bw_\bn_\b _\bc_\bo_\bn_\bt_\be_\bx_\bt_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs\n o _\bL_\bo_\ba_\bd_\bi_\bn_\bg_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n # _\bT_\bh_\be_\b _\bD_\bI_\bR_\bS_\b _\bo_\bp_\bt_\bi_\bo_\bn\n # _\bL_\bo_\ba_\bd_\be_\br_\b _\bt_\by_\bp_\be_\bs\n o _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\ba_\bd_\be_\br_\bs\n # _\bL_\bo_\ba_\bd_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bo_\br_\bi_\bg_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bn_\bd_\b _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/templates/builtins.html", "source2": "./usr/share/doc/python-django-doc/html/ref/templates/builtins.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Built-in template tags and filters — Django 5.1.4 documentation\n+ Built-in template tags and filters — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,18 +96,18 @@\n {% endautoescape %}\n
    \n
    \n

    When auto-escaping is in effect, all content derived from variables has HTML\n escaping applied before placing the result into the output (but after any\n filters are applied). This is equivalent to manually applying the\n escape filter to each variable.

    \n-

    The only exceptions are variables already marked as \u201csafe\u201d from escaping.\n-Variables could be marked as \u201csafe\u201d by the code which populated the variable,\n+

    The only exceptions are variables already marked as \u00absafe\u00bb from escaping.\n+Variables could be marked as \u00absafe\u00bb by the code which populated the variable,\n by applying the safe or escape filters, or because it\u2019s\n-the result of a previous filter that marked the string as \u201csafe\u201d.

    \n+the result of a previous filter that marked the string as \u00absafe\u00bb.

    \n

    Within the scope of disabled auto-escaping, chaining filters, including\n escape, may cause unexpected (but documented) results such as the\n following:

    \n
    {% autoescape off %}\n     {{ my_list|join:", "|escape }}\n {% endautoescape %}\n 
    \n@@ -191,15 +192,15 @@\n ...\n </tr>\n {% endfor %}\n
    \n
    \n

    In some cases you might want to refer to the current value of a cycle\n without advancing to the next value. To do this,\n-give the {% cycle %} tag a name, using \u201cas\u201d, like this:

    \n+give the {% cycle %} tag a name, using \u00abas\u00bb, like this:

    \n
    {% cycle 'row1' 'row2' as rowcolors %}\n 
    \n
    \n

    From then on, you can insert the current value of the cycle wherever you\u2019d like\n in your template by referencing the cycle name as a context variable. If you\n want to move the cycle to the next value independently of the original\n cycle tag, you can use another cycle tag and specify the name of the\n@@ -305,25 +306,25 @@\n

    Sample usage:

    \n
    {% filter force_escape|lower %}\n     This text will be HTML-escaped, and will appear in all lowercase.\n {% endfilter %}\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The escape and safe filters are not acceptable\n arguments. Instead, use the autoescape tag to manage autoescaping\n for blocks of template code.

    \n
    \n \n
    \n

    firstof\u00b6

    \n-

    Outputs the first argument variable that is not \u201cfalse\u201d (i.e. exists, is not\n+

    Outputs the first argument variable that is not \u00abfalse\u00bb (i.e. exists, is not\n empty, is not a false boolean value, and is not a zero numeric value). Outputs\n-nothing if all the passed variables are \u201cfalse\u201d.

    \n+nothing if all the passed variables are \u00abfalse\u00bb.

    \n

    Sample usage:

    \n
    {% firstof var1 var2 var3 %}\n 
    \n
    \n

    This is equivalent to:

    \n
    {% if var1 %}\n     {{ var1 }}\n@@ -450,15 +451,15 @@\n   {% endif %}\n </ul>\n 
    \n
    \n
    \n
    \n

    if\u00b6

    \n-

    The {% if %} tag evaluates a variable, and if that variable is \u201ctrue\u201d (i.e.\n+

    The {% if %} tag evaluates a variable, and if that variable is \u00abtrue\u00bb (i.e.\n exists, is not empty, and is not a false boolean value) the contents of the\n block are output:

    \n
    {% if athlete_list %}\n     Number of athletes: {{ athlete_list|length }}\n {% elif athlete_in_locker_room_list %}\n     Athletes should be out of the locker room soon!\n {% else %}\n@@ -650,15 +651,15 @@\n 

    \u2026will be interpreted as:

    \n
    (a == b) or ((c == d) and e)\n 
    \n
    \n

    If you need different precedence, you will need to use nested if tags.\n Sometimes that is better for clarity anyway, for the sake of those who do not\n know the precedence rules.

    \n-

    The comparison operators cannot be \u2018chained\u2019 like in Python or in mathematical\n+

    The comparison operators cannot be \u201cchained\u201d like in Python or in mathematical\n notation. For example, instead of using:

    \n
    {% if a > b > c %}  (WRONG)\n 
    \n
    \n

    you should use:

    \n
    {% if a > b and b > c %}\n 
    \n@@ -709,15 +710,15 @@\n {% endfor %}\n
    \n
    \n
    \n
    \n

    include\u00b6

    \n

    Loads a template and renders it with the current context. This is a way of\n-\u201cincluding\u201d other templates within a template.

    \n+\u00abincluding\u00bb other templates within a template.

    \n

    The template name can either be a variable or a hard-coded (quoted) string,\n in either single or double quotes.

    \n

    This example includes the contents of the template "foo/bar.html":

    \n
    {% include "foo/bar.html" %}\n 
    \n
    \n

    Normally the template name is relative to the template loader\u2019s root directory.\n@@ -756,18 +757,18 @@\n

    If you want to render the context only with the variables provided (or even\n no variables at all), use the only option. No other variables are\n available to the included template:

    \n
    {% include "name_snippet.html" with greeting="Hi" only %}\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The include tag should be considered as an implementation of\n-\u201crender this subtemplate and include the HTML\u201d, not as \u201cparse this\n-subtemplate and include its contents as if it were part of the parent\u201d.\n+\u00abrender this subtemplate and include the HTML\u00bb, not as \u00abparse this\n+subtemplate and include its contents as if it were part of the parent\u00bb.\n This means that there is no shared state between included templates \u2013\n each include is a completely independent rendering process.

    \n

    Blocks are evaluated before they are included. This means that a template\n that includes blocks from another will contain blocks that have already\n been evaluated and rendered - not blocks that can be overridden by, for\n example, an extending template.

    \n
    \n@@ -788,15 +789,15 @@\n
    \n
    \n

    See Custom tag and filter libraries for\n more information.

    \n \n
    \n

    lorem\u00b6

    \n-

    Displays random \u201clorem ipsum\u201d Latin text. This is useful for providing sample\n+

    Displays random \u00ablorem ipsum\u00bb Latin text. This is useful for providing sample\n data in templates.

    \n

    Usage:

    \n
    {% lorem [count] [method] [random] %}\n 
    \n
    \n

    The {% lorem %} tag can be used with zero, one, two or three arguments.\n The arguments are:

    \n@@ -813,46 +814,46 @@\n \n

    method

    \n

    Either w for words, p for HTML paragraphs or b\n for plain-text paragraph blocks (default is b).

    \n \n

    random

    \n

    The word random, which if given, does not use the common\n-paragraph (\u201cLorem ipsum dolor sit amet\u2026\u201d) when generating\n+paragraph (\u00abLorem ipsum dolor sit amet\u2026\u00bb) when generating\n text.

    \n \n \n \n

    Examples:

    \n
      \n-
    • {% lorem %} will output the common \u201clorem ipsum\u201d paragraph.

    • \n-
    • {% lorem 3 p %} will output the common \u201clorem ipsum\u201d paragraph\n+

    • {% lorem %} will output the common \u00ablorem ipsum\u00bb paragraph.

    • \n+
    • {% lorem 3 p %} will output the common \u00ablorem ipsum\u00bb paragraph\n and two random paragraphs each wrapped in HTML <p> tags.

    • \n
    • {% lorem 2 w random %} will output two random Latin words.

    • \n
    \n
    \n
    \n

    now\u00b6

    \n

    Displays the current date and/or time, using a format according to the given\n string. Such string can contain format specifiers characters as described\n in the date filter section.

    \n

    Example:

    \n
    It is {% now "jS F Y H:i" %}\n 
    \n
    \n

    Note that you can backslash-escape a format string if you want to use the\n-\u201craw\u201d value. In this example, both \u201co\u201d and \u201cf\u201d are backslash-escaped, because\n+\u00abraw\u00bb value. In this example, both \u00abo\u00bb and \u00abf\u00bb are backslash-escaped, because\n otherwise each is a format string that displays the year and the time,\n respectively:

    \n
    It is the {% now "jS \\o\\f F" %}\n 
    \n
    \n-

    This would display as \u201cIt is the 4th of September\u201d.

    \n+

    This would display as \u00abIt is the 4th of September\u00bb.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The format passed can also be one of the predefined ones\n DATE_FORMAT, DATETIME_FORMAT,\n SHORT_DATE_FORMAT or SHORT_DATETIME_FORMAT.\n The predefined formats may vary depending on the current locale and\n if Format localization is enabled, e.g.:

    \n
    It is {% now "SHORT_DATETIME_FORMAT" %}\n 
    \n@@ -1007,18 +1008,18 @@\n list you want to regroup, the attribute to group by, and the name of the\n resulting list. Here, we\u2019re regrouping the cities list by the country\n attribute and calling the result country_list.

    \n

    {% regroup %} produces a list (in this case, country_list) of\n group objects. Group objects are instances of\n namedtuple() with two fields:

    \n
      \n-
    • grouper \u2013 the item that was grouped by (e.g., the string \u201cIndia\u201d or\n-\u201cJapan\u201d).

    • \n+
    • grouper \u2013 the item that was grouped by (e.g., the string \u00abIndia\u00bb or\n+\u00abJapan\u00bb).

    • \n
    • list \u2013 a list of all items in this group (e.g., a list of all cities\n-with country=\u2019India\u2019).

    • \n+with country=\u201dIndia\u201d).

      \n
    \n

    Because {% regroup %} produces namedtuple() objects,\n you can also write the previous example as:

    \n
    {% regroup cities by country as country_list %}\n \n <ul>\n {% for country, local_cities in country_list %}\n@@ -1084,16 +1085,16 @@\n 
    {% regroup cities|dictsort:"country" by country as country_list %}\n 
    \n
    \n
    \n

    Grouping on other properties\u00b6

    \n

    Any valid template lookup is a legal grouping attribute for the regroup\n tag, including methods, attributes, dictionary keys and list items. For\n-example, if the \u201ccountry\u201d field is a foreign key to a class with\n-an attribute \u201cdescription,\u201d you could use:

    \n+example, if the \u00abcountry\u00bb field is a foreign key to a class with\n+an attribute \u00abdescription,\u00bb you could use:

    \n
    {% regroup cities by country.description as country_list %}\n 
    \n
    \n

    Or, if country is a field with choices, it will have a\n get_FOO_display() method available as an\n attribute, allowing you to group on the display string rather than the\n choices key:

    \n@@ -1141,15 +1142,15 @@\n {% ifchanged item.category %}\n <h1>{{ item.category }}</h1>\n {% if not forloop.first %}{% resetcycle tick %}{% endif %}\n {% endifchanged %}\n {% endfor %}\n
    \n
    \n-

    In this example, we have both the alternating odd/even rows and a \u201cmajor\u201d row\n+

    In this example, we have both the alternating odd/even rows and a \u00abmajor\u00bb row\n every fifth row. Only the five-row cycle is reset when a category changes.

    \n
    \n
    \n

    spaceless\u00b6

    \n

    Removes whitespace between HTML tags. This includes tab\n characters and newlines.

    \n

    Example usage:

    \n@@ -1173,15 +1174,15 @@\n {% endspaceless %}\n
    \n
    \n \n
    \n

    templatetag\u00b6

    \n

    Outputs one of the syntax characters used to compose template tags.

    \n-

    The template system has no concept of \u201cescaping\u201d individual characters.\n+

    The template system has no concept of \u00abescaping\u00bb individual characters.\n However, you can use the {% templatetag %} tag to display one of the\n template tag character combinations.

    \n

    The argument tells which template bit to output:

    \n \n \n \n \n@@ -1280,15 +1281,15 @@\n

    If you\u2019d like to retrieve a namespaced URL, specify the fully qualified name:

    \n
    {% url 'myapp:view-name' %}\n 
    \n
    \n

    This will follow the normal namespaced URL resolution strategy, including using any hints provided\n by the context as to the current application.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Don\u2019t forget to put quotes around the URL pattern name, otherwise the\n value will be interpreted as a context variable!

    \n
    \n \n
    \n

    verbatim\u00b6

    \n

    Stops the template engine from rendering the contents of this block tag.

    \n@@ -1325,15 +1326,15 @@\n {% blocktranslate %}The width is: {{ width }}{% endblocktranslate %}\n \n \n
    \n
    \n

    with\u00b6

    \n

    Caches a complex variable under a simpler name. This is useful when accessing\n-an \u201cexpensive\u201d method (e.g., one that hits the database) multiple times.

    \n+an \u00abexpensive\u00bb method (e.g., one that hits the database) multiple times.

    \n

    For example:

    \n
    {% with total=business.employees.count %}\n     {{ total }} employee{{ total|pluralize }}\n {% endwith %}\n 
    \n
    \n

    The populated variable (in the example above, total) is only available\n@@ -1341,15 +1342,15 @@\n

    You can assign more than one context variable:

    \n
    {% with alpha=1 beta=2 %}\n     ...\n {% endwith %}\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    The previous more verbose format is still supported:\n {% with business.employees.count as total %}

    \n
    \n
    \n \n
    \n

    Built-in filter reference\u00b6

    \n@@ -1368,15 +1369,15 @@\n

    For example, if we have:

    \n
    {{ first|add:second }}\n 
    \n
    \n

    and first is [1, 2, 3] and second is [4, 5, 6], then the\n output will be [1, 2, 3, 4, 5, 6].

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Strings that can be coerced to integers will be summed, not\n concatenated, as in the first example above.

    \n
    \n
    \n
    \n

    addslashes\u00b6

    \n

    Adds slashes before quotes. Useful for escaping strings in CSV, for example.

    \n@@ -1418,15 +1419,15 @@\n
    \n
    \n

    date\u00b6

    \n

    Formats a date according to the given format.

    \n

    Uses a similar format to PHP\u2019s date() function with some\n differences.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    These format characters are not used in Django outside of templates. They\n were designed to be compatible with PHP to ease transitioning for designers.

    \n
    \n

    Available format strings:

    \n

    Argument

    Outputs

    \n \n \n@@ -1591,17 +1592,17 @@\n \n \n \n \n \n \n \n \n \n \n \n@@ -1633,16 +1634,16 @@\n \n \n \n \n \n \n \n \n \n \n

    Format character

    Time, in 12-hour hours and minutes,\n with minutes left off if they\u2019re zero.\n Proprietary extension.

    '1', '1:30'

    P

    Time, in 12-hour hours, minutes and\n-\u2018a.m.\u2019/\u2019p.m.\u2019, with minutes left off\n+\u201ca.m.\u201d/\u201dp.m.\u201d, with minutes left off\n if they\u2019re zero and the special-case\n-strings \u2018midnight\u2019 and \u2018noon\u2019 if\n+strings \u201cmidnight\u201d and \u201cnoon\u201d if\n appropriate. Proprietary extension.

    '1 a.m.', '1:30 p.m.', 'midnight', 'noon', '12:30 p.m.'

    Timezone

    Date/Time

    c

    ISO 8601 format. (Note: unlike other\n-formatters, such as \u201cZ\u201d, \u201cO\u201d or \u201cr\u201d,\n-the \u201cc\u201d formatter will not add timezone\n+formatters, such as \u00abZ\u00bb, \u00abO\u00bb or \u00abr\u00bb,\n+the \u00abc\u00bb formatter will not add timezone\n offset if value is a naive datetime\n (see datetime.tzinfo).

    2008-01-02T10:30:00.000123+02:00,\n or 2008-01-02T10:30:00.000123 if the datetime is naive

    r

    RFC 5322\n@@ -1676,15 +1677,15 @@\n format specifier for the es locale as shipped with Django is "d/m/Y").

    \n

    When used without a format string, the DATE_FORMAT format specifier is\n used. Assuming the same settings as the previous example:

    \n
    {{ value|date }}\n 
    \n
    \n

    outputs 9 de Enero de 2008 (the DATE_FORMAT format specifier for the\n-es locale is r'j \\d\\e F \\d\\e Y'). Both \u201cd\u201d and \u201ce\u201d are\n+es locale is r'j \\d\\e F \\d\\e Y'). Both \u00abd\u00bb and \u00abe\u00bb are\n backslash-escaped, because otherwise each is a format string that displays the\n day and the timezone name, respectively.

    \n

    You can combine date with the time filter to render a full\n representation of a datetime value. E.g.:

    \n
    {{ value|date:"D d M Y" }} {{ value|time:"H:i" }}\n 
    \n
    \n@@ -1831,15 +1832,15 @@\n sequence, use the dedicated escapeseq filter.

    \n \n \n
    \n

    escapejs\u00b6

    \n

    Escapes characters for use as a whole JavaScript string literal, within single\n or double quotes, as below. This filter does not make the string safe for use\n-in \u201cJavaScript template literals\u201d (the JavaScript backtick syntax). Any other\n+in \u00abJavaScript template literals\u00bb (the JavaScript backtick syntax). Any other\n uses not listed above are not supported. It is generally recommended that data\n should be passed using HTML data- attributes, or the json_script\n filter, rather than in embedded JavaScript.

    \n

    For example:

    \n
    <script>\n let myValue = '{{ value|escapejs }}'\n 
    \n@@ -1856,15 +1857,15 @@\n {{ my_list|escapeseq|join:", " }}\n {% endautoescape %}\n
    \n \n
    \n
    \n

    filesizeformat\u00b6

    \n-

    Formats the value like a \u2018human-readable\u2019 file size (i.e. '13 KB',\n+

    Formats the value like a \u201chuman-readable\u201d file size (i.e. '13 KB',\n '4.1 MB', '102 bytes', etc.).

    \n

    For example:

    \n
    {{ value|filesizeformat }}\n 
    \n
    \n

    If value is 123456789, the output would be 117.7 MB.

    \n
    \n@@ -2084,28 +2085,28 @@\n

    If value is the list ['a', 'b', 'c'], the output will be the string\n "a // b // c".

    \n
    \n
    \n

    json_script\u00b6

    \n

    Safely outputs a Python object as JSON, wrapped in a <script> tag, ready\n for use with JavaScript.

    \n-

    Argument: The optional HTML \u201cid\u201d of the <script> tag.

    \n+

    Argument: The optional HTML \u00abid\u00bb of the <script> tag.

    \n

    For example:

    \n
    {{ value|json_script:"hello-data" }}\n 
    \n
    \n

    If value is the dictionary {'hello': 'world'}, the output will be:

    \n
    <script id="hello-data" type="application/json">{"hello": "world"}</script>\n 
    \n
    \n

    The resulting data can be accessed in JavaScript like this:

    \n
    const value = JSON.parse(document.getElementById('hello-data').textContent);\n 
    \n
    \n-

    XSS attacks are mitigated by escaping the characters \u201c<\u201d, \u201c>\u201d and \u201c&\u201d. For\n+

    XSS attacks are mitigated by escaping the characters \u00ab<\u00bb, \u00ab>\u00bb and \u00ab&\u00bb. For\n example if value is {'hello': 'world</script>&amp;'}, the output is:

    \n
    <script id="hello-data" type="application/json">{"hello": "world\\\\u003C/script\\\\u003E\\\\u0026amp;"}</script>\n 
    \n
    \n

    This is compatible with a strict Content Security Policy that prohibits in-page\n script execution. It also maintains a clean separation between passive data and\n executable code.

    \n@@ -2237,15 +2238,15 @@\n

    For words that don\u2019t pluralize by simple suffix, you can specify both a\n singular and plural suffix, separated by a comma.

    \n

    Example:

    \n
    You have {{ num_cherries }} cherr{{ num_cherries|pluralize:"y,ies" }}.\n 
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    Use blocktranslate to pluralize translated strings.

    \n
    \n
    \n
    \n

    pprint\u00b6

    \n

    A wrapper around pprint.pprint() \u2013 for debugging, really.

    \n
    \n@@ -2269,15 +2270,15 @@\n

    If value is Django, the output will be "    Django".

    \n \n
    \n

    safe\u00b6

    \n

    Marks a string as not requiring further HTML escaping prior to output. When\n autoescaping is off, this filter has no effect.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If you are chaining filters, a filter applied after safe can\n make the contents unsafe again. For example, the following code\n prints the variable as is, unescaped:

    \n
    {{ var|safe|escape }}\n 
    \n
    \n
    \n@@ -2316,15 +2317,15 @@\n \n

    If value is "Joel is a slug", the output will be "joel-is-a-slug".

    \n
    \n
    \n

    stringformat\u00b6

    \n

    Formats the variable according to the argument, a string formatting specifier.\n This specifier uses the printf-style String Formatting syntax, with the exception\n-that the leading \u201c%\u201d is dropped.

    \n+that the leading \u00ab%\u00bb is dropped.

    \n

    For example:

    \n
    {{ value|stringformat:"E" }}\n 
    \n
    \n

    If value is 10, the output will be 1.000000E+01.

    \n
    \n
    \n@@ -2353,21 +2354,21 @@\n

    For example:

    \n
    {{ value|time:"H:i" }}\n 
    \n
    \n

    If value is equivalent to datetime.datetime.now(), the output will be\n the string "01:23".

    \n

    Note that you can backslash-escape a format string if you want to use the\n-\u201craw\u201d value. In this example, both \u201ch\u201d and \u201cm\u201d are backslash-escaped, because\n+\u00abraw\u00bb value. In this example, both \u00abh\u00bb and \u00abm\u00bb are backslash-escaped, because\n otherwise each is a format string that displays the hour and the month,\n respectively:

    \n
    {{ value|time:"H\\h i\\m" }}\n 
    \n
    \n-

    This would display as \u201c01h 23m\u201d.

    \n+

    This would display as \u00ab01h 23m\u00bb.

    \n

    Another example:

    \n

    Assuming that LANGUAGE_CODE is, for example, "de", then for:

    \n
    {{ value|time:"TIME_FORMAT" }}\n 
    \n
    \n

    the output will be the string "01:23" (The "TIME_FORMAT" format\n specifier for the de locale as shipped with Django is "H:i").

    \n@@ -2386,58 +2387,58 @@\n

    is the same as:

    \n
    {{ value|time:"TIME_FORMAT" }}\n 
    \n
    \n
    \n
    \n

    timesince\u00b6

    \n-

    Formats a date as the time since that date (e.g., \u201c4 days, 6 hours\u201d).

    \n+

    Formats a date as the time since that date (e.g., \u00ab4 days, 6 hours\u00bb).

    \n

    Takes an optional argument that is a variable containing the date to use as\n the comparison point (without the argument, the comparison point is now).\n For example, if blog_date is a date instance representing midnight on 1\n June 2006, and comment_date is a date instance for 08:00 on 1 June 2006,\n-then the following would return \u201c8 hours\u201d:

    \n+then the following would return \u00ab8 hours\u00bb:

    \n
    {{ blog_date|timesince:comment_date }}\n 
    \n
    \n

    Comparing offset-naive and offset-aware datetimes will return an empty string.

    \n-

    Minutes is the smallest unit used, and \u201c0 minutes\u201d will be returned for any\n+

    Minutes is the smallest unit used, and \u00ab0 minutes\u00bb will be returned for any\n date that is in the future relative to the comparison point.

    \n
    \n
    \n

    timeuntil\u00b6

    \n

    Similar to timesince, except that it measures the time from now until the\n given date or datetime. For example, if today is 1 June 2006 and\n conference_date is a date instance holding 29 June 2006, then\n-{{ conference_date|timeuntil }} will return \u201c4 weeks\u201d.

    \n+{{ conference_date|timeuntil }} will return \u00ab4 weeks\u00bb.

    \n

    Takes an optional argument that is a variable containing the date to use as\n the comparison point (instead of now). If from_date contains 22 June\n-2006, then the following will return \u201c1 week\u201d:

    \n+2006, then the following will return \u00ab1 week\u00bb:

    \n
    {{ conference_date|timeuntil:from_date }}\n 
    \n
    \n

    Comparing offset-naive and offset-aware datetimes will return an empty string.

    \n-

    Minutes is the smallest unit used, and \u201c0 minutes\u201d will be returned for any\n+

    Minutes is the smallest unit used, and \u00ab0 minutes\u00bb will be returned for any\n date that is in the past relative to the comparison point.

    \n
    \n
    \n

    title\u00b6

    \n

    Converts a string into titlecase by making words start with an uppercase\n character and the remaining characters lowercase. This tag makes no effort to\n-keep \u201ctrivial words\u201d in lowercase.

    \n+keep \u00abtrivial words\u00bb in lowercase.

    \n

    For example:

    \n
    {{ value|title }}\n 
    \n
    \n

    If value is "my FIRST post", the output will be "My First Post".

    \n
    \n
    \n

    truncatechars\u00b6

    \n

    Truncates a string if it is longer than the specified number of characters.\n-Truncated strings will end with a translatable ellipsis character (\u201d\u2026\u201d).

    \n+Truncated strings will end with a translatable ellipsis character (\u00bb\u2026\u00bb).

    \n

    Argument: Number of characters to truncate to

    \n

    For example:

    \n
    {{ value|truncatechars:7 }}\n 
    \n
    \n

    If value is "Joel is a slug", the output will be "Joel i\u2026".

    \n
    \n@@ -2535,15 +2536,15 @@\n
    {{ value|urlencode }}\n 
    \n
    \n

    If value is "https://www.example.org/foo?a=b&c=d", the output will be\n "https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd".

    \n

    An optional argument containing the characters which should not be escaped can\n be provided.

    \n-

    If not provided, the \u2018/\u2019 character is assumed safe. An empty string can be\n+

    If not provided, the \u201c/\u201d character is assumed safe. An empty string can be\n provided when all characters should be escaped. For example:

    \n
    {{ value|urlencode:"" }}\n 
    \n
    \n

    If value is "https://www.example.org/", the output will be\n "https%3A%2F%2Fwww.example.org%2F".

    \n \n@@ -2572,21 +2573,21 @@\n "Send questions to foo@example.com", the output will be\n "Send questions to <a href="mailto:foo@example.com">foo@example.com</a>".

    \n

    The urlize filter also takes an optional parameter autoescape. If\n autoescape is True, the link text and URLs will be escaped using\n Django\u2019s built-in escape filter. The default value for\n autoescape is True.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    If urlize is applied to text that already contains HTML markup, or to\n email addresses that contain single quotes ('), things won\u2019t work as\n expected. Apply this filter only to plain text.

    \n
    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Using urlize or urlizetrunc can incur a performance penalty, which\n can become severe when applied to user controlled values such as content\n stored in a TextField. You can use\n truncatechars to add a limit to such inputs:

    \n
    {{ value|truncatechars:500|urlize }}\n 
    \n
    \n@@ -2630,15 +2631,15 @@\n slug\n
    \n \n \n
    \n

    yesno\u00b6

    \n

    Maps values for True, False, and (optionally) None, to the strings\n-\u201cyes\u201d, \u201cno\u201d, \u201cmaybe\u201d, or a custom mapping passed as a comma-separated list, and\n+\u00abyes\u00bb, \u00abno\u00bb, \u00abmaybe\u00bb, or a custom mapping passed as a comma-separated list, and\n returns one of those strings according to the value:

    \n

    For example:

    \n
    {{ value|yesno:"yeah,no,maybe" }}\n 
    \n
    \n \n \n@@ -2703,15 +2704,15 @@\n
    \n

    Other tags and filters libraries\u00b6

    \n

    Django comes with a couple of other template-tag libraries that you have to\n enable explicitly in your INSTALLED_APPS setting and enable in your\n template with the {% load %} tag.

    \n
    \n

    django.contrib.humanize\u00b6

    \n-

    A set of Django template filters useful for adding a \u201chuman touch\u201d to data. See\n+

    A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data. See\n django.contrib.humanize.

    \n
    \n
    \n

    static\u00b6

    \n
    \n

    static\u00b6

    \n

    To link to static files that are saved in STATIC_ROOT Django ships\n@@ -2924,37 +2925,37 @@\n \n \n \n \n \n \n

    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    The Django template language

    \n+ title=\"capitolo precedente\">The Django template language

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The Django template language: for Python programmers

    \n+ title=\"capitolo successivo\">The Django template language: for Python programmers

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn t\bte\bem\bmp\bpl\bla\bat\bte\be t\bta\bag\bgs\bs a\ban\bnd\bd f\bfi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document describes Django\u2019s built-in template tags and filters. It is\n recommended that you use the _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn, if available, as this\n will also include documentation for any custom tags or filters installed.\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn t\bta\bag\bg r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -14,18 +14,18 @@\n {% autoescape on %}\n {{ body }}\n {% endautoescape %}\n When auto-escaping is in effect, all content derived from variables has HTML\n escaping applied before placing the result into the output (but after any\n filters are applied). This is equivalent to manually applying the _\be_\bs_\bc_\ba_\bp_\be filter\n to each variable.\n-The only exceptions are variables already marked as \u201csafe\u201d from escaping.\n-Variables could be marked as \u201csafe\u201d by the code which populated the variable,\n+The only exceptions are variables already marked as \u00absafe\u00bb from escaping.\n+Variables could be marked as \u00absafe\u00bb by the code which populated the variable,\n by applying the _\bs_\ba_\bf_\be or _\be_\bs_\bc_\ba_\bp_\be filters, or because it\u2019s the result of a\n-previous filter that marked the string as \u201csafe\u201d.\n+previous filter that marked the string as \u00absafe\u00bb.\n Within the scope of disabled auto-escaping, chaining filters, including _\be_\bs_\bc_\ba_\bp_\be,\n may cause unexpected (but documented) results such as the following:\n {% autoescape off %}\n {{ my_list|join:\", \"|escape }}\n {% endautoescape %}\n The above code will output the joined elements of my_list unescaped. This is\n because the filter chaining sequence executes first _\bj_\bo_\bi_\bn on my_list (without\n@@ -85,15 +85,15 @@\n {% for o in some_list %}\n
    \n ...\n \n {% endfor %}\n In some cases you might want to refer to the current value of a cycle without\n advancing to the next value. To do this, give the {% cycle %} tag a name, using\n-\u201cas\u201d, like this:\n+\u00abas\u00bb, like this:\n {% cycle 'row1' 'row2' as rowcolors %}\n From then on, you can insert the current value of the cycle wherever you\u2019d like\n in your template by referencing the cycle name as a context variable. If you\n want to move the cycle to the next value independently of the original cycle\n tag, you can use another cycle tag and specify the name of the variable. So,\n the following template:\n \n@@ -172,21 +172,21 @@\n syntax.\n Note that the block includes a\bal\bll\bl the text between the filter and endfilter\n tags.\n Sample usage:\n {% filter force_escape|lower %}\n This text will be HTML-escaped, and will appear in all lowercase.\n {% endfilter %}\n-Note\n+Nota\n The _\be_\bs_\bc_\ba_\bp_\be and _\bs_\ba_\bf_\be filters are not acceptable arguments. Instead, use the\n _\ba_\bu_\bt_\bo_\be_\bs_\bc_\ba_\bp_\be tag to manage autoescaping for blocks of template code.\n *\b**\b**\b**\b* f\bfi\bir\brs\bst\bto\bof\bf_\b?\b\u00b6 *\b**\b**\b**\b*\n-Outputs the first argument variable that is not \u201cfalse\u201d (i.e. exists, is not\n+Outputs the first argument variable that is not \u00abfalse\u00bb (i.e. exists, is not\n empty, is not a false boolean value, and is not a zero numeric value). Outputs\n-nothing if all the passed variables are \u201cfalse\u201d.\n+nothing if all the passed variables are \u00abfalse\u00bb.\n Sample usage:\n {% firstof var1 var2 var3 %}\n This is equivalent to:\n {% if var1 %}\n {{ var1 }}\n {% elif var2 %}\n {{ var2 }}\n@@ -262,15 +262,15 @@\n
  • {{ athlete.name }}
  • \n {% endfor %}\n {% else %}\n
  • Sorry, no athletes in this list.
  • \n {% endif %}\n \n *\b**\b**\b**\b* i\bif\bf_\b?\b\u00b6 *\b**\b**\b**\b*\n-The {% if %} tag evaluates a variable, and if that variable is \u201ctrue\u201d (i.e.\n+The {% if %} tag evaluates a variable, and if that variable is \u00abtrue\u00bb (i.e.\n exists, is not empty, and is not a false boolean value) the contents of the\n block are output:\n {% if athlete_list %}\n Number of athletes: {{ athlete_list|length }}\n {% elif athlete_in_locker_room_list %}\n Athletes should be out of the locker room soon!\n {% else %}\n@@ -401,15 +401,15 @@\n (This follows Python exactly). So, for example, the following complex _\bi_\bf tag:\n {% if a == b or c == d and e %}\n \u2026will be interpreted as:\n (a == b) or ((c == d) and e)\n If you need different precedence, you will need to use nested _\bi_\bf tags.\n Sometimes that is better for clarity anyway, for the sake of those who do not\n know the precedence rules.\n-The comparison operators cannot be \u2018chained\u2019 like in Python or in mathematical\n+The comparison operators cannot be \u201cchained\u201d like in Python or in mathematical\n notation. For example, instead of using:\n {% if a > b > c %} (WRONG)\n you should use:\n {% if a > b and b > c %}\n *\b**\b**\b**\b* i\bif\bfc\bch\bha\ban\bng\bge\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n Check if a value has changed from the last iteration of a loop.\n The {% ifchanged %} block tag is used within a loop. It has two possible uses.\n@@ -440,15 +440,15 @@\n {% else %}\n gray\n {% endifchanged %}\n \">{{ match }}\n {% endfor %}\n *\b**\b**\b**\b* i\bin\bnc\bcl\blu\bud\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Loads a template and renders it with the current context. This is a way of\n-\u201cincluding\u201d other templates within a template.\n+\u00abincluding\u00bb other templates within a template.\n The template name can either be a variable or a hard-coded (quoted) string, in\n either single or double quotes.\n This example includes the contents of the template \"foo/bar.html\":\n {% include \"foo/bar.html\" %}\n Normally the template name is relative to the template loader\u2019s root directory.\n A string argument may also be a relative path starting with ./ or ../ as\n described in the _\be_\bx_\bt_\be_\bn_\bd_\bs tag.\n@@ -469,18 +469,18 @@\n {{ greeting }}, {{ person|default:\"friend\" }}!\n You can pass additional context to the template using keyword arguments:\n {% include \"name_snippet.html\" with person=\"Jane\" greeting=\"Hello\" %}\n If you want to render the context only with the variables provided (or even no\n variables at all), use the only option. No other variables are available to the\n included template:\n {% include \"name_snippet.html\" with greeting=\"Hi\" only %}\n-Note\n-The _\bi_\bn_\bc_\bl_\bu_\bd_\be tag should be considered as an implementation of \u201crender this\n-subtemplate and include the HTML\u201d, not as \u201cparse this subtemplate and include\n-its contents as if it were part of the parent\u201d. This means that there is no\n+Nota\n+The _\bi_\bn_\bc_\bl_\bu_\bd_\be tag should be considered as an implementation of \u00abrender this\n+subtemplate and include the HTML\u00bb, not as \u00abparse this subtemplate and include\n+its contents as if it were part of the parent\u00bb. This means that there is no\n shared state between included templates \u2013 each include is a completely\n independent rendering process.\n Blocks are evaluated b\bbe\bef\bfo\bor\bre\be they are included. This means that a template that\n includes blocks from another will contain blocks that have a\bal\blr\bre\bea\bad\bdy\by b\bbe\bee\ben\bn\n e\bev\bva\bal\blu\bua\bat\bte\bed\bd a\ban\bnd\bd r\bre\ben\bnd\bde\ber\bre\bed\bd - not blocks that can be overridden by, for example, an\n extending template.\n *\b**\b**\b**\b* l\blo\boa\bad\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -490,45 +490,45 @@\n {% load somelibrary package.otherlibrary %}\n You can also selectively load individual filters or tags from a library, using\n the from argument. In this example, the template tags/filters named foo and bar\n will be loaded from somelibrary:\n {% load foo bar from somelibrary %}\n See _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bt_\ba_\bg_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs for more information.\n *\b**\b**\b**\b* l\blo\bor\bre\bem\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n-Displays random \u201clorem ipsum\u201d Latin text. This is useful for providing sample\n+Displays random \u00ablorem ipsum\u00bb Latin text. This is useful for providing sample\n data in templates.\n Usage:\n {% lorem [count] [method] [random] %}\n The {% lorem %} tag can be used with zero, one, two or three arguments. The\n arguments are:\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n count A number (or variable) containing the number of paragraphs or words to\n generate (default is 1).\n method Either w for words, p for HTML paragraphs or b for plain-text\n paragraph blocks (default is b).\n random The word random, which if given, does not use the common paragraph\n- (\u201cLorem ipsum dolor sit amet\u2026\u201d) when generating text.\n+ (\u00abLorem ipsum dolor sit amet\u2026\u00bb) when generating text.\n Examples:\n- * {% lorem %} will output the common \u201clorem ipsum\u201d paragraph.\n- * {% lorem 3 p %} will output the common \u201clorem ipsum\u201d paragraph and two\n+ * {% lorem %} will output the common \u00ablorem ipsum\u00bb paragraph.\n+ * {% lorem 3 p %} will output the common \u00ablorem ipsum\u00bb paragraph and two\n random paragraphs each wrapped in HTML

    tags.\n * {% lorem 2 w random %} will output two random Latin words.\n *\b**\b**\b**\b* n\bno\bow\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n Displays the current date and/or time, using a format according to the given\n string. Such string can contain format specifiers characters as described in\n the _\bd_\ba_\bt_\be filter section.\n Example:\n It is {% now \"jS F Y H:i\" %}\n-Note that you can backslash-escape a format string if you want to use the \u201craw\u201d\n-value. In this example, both \u201co\u201d and \u201cf\u201d are backslash-escaped, because\n+Note that you can backslash-escape a format string if you want to use the \u00abraw\u00bb\n+value. In this example, both \u00abo\u00bb and \u00abf\u00bb are backslash-escaped, because\n otherwise each is a format string that displays the year and the time,\n respectively:\n It is the {% now \"jS \\o\\f F\" %}\n-This would display as \u201cIt is the 4th of September\u201d.\n-Note\n+This would display as \u00abIt is the 4th of September\u00bb.\n+Nota\n The format passed can also be one of the predefined ones _\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT,\n _\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT, _\bS_\bH_\bO_\bR_\bT_\b__\bD_\bA_\bT_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT or _\bS_\bH_\bO_\bR_\bT_\b__\bD_\bA_\bT_\bE_\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT. The predefined\n formats may vary depending on the current locale and if _\bF_\bo_\br_\bm_\ba_\bt_\b _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn is\n enabled, e.g.:\n It is {% now \"SHORT_DATETIME_FORMAT\" %}\n You can also use the syntax {% now \"Y\" as current_year %} to store the output\n (as a string) inside a variable. This is useful if you want to use {% now %}\n@@ -622,18 +622,18 @@\n \n Let\u2019s walk through this example. {% regroup %} takes three arguments: the list\n you want to regroup, the attribute to group by, and the name of the resulting\n list. Here, we\u2019re regrouping the cities list by the country attribute and\n calling the result country_list.\n {% regroup %} produces a list (in this case, country_list) of g\bgr\bro\bou\bup\bp o\bob\bbj\bje\bec\bct\bts\bs.\n Group objects are instances of _\bn_\ba_\bm_\be_\bd_\bt_\bu_\bp_\bl_\be_\b(_\b) with two fields:\n- * grouper \u2013 the item that was grouped by (e.g., the string \u201cIndia\u201d or\n- \u201cJapan\u201d).\n+ * grouper \u2013 the item that was grouped by (e.g., the string \u00abIndia\u00bb or\n+ \u00abJapan\u00bb).\n * list \u2013 a list of all items in this group (e.g., a list of all cities with\n- country=\u2019India\u2019).\n+ country=\u201dIndia\u201d).\n Because {% regroup %} produces _\bn_\ba_\bm_\be_\bd_\bt_\bu_\bp_\bl_\be_\b(_\b) objects, you can also write the\n previous example as:\n {% regroup cities by country as country_list %}\n \n

      \n {% for country, local_cities in country_list %}\n
    • {{ country }}\n@@ -673,16 +673,16 @@\n data is ordered according to how you want to display it.\n Another solution is to sort the data in the template using the _\bd_\bi_\bc_\bt_\bs_\bo_\br_\bt filter,\n if your data is in a list of dictionaries:\n {% regroup cities|dictsort:\"country\" by country as country_list %}\n *\b**\b**\b* G\bGr\bro\bou\bup\bpi\bin\bng\bg o\bon\bn o\bot\bth\bhe\ber\br p\bpr\bro\bop\bpe\ber\brt\bti\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n Any valid template lookup is a legal grouping attribute for the regroup tag,\n including methods, attributes, dictionary keys and list items. For example, if\n-the \u201ccountry\u201d field is a foreign key to a class with an attribute\n-\u201cdescription,\u201d you could use:\n+the \u00abcountry\u00bb field is a foreign key to a class with an attribute\n+\u00abdescription,\u00bb you could use:\n {% regroup cities by country.description as country_list %}\n Or, if country is a field with choices, it will have a _\bg_\be_\bt_\b__\bF_\bO_\bO_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b(_\b) method\n available as an attribute, allowing you to group on the display string rather\n than the choices key:\n {% regroup cities by get_country_display as country_list %}\n {{ country.grouper }} will now display the value fields from the choices set\n rather than the keys.\n@@ -717,15 +717,15 @@\n {{ item.data }}\n

      \n {% ifchanged item.category %}\n

      {{ item.category }}

      \n {% if not forloop.first %}{% resetcycle tick %}{% endif %}\n {% endifchanged %}\n {% endfor %}\n-In this example, we have both the alternating odd/even rows and a \u201cmajor\u201d row\n+In this example, we have both the alternating odd/even rows and a \u00abmajor\u00bb row\n every fifth row. Only the five-row cycle is reset when a category changes.\n *\b**\b**\b**\b* s\bsp\bpa\bac\bce\bel\ble\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Removes whitespace between HTML tags. This includes tab characters and\n newlines.\n Example usage:\n {% spaceless %}\n

      \n@@ -739,15 +739,15 @@\n {% spaceless %}\n \n Hello\n \n {% endspaceless %}\n *\b**\b**\b**\b* t\bte\bem\bmp\bpl\bla\bat\bte\bet\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n Outputs one of the syntax characters used to compose template tags.\n-The template system has no concept of \u201cescaping\u201d individual characters.\n+The template system has no concept of \u00abescaping\u00bb individual characters.\n However, you can use the {% templatetag %} tag to display one of the template\n tag character combinations.\n The argument tells which template bit to output:\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt O\bOu\but\btp\bpu\but\bts\bs\n openblock {%\n closeblock %}\n openvariable {{\n@@ -799,15 +799,15 @@\n {% if the_url %}\n Link to optional stuff\n {% endif %}\n If you\u2019d like to retrieve a namespaced URL, specify the fully qualified name:\n {% url 'myapp:view-name' %}\n This will follow the normal _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bd_\b _\bU_\bR_\bL_\b _\br_\be_\bs_\bo_\bl_\bu_\bt_\bi_\bo_\bn_\b _\bs_\bt_\br_\ba_\bt_\be_\bg_\by, including using\n any hints provided by the context as to the current application.\n-Warning\n+Avvertimento\n Don\u2019t forget to put quotes around the URL pattern name, otherwise the value\n will be interpreted as a context variable!\n *\b**\b**\b**\b* v\bve\ber\brb\bba\bat\bti\bim\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n Stops the template engine from rendering the contents of this block tag.\n A common use is to allow a JavaScript template layer that collides with\n Django\u2019s syntax. For example:\n {% verbatim %}\n@@ -829,26 +829,26 @@\n which is rounded up to 88).\n In some cases you might want to capture the result of widthratio in a variable.\n It can be useful, for instance, in a _\bb_\bl_\bo_\bc_\bk_\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be like this:\n {% widthratio this_value max_value max_width as width %}\n {% blocktranslate %}The width is: {{ width }}{% endblocktranslate %}\n *\b**\b**\b**\b* w\bwi\bit\bth\bh_\b?\b\u00b6 *\b**\b**\b**\b*\n Caches a complex variable under a simpler name. This is useful when accessing\n-an \u201cexpensive\u201d method (e.g., one that hits the database) multiple times.\n+an \u00abexpensive\u00bb method (e.g., one that hits the database) multiple times.\n For example:\n {% with total=business.employees.count %}\n {{ total }} employee{{ total|pluralize }}\n {% endwith %}\n The populated variable (in the example above, total) is only available between\n the {% with %} and {% endwith %} tags.\n You can assign more than one context variable:\n {% with alpha=1 beta=2 %}\n ...\n {% endwith %}\n-Note\n+Nota\n The previous more verbose format is still supported: {% with\n business.employees.count as total %}\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn f\bfi\bil\blt\bte\ber\br r\bre\bef\bfe\ber\bre\ben\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* a\bad\bdd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n Adds the argument to the value.\n For example:\n {{ value|add:\"2\" }}\n@@ -857,15 +857,15 @@\n it\u2019ll attempt to add the values together anyway. This will work on some data\n types (strings, list, etc.) and fail on others. If it fails, the result will be\n an empty string.\n For example, if we have:\n {{ first|add:second }}\n and first is [1, 2, 3] and second is [4, 5, 6], then the output will be [1, 2,\n 3, 4, 5, 6].\n-Warning\n+Avvertimento\n Strings that can be coerced to integers will be s\bsu\bum\bmm\bme\bed\bd, not concatenated, as in\n the first example above.\n *\b**\b**\b**\b* a\bad\bdd\bds\bsl\bla\bas\bsh\bhe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Adds slashes before quotes. Useful for escaping strings in CSV, for example.\n For example:\n {{ value|addslashes }}\n If value is \"I'm using Django\", the output will be \"I\\'m using Django\".\n@@ -884,15 +884,15 @@\n Removes all values of arg from the given string.\n For example:\n {{ value|cut:\" \" }}\n If value is \"String with spaces\", the output will be \"Stringwithspaces\".\n *\b**\b**\b**\b* d\bda\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Formats a date according to the given format.\n Uses a similar format to PHP\u2019s _\bd_\ba_\bt_\be_\b(_\b) function with some differences.\n-Note\n+Nota\n These format characters are not used in Django outside of templates. They were\n designed to be compatible with PHP to ease transitioning for designers.\n Available format strings:\n F\bFo\bor\brm\bma\bat\bt c\bch\bha\bar\bra\bac\bct\bte\ber\br D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn E\bEx\bxa\bam\bmp\bpl\ble\be o\bou\but\btp\bpu\but\bt\n D\bDa\bay\by\n d Day of the month, 2 digits '01' to '31'\n with leading zeros.\n@@ -957,19 +957,19 @@\n Associated Press style.)\n A 'AM' or 'PM'. 'AM'\n Time, in 12-hour hours and\n f minutes, with minutes left off '1', '1:30'\n if they\u2019re zero. Proprietary\n extension.\n Time, in 12-hour hours,\n- minutes and \u2018a.m.\u2019/\u2019p.m.\u2019,\n+ minutes and \u201ca.m.\u201d/\u201dp.m.\u201d,\n with minutes left off if '1 a.m.', '1:30 p.m.',\n P they\u2019re zero and the special- 'midnight', 'noon', '12:30\n- case strings \u2018midnight\u2019 and p.m.'\n- \u2018noon\u2019 if appropriate.\n+ case strings \u201cmidnight\u201d and p.m.'\n+ \u201cnoon\u201d if appropriate.\n Proprietary extension.\n T\bTi\bim\bme\bez\bzo\bon\bne\be\n Timezone name. Could be in any\n e format, or might return an '', 'GMT', '-500', 'US/\n empty string, depending on the Eastern', etc.\n datetime.\n I Daylight saving time, whether '1' or '0'\n@@ -980,16 +980,16 @@\n Time zone offset in seconds.\n The offset for timezones west\n Z of UTC is always negative, and -43200 to 43200\n for those east of UTC is\n always positive.\n D\bDa\bat\bte\be/\b/T\bTi\bim\bme\be\n ISO 8601 format. (Note: unlike\n- other formatters, such as \u201cZ\u201d, 2008-01-02T10:30:00.000123+02:\n-c \u201cO\u201d or \u201cr\u201d, the \u201cc\u201d formatter 00, or 2008-01-02T10:30:\n+ other formatters, such as \u00abZ\u00bb, 2008-01-02T10:30:00.000123+02:\n+c \u00abO\u00bb or \u00abr\u00bb, the \u00abc\u00bb formatter 00, or 2008-01-02T10:30:\n will not add timezone offset 00.000123 if the datetime is\n if value is a naive datetime naive\n (see _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bt_\bz_\bi_\bn_\bf_\bo).\n r _\bR\bR_\bF\bF_\bC\bC_\b _\b5\b5_\b3\b3_\b2\b2_\b2\b2 formatted date. 'Thu, 21 Dec 2000 16:01:07\n +0200'\n U Seconds since the Unix Epoch\n (January 1 1970 00:00:00 UTC).\n@@ -1005,15 +1005,15 @@\n {{ value|date:\"SHORT_DATE_FORMAT\" }}\n the output would be the string \"09/01/2008\" (the \"SHORT_DATE_FORMAT\" format\n specifier for the es locale as shipped with Django is \"d/m/Y\").\n When used without a format string, the DATE_FORMAT format specifier is used.\n Assuming the same settings as the previous example:\n {{ value|date }}\n outputs 9 de Enero de 2008 (the DATE_FORMAT format specifier for the es locale\n-is r'j \\d\\e F \\d\\e Y'). Both \u201cd\u201d and \u201ce\u201d are backslash-escaped, because\n+is r'j \\d\\e F \\d\\e Y'). Both \u00abd\u00bb and \u00abe\u00bb are backslash-escaped, because\n otherwise each is a format string that displays the day and the timezone name,\n respectively.\n You can combine date with the _\bt_\bi_\bm_\be filter to render a full representation of a\n datetime value. E.g.:\n {{ value|date:\"D d M Y\" }} {{ value|time:\"H:i\" }}\n *\b**\b**\b**\b* d\bde\bef\bfa\bau\bul\blt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n If value evaluates to False, uses the given default. Otherwise, uses the value.\n@@ -1111,30 +1111,30 @@\n been marked as safe.\n This is especially important when using filters that operate on sequences, for\n example _\bj_\bo_\bi_\bn. If you need to escape each element in a sequence, use the\n dedicated _\be_\bs_\bc_\ba_\bp_\be_\bs_\be_\bq filter.\n *\b**\b**\b**\b* e\bes\bsc\bca\bap\bpe\bej\bjs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Escapes characters for use as a whole JavaScript string literal, within single\n or double quotes, as below. This filter does not make the string safe for use\n-in ?\b\u201cJ\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt t\bte\bem\bmp\bpl\bla\bat\bte\be l\bli\bit\bte\ber\bra\bal\bls\bs?\b\u201d (the JavaScript backtick syntax). Any other\n+in ?\b\u00abJ\bJa\bav\bva\baS\bSc\bcr\bri\bip\bpt\bt t\bte\bem\bmp\bpl\bla\bat\bte\be l\bli\bit\bte\ber\bra\bal\bls\bs?\b\u00bb (the JavaScript backtick syntax). Any other\n uses not listed above are not supported. It is generally recommended that data\n should be passed using HTML data- attributes, or the _\bj_\bs_\bo_\bn_\b__\bs_\bc_\br_\bi_\bp_\bt filter, rather\n than in embedded JavaScript.\n For example:\n \n The resulting data can be accessed in JavaScript like this:\n const value = JSON.parse(document.getElementById('hello-data').textContent);\n-XSS attacks are mitigated by escaping the characters \u201c<\u201d, \u201c>\u201d and \u201c&\u201d. For\n+XSS attacks are mitigated by escaping the characters \u00ab<\u00bb, \u00ab>\u00bb and \u00ab&\u00bb. For\n example if value is {'hello': 'world&'}, the output is:\n \n This is compatible with a strict Content Security Policy that prohibits in-page\n script execution. It also maintains a clean separation between passive data and\n executable code.\n *\b**\b**\b**\b* l\bla\bas\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -1311,15 +1311,15 @@\n suffix as a parameter to the filter.\n Example:\n You have {{ num_walruses }} walrus{{ num_walruses|pluralize:\"es\" }}.\n For words that don\u2019t pluralize by simple suffix, you can specify both a\n singular and plural suffix, separated by a comma.\n Example:\n You have {{ num_cherries }} cherr{{ num_cherries|pluralize:\"y,ies\" }}.\n-Note\n+Nota\n Use _\bb_\bl_\bo_\bc_\bk_\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\be to pluralize translated strings.\n *\b**\b**\b**\b* p\bpp\bpr\bri\bin\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n A wrapper around _\bp_\bp_\br_\bi_\bn_\bt_\b._\bp_\bp_\br_\bi_\bn_\bt_\b(_\b) \u2013 for debugging, really.\n *\b**\b**\b**\b* r\bra\ban\bnd\bdo\bom\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n Returns a random item from the given list.\n For example:\n {{ value|random }}\n@@ -1329,15 +1329,15 @@\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt:\b: field size\n For example:\n \"{{ value|rjust:\"10\" }}\"\n If value is Django, the output will be \"\u00a0\u00a0\u00a0 Django\".\n *\b**\b**\b**\b* s\bsa\baf\bfe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Marks a string as not requiring further HTML escaping prior to output. When\n autoescaping is off, this filter has no effect.\n-Note\n+Nota\n If you are chaining filters, a filter applied after safe can make the contents\n unsafe again. For example, the following code prints the variable as is,\n unescaped:\n {{ var|safe|escape }}\n *\b**\b**\b**\b* s\bsa\baf\bfe\bes\bse\beq\bq_\b?\b\u00b6 *\b**\b**\b**\b*\n Applies the _\bs_\ba_\bf_\be filter to each element of a sequence. Useful in conjunction\n with other filters that operate on sequences, such as _\bj_\bo_\bi_\bn. For example:\n@@ -1358,15 +1358,15 @@\n leading and trailing whitespace.\n For example:\n {{ value|slugify }}\n If value is \"Joel is a slug\", the output will be \"joel-is-a-slug\".\n *\b**\b**\b**\b* s\bst\btr\bri\bin\bng\bgf\bfo\bor\brm\bma\bat\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Formats the variable according to the argument, a string formatting specifier.\n This specifier uses the _\bp_\br_\bi_\bn_\bt_\bf_\b-_\bs_\bt_\by_\bl_\be_\b _\bS_\bt_\br_\bi_\bn_\bg_\b _\bF_\bo_\br_\bm_\ba_\bt_\bt_\bi_\bn_\bg syntax, with the\n-exception that the leading \u201c%\u201d is dropped.\n+exception that the leading \u00ab%\u00bb is dropped.\n For example:\n {{ value|stringformat:\"E\" }}\n If value is 10, the output will be 1.000000E+01.\n *\b**\b**\b**\b* s\bst\btr\bri\bip\bpt\bta\bag\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Makes all possible efforts to strip all [X]HTML tags.\n For example:\n {{ value|striptags }}\n@@ -1381,20 +1381,20 @@\n Formats a time according to the given format.\n Given format can be the predefined one _\bT_\bI_\bM_\bE_\b__\bF_\bO_\bR_\bM_\bA_\bT, or a custom format, same as\n the _\bd_\ba_\bt_\be filter. Note that the predefined format is locale-dependent.\n For example:\n {{ value|time:\"H:i\" }}\n If value is equivalent to datetime.datetime.now(), the output will be the\n string \"01:23\".\n-Note that you can backslash-escape a format string if you want to use the \u201craw\u201d\n-value. In this example, both \u201ch\u201d and \u201cm\u201d are backslash-escaped, because\n+Note that you can backslash-escape a format string if you want to use the \u00abraw\u00bb\n+value. In this example, both \u00abh\u00bb and \u00abm\u00bb are backslash-escaped, because\n otherwise each is a format string that displays the hour and the month,\n respectively:\n {{ value|time:\"H\\h i\\m\" }}\n-This would display as \u201c01h 23m\u201d.\n+This would display as \u00ab01h 23m\u00bb.\n Another example:\n Assuming that _\bL_\bA_\bN_\bG_\bU_\bA_\bG_\bE_\b__\bC_\bO_\bD_\bE is, for example, \"de\", then for:\n {{ value|time:\"TIME_FORMAT\" }}\n the output will be the string \"01:23\" (The \"TIME_FORMAT\" format specifier for\n the de locale as shipped with Django is \"H:i\").\n The time filter will only accept parameters in the format string that relate to\n the time of day, not the date. If you need to format a date value, use the _\bd_\ba_\bt_\be\n@@ -1405,46 +1405,46 @@\n filter will accept the timezone-related _\bf_\bo_\br_\bm_\ba_\bt_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\be_\br_\bs 'e', 'O' , 'T' and\n 'Z'.\n When used without a format string, the TIME_FORMAT format specifier is used:\n {{ value|time }}\n is the same as:\n {{ value|time:\"TIME_FORMAT\" }}\n *\b**\b**\b**\b* t\bti\bim\bme\bes\bsi\bin\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n-Formats a date as the time since that date (e.g., \u201c4 days, 6 hours\u201d).\n+Formats a date as the time since that date (e.g., \u00ab4 days, 6 hours\u00bb).\n Takes an optional argument that is a variable containing the date to use as the\n comparison point (without the argument, the comparison point is n\bno\bow\bw). For\n example, if blog_date is a date instance representing midnight on 1 June 2006,\n and comment_date is a date instance for 08:00 on 1 June 2006, then the\n-following would return \u201c8 hours\u201d:\n+following would return \u00ab8 hours\u00bb:\n {{ blog_date|timesince:comment_date }}\n Comparing offset-naive and offset-aware datetimes will return an empty string.\n-Minutes is the smallest unit used, and \u201c0 minutes\u201d will be returned for any\n+Minutes is the smallest unit used, and \u00ab0 minutes\u00bb will be returned for any\n date that is in the future relative to the comparison point.\n *\b**\b**\b**\b* t\bti\bim\bme\beu\bun\bnt\bti\bil\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n Similar to timesince, except that it measures the time from now until the given\n date or datetime. For example, if today is 1 June 2006 and conference_date is a\n date instance holding 29 June 2006, then {{ conference_date|timeuntil }} will\n-return \u201c4 weeks\u201d.\n+return \u00ab4 weeks\u00bb.\n Takes an optional argument that is a variable containing the date to use as the\n comparison point (instead of n\bno\bow\bw). If from_date contains 22 June 2006, then the\n-following will return \u201c1 week\u201d:\n+following will return \u00ab1 week\u00bb:\n {{ conference_date|timeuntil:from_date }}\n Comparing offset-naive and offset-aware datetimes will return an empty string.\n-Minutes is the smallest unit used, and \u201c0 minutes\u201d will be returned for any\n+Minutes is the smallest unit used, and \u00ab0 minutes\u00bb will be returned for any\n date that is in the past relative to the comparison point.\n *\b**\b**\b**\b* t\bti\bit\btl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Converts a string into titlecase by making words start with an uppercase\n character and the remaining characters lowercase. This tag makes no effort to\n-keep \u201ctrivial words\u201d in lowercase.\n+keep \u00abtrivial words\u00bb in lowercase.\n For example:\n {{ value|title }}\n If value is \"my FIRST post\", the output will be \"My First Post\".\n *\b**\b**\b**\b* t\btr\bru\bun\bnc\bca\bat\bte\bec\bch\bha\bar\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Truncates a string if it is longer than the specified number of characters.\n-Truncated strings will end with a translatable ellipsis character (\u201d\u2026\u201d).\n+Truncated strings will end with a translatable ellipsis character (\u00bb\u2026\u00bb).\n A\bAr\brg\bgu\bum\bme\ben\bnt\bt:\b: Number of characters to truncate to\n For example:\n {{ value|truncatechars:7 }}\n If value is \"Joel is a slug\", the output will be \"Joel i\u2026\".\n *\b**\b**\b**\b* t\btr\bru\bun\bnc\bca\bat\bte\bec\bch\bha\bar\brs\bs_\b_h\bht\btm\bml\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n Similar to _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs, except that it is aware of HTML tags. Any tags that\n are opened in the string and not closed before the truncation point are closed\n@@ -1508,15 +1508,15 @@\n Escapes a value for use in a URL.\n For example:\n {{ value|urlencode }}\n If value is \"https://www.example.org/foo?a=b&c=d\", the output will be\n \"https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd\".\n An optional argument containing the characters which should not be escaped can\n be provided.\n-If not provided, the \u2018/\u2019 character is assumed safe. An empty string can be\n+If not provided, the \u201c/\u201d character is assumed safe. An empty string can be\n provided when a\bal\bll\bl characters should be escaped. For example:\n {{ value|urlencode:\"\" }}\n If value is \"https://www.example.org/\", the output will be\n \"https%3A%2F%2Fwww.example.org%2F\".\n *\b**\b**\b**\b* u\bur\brl\bli\biz\bze\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Converts URLs and email addresses in text into clickable links.\n This template tag works on links prefixed with http://, https://, or www.. For\n@@ -1533,19 +1533,19 @@\n href=\"http://www.djangoproject.com\" rel=\"nofollow\">www.djangoproject.com\".\n In addition to web links, urlize also converts email addresses into mailto:\n links. If value is \"Send questions to foo@example.com\", the output will be\n \"Send questions to foo@example.com\".\n The urlize filter also takes an optional parameter autoescape. If autoescape is\n True, the link text and URLs will be escaped using Django\u2019s built-in _\be_\bs_\bc_\ba_\bp_\be\n filter. The default value for autoescape is True.\n-Note\n+Nota\n If urlize is applied to text that already contains HTML markup, or to email\n addresses that contain single quotes ('), things won\u2019t work as expected. Apply\n this filter only to plain text.\n-Warning\n+Avvertimento\n Using urlize or urlizetrunc can incur a performance penalty, which can become\n severe when applied to user controlled values such as content stored in a\n _\bT_\be_\bx_\bt_\bF_\bi_\be_\bl_\bd. You can use _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs to add a limit to such inputs:\n {{ value|truncatechars:500|urlize }}\n *\b**\b**\b**\b* u\bur\brl\bli\biz\bze\bet\btr\bru\bun\bnc\bc_\b?\b\u00b6 *\b**\b**\b**\b*\n Converts URLs and email addresses into clickable links just like _\bu_\br_\bl_\bi_\bz_\be, but\n truncates URLs longer than the given character limit.\n@@ -1567,16 +1567,16 @@\n For example:\n {{ value|wordwrap:5 }}\n If value is Joel is a slug, the output would be:\n Joel\n is a\n slug\n *\b**\b**\b**\b* y\bye\bes\bsn\bno\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n-Maps values for True, False, and (optionally) None, to the strings \u201cyes\u201d, \u201cno\u201d,\n-\u201cmaybe\u201d, or a custom mapping passed as a comma-separated list, and returns one\n+Maps values for True, False, and (optionally) None, to the strings \u00abyes\u00bb, \u00abno\u00bb,\n+\u00abmaybe\u00bb, or a custom mapping passed as a comma-separated list, and returns one\n of those strings according to the value:\n For example:\n {{ value|yesno:\"yeah,no,maybe\" }}\n V\bVa\bal\blu\bue\be A\bAr\brg\bgu\bum\bme\ben\bnt\bt O\bOu\but\btp\bpu\but\bts\bs\n True yes\n True \"yeah,no,maybe\" yeah\n False \"yeah,no,maybe\" no\n@@ -1601,15 +1601,15 @@\n also set _\bU_\bS_\bE_\b__\bT_\bZ to True so that conversion to local time happens by default.\n See _\bT_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\b _\ba_\bw_\ba_\br_\be_\b _\bo_\bu_\bt_\bp_\bu_\bt_\b _\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs.\n *\b**\b**\b**\b**\b* O\bOt\bth\bhe\ber\br t\bta\bag\bgs\bs a\ban\bnd\bd f\bfi\bil\blt\bte\ber\brs\bs l\bli\bib\bbr\bra\bar\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django comes with a couple of other template-tag libraries that you have to\n enable explicitly in your _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS setting and enable in your template\n with the _\b{_\b%_\b _\bl_\bo_\ba_\bd_\b _\b%_\b} tag.\n *\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnt\btr\bri\bib\bb.\b.h\bhu\bum\bma\ban\bni\biz\bze\be_\b?\b\u00b6 *\b**\b**\b**\b*\n-A set of Django template filters useful for adding a \u201chuman touch\u201d to data. See\n+A set of Django template filters useful for adding a \u00abhuman touch\u00bb to data. See\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be.\n *\b**\b**\b**\b* s\bst\bta\bat\bti\bic\bc_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* s\bst\bta\bat\bti\bic\bc_\b?\b\u00b6 *\b**\b**\b*\n To link to static files that are saved in _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT Django ships with a\n _\bs_\bt_\ba_\bt_\bi_\bc template tag. If the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs app is installed, the\n tag will serve files using url() method of the storage specified by staticfiles\n in _\bS_\bT_\bO_\bR_\bA_\bG_\bE_\bS. For example:\n@@ -1759,16 +1759,16 @@\n # _\bt_\bz\n o _\bO_\bt_\bh_\be_\br_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bh_\bu_\bm_\ba_\bn_\bi_\bz_\be\n # _\bs_\bt_\ba_\bt_\bi_\bc\n # _\bs_\bt_\ba_\bt_\bi_\bc\n # _\bg_\be_\bt_\b__\bs_\bt_\ba_\bt_\bi_\bc_\b__\bp_\br_\be_\bf_\bi_\bx\n # _\bg_\be_\bt_\b__\bm_\be_\bd_\bi_\ba_\b__\bp_\br_\be_\bf_\bi_\bx\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b:_\b _\bf_\bo_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bp_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/templates/index.html", "source2": "./usr/share/doc/python-django-doc/html/ref/templates/index.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Templates — Django 5.1.4 documentation\n+ Templates — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n

      \n
      \n
      \n-

      Django 5.1.4 documentation

      \n+

      Documentazione Django 5.1.4

      \n \n
      \n@@ -115,15 +116,15 @@\n
    • Custom loaders
    • \n
    • Template origin
    • \n
    \n \n \n \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For information on writing your own custom tags and filters, see\n How to create custom template tags and filters.

    \n

    To learn how to override templates in other Django applications, see\n How to override templates.

    \n
    \n \n \n@@ -134,37 +135,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Signals

    \n+ title=\"capitolo precedente\">Signals

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    The Django template language

    \n+ title=\"capitolo successivo\">The Django template language

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django\u2019s template engine provides a powerful mini-language for defining the\n user-facing layer of your application, encouraging a clean separation of\n application and presentation logic. Templates can be maintained by anyone with\n an understanding of HTML; no knowledge of Python is required. For introductory\n@@ -27,21 +27,21 @@\n o _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\bi_\bn_\bg_\b _\ba_\bn_\b _\be_\bn_\bg_\bi_\bn_\be\n o _\bL_\bo_\ba_\bd_\bi_\bn_\bg_\b _\ba_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be\n o _\bR_\be_\bn_\bd_\be_\br_\bi_\bn_\bg_\b _\ba_\b _\bc_\bo_\bn_\bt_\be_\bx_\bt\n o _\bP_\bl_\ba_\by_\bi_\bn_\bg_\b _\bw_\bi_\bt_\bh_\b _\bC_\bo_\bn_\bt_\be_\bx_\bt_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs\n o _\bL_\bo_\ba_\bd_\bi_\bn_\bg_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\ba_\bd_\be_\br_\bs\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bo_\br_\bi_\bg_\bi_\bn\n-See also\n+Vedi anche\n For information on writing your own custom tags and filters, see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be\n _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs.\n To learn how to override templates in other Django applications, see _\bH_\bo_\bw_\b _\bt_\bo\n _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bS_\bi_\bg_\bn_\ba_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/templates/language.html", "source2": "./usr/share/doc/python-django-doc/html/ref/templates/language.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- The Django template language — Django 5.1.4 documentation\n+ The Django template language — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -168,27 +169,27 @@\n case, consider converting to a dictionary first.

    \n
    \n

    In the above example, {{ section.title }} will be replaced with the\n title attribute of the section object.

    \n

    If you use a variable that doesn\u2019t exist, the template system will insert the\n value of the string_if_invalid option, which is set to '' (the empty\n string) by default.

    \n-

    Note that \u201cbar\u201d in a template expression like {{ foo.bar }} will be\n-interpreted as a literal string and not using the value of the variable \u201cbar\u201d,\n+

    Note that \u00abbar\u00bb in a template expression like {{ foo.bar }} will be\n+interpreted as a literal string and not using the value of the variable \u00abbar\u00bb,\n if one exists in the template context.

    \n

    Variable attributes that begin with an underscore may not be accessed as\n they\u2019re generally considered private.

    \n \n
    \n

    Filters\u00b6

    \n

    You can modify variables for display by using filters.

    \n

    Filters look like this: {{ name|lower }}. This displays the value of the\n {{ name }} variable after being filtered through the lower\n filter, which converts text to lowercase. Use a pipe (|) to apply a filter.

    \n-

    Filters can be \u201cchained.\u201d The output of one filter is applied to the next.\n+

    Filters can be \u00abchained.\u00bb The output of one filter is applied to the next.\n {{ text|escape|linebreaks }} is a common idiom for escaping text contents,\n then converting line breaks to <p> tags.

    \n

    Some filters take arguments. A filter argument looks like this: {{\n bio|truncatewords:30 }}. This will display the first 30 words of the bio\n variable.

    \n

    Filter arguments that contain spaces must be quoted; for example, to join a\n list with commas and spaces you\u2019d use {{ list|join:", " }}.

    \n@@ -199,36 +200,36 @@\n
    \n
    default

    If a variable is false or empty, use given default. Otherwise, use the\n value of the variable. For example:

    \n
    {{ value|default:"nothing" }}\n 
    \n
    \n

    If value isn\u2019t provided or is empty, the above will display\n-\u201cnothing\u201d.

    \n+\u00abnothing\u00bb.

    \n
    \n
    length

    Returns the length of the value. This works for both strings and lists.\n For example:

    \n
    {{ value|length }}\n 
    \n
    \n

    If value is ['a', 'b', 'c', 'd'], the output will be 4.

    \n
    \n-
    filesizeformat

    Formats the value like a \u201chuman-readable\u201d file size (i.e. '13 KB',\n+

    filesizeformat

    Formats the value like a \u00abhuman-readable\u00bb file size (i.e. '13 KB',\n '4.1 MB', '102 bytes', etc.). For example:

    \n
    {{ value|filesizeformat }}\n 
    \n
    \n

    If value is 123456789, the output would be 117.7 MB.

    \n
    \n
    \n

    Again, these are just a few examples; see the built-in filter reference for the complete list.

    \n

    You can also create your own custom template filters; see\n How to create custom template tags and filters.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Django\u2019s admin interface can include a complete reference of all template\n tags and filters available for a given site. See\n The Django admin documentation generator.

    \n
    \n
    \n
    \n

    Tags\u00b6

    \n@@ -248,52 +249,52 @@\n {% for athlete in athlete_list %}\n <li>{{ athlete.name }}</li>\n {% endfor %}\n </ul>\n
    \n
    \n \n-
    if, elif, and else

    Evaluates a variable, and if that variable is \u201ctrue\u201d the contents of the\n+

    if, elif, and else

    Evaluates a variable, and if that variable is \u00abtrue\u00bb the contents of the\n block are displayed:

    \n
    {% if athlete_list %}\n     Number of athletes: {{ athlete_list|length }}\n {% elif athlete_in_locker_room_list %}\n     Athletes should be out of the locker room soon!\n {% else %}\n     No athletes.\n {% endif %}\n 
    \n
    \n

    In the above, if athlete_list is not empty, the number of athletes\n will be displayed by the {{ athlete_list|length }} variable. Otherwise,\n-if athlete_in_locker_room_list is not empty, the message \u201cAthletes\n-should be out\u2026\u201d will be displayed. If both lists are empty,\n-\u201cNo athletes.\u201d will be displayed.

    \n+if athlete_in_locker_room_list is not empty, the message \u00abAthletes\n+should be out\u2026\u00bb will be displayed. If both lists are empty,\n+\u00abNo athletes.\u00bb will be displayed.

    \n

    You can also use filters and various operators in the if tag:

    \n
    {% if athlete_list|length > 1 %}\n    Team: {% for athlete in athlete_list %} ... {% endfor %}\n {% else %}\n    Athlete: {{ athlete_list.0.name }}\n {% endif %}\n 
    \n
    \n

    While the above example works, be aware that most template filters return\n strings, so mathematical comparisons using filters will generally not work\n as you expect. length is an exception.

    \n
    \n
    block and extends

    Set up template inheritance (see below), a powerful way\n-of cutting down on \u201cboilerplate\u201d in templates.

    \n+of cutting down on \u00abboilerplate\u00bb in templates.

    \n
    \n \n

    Again, the above is only a selection of the whole list; see the built-in\n tag reference for the complete list.

    \n

    You can also create your own custom template tags; see\n How to create custom template tags and filters.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Django\u2019s admin interface can include a complete reference of all template\n tags and filters available for a given site. See\n The Django admin documentation generator.

    \n
    \n \n
    \n

    Comments\u00b6

    \n@@ -310,15 +311,15 @@\n between the {# and #} delimiters). If you need to comment out a\n multiline portion of the template, see the comment tag.

    \n
    \n
    \n

    Template inheritance\u00b6

    \n

    The most powerful \u2013 and thus the most complex \u2013 part of Django\u2019s template\n engine is template inheritance. Template inheritance allows you to build a base\n-\u201cskeleton\u201d template that contains all the common elements of your site and\n+\u00abskeleton\u00bb template that contains all the common elements of your site and\n defines blocks that child templates can override.

    \n

    Let\u2019s look at template inheritance by starting with an example:

    \n
    <!DOCTYPE html>\n <html lang="en">\n <head>\n     <link rel="stylesheet" href="style.css">\n     <title>{% block title %}My amazing site{% endblock %}</title>\n@@ -338,15 +339,15 @@\n         {% block content %}{% endblock %}\n     </div>\n </body>\n </html>\n 
    \n
    \n

    This template, which we\u2019ll call base.html, defines an HTML skeleton\n-document that you might use for a two-column page. It\u2019s the job of \u201cchild\u201d\n+document that you might use for a two-column page. It\u2019s the job of \u00abchild\u00bb\n templates to fill the empty blocks with content.

    \n

    In this example, the block tag defines three blocks that child\n templates can fill in. All the block tag does is to tell the template\n engine that a child template may override those portions of the template.

    \n

    A child template might look like this:

    \n
    {% extends "base.html" %}\n \n@@ -357,16 +358,16 @@\n     <h2>{{ entry.title }}</h2>\n     <p>{{ entry.body }}</p>\n {% endfor %}\n {% endblock %}\n 
    \n
    \n

    The extends tag is the key here. It tells the template engine that\n-this template \u201cextends\u201d another template. When the template system evaluates\n-this template, first it locates the parent \u2013 in this case, \u201cbase.html\u201d.

    \n+this template \u00abextends\u00bb another template. When the template system evaluates\n+this template, first it locates the parent \u2013 in this case, \u00abbase.html\u00bb.

    \n

    At that point, the template engine will notice the three block tags\n in base.html and replace those blocks with the contents of the child\n template. Depending on the value of blog_entries, the output might look\n like:

    \n
    <!DOCTYPE html>\n <html lang="en">\n <head>\n@@ -397,15 +398,15 @@\n value from the parent template is used instead. Content within a {% block %}\n tag in a parent template is always used as a fallback.

    \n

    You can use as many levels of inheritance as needed. One common way of using\n inheritance is the following three-level approach:

    \n
      \n
    • Create a base.html template that holds the main look-and-feel of your\n site.

    • \n-
    • Create a base_SECTIONNAME.html template for each \u201csection\u201d of your\n+

    • Create a base_SECTIONNAME.html template for each \u00absection\u00bb of your\n site. For example, base_news.html, base_sports.html. These\n templates all extend base.html and include section-specific\n styles/design.

    • \n
    • Create individual templates for each type of page, such as a news\n article or blog entry. These templates extend the appropriate section\n template.

    • \n
    \n@@ -461,18 +462,18 @@\n {% endif %}\n
    \n
    \n \n \n

    Finally, note that you can\u2019t define multiple block tags with the same\n name in the same template. This limitation exists because a block tag works in\n-\u201cboth\u201d directions. That is, a block tag doesn\u2019t just provide a hole to fill \u2013\n+\u00abboth\u00bb directions. That is, a block tag doesn\u2019t just provide a hole to fill \u2013\n it also defines the content that fills the hole in the parent. If there were\n two similarly-named block tags in a template, that template\u2019s parent\n-wouldn\u2019t know which one of the blocks\u2019 content to use.

    \n+wouldn\u2019t know which one of the blocks\u201d content to use.

    \n
    \n
    \n

    Automatic HTML escaping\u00b6

    \n

    When generating HTML from templates, there\u2019s always a risk that a variable will\n include characters that affect the resulting HTML. For example, consider this\n template fragment:

    \n
    Hello, {{ name }}\n@@ -641,18 +642,18 @@\n 
    \n \n
    \n

    Accessing method calls\u00b6

    \n

    Most method calls attached to objects are also available from within templates.\n This means that templates have access to much more than just class attributes\n (like field names) and variables passed in from views. For example, the Django\n-ORM provides the \u201centry_set\u201d syntax for\n+ORM provides the \u00abentry_set\u00bb syntax for\n finding a collection of objects related on a foreign key. Therefore, given\n-a model called \u201ccomment\u201d with a foreign key relationship to a model called\n-\u201ctask\u201d you can loop through all comments attached to a given task like this:

    \n+a model called \u00abcomment\u00bb with a foreign key relationship to a model called\n+\u00abtask\u00bb you can loop through all comments attached to a given task like this:

    \n
    {% for comment in task.comment_set.all %}\n     {{ comment }}\n {% endfor %}\n 
    \n
    \n

    Similarly, QuerySets provide a count() method\n to count the number of objects they contain. Therefore, you can obtain a count\n@@ -709,15 +710,15 @@\n the template-inheritance path.

    \n

    For example, if a template foo.html has {% load humanize %}, a child\n template (e.g., one that has {% extends "foo.html" %}) will not have\n access to the humanize template tags and filters. The child template is\n responsible for its own {% load humanize %}.

    \n

    This is a feature for the sake of maintainability and sanity.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n
    \n
    The Templates Reference

    Covers built-in tags, built-in filters, using an alternative template\n language, and more.

    \n
    \n
    \n
    \n
    \n@@ -761,37 +762,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Templates

    \n+ title=\"capitolo precedente\">Templates

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Built-in template tags and filters

    \n+ title=\"capitolo successivo\">Built-in template tags and filters

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* T\bTh\bhe\be D\bDj\bja\ban\bng\bgo\bo t\bte\bem\bmp\bpl\bla\bat\bte\be l\bla\ban\bng\bgu\bua\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document explains the language syntax of the Django template system. If\n you\u2019re looking for a more technical perspective on how it works and how to\n extend it, see _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b:_\b _\bf_\bo_\br_\b _\bP_\by_\bt_\bh_\bo_\bn_\b _\bp_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br_\bs.\n Django\u2019s template language is designed to strike a balance between power and\n@@ -76,55 +76,55 @@\n default value instead of using the intended .items() method. In this case,\n consider converting to a dictionary first.\n In the above example, {{ section.title }} will be replaced with the title\n attribute of the section object.\n If you use a variable that doesn\u2019t exist, the template system will insert the\n value of the string_if_invalid option, which is set to '' (the empty string) by\n default.\n-Note that \u201cbar\u201d in a template expression like {{ foo.bar }} will be interpreted\n-as a literal string and not using the value of the variable \u201cbar\u201d, if one\n+Note that \u00abbar\u00bb in a template expression like {{ foo.bar }} will be interpreted\n+as a literal string and not using the value of the variable \u00abbar\u00bb, if one\n exists in the template context.\n Variable attributes that begin with an underscore may not be accessed as\n they\u2019re generally considered private.\n *\b**\b**\b**\b**\b* F\bFi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n You can modify variables for display by using f\bfi\bil\blt\bte\ber\brs\bs.\n Filters look like this: {{ name|lower }}. This displays the value of the {\n { name }} variable after being filtered through the _\bl_\bo_\bw_\be_\br filter, which\n converts text to lowercase. Use a pipe (|) to apply a filter.\n-Filters can be \u201cchained.\u201d The output of one filter is applied to the next. {\n+Filters can be \u00abchained.\u00bb The output of one filter is applied to the next. {\n { text|escape|linebreaks }} is a common idiom for escaping text contents, then\n converting line breaks to

    tags.\n Some filters take arguments. A filter argument looks like this: {\n { bio|truncatewords:30 }}. This will display the first 30 words of the bio\n variable.\n Filter arguments that contain spaces must be quoted; for example, to join a\n list with commas and spaces you\u2019d use {{ list|join:\", \" }}.\n Django provides about sixty built-in template filters. You can read all about\n them in the _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be. To give you a taste of what\u2019s available,\n here are some of the more commonly used template filters:\n _\bd_\be_\bf_\ba_\bu_\bl_\bt\n If a variable is false or empty, use given default. Otherwise, use the\n value of the variable. For example:\n {{ value|default:\"nothing\" }}\n- If value isn\u2019t provided or is empty, the above will display \u201cnothing\u201d.\n+ If value isn\u2019t provided or is empty, the above will display \u00abnothing\u00bb.\n _\bl_\be_\bn_\bg_\bt_\bh\n Returns the length of the value. This works for both strings and lists.\n For example:\n {{ value|length }}\n If value is ['a', 'b', 'c', 'd'], the output will be 4.\n _\bf_\bi_\bl_\be_\bs_\bi_\bz_\be_\bf_\bo_\br_\bm_\ba_\bt\n- Formats the value like a \u201chuman-readable\u201d file size (i.e. '13 KB', '4.1\n+ Formats the value like a \u00abhuman-readable\u00bb file size (i.e. '13 KB', '4.1\n MB', '102 bytes', etc.). For example:\n {{ value|filesizeformat }}\n If value is 123456789, the output would be 117.7 MB.\n Again, these are just a few examples; see the _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be for the\n complete list.\n You can also create your own custom template filters; see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm\n _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs.\n-See also\n+Vedi anche\n Django\u2019s admin interface can include a complete reference of all template tags\n and filters available for a given site. See _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n _\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br.\n *\b**\b**\b**\b**\b* T\bTa\bag\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Tags look like this: {% tag %}. Tags are more complex than variables: Some\n create text in the output, some control flow by performing loops or logic, and\n some load external information into the template to be used by later variables.\n@@ -138,45 +138,45 @@\n athletes provided in athlete_list:\n

      \n {% for athlete in athlete_list %}\n
    • {{ athlete.name }}
    • \n {% endfor %}\n
    \n _\bi_\bf, elif, and else\n- Evaluates a variable, and if that variable is \u201ctrue\u201d the contents of the\n+ Evaluates a variable, and if that variable is \u00abtrue\u00bb the contents of the\n block are displayed:\n {% if athlete_list %}\n Number of athletes: {{ athlete_list|length }}\n {% elif athlete_in_locker_room_list %}\n Athletes should be out of the locker room soon!\n {% else %}\n No athletes.\n {% endif %}\n In the above, if athlete_list is not empty, the number of athletes will\n be displayed by the {{ athlete_list|length }} variable. Otherwise, if\n- athlete_in_locker_room_list is not empty, the message \u201cAthletes should be\n- out\u2026\u201d will be displayed. If both lists are empty, \u201cNo athletes.\u201d will be\n+ athlete_in_locker_room_list is not empty, the message \u00abAthletes should be\n+ out\u2026\u00bb will be displayed. If both lists are empty, \u00abNo athletes.\u00bb will be\n displayed.\n You can also use filters and various operators in the _\bi_\bf tag:\n {% if athlete_list|length > 1 %}\n Team: {% for athlete in athlete_list %} ... {% endfor %}\n {% else %}\n Athlete: {{ athlete_list.0.name }}\n {% endif %}\n While the above example works, be aware that most template filters return\n strings, so mathematical comparisons using filters will generally not\n work as you expect. _\bl_\be_\bn_\bg_\bt_\bh is an exception.\n _\bb_\bl_\bo_\bc_\bk and _\be_\bx_\bt_\be_\bn_\bd_\bs\n Set up _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bi_\bn_\bh_\be_\br_\bi_\bt_\ba_\bn_\bc_\be (see below), a powerful way of cutting down\n- on \u201cboilerplate\u201d in templates.\n+ on \u00abboilerplate\u00bb in templates.\n Again, the above is only a selection of the whole list; see the _\bb_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bt_\ba_\bg\n _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be for the complete list.\n You can also create your own custom template tags; see _\bH_\bo_\bw_\b _\bt_\bo_\b _\bc_\br_\be_\ba_\bt_\be_\b _\bc_\bu_\bs_\bt_\bo_\bm\n _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs.\n-See also\n+Vedi anche\n Django\u2019s admin interface can include a complete reference of all template tags\n and filters available for a given site. See _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn\n _\bg_\be_\bn_\be_\br_\ba_\bt_\bo_\br.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bme\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n To comment-out part of a line in a template, use the comment syntax: {# #}.\n For example, this template would render as 'hello':\n {# greeting #}hello\n@@ -184,15 +184,15 @@\n {# {% if foo %}bar{% else %} #}\n This syntax can only be used for single-line comments (no newlines are\n permitted between the {# and #} delimiters). If you need to comment out a\n multiline portion of the template, see the _\bc_\bo_\bm_\bm_\be_\bn_\bt tag.\n *\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\be i\bin\bnh\bhe\ber\bri\bit\bta\ban\bnc\bce\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The most powerful \u2013 and thus the most complex \u2013 part of Django\u2019s template\n engine is template inheritance. Template inheritance allows you to build a base\n-\u201cskeleton\u201d template that contains all the common elements of your site and\n+\u00abskeleton\u00bb template that contains all the common elements of your site and\n defines b\bbl\blo\boc\bck\bks\bs that child templates can override.\n Let\u2019s look at template inheritance by starting with an example:\n \n \n \n \n {% block title %}My amazing site{% endblock %}\n@@ -210,15 +210,15 @@\n \n
    \n {% block content %}{% endblock %}\n
    \n \n \n This template, which we\u2019ll call base.html, defines an HTML skeleton document\n-that you might use for a two-column page. It\u2019s the job of \u201cchild\u201d templates to\n+that you might use for a two-column page. It\u2019s the job of \u00abchild\u00bb templates to\n fill the empty blocks with content.\n In this example, the _\bb_\bl_\bo_\bc_\bk tag defines three blocks that child templates can\n fill in. All the _\bb_\bl_\bo_\bc_\bk tag does is to tell the template engine that a child\n template may override those portions of the template.\n A child template might look like this:\n {% extends \"base.html\" %}\n \n@@ -227,16 +227,16 @@\n {% block content %}\n {% for entry in blog_entries %}\n

    {{ entry.title }}

    \n

    {{ entry.body }}

    \n {% endfor %}\n {% endblock %}\n The _\be_\bx_\bt_\be_\bn_\bd_\bs tag is the key here. It tells the template engine that this\n-template \u201cextends\u201d another template. When the template system evaluates this\n-template, first it locates the parent \u2013 in this case, \u201cbase.html\u201d.\n+template \u00abextends\u00bb another template. When the template system evaluates this\n+template, first it locates the parent \u2013 in this case, \u00abbase.html\u00bb.\n At that point, the template engine will notice the three _\bb_\bl_\bo_\bc_\bk tags in\n base.html and replace those blocks with the contents of the child template.\n Depending on the value of blog_entries, the output might look like:\n \n \n \n \n@@ -263,15 +263,15 @@\n Note that since the child template didn\u2019t define the sidebar block, the value\n from the parent template is used instead. Content within a {% block %} tag in a\n parent template is always used as a fallback.\n You can use as many levels of inheritance as needed. One common way of using\n inheritance is the following three-level approach:\n * Create a base.html template that holds the main look-and-feel of your\n site.\n- * Create a base_SECTIONNAME.html template for each \u201csection\u201d of your site.\n+ * Create a base_SECTIONNAME.html template for each \u00absection\u00bb of your site.\n For example, base_news.html, base_sports.html. These templates all extend\n base.html and include section-specific styles/design.\n * Create individual templates for each type of page, such as a news article\n or blog entry. These templates extend the appropriate section template.\n This approach maximizes code reuse and helps to add items to shared content\n areas, such as section-wide navigation.\n Here are some tips for working with inheritance:\n@@ -311,19 +311,19 @@\n is always overridden, regardless of the truthiness of surrounding tags.\n For example, this template will a\bal\blw\bwa\bay\bys\bs override the content of the title\n block:\n {% if change_title %}\n {% block title %}Hello!{% endblock title %}\n {% endif %}\n Finally, note that you can\u2019t define multiple _\bb_\bl_\bo_\bc_\bk tags with the same name in\n-the same template. This limitation exists because a block tag works in \u201cboth\u201d\n+the same template. This limitation exists because a block tag works in \u00abboth\u00bb\n directions. That is, a block tag doesn\u2019t just provide a hole to fill \u2013 it also\n defines the content that fills the hole in the p\bpa\bar\bre\ben\bnt\bt. If there were two\n similarly-named _\bb_\bl_\bo_\bc_\bk tags in a template, that template\u2019s parent wouldn\u2019t know\n-which one of the blocks\u2019 content to use.\n+which one of the blocks\u201d content to use.\n *\b**\b**\b**\b**\b* A\bAu\but\bto\bom\bma\bat\bti\bic\bc H\bHT\bTM\bML\bL e\bes\bsc\bca\bap\bpi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When generating HTML from templates, there\u2019s always a risk that a variable will\n include characters that affect the resulting HTML. For example, consider this\n template fragment:\n Hello, {{ name }}\n At first, this seems like a harmless way to display a user\u2019s name, but consider\n what would happen if the user entered their name as this:\n@@ -438,17 +438,17 @@\n This doesn\u2019t affect what happens to data coming from the variable itself. The\n variable\u2019s contents are still automatically escaped, if necessary, because\n they\u2019re beyond the control of the template author.\n *\b**\b**\b**\b**\b* A\bAc\bcc\bce\bes\bss\bsi\bin\bng\bg m\bme\bet\bth\bho\bod\bd c\bca\bal\bll\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Most method calls attached to objects are also available from within templates.\n This means that templates have access to much more than just class attributes\n (like field names) and variables passed in from views. For example, the Django\n-ORM provides the _\b\u201c_\be_\bn_\bt_\br_\by_\b__\bs_\be_\bt_\b\u201d syntax for finding a collection of objects related\n-on a foreign key. Therefore, given a model called \u201ccomment\u201d with a foreign key\n-relationship to a model called \u201ctask\u201d you can loop through all comments\n+ORM provides the _\b\u00ab_\be_\bn_\bt_\br_\by_\b__\bs_\be_\bt_\b\u00bb syntax for finding a collection of objects related\n+on a foreign key. Therefore, given a model called \u00abcomment\u00bb with a foreign key\n+relationship to a model called \u00abtask\u00bb you can loop through all comments\n attached to a given task like this:\n {% for comment in task.comment_set.all %}\n {{ comment }}\n {% endfor %}\n Similarly, _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\bs provide a count() method to count the number of objects\n they contain. Therefore, you can obtain a count of all comments related to the\n current task with:\n@@ -485,15 +485,15 @@\n available to the current template \u2013 not any parent or child templates along the\n template-inheritance path.\n For example, if a template foo.html has {% load humanize %}, a child template\n (e.g., one that has {% extends \"foo.html\" %}) will n\bno\bot\bt have access to the\n humanize template tags and filters. The child template is responsible for its\n own {% load humanize %}.\n This is a feature for the sake of maintainability and sanity.\n-See also\n+Vedi anche\n _\bT_\bh_\be_\b _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs_\b _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be\n Covers built-in tags, built-in filters, using an alternative template\n language, and more.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bT_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\ba_\bn_\bg_\bu_\ba_\bg_\be\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n o _\bV_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs\n@@ -506,16 +506,16 @@\n # _\bF_\bo_\br_\b _\bi_\bn_\bd_\bi_\bv_\bi_\bd_\bu_\ba_\bl_\b _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs\n # _\bF_\bo_\br_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bb_\bl_\bo_\bc_\bk_\bs\n # _\bN_\bo_\bt_\be_\bs\n # _\bS_\bt_\br_\bi_\bn_\bg_\b _\bl_\bi_\bt_\be_\br_\ba_\bl_\bs_\b _\ba_\bn_\bd_\b _\ba_\bu_\bt_\bo_\bm_\ba_\bt_\bi_\bc_\b _\be_\bs_\bc_\ba_\bp_\bi_\bn_\bg\n o _\bA_\bc_\bc_\be_\bs_\bs_\bi_\bn_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\b _\bc_\ba_\bl_\bl_\bs\n o _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bt_\ba_\bg_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs\n # _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bi_\bb_\br_\ba_\br_\bi_\be_\bs_\b _\ba_\bn_\bd_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bi_\bn_\bh_\be_\br_\bi_\bt_\ba_\bn_\bc_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/unicode.html", "source2": "./usr/share/doc/python-django-doc/html/ref/unicode.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Unicode data — Django 5.1.4 documentation\n+ Unicode data — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -98,23 +99,23 @@\n
  • SQLite users, there is nothing you need to do. SQLite always uses UTF-8\n for internal encoding.

  • \n \n

    All of Django\u2019s database backends automatically convert strings into\n the appropriate encoding for talking to the database. They also automatically\n convert strings retrieved from the database into strings. You don\u2019t even need\n to tell Django what encoding your database uses: that is handled transparently.

    \n-

    For more, see the section \u201cThe database API\u201d below.

    \n+

    For more, see the section \u00abThe database API\u00bb below.

    \n \n
    \n

    General string handling\u00b6

    \n

    Whenever you use strings with Django \u2013 e.g., in database lookups, template\n rendering or anywhere else \u2013 you have two choices for encoding those strings.\n-You can use normal strings or bytestrings (starting with a \u2018b\u2019).

    \n+You can use normal strings or bytestrings (starting with a \u201cb\u201d).

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    A bytestring does not carry any information with it about its encoding.\n For that reason, we have to make an assumption, and Django assumes that all\n bytestrings are in UTF-8.

    \n

    If you pass a string to Django that has been encoded in some other format,\n things will go wrong in interesting ways. Usually, Django will raise a\n UnicodeDecodeError at some point.

    \n
    \n@@ -132,15 +133,15 @@\n

    In most cases when Django is dealing with strings, it will convert them to\n strings before doing anything else. So, as a general rule, if you pass\n in a bytestring, be prepared to receive a string back in the result.

    \n
    \n

    Translated strings\u00b6

    \n

    Aside from strings and bytestrings, there\u2019s a third type of string-like\n object you may encounter when using Django. The framework\u2019s\n-internationalization features introduce the concept of a \u201clazy translation\u201d \u2013\n+internationalization features introduce the concept of a \u00ablazy translation\u00bb \u2013\n a string that has been marked as translated but whose actual translation result\n isn\u2019t determined until the object is used in a string. This feature is useful\n in cases where the translation locale is unknown until the string is used, even\n though the string might have originally been created when the code was first\n imported.

    \n

    Normally, you won\u2019t have to worry about lazy translations. Just be aware that\n if you examine an object and it claims to be a\n@@ -201,25 +202,25 @@\n conversion from IRI to URI as required by RFC 3987#section-3.1.

    \n
  • The urllib.parse.quote() and urllib.parse.quote_plus()\n functions from Python\u2019s standard library.

  • \n \n

    These two groups of functions have slightly different purposes, and it\u2019s\n important to keep them straight. Normally, you would use quote() on the\n individual portions of the IRI or URI path so that any reserved characters\n-such as \u2018&\u2019 or \u2018%\u2019 are correctly encoded. Then, you apply iri_to_uri() to\n+such as \u201c&\u201d or \u201c%\u201d are correctly encoded. Then, you apply iri_to_uri() to\n the full IRI and it converts any non-ASCII characters to the correct encoded\n values.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Technically, it isn\u2019t correct to say that iri_to_uri() implements the\n full algorithm in the IRI specification. It doesn\u2019t (yet) perform the\n international domain name encoding portion of the algorithm.

    \n
    \n

    The iri_to_uri() function will not change ASCII characters that are\n-otherwise permitted in a URL. So, for example, the character \u2018%\u2019 is not\n+otherwise permitted in a URL. So, for example, the character \u201c%\u201d is not\n further encoded when passed to iri_to_uri(). This means you can pass a\n full URL to this function and it will not mess up the query string or anything\n like that.

    \n

    An example might clarify things here:

    \n
    >>> from urllib.parse import quote\n >>> from django.utils.encoding import iri_to_uri\n >>> quote("Paris & Orl\u00e9ans")\n@@ -282,15 +283,15 @@\n \n def get_absolute_url(self):\n     url = "/person/%s/?x=0&y=0" % quote(self.location)\n     return iri_to_uri(url)\n 
    \n
    \n

    This function returns a correctly encoded URL even if self.location is\n-something like \u201cJack visited Paris & Orl\u00e9ans\u201d. (In fact, the iri_to_uri()\n+something like \u00abJack visited Paris & Orl\u00e9ans\u00bb. (In fact, the iri_to_uri()\n call isn\u2019t strictly necessary in the above example, because all the\n non-ASCII characters would have been removed in quoting in the first line.)

    \n
    \n
    \n
    \n

    Templates\u00b6

    \n

    Use strings when creating templates manually:

    \n@@ -331,15 +332,15 @@\n environment. Check your current configuration in an interactive Python shell by\n running:

    \n
    import sys\n \n sys.getfilesystemencoding()\n 
    \n
    \n-

    This should output \u201cUTF-8\u201d.

    \n+

    This should output \u00abUTF-8\u00bb.

    \n

    The LANG environment variable is responsible for setting the expected\n encoding on Unix platforms. Consult the documentation for your operating system\n and application server for the appropriate syntax and location to set this\n variable. See the How to use Django with Apache and mod_wsgi for examples.

    \n

    In your development environment, you might need to add a setting to your\n ~.bashrc analogous to:

    \n
    export LANG="en_US.UTF-8"\n@@ -347,15 +348,15 @@\n 
    \n
    \n
    \n

    Form submission\u00b6

    \n

    HTML form submission is a tricky area. There\u2019s no guarantee that the\n submission will include encoding information, which means the framework might\n have to guess at the encoding of submitted data.

    \n-

    Django adopts a \u201clazy\u201d approach to decoding form data. The data in an\n+

    Django adopts a \u00ablazy\u00bb approach to decoding form data. The data in an\n HttpRequest object is only decoded when you access it. In fact, most of\n the data is not decoded at all. Only the HttpRequest.GET and\n HttpRequest.POST data structures have any decoding applied to them. Those\n two fields will return their members as Unicode data. All other attributes and\n methods of HttpRequest return data exactly as it was submitted by the\n client.

    \n

    By default, the DEFAULT_CHARSET setting is used as the assumed encoding\n@@ -414,37 +415,37 @@\n

  • Form submission
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    TemplateResponse and SimpleTemplateResponse

    \n+ title=\"capitolo precedente\">TemplateResponse and SimpleTemplateResponse

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    django.urls utility functions

    \n+ title=\"capitolo successivo\">django.urls utility functions

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* U\bUn\bni\bic\bco\bod\bde\be d\bda\bat\bta\ba_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django supports Unicode data everywhere.\n This document tells you what you need to know if you\u2019re writing applications\n that use data or templates that are encoded in something other than ASCII.\n *\b**\b**\b**\b**\b* C\bCr\bre\bea\bat\bti\bin\bng\bg t\bth\bhe\be d\bda\bat\bta\bab\bba\bas\bse\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -18,20 +18,20 @@\n (_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\b2) or alter (_\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\b1_\b1) the database character set encoding.\n * SQLite users, there is nothing you need to do. SQLite always uses UTF-\n 8 for internal encoding.\n All of Django\u2019s database backends automatically convert strings into the\n appropriate encoding for talking to the database. They also automatically\n convert strings retrieved from the database into strings. You don\u2019t even need\n to tell Django what encoding your database uses: that is handled transparently.\n-For more, see the section \u201cThe database API\u201d below.\n+For more, see the section \u00abThe database API\u00bb below.\n *\b**\b**\b**\b**\b* G\bGe\ben\bne\ber\bra\bal\bl s\bst\btr\bri\bin\bng\bg h\bha\ban\bnd\bdl\bli\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Whenever you use strings with Django \u2013 e.g., in database lookups, template\n rendering or anywhere else \u2013 you have two choices for encoding those strings.\n-You can use normal strings or bytestrings (starting with a \u2018b\u2019).\n-Warning\n+You can use normal strings or bytestrings (starting with a \u201cb\u201d).\n+Avvertimento\n A bytestring does not carry any information with it about its encoding. For\n that reason, we have to make an assumption, and Django assumes that all\n bytestrings are in UTF-8.\n If you pass a string to Django that has been encoded in some other format,\n things will go wrong in interesting ways. Usually, Django will raise a\n UnicodeDecodeError at some point.\n If your code only uses ASCII data, it\u2019s safe to use your normal strings,\n@@ -47,15 +47,15 @@\n code must still continue to work. Ergo, it cannot rely on that setting.\n In most cases when Django is dealing with strings, it will convert them to\n strings before doing anything else. So, as a general rule, if you pass in a\n bytestring, be prepared to receive a string back in the result.\n *\b**\b**\b**\b* T\bTr\bra\ban\bns\bsl\bla\bat\bte\bed\bd s\bst\btr\bri\bin\bng\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Aside from strings and bytestrings, there\u2019s a third type of string-like object\n you may encounter when using Django. The framework\u2019s internationalization\n-features introduce the concept of a \u201clazy translation\u201d \u2013 a string that has been\n+features introduce the concept of a \u00ablazy translation\u00bb \u2013 a string that has been\n marked as translated but whose actual translation result isn\u2019t determined until\n the object is used in a string. This feature is useful in cases where the\n translation locale is unknown until the string is used, even though the string\n might have originally been created when the code was first imported.\n Normally, you won\u2019t have to worry about lazy translations. Just be aware that\n if you examine an object and it claims to be a\n django.utils.functional.__proxy__ object, it is a lazy translation. Calling str\n@@ -104,22 +104,22 @@\n * The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b._\bi_\br_\bi_\b__\bt_\bo_\b__\bu_\br_\bi_\b(_\b) function, which implements the\n conversion from IRI to URI as required by _\bR\bR_\bF\bF_\bC\bC_\b _\b3\b3_\b9\b9_\b8\b8_\b7\b7_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b3\b3_\b.\b._\b1\b1.\n * The _\bu_\br_\bl_\bl_\bi_\bb_\b._\bp_\ba_\br_\bs_\be_\b._\bq_\bu_\bo_\bt_\be_\b(_\b) and _\bu_\br_\bl_\bl_\bi_\bb_\b._\bp_\ba_\br_\bs_\be_\b._\bq_\bu_\bo_\bt_\be_\b__\bp_\bl_\bu_\bs_\b(_\b) functions from\n Python\u2019s standard library.\n These two groups of functions have slightly different purposes, and it\u2019s\n important to keep them straight. Normally, you would use quote() on the\n individual portions of the IRI or URI path so that any reserved characters such\n-as \u2018&\u2019 or \u2018%\u2019 are correctly encoded. Then, you apply iri_to_uri() to the full\n+as \u201c&\u201d or \u201c%\u201d are correctly encoded. Then, you apply iri_to_uri() to the full\n IRI and it converts any non-ASCII characters to the correct encoded values.\n-Note\n+Nota\n Technically, it isn\u2019t correct to say that iri_to_uri() implements the full\n algorithm in the IRI specification. It doesn\u2019t (yet) perform the international\n domain name encoding portion of the algorithm.\n The iri_to_uri() function will not change ASCII characters that are otherwise\n-permitted in a URL. So, for example, the character \u2018%\u2019 is not further encoded\n+permitted in a URL. So, for example, the character \u201c%\u201d is not further encoded\n when passed to iri_to_uri(). This means you can pass a full URL to this\n function and it will not mess up the query string or anything like that.\n An example might clarify things here:\n >>> from urllib.parse import quote\n >>> from django.utils.encoding import iri_to_uri\n >>> quote(\"Paris & Orl\u00e9ans\")\n 'Paris%20%26%20Orl%C3%A9ans'\n@@ -166,15 +166,15 @@\n from django.utils.encoding import iri_to_uri\n \n \n def get_absolute_url(self):\n url = \"/person/%s/?x=0&y=0\" % quote(self.location)\n return iri_to_uri(url)\n This function returns a correctly encoded URL even if self.location is\n-something like \u201cJack visited Paris & Orl\u00e9ans\u201d. (In fact, the iri_to_uri() call\n+something like \u00abJack visited Paris & Orl\u00e9ans\u00bb. (In fact, the iri_to_uri() call\n isn\u2019t strictly necessary in the above example, because all the non-ASCII\n characters would have been removed in quoting in the first line.)\n *\b**\b**\b**\b**\b* T\bTe\bem\bmp\bpl\bla\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Use strings when creating templates manually:\n from django.template import Template\n \n t2 = Template(\"This is a string template.\")\n@@ -201,27 +201,27 @@\n contains non-ASCII characters.\n Filesystem support for UTF-8 file names varies and might depend on the\n environment. Check your current configuration in an interactive Python shell by\n running:\n import sys\n \n sys.getfilesystemencoding()\n-This should output \u201cUTF-8\u201d.\n+This should output \u00abUTF-8\u00bb.\n The LANG environment variable is responsible for setting the expected encoding\n on Unix platforms. Consult the documentation for your operating system and\n application server for the appropriate syntax and location to set this\n variable. See the _\bH_\bo_\bw_\b _\bt_\bo_\b _\bu_\bs_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bw_\bi_\bt_\bh_\b _\bA_\bp_\ba_\bc_\bh_\be_\b _\ba_\bn_\bd_\b _\bm_\bo_\bd_\b__\bw_\bs_\bg_\bi for examples.\n In your development environment, you might need to add a setting to your\n ~.bashrc analogous to:\n export LANG=\"en_US.UTF-8\"\n *\b**\b**\b**\b**\b* F\bFo\bor\brm\bm s\bsu\bub\bbm\bmi\bis\bss\bsi\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n HTML form submission is a tricky area. There\u2019s no guarantee that the submission\n will include encoding information, which means the framework might have to\n guess at the encoding of submitted data.\n-Django adopts a \u201clazy\u201d approach to decoding form data. The data in an\n+Django adopts a \u00ablazy\u00bb approach to decoding form data. The data in an\n HttpRequest object is only decoded when you access it. In fact, most of the\n data is not decoded at all. Only the HttpRequest.GET and HttpRequest.POST data\n structures have any decoding applied to them. Those two fields will return\n their members as Unicode data. All other attributes and methods of HttpRequest\n return data exactly as it was submitted by the client.\n By default, the _\bD_\bE_\bF_\bA_\bU_\bL_\bT_\b__\bC_\bH_\bA_\bR_\bS_\bE_\bT setting is used as the assumed encoding for\n form data. If you need to change this for a particular form, you can set the\n@@ -248,16 +248,16 @@\n # _\bU_\bR_\bI_\b _\ba_\bn_\bd_\b _\bI_\bR_\bI_\b _\bh_\ba_\bn_\bd_\bl_\bi_\bn_\bg\n o _\bM_\bo_\bd_\be_\bl_\bs\n # _\bT_\ba_\bk_\bi_\bn_\bg_\b _\bc_\ba_\br_\be_\b _\bi_\bn_\b _\bg_\be_\bt_\b__\ba_\bb_\bs_\bo_\bl_\bu_\bt_\be_\b__\bu_\br_\bl_\b(_\b)\n o _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs\n # _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg_\bs_\b _\ba_\bn_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n o _\bF_\bi_\bl_\be_\bs\n o _\bF_\bo_\br_\bm_\b _\bs_\bu_\bb_\bm_\bi_\bs_\bs_\bi_\bo_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be_\b _\ba_\bn_\bd_\b _\bS_\bi_\bm_\bp_\bl_\be_\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/urlresolvers.html", "source2": "./usr/share/doc/python-django-doc/html/ref/urlresolvers.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- django.urls utility functions — Django 5.1.4 documentation\n+ django.urls utility functions — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    django.urls utility functions\u00b6

    \n
    \n

    reverse()\u00b6

    \n

    If you need to use something similar to the url template tag in\n your code, Django provides the following function:

    \n
    \n
    \n-reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)[source]\u00b6
    \n+reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)[sorgente]\u00b6\n
    \n \n

    viewname can be a URL pattern name or the\n callable view object. For example, given the following url:

    \n
    from news import views\n \n path("archive/", views.archive, name="news-archive")\n@@ -132,15 +133,15 @@\n indicating the application to which the currently executing view belongs.\n This current_app argument is used as a hint to resolve application\n namespaces into URLs on specific application instances, according to the\n namespaced URL resolution strategy.

    \n

    The urlconf argument is the URLconf module containing the URL patterns to\n use for reversing. By default, the root URLconf for the current thread is used.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    The string returned by reverse() is already\n urlquoted. For example:

    \n
    >>> reverse("cities", args=["Orl\u00e9ans"])\n '.../Orl%C3%A9ans/'\n 
    \n
    \n

    Applying further encoding (such as urllib.parse.quote()) to the output\n@@ -169,27 +170,27 @@\n

    \n
    \n

    resolve()\u00b6

    \n

    The resolve() function can be used for resolving URL paths to the\n corresponding view functions. It has the following signature:

    \n
    \n
    \n-resolve(path, urlconf=None)[source]\u00b6
    \n+resolve(path, urlconf=None)[sorgente]\u00b6\n
    \n \n

    path is the URL path you want to resolve. As with\n reverse(), you don\u2019t need to worry about the urlconf\n parameter. The function returns a ResolverMatch object that allows you\n to access various metadata about the resolved URL.

    \n

    If the URL does not resolve, the function raises a\n Resolver404 exception (a subclass of\n Http404) .

    \n
    \n
    \n-class ResolverMatch[source]\u00b6
    \n+class ResolverMatch[sorgente]\u00b6\n
    \n
    \n func\u00b6
    \n

    The view function that would be used to serve the URL

    \n
    \n \n
    \n@@ -319,27 +320,27 @@\n
    \n
    \n \n
    \n

    get_script_prefix()\u00b6

    \n
    \n
    \n-get_script_prefix()[source]\u00b6
    \n+get_script_prefix()[sorgente]\u00b6\n
    \n \n

    Normally, you should always use reverse() to define URLs\n within your application. However, if your application constructs part of the\n URL hierarchy itself, you may occasionally need to generate URLs. In that\n case, you need to be able to find the base URL of the Django project within\n its web server (normally, reverse() takes care of this for\n you). In that case, you can call get_script_prefix(), which will return\n the script prefix portion of the URL for your Django project. If your Django\n project is at the root of its web server, this is always "/".

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    This function cannot be used outside of the request-response cycle\n since it relies on values initialized during that cycle.

    \n
    \n
    \n \n \n \n@@ -362,37 +363,37 @@\n
  • get_script_prefix()
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Unicode data

    \n+ title=\"capitolo precedente\">Unicode data

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    django.urls functions for use in URLconfs

    \n+ title=\"capitolo successivo\">django.urls functions for use in URLconfs

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\bur\brl\bls\bs u\but\bti\bil\bli\bit\bty\by f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If you need to use something similar to the _\bu_\br_\bl template tag in your code,\n Django provides the following function:\n reverse(v\bvi\bie\bew\bwn\bna\bam\bme\be, u\bur\brl\blc\bco\bon\bnf\bf=\b=N\bNo\bon\bne\be, a\bar\brg\bgs\bs=\b=N\bNo\bon\bne\be, k\bkw\bwa\bar\brg\bgs\bs=\b=N\bNo\bon\bne\be, c\bcu\bur\brr\bre\ben\bnt\bt_\b_a\bap\bpp\bp=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n viewname can be a _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn_\b _\bn_\ba_\bm_\be or the callable view object. For example,\n given the following url:\n from news import views\n \n path(\"archive/\", views.archive, name=\"news-archive\")\n you can use any of the following to reverse the URL:\n # using the named URL\n@@ -41,15 +41,15 @@\n The current_app argument allows you to provide a hint to the resolver\n indicating the application to which the currently executing view belongs. This\n current_app argument is used as a hint to resolve application namespaces into\n URLs on specific application instances, according to the _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bd_\b _\bU_\bR_\bL\n _\br_\be_\bs_\bo_\bl_\bu_\bt_\bi_\bo_\bn_\b _\bs_\bt_\br_\ba_\bt_\be_\bg_\by.\n The urlconf argument is the URLconf module containing the URL patterns to use\n for reversing. By default, the root URLconf for the current thread is used.\n-Note\n+Nota\n The string returned by reverse() is already _\bu_\br_\bl_\bq_\bu_\bo_\bt_\be_\bd. For example:\n >>> reverse(\"cities\", args=[\"Orl\u00e9ans\"])\n '.../Orl%C3%A9ans/'\n Applying further encoding (such as _\bu_\br_\bl_\bl_\bi_\bb_\b._\bp_\ba_\br_\bs_\be_\b._\bq_\bu_\bo_\bt_\be_\b(_\b)) to the output of\n reverse() may produce undesirable results.\n *\b**\b**\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be_\b_l\bla\baz\bzy\by(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A lazily evaluated version of _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b).\n@@ -62,21 +62,21 @@\n * providing a reversed URL to a decorator (such as the login_url argument\n for the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b) decorator).\n * providing a reversed URL as a default value for a parameter in a\n function\u2019s signature.\n *\b**\b**\b**\b**\b* r\bre\bes\bso\bol\blv\bve\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The resolve() function can be used for resolving URL paths to the corresponding\n view functions. It has the following signature:\n- resolve(p\bpa\bat\bth\bh, u\bur\brl\blc\bco\bon\bnf\bf=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ resolve(p\bpa\bat\bth\bh, u\bur\brl\blc\bco\bon\bnf\bf=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n path is the URL path you want to resolve. As with _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b), you don\u2019t need to\n worry about the urlconf parameter. The function returns a _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\bM_\ba_\bt_\bc_\bh object\n that allows you to access various metadata about the resolved URL.\n If the URL does not resolve, the function raises a _\bR_\be_\bs_\bo_\bl_\bv_\be_\br_\b4_\b0_\b4 exception (a\n subclass of _\bH_\bt_\bt_\bp_\b4_\b0_\b4) .\n- c\bcl\bla\bas\bss\bs ResolverMatch_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ResolverMatch_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n func_\b\u00b6\n The view function that would be used to serve the URL\n args_\b\u00b6\n The arguments that would be passed to the view function, as parsed\n from the URL.\n kwargs_\b\u00b6\n All keyword arguments that would be passed to the view function,\n@@ -137,34 +137,34 @@\n kwargs[\"request\"] = request\n try:\n view(*args, **kwargs)\n except Http404:\n return HttpResponseRedirect(\"/\")\n return response\n *\b**\b**\b**\b**\b* g\bge\bet\bt_\b_s\bsc\bcr\bri\bip\bpt\bt_\b_p\bpr\bre\bef\bfi\bix\bx(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- get_script_prefix()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_script_prefix()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Normally, you should always use _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b) to define URLs within your\n application. However, if your application constructs part of the URL hierarchy\n itself, you may occasionally need to generate URLs. In that case, you need to\n be able to find the base URL of the Django project within its web server\n (normally, _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b) takes care of this for you). In that case, you can call\n get_script_prefix(), which will return the script prefix portion of the URL for\n your Django project. If your Django project is at the root of its web server,\n this is always \"/\".\n-Warning\n+Avvertimento\n This function c\bca\ban\bnn\bno\bot\bt be used outside of the request-response cycle since it\n relies on values initialized during that cycle.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n o _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)\n o _\br_\be_\bv_\be_\br_\bs_\be_\b__\bl_\ba_\bz_\by_\b(_\b)\n o _\br_\be_\bs_\bo_\bl_\bv_\be_\b(_\b)\n o _\bg_\be_\bt_\b__\bs_\bc_\br_\bi_\bp_\bt_\b__\bp_\br_\be_\bf_\bi_\bx_\b(_\b)\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bU_\bn_\bi_\bc_\bo_\bd_\be_\b _\bd_\ba_\bt_\ba\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\bu_\bs_\be_\b _\bi_\bn_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/urls.html", "source2": "./usr/share/doc/python-django-doc/html/ref/urls.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- django.urls functions for use in URLconfs — Django 5.1.4 documentation\n+ django.urls functions for use in URLconfs — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -122,15 +123,15 @@\n
    \n

    view\u00b6

    \n

    The view argument is a view function or the result of\n as_view() for class-based views. It can\n also be a django.urls.include().

    \n

    When Django finds a matching pattern, it calls the specified view function with\n an HttpRequest object as the first argument and any\n-\u201ccaptured\u201d values from the route as keyword arguments.

    \n+\u00abcaptured\u00bb values from the route as keyword arguments.

    \n
    \n
    \n

    kwargs\u00b6

    \n

    The kwargs argument allows you to pass additional arguments to the view\n function or method. See Passing extra options to view functions for an example.

    \n
    \n
    \n@@ -176,31 +177,31 @@\n

    The view, kwargs and name arguments are the same as for\n path().

    \n
    \n
    \n

    include()\u00b6

    \n
    \n
    \n-include(module, namespace=None)[source]\u00b6
    \n+include(module, namespace=None)[sorgente]\u00b6\n
    \n include(pattern_list)
    \n
    \n include((pattern_list, app_namespace), namespace=None)
    \n

    A function that takes a full Python import path to another URLconf module\n-that should be \u201cincluded\u201d in this place. Optionally, the application\n+that should be \u00abincluded\u00bb in this place. Optionally, the application\n namespace and instance namespace where the entries will be included\n into can also be specified.

    \n

    Usually, the application namespace should be specified by the included\n module. If an application namespace is set, the namespace argument\n can be used to set a different instance namespace.

    \n

    include() also accepts as an argument either an iterable that returns\n URL patterns or a 2-tuple containing such iterable plus the names of the\n application namespaces.

    \n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • module \u2013 URLconf module (or module name)

    • \n
    • namespace (str) \u2013 Instance namespace for the URL entries being included

    • \n
    • pattern_list \u2013 Iterable of path() and/or re_path() instances.

    • \n
    • app_namespace (str) \u2013 Application namespace for the URL entries being included

    • \n
    \n
    \n@@ -209,24 +210,24 @@\n \n

    See Including other URLconfs and URL namespaces and included URLconfs.

    \n
    \n
    \n

    register_converter()\u00b6

    \n
    \n
    \n-register_converter(converter, type_name)[source]\u00b6
    \n+register_converter(converter, type_name)[sorgente]\u00b6\n
    \n \n

    The function for registering a converter for use in path()\n routes.

    \n

    The converter argument is a converter class, and type_name is the\n converter name to use in path patterns. See\n Registering custom path converters for an example.

    \n
    \n-

    Deprecated since version 5.1: Overriding existing converters is deprecated.

    \n+

    Deprecato dalla versione 5.1: Overriding existing converters is deprecated.

    \n
    \n
    \n \n
    \n

    django.conf.urls functions for use in URLconfs\u00b6

    \n
    \n

    static()\u00b6

    \n@@ -336,37 +337,37 @@\n
  • handler500
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    django.urls utility functions

    \n+ title=\"capitolo precedente\">django.urls utility functions

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django Utils

    \n+ title=\"capitolo successivo\">Django Utils

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\bur\brl\bls\bs f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs f\bfo\bor\br u\bus\bse\be i\bin\bn U\bUR\bRL\bLc\bco\bon\bnf\bfs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* p\bpa\bat\bth\bh(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n path(r\bro\bou\but\bte\be, v\bvi\bie\bew\bw, k\bkw\bwa\bar\brg\bgs\bs=\b=N\bNo\bon\bne\be, n\bna\bam\bme\be=\b=N\bNo\bon\bne\be)_\b\u00b6\n Returns an element for inclusion in urlpatterns. For example:\n from django.urls import include, path\n@@ -32,15 +32,15 @@\n in a request to https://www.example.com/myapp/, the URLconf will look for\n myapp/. In a request to https://www.example.com/myapp/?page=3, the URLconf will\n also look for myapp/.\n *\b**\b**\b**\b* v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n The view argument is a view function or the result of _\ba_\bs_\b__\bv_\bi_\be_\bw_\b(_\b) for class-based\n views. It can also be a _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b._\bi_\bn_\bc_\bl_\bu_\bd_\be_\b(_\b).\n When Django finds a matching pattern, it calls the specified view function with\n-an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object as the first argument and any \u201ccaptured\u201d values from the\n+an _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt object as the first argument and any \u00abcaptured\u00bb values from the\n route as keyword arguments.\n *\b**\b**\b**\b* k\bkw\bwa\bar\brg\bgs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n The kwargs argument allows you to pass additional arguments to the view\n function or method. See _\bP_\ba_\bs_\bs_\bi_\bn_\bg_\b _\be_\bx_\bt_\br_\ba_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bt_\bo_\b _\bv_\bi_\be_\bw_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs for an example.\n *\b**\b**\b**\b* n\bna\bam\bme\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Naming your URL lets you refer to it unambiguously from elsewhere in Django,\n especially from within templates. This powerful feature allows you to make\n@@ -66,42 +66,42 @@\n are passed to the view \u2013 as named arguments if the groups are named, and as\n positional arguments otherwise. The values are passed as strings, without any\n type conversion.\n When a route ends with $ the whole requested URL, matching against _\bp_\ba_\bt_\bh_\b__\bi_\bn_\bf_\bo,\n must match the regular expression pattern (_\br_\be_\b._\bf_\bu_\bl_\bl_\bm_\ba_\bt_\bc_\bh_\b(_\b) is used).\n The view, kwargs and name arguments are the same as for _\bp_\ba_\bt_\bh_\b(_\b).\n *\b**\b**\b**\b**\b* i\bin\bnc\bcl\blu\bud\bde\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- include(m\bmo\bod\bdu\bul\ble\be, n\bna\bam\bme\bes\bsp\bpa\bac\bce\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ include(m\bmo\bod\bdu\bul\ble\be, n\bna\bam\bme\bes\bsp\bpa\bac\bce\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n include(p\bpa\bat\btt\bte\ber\brn\bn_\b_l\bli\bis\bst\bt)\n include((\b(p\bpa\bat\btt\bte\ber\brn\bn_\b_l\bli\bis\bst\bt, a\bap\bpp\bp_\b_n\bna\bam\bme\bes\bsp\bpa\bac\bce\be)\b), n\bna\bam\bme\bes\bsp\bpa\bac\bce\be=\b=N\bNo\bon\bne\be)\n A function that takes a full Python import path to another URLconf module\n- that should be \u201cincluded\u201d in this place. Optionally, the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n+ that should be \u00abincluded\u00bb in this place. Optionally, the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bn_\bs_\bt_\ba_\bn_\bc_\be_\b _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be where the entries will be included into\n can also be specified.\n Usually, the application namespace should be specified by the included\n module. If an application namespace is set, the namespace argument can be\n used to set a different instance namespace.\n include() also accepts as an argument either an iterable that returns URL\n patterns or a 2-tuple containing such iterable plus the names of the\n application namespaces.\n- Parameters:\n+ Parametri:\n * m\bmo\bod\bdu\bul\ble\be \u2013 URLconf module (or module name)\n * n\bna\bam\bme\bes\bsp\bpa\bac\bce\be (_\bs\bs_\bt\bt_\br\br) \u2013 Instance namespace for the URL entries\n being included\n * p\bpa\bat\btt\bte\ber\brn\bn_\b_l\bli\bis\bst\bt \u2013 Iterable of _\bp_\ba_\bt_\bh_\b(_\b) and/or _\br_\be_\b__\bp_\ba_\bt_\bh_\b(_\b) instances.\n * a\bap\bpp\bp_\b_n\bna\bam\bme\bes\bsp\bpa\bac\bce\be (_\bs\bs_\bt\bt_\br\br) \u2013 Application namespace for the URL\n entries being included\n See _\bI_\bn_\bc_\bl_\bu_\bd_\bi_\bn_\bg_\b _\bo_\bt_\bh_\be_\br_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs and _\bU_\bR_\bL_\b _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bs_\b _\ba_\bn_\bd_\b _\bi_\bn_\bc_\bl_\bu_\bd_\be_\bd_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs.\n *\b**\b**\b**\b**\b* r\bre\beg\bgi\bis\bst\bte\ber\br_\b_c\bco\bon\bnv\bve\ber\brt\bte\ber\br(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- register_converter(c\bco\bon\bnv\bve\ber\brt\bte\ber\br, t\bty\byp\bpe\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ register_converter(c\bco\bon\bnv\bve\ber\brt\bte\ber\br, t\bty\byp\bpe\be_\b_n\bna\bam\bme\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The function for registering a converter for use in _\bp_\ba_\bt_\bh_\b(_\b) routes.\n The converter argument is a converter class, and type_name is the converter\n name to use in path patterns. See _\bR_\be_\bg_\bi_\bs_\bt_\be_\br_\bi_\bn_\bg_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bp_\ba_\bt_\bh_\b _\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br_\bs for an\n example.\n-Deprecated since version 5.1: Overriding existing converters is deprecated.\n+Deprecato dalla versione 5.1: Overriding existing converters is deprecated.\n *\b**\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bon\bnf\bf.\b.u\bur\brl\bls\bs f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs f\bfo\bor\br u\bus\bse\be i\bin\bn U\bUR\bRL\bLc\bco\bon\bnf\bfs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* s\bst\bta\bat\bti\bic\bc(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n static.static(p\bpr\bre\bef\bfi\bix\bx, v\bvi\bie\bew\bw=\b=d\bdj\bja\ban\bng\bgo\bo.\b.v\bvi\bie\bew\bws\bs.\b.s\bst\bta\bat\bti\bic\bc.\b.s\bse\ber\brv\bve\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n Helper function to return a URL pattern for serving files in debug mode:\n from django.conf import settings\n from django.conf.urls.static import static\n \n@@ -151,16 +151,16 @@\n o _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br_\b(_\b)\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bu_\br_\bl_\bs_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\bu_\bs_\be_\b _\bi_\bn_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\bs\n o _\bs_\bt_\ba_\bt_\bi_\bc_\b(_\b)\n o _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b0\n o _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b3\n o _\bh_\ba_\bn_\bd_\bl_\be_\br_\b4_\b0_\b4\n o _\bh_\ba_\bn_\bd_\bl_\be_\br_\b5_\b0_\b0\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\br_\bl_\bs_\b _\bu_\bt_\bi_\bl_\bi_\bt_\by_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bU_\bt_\bi_\bl_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/utils.html", "source2": "./usr/share/doc/python-django-doc/html/ref/utils.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django Utils — Django 5.1.4 documentation\n+ Django Utils — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,81 +95,81 @@\n into account when building its cache key. Requests with the same path but\n different header content for headers named in Vary need to get different\n cache keys to prevent delivery of wrong content.

    \n

    For example, internationalization middleware would\n need to distinguish caches by the Accept-language header.

    \n
    \n
    \n-patch_cache_control(response, **kwargs)[source]\u00b6
    \n+patch_cache_control(response, **kwargs)[sorgente]\u00b6\n

    This function patches the Cache-Control header by adding all keyword\n arguments to it. The transformation is as follows:

    \n
      \n
    • All keyword parameter names are turned to lowercase, and underscores\n are converted to hyphens.

    • \n
    • If the value of a parameter is True (exactly True, not just a\n true value), only the parameter name is added to the header.

    • \n
    • All other parameters are added with their value, after applying\n str() to it.

    • \n
    \n
    \n \n
    \n
    \n-get_max_age(response)[source]\u00b6
    \n+get_max_age(response)[sorgente]\u00b6\n

    Returns the max-age from the response Cache-Control header as an integer\n (or None if it wasn\u2019t found or wasn\u2019t an integer).

    \n
    \n \n
    \n
    \n-patch_response_headers(response, cache_timeout=None)[source]\u00b6
    \n+patch_response_headers(response, cache_timeout=None)[sorgente]\u00b6\n

    Adds some useful headers to the given HttpResponse object:

    \n
      \n
    • Expires

    • \n
    • Cache-Control

    • \n
    \n

    Each header is only added if it isn\u2019t already set.

    \n

    cache_timeout is in seconds. The CACHE_MIDDLEWARE_SECONDS\n setting is used by default.

    \n
    \n \n
    \n
    \n-add_never_cache_headers(response)[source]\u00b6
    \n+add_never_cache_headers(response)[sorgente]\u00b6\n

    Adds an Expires header to the current date/time.

    \n

    Adds a Cache-Control: max-age=0, no-cache, no-store, must-revalidate,\n private header to a response to indicate that a page should never be\n cached.

    \n

    Each header is only added if it isn\u2019t already set.

    \n
    \n \n
    \n
    \n-patch_vary_headers(response, newheaders)[source]\u00b6
    \n+patch_vary_headers(response, newheaders)[sorgente]\u00b6\n

    Adds (or updates) the Vary header in the given HttpResponse object.\n newheaders is a list of header names that should be in Vary. If\n headers contains an asterisk, then Vary header will consist of a single\n asterisk '*', according to RFC 9110#section-12.5.5. Otherwise,\n existing headers in Vary aren\u2019t removed.

    \n
    \n \n
    \n
    \n-get_cache_key(request, key_prefix=None, method='GET', cache=None)[source]\u00b6
    \n+get_cache_key(request, key_prefix=None, method='GET', cache=None)[sorgente]\u00b6\n

    Returns a cache key based on the request path. It can be used in the\n request phase because it pulls the list of headers to take into account\n from the global path registry and uses those to build a cache key to\n check against.

    \n

    If there is no headerlist stored, the page needs to be rebuilt, so this\n function returns None.

    \n
    \n \n
    \n
    \n-learn_cache_key(request, response, cache_timeout=None, key_prefix=None, cache=None)[source]\u00b6
    \n+learn_cache_key(request, response, cache_timeout=None, key_prefix=None, cache=None)[sorgente]\u00b6\n

    Learns what headers to take into account for some request path from the\n response object. It stores those headers in a global path registry so that\n later access to that path will know what headers to take into account\n without building the response object itself. The headers are named in\n the Vary header of the response, but we want to prevent response\n generation.

    \n

    The list of headers to use for cache key generation is stored in the same\n@@ -189,74 +190,74 @@\n valid date or time.

    \n
  • They return None if it isn\u2019t well formatted at all.

  • \n
  • They accept up to picosecond resolution in input, but they truncate it to\n microseconds, since that\u2019s what Python supports.

  • \n \n
    \n
    \n-parse_date(value)[source]\u00b6
    \n+parse_date(value)[sorgente]\u00b6\n

    Parses a string and returns a datetime.date.

    \n
    \n \n
    \n
    \n-parse_time(value)[source]\u00b6
    \n+parse_time(value)[sorgente]\u00b6\n

    Parses a string and returns a datetime.time.

    \n

    UTC offsets aren\u2019t supported; if value describes one, the result is\n None.

    \n
    \n \n
    \n
    \n-parse_datetime(value)[source]\u00b6
    \n+parse_datetime(value)[sorgente]\u00b6\n

    Parses a string and returns a datetime.datetime.

    \n

    UTC offsets are supported; if value describes one, the result\u2019s\n tzinfo attribute is a datetime.timezone instance.

    \n
    \n \n
    \n
    \n-parse_duration(value)[source]\u00b6
    \n+parse_duration(value)[sorgente]\u00b6\n

    Parses a string and returns a datetime.timedelta.

    \n

    Expects data in the format "DD HH:MM:SS.uuuuuu",\n "DD HH:MM:SS,uuuuuu", or as specified by ISO 8601 (e.g.\n P4DT1H15M20S which is equivalent to 4 1:15:20) or PostgreSQL\u2019s\n day-time interval format (e.g. 3 days 04:05:06).

    \n
    \n \n \n
    \n

    django.utils.decorators\u00b6

    \n
    \n
    \n-method_decorator(decorator, name='')[source]\u00b6
    \n+method_decorator(decorator, name='')[sorgente]\u00b6\n

    Converts a function decorator into a method decorator. It can be used to\n decorate methods or classes; in the latter case, name is the name\n of the method to be decorated and is required.

    \n

    decorator may also be a list or tuple of functions. They are wrapped\n in reverse order so that the call order is the order in which the functions\n appear in the list/tuple.

    \n

    See decorating class based views for\n example usage.

    \n
    \n \n
    \n
    \n-decorator_from_middleware(middleware_class)[source]\u00b6
    \n+decorator_from_middleware(middleware_class)[sorgente]\u00b6\n

    Given a middleware class, returns a view decorator. This lets you use\n middleware functionality on a per-view basis. The middleware is created\n with no params passed.

    \n

    It assumes middleware that\u2019s compatible with the old style of Django 1.9\n and earlier (having methods like process_request(),\n process_exception(), and process_response()).

    \n
    \n \n
    \n
    \n-decorator_from_middleware_with_args(middleware_class)[source]\u00b6
    \n+decorator_from_middleware_with_args(middleware_class)[sorgente]\u00b6\n

    Like decorator_from_middleware, but returns a function\n that accepts the arguments to be passed to the middleware_class.\n For example, the cache_page()\n decorator is created from the CacheMiddleware like this:

    \n
    cache_page = decorator_from_middleware_with_args(CacheMiddleware)\n \n \n@@ -265,122 +266,122 @@\n     pass\n 
    \n
    \n
    \n \n
    \n
    \n-sync_only_middleware(middleware)[source]\u00b6
    \n+sync_only_middleware(middleware)[sorgente]\u00b6\n

    Marks a middleware as synchronous-only. (The\n default in Django, but this allows you to future-proof if the default ever\n changes in a future release.)

    \n
    \n \n
    \n
    \n-async_only_middleware(middleware)[source]\u00b6
    \n+async_only_middleware(middleware)[sorgente]\u00b6\n

    Marks a middleware as asynchronous-only. Django\n will wrap it in an asynchronous event loop when it is called from the WSGI\n request path.

    \n
    \n \n
    \n
    \n-sync_and_async_middleware(middleware)[source]\u00b6
    \n+sync_and_async_middleware(middleware)[sorgente]\u00b6\n

    Marks a middleware as sync and async compatible,\n this allows to avoid converting requests. You must implement detection of\n the current request type to use this decorator. See asynchronous\n middleware documentation for details.

    \n
    \n \n
    \n
    \n

    django.utils.encoding\u00b6

    \n
    \n
    \n-smart_str(s, encoding='utf-8', strings_only=False, errors='strict')[source]\u00b6
    \n+smart_str(s, encoding='utf-8', strings_only=False, errors='strict')[sorgente]\u00b6\n

    Returns a str object representing arbitrary object s. Treats\n bytestrings using the encoding codec.

    \n

    If strings_only is True, don\u2019t convert (some) non-string-like\n objects.

    \n
    \n \n
    \n
    \n-is_protected_type(obj)[source]\u00b6
    \n+is_protected_type(obj)[sorgente]\u00b6\n

    Determine if the object instance is of a protected type.

    \n

    Objects of protected types are preserved as-is when passed to\n force_str(strings_only=True).

    \n
    \n \n
    \n
    \n-force_str(s, encoding='utf-8', strings_only=False, errors='strict')[source]\u00b6
    \n+force_str(s, encoding='utf-8', strings_only=False, errors='strict')[sorgente]\u00b6\n

    Similar to smart_str(), except that lazy instances are resolved to\n strings, rather than kept as lazy objects.

    \n

    If strings_only is True, don\u2019t convert (some) non-string-like\n objects.

    \n
    \n \n
    \n
    \n-smart_bytes(s, encoding='utf-8', strings_only=False, errors='strict')[source]\u00b6
    \n+smart_bytes(s, encoding='utf-8', strings_only=False, errors='strict')[sorgente]\u00b6\n

    Returns a bytestring version of arbitrary object s, encoded as\n specified in encoding.

    \n

    If strings_only is True, don\u2019t convert (some) non-string-like\n objects.

    \n
    \n \n
    \n
    \n-force_bytes(s, encoding='utf-8', strings_only=False, errors='strict')[source]\u00b6
    \n+force_bytes(s, encoding='utf-8', strings_only=False, errors='strict')[sorgente]\u00b6\n

    Similar to smart_bytes, except that lazy instances are resolved to\n bytestrings, rather than kept as lazy objects.

    \n

    If strings_only is True, don\u2019t convert (some) non-string-like\n objects.

    \n
    \n \n
    \n
    \n-iri_to_uri(iri)[source]\u00b6
    \n+iri_to_uri(iri)[sorgente]\u00b6\n

    Convert an Internationalized Resource Identifier (IRI) portion to a URI\n portion that is suitable for inclusion in a URL.

    \n

    This is the algorithm from section 3.1 of RFC 3987#section-3.1, slightly\n simplified since the input is assumed to be a string rather than an\n arbitrary byte stream.

    \n

    Takes an IRI (string or UTF-8 bytes) and returns a string containing the\n encoded result.

    \n
    \n \n
    \n
    \n-uri_to_iri(uri)[source]\u00b6
    \n+uri_to_iri(uri)[sorgente]\u00b6\n

    Converts a Uniform Resource Identifier into an Internationalized Resource\n Identifier.

    \n

    This is an algorithm from section 3.2 of RFC 3987#section-3.2.

    \n

    Takes a URI in ASCII bytes and returns a string containing the encoded\n result.

    \n
    \n \n
    \n
    \n-filepath_to_uri(path)[source]\u00b6
    \n+filepath_to_uri(path)[sorgente]\u00b6\n

    Convert a file system path to a URI portion that is suitable for inclusion\n in a URL. The path is assumed to be either UTF-8 bytes, string, or a\n Path.

    \n

    This method will encode certain characters that would normally be\n recognized as special characters for URIs. Note that this method does not\n-encode the \u2018 character, as it is a valid character within URIs. See\n+encode the \u201c character, as it is a valid character within URIs. See\n encodeURIComponent() JavaScript function for more details.

    \n

    Returns an ASCII string containing the encoded result.

    \n
    \n \n
    \n
    \n-escape_uri_path(path)[source]\u00b6
    \n+escape_uri_path(path)[sorgente]\u00b6\n

    Escapes the unsafe characters from the path portion of a Uniform Resource\n Identifier (URI).

    \n
    \n \n
    \n
    \n

    django.utils.feedgenerator\u00b6

    \n@@ -404,151 +405,151 @@\n
    \n

    For simplifying the selection of a generator use feedgenerator.DefaultFeed\n which is currently Rss201rev2Feed

    \n

    For definitions of the different versions of RSS, see:\n https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004/02/04/incompatible-rss

    \n
    \n
    \n-get_tag_uri(url, date)[source]\u00b6
    \n+get_tag_uri(url, date)[sorgente]\u00b6\n

    Creates a TagURI.

    \n

    See https://web.archive.org/web/20110514113830/http://diveintomark.org/archives/2004/05/28/howto-atom-id

    \n
    \n \n
    \n

    SyndicationFeed\u00b6

    \n
    \n
    \n-class SyndicationFeed[source]\u00b6
    \n+class SyndicationFeed[sorgente]\u00b6\n

    Base class for all syndication feeds. Subclasses should provide\n write().

    \n
    \n
    \n-__init__(title, link, description, language=None, author_email=None, author_name=None, author_link=None, subtitle=None, categories=None, feed_url=None, feed_copyright=None, feed_guid=None, ttl=None, **kwargs)[source]\u00b6
    \n+__init__(title, link, description, language=None, author_email=None, author_name=None, author_link=None, subtitle=None, categories=None, feed_url=None, feed_copyright=None, feed_guid=None, ttl=None, **kwargs)[sorgente]\u00b6\n

    Initialize the feed with the given dictionary of metadata, which applies\n to the entire feed.

    \n

    Any extra keyword arguments you pass to __init__ will be stored in\n self.feed.

    \n

    All parameters should be strings, except categories, which should\n be a sequence of strings.

    \n
    \n \n
    \n
    \n-add_item(title, link, description, author_email=None, author_name=None, author_link=None, pubdate=None, comments=None, unique_id=None, categories=(), item_copyright=None, ttl=None, updateddate=None, enclosures=None, **kwargs)[source]\u00b6
    \n+add_item(title, link, description, author_email=None, author_name=None, author_link=None, pubdate=None, comments=None, unique_id=None, categories=(), item_copyright=None, ttl=None, updateddate=None, enclosures=None, **kwargs)[sorgente]\u00b6\n

    Adds an item to the feed. All args are expected to be strings except\n pubdate and updateddate, which are datetime.datetime\n objects, and enclosures, which is a list of Enclosure instances.

    \n
    \n \n
    \n
    \n-num_items()[source]\u00b6
    \n+num_items()[sorgente]\u00b6\n
    \n \n
    \n
    \n-root_attributes()[source]\u00b6
    \n+root_attributes()[sorgente]\u00b6\n

    Return extra attributes to place on the root (i.e. feed/channel)\n element. Called from write().

    \n
    \n \n
    \n
    \n-add_root_elements(handler)[source]\u00b6
    \n+add_root_elements(handler)[sorgente]\u00b6\n

    Add elements in the root (i.e. feed/channel) element.\n Called from write().

    \n
    \n \n
    \n
    \n-item_attributes(item)[source]\u00b6
    \n+item_attributes(item)[sorgente]\u00b6\n

    Return extra attributes to place on each item (i.e. item/entry)\n element.

    \n
    \n \n
    \n
    \n-add_item_elements(handler, item)[source]\u00b6
    \n+add_item_elements(handler, item)[sorgente]\u00b6\n

    Add elements on each item (i.e. item/entry) element.

    \n
    \n \n
    \n
    \n-write(outfile, encoding)[source]\u00b6
    \n+write(outfile, encoding)[sorgente]\u00b6\n

    Outputs the feed in the given encoding to outfile, which is a\n file-like object. Subclasses should override this.

    \n
    \n \n
    \n
    \n-writeString(encoding)[source]\u00b6
    \n+writeString(encoding)[sorgente]\u00b6\n

    Returns the feed in the given encoding as a string.

    \n
    \n \n
    \n
    \n-latest_post_date()[source]\u00b6
    \n+latest_post_date()[sorgente]\u00b6\n

    Returns the latest pubdate or updateddate for all items in the\n feed. If no items have either of these attributes this returns the\n current UTC date/time.

    \n
    \n \n
    \n \n
    \n
    \n

    Enclosure\u00b6

    \n
    \n
    \n-class Enclosure[source]\u00b6
    \n+class Enclosure[sorgente]\u00b6\n

    Represents an RSS enclosure

    \n
    \n \n
    \n
    \n

    RssFeed\u00b6

    \n
    \n
    \n-class RssFeed(SyndicationFeed)[source]\u00b6
    \n+class RssFeed(SyndicationFeed)[sorgente]\u00b6\n
    \n \n
    \n
    \n

    Rss201rev2Feed\u00b6

    \n
    \n
    \n-class Rss201rev2Feed(RssFeed)[source]\u00b6
    \n+class Rss201rev2Feed(RssFeed)[sorgente]\u00b6\n

    Spec: https://cyber.harvard.edu/rss/rss.html

    \n
    \n \n
    \n
    \n

    RssUserland091Feed\u00b6

    \n
    \n
    \n-class RssUserland091Feed(RssFeed)[source]\u00b6
    \n+class RssUserland091Feed(RssFeed)[sorgente]\u00b6\n

    Spec: http://backend.userland.com/rss091

    \n
    \n \n
    \n
    \n

    Atom1Feed\u00b6

    \n
    \n
    \n-class Atom1Feed(SyndicationFeed)[source]\u00b6
    \n+class Atom1Feed(SyndicationFeed)[sorgente]\u00b6\n

    Spec: RFC 4287

    \n
    \n \n
    \n \n
    \n

    django.utils.functional\u00b6

    \n
    \n
    \n-class cached_property(func)[source]\u00b6
    \n+class cached_property(func)[sorgente]\u00b6\n

    The @cached_property decorator caches the result of a method with a\n single self argument as a property. The cached result will persist\n as long as the instance does, so if the instance is passed around and the\n function subsequently invoked, the cached result will be returned.

    \n

    Consider a typical case, where a view might need to call a model\u2019s method\n to perform some computation, before placing the model instance into the\n context, where the template might invoke the method once more:

    \n@@ -618,23 +619,23 @@\n x is z # is True\n
    \n
    \n \n \n
    \n
    \n-class classproperty(method=None)[source]\u00b6
    \n+class classproperty(method=None)[sorgente]\u00b6\n

    Similar to @classmethod, the @classproperty\n decorator converts the result of a method with a single cls argument\n into a property that can be accessed directly from the class.

    \n
    \n \n
    \n
    \n-keep_lazy(func, *resultclasses)[source]\u00b6
    \n+keep_lazy(func, *resultclasses)[sorgente]\u00b6\n

    Django offers many utility functions (particularly in django.utils)\n that take a string as their first argument and do something to that string.\n These functions are used by template filters as well as directly in other\n code.

    \n

    If you write your own similar functions and deal with translations, you\u2019ll\n face the problem of what to do when the first argument is a lazy\n translation object. You don\u2019t want to convert it to a string immediately,\n@@ -669,15 +670,15 @@\n

    Using this decorator means you can write your function and assume that the\n input is a proper string, then add support for lazy translation objects at\n the end.

    \n
    \n \n
    \n
    \n-keep_lazy_text(func)[source]\u00b6
    \n+keep_lazy_text(func)[sorgente]\u00b6\n

    A shortcut for keep_lazy(str)(func).

    \n

    If you have a function that returns text and you want to be able to take\n lazy arguments while delaying their evaluation, you can use this\n decorator:

    \n
    from django.utils.functional import keep_lazy, keep_lazy_text\n \n \n@@ -698,30 +699,30 @@\n 

    django.utils.html\u00b6

    \n

    Usually you should build up HTML using Django\u2019s templates to make use of its\n autoescape mechanism, using the utilities in django.utils.safestring\n where appropriate. This module provides some additional low level utilities for\n escaping HTML.

    \n
    \n
    \n-escape(text)[source]\u00b6
    \n+escape(text)[sorgente]\u00b6\n

    Returns the given text with ampersands, quotes and angle brackets encoded\n for use in HTML. The input is first coerced to a string and the output has\n mark_safe() applied.

    \n
    \n \n
    \n
    \n-conditional_escape(text)[source]\u00b6
    \n+conditional_escape(text)[sorgente]\u00b6\n

    Similar to escape(), except that it doesn\u2019t operate on preescaped\n strings, so it will not double escape.

    \n
    \n \n
    \n
    \n-format_html(format_string, *args, **kwargs)[source]\u00b6
    \n+format_html(format_string, *args, **kwargs)[sorgente]\u00b6\n

    This is similar to str.format(), except that it is appropriate for\n building up HTML fragments. The first argument format_string is not\n escaped but all other args and kwargs are passed through\n conditional_escape() before being passed to str.format().\n Finally, the output has mark_safe() applied.

    \n

    For the case of building up small HTML fragments, this function is to be\n preferred over string interpolation using % or str.format()\n@@ -751,36 +752,36 @@\n argument and risk a bug and an XSS vulnerability if you forget one.

    \n

    Note that although this function uses str.format() to do the\n interpolation, some of the formatting options provided by str.format()\n (e.g. number formatting) will not work, since all arguments are passed\n through conditional_escape() which (ultimately) calls\n force_str() on the values.

    \n
    \n-

    Deprecated since version 5.0: Support for calling format_html() without passing args or kwargs is\n+

    Deprecato dalla versione 5.0: Support for calling format_html() without passing args or kwargs is\n deprecated.

    \n
    \n
    \n \n
    \n
    \n-format_html_join(sep, format_string, args_generator)[source]\u00b6
    \n+format_html_join(sep, format_string, args_generator)[sorgente]\u00b6\n

    A wrapper of format_html(), for the common case of a group of\n arguments that need to be formatted using the same format string, and then\n joined using sep. sep is also passed through\n conditional_escape().

    \n

    args_generator should be an iterator that returns the sequence of\n args that will be passed to format_html(). For example:

    \n
    format_html_join("\\n", "<li>{} {}</li>", ((u.first_name, u.last_name) for u in users))\n 
    \n
    \n
    \n \n
    \n
    \n-json_script(value, element_id=None, encoder=None)[source]\u00b6
    \n+json_script(value, element_id=None, encoder=None)[sorgente]\u00b6\n

    Escapes all HTML/XML special characters with their Unicode escapes, so\n value is safe for use with JavaScript. Also wraps the escaped JSON in a\n <script> tag. If the element_id parameter is not None, the\n <script> tag is given the passed id. For example:

    \n
    >>> json_script({"hello": "world"}, element_id="hello-data")\n '<script id="hello-data" type="application/json">{"hello": "world"}</script>'\n 
    \n@@ -788,15 +789,15 @@\n

    The encoder, which defaults to\n django.core.serializers.json.DjangoJSONEncoder, will be used to\n serialize the data. See JSON serialization for more details about this serializer.

    \n
    \n \n
    \n
    \n-strip_tags(value)[source]\u00b6
    \n+strip_tags(value)[sorgente]\u00b6\n

    Tries to remove anything that looks like an HTML tag from the string, that\n is anything contained within <>.

    \n

    Absolutely NO guarantee is provided about the resulting string being\n HTML safe. So NEVER mark safe the result of a strip_tag call without\n escaping it first, for example with escape().

    \n

    For example:

    \n
    strip_tags(value)\n@@ -806,86 +807,86 @@\n the return value will be "Joel is a slug".

    \n

    If you are looking for a more robust solution, consider using a third-party\n HTML sanitizing tool.

    \n
    \n \n
    \n
    \n-html_safe()[source]\u00b6
    \n+html_safe()[sorgente]\u00b6\n

    The __html__() method on a class helps non-Django templates detect\n classes whose output doesn\u2019t require HTML escaping.

    \n

    This decorator defines the __html__() method on the decorated class\n by wrapping __str__() in mark_safe().\n Ensure the __str__() method does indeed return text that doesn\u2019t\n require HTML escaping.

    \n
    \n \n \n
    \n

    django.utils.http\u00b6

    \n
    \n
    \n-urlencode(query, doseq=False)[source]\u00b6
    \n+urlencode(query, doseq=False)[sorgente]\u00b6\n

    A version of Python\u2019s urllib.parse.urlencode() function that can\n operate on MultiValueDict and non-string values.

    \n
    \n \n
    \n
    \n-http_date(epoch_seconds=None)[source]\u00b6
    \n+http_date(epoch_seconds=None)[sorgente]\u00b6\n

    Formats the time to match the RFC 1123#section-5.2.14 date format as\n specified by HTTP RFC 9110#section-5.6.7.

    \n

    Accepts a floating point number expressed in seconds since the epoch in\n UTC\u2013such as that outputted by time.time(). If set to None,\n defaults to the current time.

    \n

    Outputs a string in the format Wdy, DD Mon YYYY HH:MM:SS GMT.

    \n
    \n \n
    \n
    \n-content_disposition_header(as_attachment, filename)[source]\u00b6
    \n+content_disposition_header(as_attachment, filename)[sorgente]\u00b6\n

    Constructs a Content-Disposition HTTP header value from the given\n filename as specified by RFC 6266. Returns None if\n as_attachment is False and filename is None, otherwise\n returns a string suitable for the Content-Disposition HTTP header.

    \n
    \n \n
    \n
    \n-base36_to_int(s)[source]\u00b6
    \n+base36_to_int(s)[sorgente]\u00b6\n

    Converts a base 36 string to an integer.

    \n
    \n \n
    \n
    \n-int_to_base36(i)[source]\u00b6
    \n+int_to_base36(i)[sorgente]\u00b6\n

    Converts a positive integer to a base 36 string.

    \n
    \n \n
    \n
    \n-urlsafe_base64_encode(s)[source]\u00b6
    \n+urlsafe_base64_encode(s)[sorgente]\u00b6\n

    Encodes a bytestring to a base64 string for use in URLs, stripping any\n trailing equal signs.

    \n
    \n \n
    \n
    \n-urlsafe_base64_decode(s)[source]\u00b6
    \n+urlsafe_base64_decode(s)[sorgente]\u00b6\n

    Decodes a base64 encoded string, adding back any trailing equal signs that\n might have been stripped.

    \n
    \n \n
    \n
    \n

    django.utils.module_loading\u00b6

    \n

    Functions for working with Python modules.

    \n
    \n
    \n-import_string(dotted_path)[source]\u00b6
    \n+import_string(dotted_path)[sorgente]\u00b6\n

    Imports a dotted module path and returns the attribute/class designated by\n the last name in the path. Raises ImportError if the import failed. For\n example:

    \n
    from django.utils.module_loading import import_string\n \n ValidationError = import_string("django.core.exceptions.ValidationError")\n 
    \n@@ -895,29 +896,29 @@\n
    \n
    \n
    \n \n \n
    \n

    django.utils.safestring\u00b6

    \n-

    Functions and classes for working with \u201csafe strings\u201d: strings that can be\n-displayed safely without further escaping in HTML. Marking something as a \u201csafe\n-string\u201d means that the producer of the string has already turned characters\n-that should not be interpreted by the HTML engine (e.g. \u2018<\u2019) into the\n+

    Functions and classes for working with \u00absafe strings\u00bb: strings that can be\n+displayed safely without further escaping in HTML. Marking something as a \u00absafe\n+string\u00bb means that the producer of the string has already turned characters\n+that should not be interpreted by the HTML engine (e.g. \u201c<\u201d) into the\n appropriate entities.

    \n
    \n
    \n-class SafeString[source]\u00b6
    \n-

    A str subclass that has been specifically marked as \u201csafe\u201d (requires no\n+class SafeString[sorgente]\u00b6\n+

    A str subclass that has been specifically marked as \u00absafe\u00bb (requires no\n further escaping) for HTML output purposes.

    \n
    \n \n
    \n
    \n-mark_safe(s)[source]\u00b6
    \n+mark_safe(s)[sorgente]\u00b6\n

    Explicitly mark a string as safe for (HTML) output purposes. The returned\n object can be used everywhere a string is appropriate.

    \n

    Can be called multiple times on a single string.

    \n

    Can also be used as a decorator.

    \n

    For building up fragments of HTML, you should normally be using\n django.utils.html.format_html() instead.

    \n

    String marked safe will become unsafe again if modified. For example:

    \n@@ -949,22 +950,22 @@\n path(\n format_lazy("{person}/<int:pk>/", person=pgettext_lazy("URL", "person")),\n PersonDetailView.as_view(),\n ),\n ]\n
    \n
    \n-

    This example allows translators to translate part of the URL. If \u201cperson\u201d\n-is translated to \u201cpersona\u201d, the regular expression will match\n+

    This example allows translators to translate part of the URL. If \u00abperson\u00bb\n+is translated to \u00abpersona\u00bb, the regular expression will match\n persona/(?P<pk>\\d+)/$, e.g. persona/5/.

    \n \n \n
    \n
    \n-slugify(value, allow_unicode=False)[source]\u00b6
    \n+slugify(value, allow_unicode=False)[sorgente]\u00b6\n

    Converts a string to a URL slug by:

    \n
      \n
    1. Converting to ASCII if allow_unicode is False (the default).

    2. \n
    3. Converting to lowercase.

    4. \n
    5. Removing characters that aren\u2019t alphanumerics, underscores, hyphens, or\n whitespace.

    6. \n
    7. Replacing any whitespace or repeated dashes with single dashes.

    8. \n@@ -984,95 +985,95 @@\n
    \n \n \n
    \n

    django.utils.timezone\u00b6

    \n
    \n
    \n-get_fixed_timezone(offset)[source]\u00b6
    \n+get_fixed_timezone(offset)[sorgente]\u00b6\n

    Returns a tzinfo instance that represents a time zone\n with a fixed offset from UTC.

    \n

    offset is a datetime.timedelta or an integer number of\n minutes. Use positive values for time zones east of UTC and negative\n values for west of UTC.

    \n
    \n \n
    \n
    \n-get_default_timezone()[source]\u00b6
    \n+get_default_timezone()[sorgente]\u00b6\n

    Returns a tzinfo instance that represents the\n default time zone.

    \n
    \n \n
    \n
    \n-get_default_timezone_name()[source]\u00b6
    \n+get_default_timezone_name()[sorgente]\u00b6\n

    Returns the name of the default time zone.

    \n
    \n \n
    \n
    \n-get_current_timezone()[source]\u00b6
    \n+get_current_timezone()[sorgente]\u00b6\n

    Returns a tzinfo instance that represents the\n current time zone.

    \n
    \n \n
    \n
    \n-get_current_timezone_name()[source]\u00b6
    \n+get_current_timezone_name()[sorgente]\u00b6\n

    Returns the name of the current time zone.

    \n
    \n \n
    \n
    \n-activate(timezone)[source]\u00b6
    \n+activate(timezone)[sorgente]\u00b6\n

    Sets the current time zone. The\n timezone argument must be an instance of a tzinfo\n subclass or a time zone name.

    \n
    \n \n
    \n
    \n-deactivate()[source]\u00b6
    \n+deactivate()[sorgente]\u00b6\n

    Unsets the current time zone.

    \n
    \n \n
    \n
    \n-override(timezone)[source]\u00b6
    \n+override(timezone)[sorgente]\u00b6\n

    This is a Python context manager that sets the current time zone on entry with activate(), and restores\n the previously active time zone on exit. If the timezone argument is\n None, the current time zone is unset\n on entry with deactivate() instead.

    \n

    override is also usable as a function decorator.

    \n
    \n \n
    \n
    \n-localtime(value=None, timezone=None)[source]\u00b6
    \n+localtime(value=None, timezone=None)[sorgente]\u00b6\n

    Converts an aware datetime to a different time zone,\n by default the current time zone.

    \n

    When value is omitted, it defaults to now().

    \n

    This function doesn\u2019t work on naive datetimes; use make_aware()\n instead.

    \n
    \n \n
    \n
    \n-localdate(value=None, timezone=None)[source]\u00b6
    \n+localdate(value=None, timezone=None)[sorgente]\u00b6\n

    Uses localtime() to convert an aware datetime to a\n date() in a different time zone, by default the\n current time zone.

    \n

    When value is omitted, it defaults to now().

    \n

    This function doesn\u2019t work on naive datetimes.

    \n
    \n \n
    \n
    \n-now()[source]\u00b6
    \n+now()[sorgente]\u00b6\n

    Returns a datetime that represents the\n current point in time. Exactly what\u2019s returned depends on the value of\n USE_TZ:

    \n
      \n
    • If USE_TZ is False, this will be a\n naive datetime (i.e. a datetime\n without an associated timezone) that represents the current time\n@@ -1083,58 +1084,58 @@\n times in UTC regardless of the value of TIME_ZONE;\n you can use localtime() to get the time in the current time zone.

    • \n
    \n
    \n \n
    \n
    \n-is_aware(value)[source]\u00b6
    \n+is_aware(value)[sorgente]\u00b6\n

    Returns True if value is aware, False if it is naive. This\n function assumes that value is a datetime.

    \n
    \n \n
    \n
    \n-is_naive(value)[source]\u00b6
    \n+is_naive(value)[sorgente]\u00b6\n

    Returns True if value is naive, False if it is aware. This\n function assumes that value is a datetime.

    \n
    \n \n
    \n
    \n-make_aware(value, timezone=None)[source]\u00b6
    \n+make_aware(value, timezone=None)[sorgente]\u00b6\n

    Returns an aware datetime that represents the same\n point in time as value in timezone, value being a naive\n datetime. If timezone is set to None, it\n defaults to the current time zone.

    \n
    \n \n
    \n
    \n-make_naive(value, timezone=None)[source]\u00b6
    \n+make_naive(value, timezone=None)[sorgente]\u00b6\n

    Returns a naive datetime that represents in\n timezone the same point in time as value, value being an\n aware datetime. If timezone is set to None, it\n defaults to the current time zone.

    \n
    \n \n
    \n
    \n

    django.utils.translation\u00b6

    \n

    For a complete discussion on the usage of the following see the\n translation documentation.

    \n
    \n
    \n-gettext(message)[source]\u00b6
    \n+gettext(message)[sorgente]\u00b6\n

    Translates message and returns it as a string.

    \n
    \n \n
    \n
    \n-pgettext(context, message)[source]\u00b6
    \n+pgettext(context, message)[sorgente]\u00b6\n

    Translates message given the context and returns it as a string.

    \n

    For more information, see Contextual markers.

    \n
    \n \n
    \n
    \n gettext_lazy(message)\u00b6
    \n@@ -1145,124 +1146,124 @@\n pgettext_lazy(context, message)\u00b6\n

    Same as the non-lazy versions above, but using lazy execution.

    \n

    See lazy translations documentation.

    \n
    \n \n
    \n
    \n-gettext_noop(message)[source]\u00b6
    \n+gettext_noop(message)[sorgente]\u00b6\n

    Marks strings for translation but doesn\u2019t translate them now. This can be\n used to store strings in global variables that should stay in the base\n language (because they might be used externally) and will be translated\n later.

    \n
    \n \n
    \n
    \n-ngettext(singular, plural, number)[source]\u00b6
    \n+ngettext(singular, plural, number)[sorgente]\u00b6\n

    Translates singular and plural and returns the appropriate string\n based on number.

    \n
    \n \n
    \n
    \n-npgettext(context, singular, plural, number)[source]\u00b6
    \n+npgettext(context, singular, plural, number)[sorgente]\u00b6\n

    Translates singular and plural and returns the appropriate string\n based on number and the context.

    \n
    \n \n
    \n
    \n-ngettext_lazy(singular, plural, number)[source]\u00b6
    \n+ngettext_lazy(singular, plural, number)[sorgente]\u00b6\n
    \n \n
    \n
    \n-npgettext_lazy(context, singular, plural, number)[source]\u00b6
    \n+npgettext_lazy(context, singular, plural, number)[sorgente]\u00b6\n

    Same as the non-lazy versions above, but using lazy execution.

    \n

    See lazy translations documentation.

    \n
    \n \n
    \n
    \n-activate(language)[source]\u00b6
    \n+activate(language)[sorgente]\u00b6\n

    Fetches the translation object for a given language and activates it as\n the current translation object for the current thread.

    \n
    \n \n
    \n
    \n-deactivate()[source]\u00b6
    \n+deactivate()[sorgente]\u00b6\n

    Deactivates the currently active translation object so that further _ calls\n will resolve against the default translation object, again.

    \n
    \n \n
    \n
    \n-deactivate_all()[source]\u00b6
    \n+deactivate_all()[sorgente]\u00b6\n

    Makes the active translation object a NullTranslations() instance.\n This is useful when we want delayed translations to appear as the original\n string for some reason.

    \n
    \n \n
    \n
    \n-override(language, deactivate=False)[source]\u00b6
    \n+override(language, deactivate=False)[sorgente]\u00b6\n

    A Python context manager that uses\n django.utils.translation.activate() to fetch the translation object\n for a given language, activates it as the translation object for the\n current thread and reactivates the previous active language on exit.\n Optionally, it can deactivate the temporary translation on exit with\n django.utils.translation.deactivate() if the deactivate argument\n is True. If you pass None as the language argument, a\n NullTranslations() instance is activated within the context.

    \n

    override is also usable as a function decorator.

    \n
    \n \n
    \n
    \n-check_for_language(lang_code)[source]\u00b6
    \n+check_for_language(lang_code)[sorgente]\u00b6\n

    Checks whether there is a global language file for the given language\n-code (e.g. \u2018fr\u2019, \u2018pt_BR\u2019). This is used to decide whether a user-provided\n+code (e.g. \u201cfr\u201d, \u201cpt_BR\u201d). This is used to decide whether a user-provided\n language is available.

    \n
    \n \n
    \n
    \n-get_language()[source]\u00b6
    \n+get_language()[sorgente]\u00b6\n

    Returns the currently selected language code. Returns None if\n translations are temporarily deactivated (by deactivate_all() or\n when None is passed to override()).

    \n
    \n \n
    \n
    \n-get_language_bidi()[source]\u00b6
    \n+get_language_bidi()[sorgente]\u00b6\n

    Returns selected language\u2019s BiDi layout:

    \n
      \n
    • False = left-to-right layout

    • \n
    • True = right-to-left layout

    • \n
    \n
    \n \n
    \n
    \n-get_language_from_request(request, check_path=False)[source]\u00b6
    \n+get_language_from_request(request, check_path=False)[sorgente]\u00b6\n

    Analyzes the request to find what language the user wants the system to\n show. Only languages listed in settings.LANGUAGES are taken into account.\n If the user requests a sublanguage where we have a main language, we send\n out the main language.

    \n

    If check_path is True, the function first checks the requested URL\n for whether its path begins with a language code listed in the\n LANGUAGES setting.

    \n
    \n \n
    \n
    \n-get_supported_language_variant(lang_code, strict=False)[source]\u00b6
    \n+get_supported_language_variant(lang_code, strict=False)[sorgente]\u00b6\n

    Returns lang_code if it\u2019s in the LANGUAGES setting, possibly\n selecting a more generic variant. For example, 'es' is returned if\n lang_code is 'es-ar' and 'es' is in LANGUAGES but\n 'es-ar' isn\u2019t.

    \n

    lang_code has a maximum accepted length of 500 characters. A\n LookupError is raised if lang_code exceeds this limit and\n strict is True, or if there is no generic variant and strict\n@@ -1277,21 +1278,21 @@\n Changed in Django 4.2.15:

    In older versions, lang_code values over 500 characters were\n processed without raising a LookupError.

    \n
    \n \n \n
    \n
    \n-to_locale(language)[source]\u00b6
    \n+to_locale(language)[sorgente]\u00b6\n

    Turns a language name (en-us) into a locale name (en_US).

    \n
    \n \n
    \n
    \n-templatize(src)[source]\u00b6
    \n+templatize(src)[sorgente]\u00b6\n

    Turns a Django template into something that is understood by xgettext.\n It does so by translating the Django translation tags into standard\n gettext function invocations.

    \n
    \n \n \n \n@@ -1333,37 +1334,37 @@\n
  • django.utils.translation
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    django.urls functions for use in URLconfs

    \n+ title=\"capitolo precedente\">django.urls functions for use in URLconfs

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Validators

    \n+ title=\"capitolo successivo\">Validators

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n \n \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n \n \n \n \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo U\bUt\bti\bil\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n This document covers all stable modules in django.utils. Most of the modules in\n django.utils are designed for internal use and only the following parts can be\n considered stable and thus backwards compatible as per the _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b _\br_\be_\bl_\be_\ba_\bs_\be\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bo_\bl_\bi_\bc_\by.\n@@ -14,54 +14,54 @@\n For information on the Vary header, see _\bR\bR_\bF\bF_\bC\bC_\b _\b9\b9_\b1\b1_\b1\b1_\b0\b0_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b1\b1_\b2\b2_\b.\b._\b5\b5_\b.\b._\b5\b5.\n Essentially, the Vary HTTP header defines which headers a cache should take\n into account when building its cache key. Requests with the same path but\n different header content for headers named in Vary need to get different cache\n keys to prevent delivery of wrong content.\n For example, _\bi_\bn_\bt_\be_\br_\bn_\ba_\bt_\bi_\bo_\bn_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn middleware would need to distinguish caches\n by the Accept-language header.\n- patch_cache_control(r\bre\bes\bsp\bpo\bon\bns\bse\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ patch_cache_control(r\bre\bes\bsp\bpo\bon\bns\bse\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This function patches the Cache-Control header by adding all keyword\n arguments to it. The transformation is as follows:\n * All keyword parameter names are turned to lowercase, and\n underscores are converted to hyphens.\n * If the value of a parameter is True (exactly True, not just a true\n value), only the parameter name is added to the header.\n * All other parameters are added with their value, after applying str\n () to it.\n- get_max_age(r\bre\bes\bsp\bpo\bon\bns\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_max_age(r\bre\bes\bsp\bpo\bon\bns\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the max-age from the response Cache-Control header as an integer\n (or None if it wasn\u2019t found or wasn\u2019t an integer).\n- patch_response_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be, c\bca\bac\bch\bhe\be_\b_t\bti\bim\bme\beo\bou\but\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ patch_response_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be, c\bca\bac\bch\bhe\be_\b_t\bti\bim\bme\beo\bou\but\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds some useful headers to the given HttpResponse object:\n * Expires\n * Cache-Control\n Each header is only added if it isn\u2019t already set.\n cache_timeout is in seconds. The _\bC_\bA_\bC_\bH_\bE_\b__\bM_\bI_\bD_\bD_\bL_\bE_\bW_\bA_\bR_\bE_\b__\bS_\bE_\bC_\bO_\bN_\bD_\bS setting is used\n by default.\n- add_never_cache_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ add_never_cache_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds an Expires header to the current date/time.\n Adds a Cache-Control: max-age=0, no-cache, no-store, must-revalidate,\n private header to a response to indicate that a page should never be\n cached.\n Each header is only added if it isn\u2019t already set.\n- patch_vary_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be, n\bne\bew\bwh\bhe\bea\bad\bde\ber\brs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ patch_vary_headers(r\bre\bes\bsp\bpo\bon\bns\bse\be, n\bne\bew\bwh\bhe\bea\bad\bde\ber\brs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds (or updates) the Vary header in the given HttpResponse object.\n newheaders is a list of header names that should be in Vary. If headers\n contains an asterisk, then Vary header will consist of a single asterisk\n '*', according to _\bR\bR_\bF\bF_\bC\bC_\b _\b9\b9_\b1\b1_\b1\b1_\b0\b0_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b1\b1_\b2\b2_\b.\b._\b5\b5_\b.\b._\b5\b5. Otherwise, existing headers in\n Vary aren\u2019t removed.\n- get_cache_key(r\bre\beq\bqu\bue\bes\bst\bt, k\bke\bey\by_\b_p\bpr\bre\bef\bfi\bix\bx=\b=N\bNo\bon\bne\be, m\bme\bet\bth\bho\bod\bd=\b='\b'G\bGE\bET\bT'\b', c\bca\bac\bch\bhe\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_cache_key(r\bre\beq\bqu\bue\bes\bst\bt, k\bke\bey\by_\b_p\bpr\bre\bef\bfi\bix\bx=\b=N\bNo\bon\bne\be, m\bme\bet\bth\bho\bod\bd=\b='\b'G\bGE\bET\bT'\b', c\bca\bac\bch\bhe\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a cache key based on the request path. It can be used in the\n request phase because it pulls the list of headers to take into account\n from the global path registry and uses those to build a cache key to\n check against.\n If there is no headerlist stored, the page needs to be rebuilt, so this\n function returns None.\n learn_cache_key(r\bre\beq\bqu\bue\bes\bst\bt, r\bre\bes\bsp\bpo\bon\bns\bse\be, c\bca\bac\bch\bhe\be_\b_t\bti\bim\bme\beo\bou\but\bt=\b=N\bNo\bon\bne\be, k\bke\bey\by_\b_p\bpr\bre\bef\bfi\bix\bx=\b=N\bNo\bon\bne\be,\n- c\bca\bac\bch\bhe\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bca\bac\bch\bhe\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Learns what headers to take into account for some request path from the\n response object. It stores those headers in a global path registry so\n that later access to that path will know what headers to take into\n account without building the response object itself. The headers are\n named in the Vary header of the response, but we want to prevent response\n generation.\n The list of headers to use for cache key generation is stored in the same\n@@ -74,113 +74,115 @@\n alternatives) and return objects from the corresponding classes in\n Python\u2019s _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be module.\n * They raise _\bV_\ba_\bl_\bu_\be_\bE_\br_\br_\bo_\br if their input is well formatted but isn\u2019t a valid\n date or time.\n * They return None if it isn\u2019t well formatted at all.\n * They accept up to picosecond resolution in input, but they truncate it to\n microseconds, since that\u2019s what Python supports.\n- parse_date(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ parse_date(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Parses a string and returns a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be.\n- parse_time(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ parse_time(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Parses a string and returns a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bt_\bi_\bm_\be.\n UTC offsets aren\u2019t supported; if value describes one, the result is None.\n- parse_datetime(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ parse_datetime(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Parses a string and returns a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be.\n UTC offsets are supported; if value describes one, the result\u2019s tzinfo\n attribute is a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be instance.\n- parse_duration(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ parse_duration(v\bva\bal\blu\bue\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Parses a string and returns a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bt_\bi_\bm_\be_\bd_\be_\bl_\bt_\ba.\n Expects data in the format \"DD HH:MM:SS.uuuuuu\", \"DD HH:MM:SS,uuuuuu\", or\n as specified by ISO 8601 (e.g. P4DT1H15M20S which is equivalent to 4 1:\n 15:20) or PostgreSQL\u2019s day-time interval format (e.g. 3 days 04:05:06).\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.d\bde\bec\bco\bor\bra\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- method_decorator(d\bde\bec\bco\bor\bra\bat\bto\bor\br, n\bna\bam\bme\be=\b='\b''\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ method_decorator(d\bde\bec\bco\bor\bra\bat\bto\bor\br, n\bna\bam\bme\be=\b='\b''\b')_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts a function decorator into a method decorator. It can be used to\n decorate methods or classes; in the latter case, name is the name of the\n method to be decorated and is required.\n decorator may also be a list or tuple of functions. They are wrapped in\n reverse order so that the call order is the order in which the functions\n appear in the list/tuple.\n See _\bd_\be_\bc_\bo_\br_\ba_\bt_\bi_\bn_\bg_\b _\bc_\bl_\ba_\bs_\bs_\b _\bb_\ba_\bs_\be_\bd_\b _\bv_\bi_\be_\bw_\bs for example usage.\n- decorator_from_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b_c\bcl\bla\bas\bss\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ decorator_from_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b_c\bcl\bla\bas\bss\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Given a middleware class, returns a view decorator. This lets you use\n middleware functionality on a per-view basis. The middleware is created\n with no params passed.\n It assumes middleware that\u2019s compatible with the old style of Django 1.9\n and earlier (having methods like process_request(), process_exception(),\n and process_response()).\n- decorator_from_middleware_with_args(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b_c\bcl\bla\bas\bss\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ decorator_from_middleware_with_args(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b_c\bcl\bla\bas\bss\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Like decorator_from_middleware, but returns a function that accepts the\n arguments to be passed to the middleware_class. For example, the\n _\bc_\ba_\bc_\bh_\be_\b__\bp_\ba_\bg_\be_\b(_\b) decorator is created from the CacheMiddleware like this:\n cache_page = decorator_from_middleware_with_args(CacheMiddleware)\n \n \n @cache_page(3600)\n def my_view(request):\n pass\n- sync_only_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ sync_only_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Marks a middleware as _\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\b-_\bo_\bn_\bl_\by. (The default in Django, but this\n allows you to future-proof if the default ever changes in a future\n release.)\n- async_only_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ async_only_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Marks a middleware as _\ba_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\b-_\bo_\bn_\bl_\by. Django will wrap it in an\n asynchronous event loop when it is called from the WSGI request path.\n- sync_and_async_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ sync_and_async_middleware(m\bmi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Marks a middleware as _\bs_\by_\bn_\bc_\b _\ba_\bn_\bd_\b _\ba_\bs_\by_\bn_\bc_\b _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be, this allows to avoid\n converting requests. You must implement detection of the current request\n type to use this decorator. See _\ba_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs_\b _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for\n details.\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.e\ben\bnc\bco\bod\bdi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- smart_str(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ smart_str(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a str object representing arbitrary object s. Treats bytestrings\n using the encoding codec.\n If strings_only is True, don\u2019t convert (some) non-string-like objects.\n- is_protected_type(o\bob\bbj\bj)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ is_protected_type(o\bob\bbj\bj)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Determine if the object instance is of a protected type.\n Objects of protected types are preserved as-is when passed to force_str\n (strings_only=True).\n- force_str(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ force_str(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to smart_str(), except that lazy instances are resolved to\n strings, rather than kept as lazy objects.\n If strings_only is True, don\u2019t convert (some) non-string-like objects.\n smart_bytes(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a bytestring version of arbitrary object s, encoded as specified\n in encoding.\n If strings_only is True, don\u2019t convert (some) non-string-like objects.\n force_bytes(s\bs, e\ben\bnc\bco\bod\bdi\bin\bng\bg=\b='\b'u\but\btf\bf-\b-8\b8'\b', s\bst\btr\bri\bin\bng\bgs\bs_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be, e\ber\brr\bro\bor\brs\bs=\b='\b's\bst\btr\bri\bic\bct\bt'\b')\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to smart_bytes, except that lazy instances are resolved to\n bytestrings, rather than kept as lazy objects.\n If strings_only is True, don\u2019t convert (some) non-string-like objects.\n- iri_to_uri(i\bir\bri\bi)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ iri_to_uri(i\bir\bri\bi)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Convert an Internationalized Resource Identifier (IRI) portion to a URI\n portion that is suitable for inclusion in a URL.\n This is the algorithm from section 3.1 of _\bR\bR_\bF\bF_\bC\bC_\b _\b3\b3_\b9\b9_\b8\b8_\b7\b7_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b3\b3_\b.\b._\b1\b1, slightly\n simplified since the input is assumed to be a string rather than an\n arbitrary byte stream.\n Takes an IRI (string or UTF-8 bytes) and returns a string containing the\n encoded result.\n- uri_to_iri(u\bur\bri\bi)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ uri_to_iri(u\bur\bri\bi)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Converts a Uniform Resource Identifier into an Internationalized Resource\n Identifier.\n This is an algorithm from section 3.2 of _\bR\bR_\bF\bF_\bC\bC_\b _\b3\b3_\b9\b9_\b8\b8_\b7\b7_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b3\b3_\b.\b._\b2\b2.\n Takes a URI in ASCII bytes and returns a string containing the encoded\n result.\n- filepath_to_uri(p\bpa\bat\bth\bh)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ filepath_to_uri(p\bpa\bat\bth\bh)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Convert a file system path to a URI portion that is suitable for\n inclusion in a URL. The path is assumed to be either UTF-8 bytes, string,\n or a _\bP_\ba_\bt_\bh.\n This method will encode certain characters that would normally be\n recognized as special characters for URIs. Note that this method does not\n- encode the \u2018 character, as it is a valid character within URIs. See\n+ encode the \u201c character, as it is a valid character within URIs. See\n encodeURIComponent() JavaScript function for more details.\n Returns an ASCII string containing the encoded result.\n- escape_uri_path(p\bpa\bat\bth\bh)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ escape_uri_path(p\bpa\bat\bth\bh)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Escapes the unsafe characters from the path portion of a Uniform Resource\n Identifier (URI).\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.f\bfe\bee\bed\bdg\bge\ben\bne\ber\bra\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Sample usage:\n >>> from django.utils import feedgenerator\n >>> feed = feedgenerator.Rss201rev2Feed(\n ... title=\"Poynter E-Media Tidbits\",\n@@ -197,75 +199,75 @@\n >>> with open(\"test.rss\", \"w\") as fp:\n ... feed.write(fp, \"utf-8\")\n ...\n For simplifying the selection of a generator use feedgenerator.DefaultFeed\n which is currently Rss201rev2Feed\n For definitions of the different versions of RSS, see: _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\be_\bb_\b._\ba_\br_\bc_\bh_\bi_\bv_\be_\b._\bo_\br_\bg_\b/\n _\bw_\be_\bb_\b/_\b2_\b0_\b1_\b1_\b0_\b7_\b1_\b8_\b0_\b3_\b5_\b2_\b2_\b0_\b/_\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bd_\bi_\bv_\be_\bi_\bn_\bt_\bo_\bm_\ba_\br_\bk_\b._\bo_\br_\bg_\b/_\ba_\br_\bc_\bh_\bi_\bv_\be_\bs_\b/_\b2_\b0_\b0_\b4_\b/_\b0_\b2_\b/_\b0_\b4_\b/_\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b-_\br_\bs_\bs\n- get_tag_uri(u\bur\brl\bl, d\bda\bat\bte\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ get_tag_uri(u\bur\brl\bl, d\bda\bat\bte\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Creates a TagURI.\n See _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bw_\be_\bb_\b._\ba_\br_\bc_\bh_\bi_\bv_\be_\b._\bo_\br_\bg_\b/_\bw_\be_\bb_\b/_\b2_\b0_\b1_\b1_\b0_\b5_\b1_\b4_\b1_\b1_\b3_\b8_\b3_\b0_\b/_\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bd_\bi_\bv_\be_\bi_\bn_\bt_\bo_\bm_\ba_\br_\bk_\b._\bo_\br_\bg_\b/\n _\ba_\br_\bc_\bh_\bi_\bv_\be_\bs_\b/_\b2_\b0_\b0_\b4_\b/_\b0_\b5_\b/_\b2_\b8_\b/_\bh_\bo_\bw_\bt_\bo_\b-_\ba_\bt_\bo_\bm_\b-_\bi_\bd\n *\b**\b**\b**\b* S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs SyndicationFeed_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs SyndicationFeed_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Base class for all syndication feeds. Subclasses should provide write().\n __init__(t\bti\bit\btl\ble\be, l\bli\bin\bnk\bk, d\bde\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn, l\bla\ban\bng\bgu\bua\bag\bge\be=\b=N\bNo\bon\bne\be, a\bau\but\bth\bho\bor\br_\b_e\bem\bma\bai\bil\bl=\b=N\bNo\bon\bne\be,\n a\bau\but\bth\bho\bor\br_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, a\bau\but\bth\bho\bor\br_\b_l\bli\bin\bnk\bk=\b=N\bNo\bon\bne\be, s\bsu\bub\bbt\bti\bit\btl\ble\be=\b=N\bNo\bon\bne\be, c\bca\bat\bte\beg\bgo\bor\bri\bie\bes\bs=\b=N\bNo\bon\bne\be,\n f\bfe\bee\bed\bd_\b_u\bur\brl\bl=\b=N\bNo\bon\bne\be, f\bfe\bee\bed\bd_\b_c\bco\bop\bpy\byr\bri\big\bgh\bht\bt=\b=N\bNo\bon\bne\be, f\bfe\bee\bed\bd_\b_g\bgu\bui\bid\bd=\b=N\bNo\bon\bne\be, t\btt\btl\bl=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Initialize the feed with the given dictionary of metadata, which\n applies to the entire feed.\n Any extra keyword arguments you pass to __init__ will be stored in\n self.feed.\n All parameters should be strings, except categories, which should\n be a sequence of strings.\n add_item(t\bti\bit\btl\ble\be, l\bli\bin\bnk\bk, d\bde\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn, a\bau\but\bth\bho\bor\br_\b_e\bem\bma\bai\bil\bl=\b=N\bNo\bon\bne\be, a\bau\but\bth\bho\bor\br_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be,\n a\bau\but\bth\bho\bor\br_\b_l\bli\bin\bnk\bk=\b=N\bNo\bon\bne\be, p\bpu\bub\bbd\bda\bat\bte\be=\b=N\bNo\bon\bne\be, c\bco\bom\bmm\bme\ben\bnt\bts\bs=\b=N\bNo\bon\bne\be, u\bun\bni\biq\bqu\bue\be_\b_i\bid\bd=\b=N\bNo\bon\bne\be,\n c\bca\bat\bte\beg\bgo\bor\bri\bie\bes\bs=\b=(\b()\b), i\bit\bte\bem\bm_\b_c\bco\bop\bpy\byr\bri\big\bgh\bht\bt=\b=N\bNo\bon\bne\be, t\btt\btl\bl=\b=N\bNo\bon\bne\be, u\bup\bpd\bda\bat\bte\bed\bdd\bda\bat\bte\be=\b=N\bNo\bon\bne\be,\n- e\ben\bnc\bcl\blo\bos\bsu\bur\bre\bes\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ e\ben\bnc\bcl\blo\bos\bsu\bur\bre\bes\bs=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Adds an item to the feed. All args are expected to be strings\n except pubdate and updateddate, which are datetime.datetime\n objects, and enclosures, which is a list of Enclosure instances.\n- num_items()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- root_attributes()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ num_items()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ root_attributes()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Return extra attributes to place on the root (i.e. feed/channel)\n element. Called from write().\n- add_root_elements(h\bha\ban\bnd\bdl\ble\ber\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ add_root_elements(h\bha\ban\bnd\bdl\ble\ber\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Add elements in the root (i.e. feed/channel) element. Called from\n write().\n- item_attributes(i\bit\bte\bem\bm)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ item_attributes(i\bit\bte\bem\bm)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Return extra attributes to place on each item (i.e. item/entry)\n element.\n- add_item_elements(h\bha\ban\bnd\bdl\ble\ber\br, i\bit\bte\bem\bm)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ add_item_elements(h\bha\ban\bnd\bdl\ble\ber\br, i\bit\bte\bem\bm)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Add elements on each item (i.e. item/entry) element.\n- write(o\bou\but\btf\bfi\bil\ble\be, e\ben\bnc\bco\bod\bdi\bin\bng\bg)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ write(o\bou\but\btf\bfi\bil\ble\be, e\ben\bnc\bco\bod\bdi\bin\bng\bg)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Outputs the feed in the given encoding to outfile, which is a file-\n like object. Subclasses should override this.\n- writeString(e\ben\bnc\bco\bod\bdi\bin\bng\bg)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ writeString(e\ben\bnc\bco\bod\bdi\bin\bng\bg)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the feed in the given encoding as a string.\n- latest_post_date()_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ latest_post_date()_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the latest pubdate or updateddate for all items in the\n feed. If no items have either of these attributes this returns the\n current UTC date/time.\n *\b**\b**\b**\b* E\bEn\bnc\bcl\blo\bos\bsu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Enclosure_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Enclosure_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Represents an RSS enclosure\n *\b**\b**\b**\b* R\bRs\bss\bsF\bFe\bee\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RssFeed(S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RssFeed(S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n *\b**\b**\b**\b* R\bRs\bss\bs2\b20\b01\b1r\bre\bev\bv2\b2F\bFe\bee\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Rss201rev2Feed(R\bRs\bss\bsF\bFe\bee\bed\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Rss201rev2Feed(R\bRs\bss\bsF\bFe\bee\bed\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Spec: _\bh_\bt_\bt_\bp_\bs_\b:_\b/_\b/_\bc_\by_\bb_\be_\br_\b._\bh_\ba_\br_\bv_\ba_\br_\bd_\b._\be_\bd_\bu_\b/_\br_\bs_\bs_\b/_\br_\bs_\bs_\b._\bh_\bt_\bm_\bl\n *\b**\b**\b**\b* R\bRs\bss\bsU\bUs\bse\ber\brl\bla\ban\bnd\bd0\b09\b91\b1F\bFe\bee\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs RssUserland091Feed(R\bRs\bss\bsF\bFe\bee\bed\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs RssUserland091Feed(R\bRs\bss\bsF\bFe\bee\bed\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Spec: _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bb_\ba_\bc_\bk_\be_\bn_\bd_\b._\bu_\bs_\be_\br_\bl_\ba_\bn_\bd_\b._\bc_\bo_\bm_\b/_\br_\bs_\bs_\b0_\b9_\b1\n *\b**\b**\b**\b* A\bAt\bto\bom\bm1\b1F\bFe\bee\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs Atom1Feed(S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs Atom1Feed(S\bSy\byn\bnd\bdi\bic\bca\bat\bti\bio\bon\bnF\bFe\bee\bed\bd)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Spec: _\bR\bR_\bF\bF_\bC\bC_\b _\b4\b4_\b2\b2_\b8\b8_\b7\b7\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.f\bfu\bun\bnc\bct\bti\bio\bon\bna\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs cached_property(f\bfu\bun\bnc\bc)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs cached_property(f\bfu\bun\bnc\bc)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n The @cached_property decorator caches the result of a method with a\n single self argument as a property. The cached result will persist as\n long as the instance does, so if the instance is passed around and the\n function subsequently invoked, the cached result will be returned.\n Consider a typical case, where a view might need to call a model\u2019s method\n to perform some computation, before placing the model instance into the\n context, where the template might invoke the method once more:\n@@ -318,19 +320,19 @@\n While person.get_friends() will recompute the friends on each call, the\n value of the cached property will persist until you delete it as\n described above:\n x = person.friends # calls first time\n y = person.get_friends() # calls again\n z = person.friends # does not call\n x is z # is True\n- c\bcl\bla\bas\bss\bs classproperty(m\bme\bet\bth\bho\bod\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs classproperty(m\bme\bet\bth\bho\bod\bd=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to _\b@_\bc_\bl_\ba_\bs_\bs_\bm_\be_\bt_\bh_\bo_\bd, the @classproperty decorator converts the result\n of a method with a single cls argument into a property that can be\n accessed directly from the class.\n- keep_lazy(f\bfu\bun\bnc\bc, *\b*r\bre\bes\bsu\bul\blt\btc\bcl\bla\bas\bss\bse\bes\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ keep_lazy(f\bfu\bun\bnc\bc, *\b*r\bre\bes\bsu\bul\blt\btc\bcl\bla\bas\bss\bse\bes\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Django offers many utility functions (particularly in django.utils) that\n take a string as their first argument and do something to that string.\n These functions are used by template filters as well as directly in other\n code.\n If you write your own similar functions and deal with translations,\n you\u2019ll face the problem of what to do when the first argument is a lazy\n translation object. You don\u2019t want to convert it to a string immediately,\n@@ -359,15 +361,15 @@\n specifying the type(s) that the original function can return. A common\n use case is to have functions that return text. For these, you can pass\n the str type to keep_lazy (or use the _\bk_\be_\be_\bp_\b__\bl_\ba_\bz_\by_\b__\bt_\be_\bx_\bt_\b(_\b) decorator\n described in the next section).\n Using this decorator means you can write your function and assume that\n the input is a proper string, then add support for lazy translation\n objects at the end.\n- keep_lazy_text(f\bfu\bun\bnc\bc)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ keep_lazy_text(f\bfu\bun\bnc\bc)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A shortcut for keep_lazy(str)(func).\n If you have a function that returns text and you want to be able to take\n lazy arguments while delaying their evaluation, you can use this\n decorator:\n from django.utils.functional import keep_lazy, keep_lazy_text\n \n \n@@ -380,22 +382,22 @@\n @keep_lazy_text\n def fancy_utility_function(s, *args, **kwargs): ...\n *\b**\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.h\bht\btm\bml\bl_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Usually you should build up HTML using Django\u2019s templates to make use of its\n autoescape mechanism, using the utilities in _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg where\n appropriate. This module provides some additional low level utilities for\n escaping HTML.\n- escape(t\bte\bex\bxt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ escape(t\bte\bex\bxt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns the given text with ampersands, quotes and angle brackets encoded\n for use in HTML. The input is first coerced to a string and the output\n has _\bm_\ba_\br_\bk_\b__\bs_\ba_\bf_\be_\b(_\b) applied.\n- conditional_escape(t\bte\bex\bxt\bt)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ conditional_escape(t\bte\bex\bxt\bt)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Similar to escape(), except that it doesn\u2019t operate on preescaped\n strings, so it will not double escape.\n- format_html(f\bfo\bor\brm\bma\bat\bt_\b_s\bst\btr\bri\bin\bng\bg, *\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ format_html(f\bfo\bor\brm\bma\bat\bt_\b_s\bst\btr\bri\bin\bng\bg, *\b*a\bar\brg\bgs\bs, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n This is similar to _\bs_\bt_\br_\b._\bf_\bo_\br_\bm_\ba_\bt_\b(_\b), except that it is appropriate for\n building up HTML fragments. The first argument format_string is not\n escaped but all other args and kwargs are passed through\n _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b) before being passed to str.format(). Finally, the\n output has _\bm_\ba_\br_\bk_\b__\bs_\ba_\bf_\be_\b(_\b) applied.\n For the case of building up small HTML fragments, this function is to be\n preferred over string interpolation using % or str.format() directly,\n@@ -420,100 +422,100 @@\n This has the advantage that you don\u2019t need to apply _\be_\bs_\bc_\ba_\bp_\be_\b(_\b) to each\n argument and risk a bug and an XSS vulnerability if you forget one.\n Note that although this function uses str.format() to do the\n interpolation, some of the formatting options provided by str.format()\n (e.g. number formatting) will not work, since all arguments are passed\n through _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b) which (ultimately) calls _\bf_\bo_\br_\bc_\be_\b__\bs_\bt_\br_\b(_\b) on the\n values.\n- Deprecated since version 5.0: Support for calling format_html() without\n+ Deprecato dalla versione 5.0: Support for calling format_html() without\n passing args or kwargs is deprecated.\n- format_html_join(s\bse\bep\bp, f\bfo\bor\brm\bma\bat\bt_\b_s\bst\btr\bri\bin\bng\bg, a\bar\brg\bgs\bs_\b_g\bge\ben\bne\ber\bra\bat\bto\bor\br)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ format_html_join(s\bse\bep\bp, f\bfo\bor\brm\bma\bat\bt_\b_s\bst\btr\bri\bin\bng\bg, a\bar\brg\bgs\bs_\b_g\bge\ben\bne\ber\bra\bat\bto\bor\br)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A wrapper of _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b), for the common case of a group of arguments\n that need to be formatted using the same format string, and then joined\n using sep. sep is also passed through _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b).\n args_generator should be an iterator that returns the sequence of args\n that will be passed to _\bf_\bo_\br_\bm_\ba_\bt_\b__\bh_\bt_\bm_\bl_\b(_\b). For example:\n format_html_join(\"\\n\", \"
  • {} {}
  • \", ((u.first_name, u.last_name) for\n u in users))\n- json_script(v\bva\bal\blu\bue\be, e\bel\ble\bem\bme\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, e\ben\bnc\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ json_script(v\bva\bal\blu\bue\be, e\bel\ble\bem\bme\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, e\ben\bnc\bco\bod\bde\ber\br=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Escapes all HTML/XML special characters with their Unicode escapes, so\n value is safe for use with JavaScript. Also wraps the escaped JSON in a\n \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -138,17 +139,17 @@\n validators for use with model and form fields. They\u2019re used internally but\n are available for use with your own fields, too. They can be used in addition\n to, or in lieu of custom field.clean() methods.

    \n
    \n

    RegexValidator\u00b6

    \n
    \n
    \n-class RegexValidator(regex=None, message=None, code=None, inverse_match=None, flags=0)[source]\u00b6
    \n+class RegexValidator(regex=None, message=None, code=None, inverse_match=None, flags=0)[sorgente]\u00b6\n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • regex \u2013 If not None, overrides regex. Can be a regular\n expression string or a pre-compiled regular expression.

    • \n
    • message \u2013 If not None, overrides message.

    • \n
    • code \u2013 If not None, overrides code.

    • \n
    • inverse_match \u2013 If not None, overrides inverse_match.

    • \n
    • flags \u2013 If not None, overrides flags. In that case,\n@@ -207,17 +208,17 @@\n

    \n \n
    \n
    \n

    EmailValidator\u00b6

    \n
    \n
    \n-class EmailValidator(message=None, code=None, allowlist=None)[source]\u00b6
    \n+class EmailValidator(message=None, code=None, allowlist=None)[sorgente]\u00b6\n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • message \u2013 If not None, overrides message.

    • \n
    • code \u2013 If not None, overrides code.

    • \n
    • allowlist \u2013 If not None, overrides allowlist.

    • \n
    \n
    \n
    \n@@ -257,15 +258,15 @@\n
    \n
    \n

    DomainNameValidator\u00b6

    \n
    \n New in Django 5.1.
    \n
    \n
    \n-class DomainNameValidator(accept_idna=True, message=None, code=None)[source]\u00b6
    \n+class DomainNameValidator(accept_idna=True, message=None, code=None)[sorgente]\u00b6\n

    A RegexValidator subclass that ensures a value looks like a domain\n name. Values longer than 255 characters are always considered invalid. IP\n addresses are not accepted as valid domain names.

    \n

    In addition to the optional arguments of its parent RegexValidator\n class, DomainNameValidator accepts an extra optional attribute:

    \n
    \n
    \n@@ -277,15 +278,15 @@\n
    \n \n
    \n
    \n

    URLValidator\u00b6

    \n
    \n
    \n-class URLValidator(schemes=None, regex=None, message=None, code=None)[source]\u00b6
    \n+class URLValidator(schemes=None, regex=None, message=None, code=None)[sorgente]\u00b6\n

    A RegexValidator subclass that ensures a value looks like a URL,\n and raises an error code of 'invalid' if it doesn\u2019t. Values longer than\n max_length characters are always considered invalid.

    \n

    Loopback addresses and reserved IP spaces are considered valid. Literal\n IPv6 addresses (RFC 3986#section-3.2.2) and Unicode domains are both\n supported.

    \n

    In addition to the optional arguments of its parent RegexValidator\n@@ -293,15 +294,15 @@\n

    \n
    \n schemes\u00b6
    \n

    URL/URI scheme list to validate against. If not provided, the default\n list is ['http', 'https', 'ftp', 'ftps']. As a reference, the IANA\n website provides a full list of valid URI schemes.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Values starting with file:/// will not pass validation even\n when the file scheme is provided. Valid values must contain a\n host.

    \n
    \n
    \n \n
    \n@@ -354,34 +355,34 @@\n
    \n \n
    \n
    \n

    validate_ipv4_address\u00b6

    \n
    \n
    \n-validate_ipv4_address[source]\u00b6
    \n+validate_ipv4_address[sorgente]\u00b6\n

    A RegexValidator instance that ensures a value looks like an IPv4\n address.

    \n
    \n \n
    \n
    \n

    validate_ipv6_address\u00b6

    \n
    \n
    \n-validate_ipv6_address[source]\u00b6
    \n+validate_ipv6_address[sorgente]\u00b6\n

    Uses django.utils.ipv6 to check the validity of an IPv6 address.

    \n
    \n \n
    \n
    \n

    validate_ipv46_address\u00b6

    \n
    \n
    \n-validate_ipv46_address[source]\u00b6
    \n+validate_ipv46_address[sorgente]\u00b6\n

    Uses both validate_ipv4_address and validate_ipv6_address to\n ensure a value is either a valid IPv4 or IPv6 address.

    \n
    \n \n
    \n
    \n

    validate_comma_separated_integer_list\u00b6

    \n@@ -393,70 +394,70 @@\n \n \n
    \n
    \n

    int_list_validator\u00b6

    \n
    \n
    \n-int_list_validator(sep=',', message=None, code='invalid', allow_negative=False)[source]\u00b6
    \n+int_list_validator(sep=',', message=None, code='invalid', allow_negative=False)[sorgente]\u00b6\n

    Returns a RegexValidator instance that ensures a string consists\n of integers separated by sep. It allows negative integers when\n allow_negative is True.

    \n
    \n \n
    \n
    \n

    MaxValueValidator\u00b6

    \n
    \n
    \n-class MaxValueValidator(limit_value, message=None)[source]\u00b6
    \n+class MaxValueValidator(limit_value, message=None)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'max_value' if value is greater than limit_value, which may be\n a callable.

    \n
    \n \n
    \n
    \n

    MinValueValidator\u00b6

    \n
    \n
    \n-class MinValueValidator(limit_value, message=None)[source]\u00b6
    \n+class MinValueValidator(limit_value, message=None)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'min_value' if value is less than limit_value, which may be a\n callable.

    \n
    \n \n
    \n
    \n

    MaxLengthValidator\u00b6

    \n
    \n
    \n-class MaxLengthValidator(limit_value, message=None)[source]\u00b6
    \n+class MaxLengthValidator(limit_value, message=None)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'max_length' if the length of value is greater than\n limit_value, which may be a callable.

    \n
    \n \n
    \n
    \n

    MinLengthValidator\u00b6

    \n
    \n
    \n-class MinLengthValidator(limit_value, message=None)[source]\u00b6
    \n+class MinLengthValidator(limit_value, message=None)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'min_length' if the length of value is less than limit_value,\n which may be a callable.

    \n
    \n \n
    \n
    \n

    DecimalValidator\u00b6

    \n
    \n
    \n-class DecimalValidator(max_digits, decimal_places)[source]\u00b6
    \n+class DecimalValidator(max_digits, decimal_places)[sorgente]\u00b6\n

    Raises ValidationError with the following\n codes:

    \n
      \n
    • 'max_digits' if the number of digits is larger than max_digits.

    • \n
    • 'max_decimal_places' if the number of decimals is larger than\n decimal_places.

    • \n
    • 'max_whole_digits' if the number of whole digits is larger than\n@@ -465,47 +466,47 @@\n

    \n \n
    \n
    \n

    FileExtensionValidator\u00b6

    \n
    \n
    \n-class FileExtensionValidator(allowed_extensions, message, code)[source]\u00b6
    \n+class FileExtensionValidator(allowed_extensions, message, code)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'invalid_extension' if the extension of value.name (value is\n a File) isn\u2019t found in allowed_extensions.\n The extension is compared case-insensitively with allowed_extensions.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Don\u2019t rely on validation of the file extension to determine a file\u2019s\n type. Files can be renamed to have any extension no matter what data\n they contain.

    \n
    \n
    \n \n
    \n
    \n

    validate_image_file_extension\u00b6

    \n
    \n
    \n-validate_image_file_extension[source]\u00b6
    \n+validate_image_file_extension[sorgente]\u00b6\n

    Uses Pillow to ensure that value.name (value is a\n File) has a valid image extension.

    \n
    \n \n
    \n
    \n

    ProhibitNullCharactersValidator\u00b6

    \n
    \n
    \n-class ProhibitNullCharactersValidator(message=None, code=None)[source]\u00b6
    \n+class ProhibitNullCharactersValidator(message=None, code=None)[sorgente]\u00b6\n

    Raises a ValidationError if str(value)\n contains one or more null characters ('\\x00').

    \n
    \n-
    Parameters:
    \n+
    Parametri:
    \n
      \n
    • message \u2013 If not None, overrides message.

    • \n
    • code \u2013 If not None, overrides code.

    • \n
    \n
    \n
    \n
    \n@@ -526,15 +527,15 @@\n
    \n \n
    \n
    \n

    StepValueValidator\u00b6

    \n
    \n
    \n-class StepValueValidator(limit_value, message=None, offset=None)[source]\u00b6
    \n+class StepValueValidator(limit_value, message=None, offset=None)[sorgente]\u00b6\n

    Raises a ValidationError with a code of\n 'step_size' if value is not an integral multiple of\n limit_value, which can be a float, integer or decimal value or a\n callable. When offset is set, the validation occurs against\n limit_value plus offset. For example, for\n StepValueValidator(3, offset=1.4) valid values include 1.4,\n 4.4, 7.4, 10.4, and so on.

    \n@@ -590,37 +591,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django Utils

    \n+ title=\"capitolo precedente\">Django Utils

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Built-in Views

    \n+ title=\"capitolo successivo\">Built-in Views

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* V\bVa\bal\bli\bid\bda\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* W\bWr\bri\bit\bti\bin\bng\bg v\bva\bal\bli\bid\bda\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A validator is a callable that takes a value and raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if it\n doesn\u2019t meet some criteria. Validators can be useful for reusing validation\n logic between different types of fields.\n@@ -45,16 +45,16 @@\n *\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn v\bva\bal\bli\bid\bda\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs module contains a collection of callable validators\n for use with model and form fields. They\u2019re used internally but are available\n for use with your own fields, too. They can be used in addition to, or in lieu\n of custom field.clean() methods.\n *\b**\b**\b**\b* R\bRe\beg\bge\bex\bxV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs RegexValidator(r\bre\beg\bge\bex\bx=\b=N\bNo\bon\bne\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, i\bin\bnv\bve\ber\brs\bse\be_\b_m\bma\bat\btc\bch\bh=\b=N\bNo\bon\bne\be,\n- f\bfl\bla\bag\bgs\bs=\b=0\b0)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Parameters:\n+ f\bfl\bla\bag\bgs\bs=\b=0\b0)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Parametri:\n * r\bre\beg\bge\bex\bx \u2013 If not None, overrides _\br_\be_\bg_\be_\bx. Can be a regular\n expression string or a pre-compiled regular expression.\n * m\bme\bes\bss\bsa\bag\bge\be \u2013 If not None, overrides _\bm_\be_\bs_\bs_\ba_\bg_\be.\n * c\bco\bod\bde\be \u2013 If not None, overrides _\bc_\bo_\bd_\be.\n * i\bin\bnv\bve\ber\brs\bse\be_\b_m\bma\bat\btc\bch\bh \u2013 If not None, overrides _\bi_\bn_\bv_\be_\br_\bs_\be_\b__\bm_\ba_\bt_\bc_\bh.\n * f\bfl\bla\bag\bgs\bs \u2013 If not None, overrides _\bf_\bl_\ba_\bg_\bs. In that case, _\br_\be_\bg_\be_\bx\n must be a regular expression string, or _\bT_\by_\bp_\be_\bE_\br_\br_\bo_\br is raised.\n@@ -77,16 +77,16 @@\n inverse_match_\b\u00b6\n The match mode for _\br_\be_\bg_\be_\bx. Defaults to False.\n flags_\b\u00b6\n The _\br_\be_\bg_\be_\bx_\b _\bf_\bl_\ba_\bg_\bs used when compiling the regular expression string\n _\br_\be_\bg_\be_\bx. If _\br_\be_\bg_\be_\bx is a pre-compiled regular expression, and _\bf_\bl_\ba_\bg_\bs is\n overridden, _\bT_\by_\bp_\be_\bE_\br_\br_\bo_\br is raised. Defaults to 0.\n *\b**\b**\b**\b* E\bEm\bma\bai\bil\blV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs EmailValidator(m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, a\bal\bll\blo\bow\bwl\bli\bis\bst\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n- Parameters:\n+ c\bcl\bla\bas\bss\bs EmailValidator(m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be, a\bal\bll\blo\bow\bwl\bli\bis\bst\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n+ Parametri:\n * m\bme\bes\bss\bsa\bag\bge\be \u2013 If not None, overrides _\bm_\be_\bs_\bs_\ba_\bg_\be.\n * c\bco\bod\bde\be \u2013 If not None, overrides _\bc_\bo_\bd_\be.\n * a\bal\bll\blo\bow\bwl\bli\bis\bst\bt \u2013 If not None, overrides _\ba_\bl_\bl_\bo_\bw_\bl_\bi_\bs_\bt.\n An _\bE_\bm_\ba_\bi_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br ensures that a value looks like an email, and raises a\n _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with _\bm_\be_\bs_\bs_\ba_\bg_\be and _\bc_\bo_\bd_\be if it doesn\u2019t. Values longer than\n 320 characters are always considered invalid.\n message_\b\u00b6\n@@ -101,40 +101,41 @@\n the @ sign. However, if that string appears in the allowlist, this\n validation is bypassed. If not provided, the default allowlist is\n ['localhost']. Other domains that don\u2019t contain a dot won\u2019t pass\n validation, so you\u2019d need to add them to the allowlist as\n necessary.\n *\b**\b**\b**\b* D\bDo\bom\bma\bai\bin\bnN\bNa\bam\bme\beV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n New in Django 5.1.\n- c\bcl\bla\bas\bss\bs DomainNameValidator(a\bac\bcc\bce\bep\bpt\bt_\b_i\bid\bdn\bna\ba=\b=T\bTr\bru\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DomainNameValidator(a\bac\bcc\bce\bep\bpt\bt_\b_i\bid\bdn\bna\ba=\b=T\bTr\bru\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be)\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br subclass that ensures a value looks like a domain name.\n Values longer than 255 characters are always considered invalid. IP\n addresses are not accepted as valid domain names.\n In addition to the optional arguments of its parent _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br class,\n DomainNameValidator accepts an extra optional attribute:\n accept_idna_\b\u00b6\n Determines whether to accept internationalized domain names, that\n is, domain names that contain non-ASCII characters. Defaults to\n True.\n *\b**\b**\b**\b* U\bUR\bRL\bLV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n c\bcl\bla\bas\bss\bs URLValidator(s\bsc\bch\bhe\bem\bme\bes\bs=\b=N\bNo\bon\bne\be, r\bre\beg\bge\bex\bx=\b=N\bNo\bon\bne\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be)\n- _\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ _\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br subclass that ensures a value looks like a URL, and\n raises an error code of 'invalid' if it doesn\u2019t. Values longer than\n _\bm_\ba_\bx_\b__\bl_\be_\bn_\bg_\bt_\bh characters are always considered invalid.\n Loopback addresses and reserved IP spaces are considered valid. Literal\n IPv6 addresses (_\bR\bR_\bF\bF_\bC\bC_\b _\b3\b3_\b9\b9_\b8\b8_\b6\b6_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b3\b3_\b.\b._\b2\b2_\b.\b._\b2\b2) and Unicode domains are both\n supported.\n In addition to the optional arguments of its parent _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br class,\n URLValidator accepts an extra optional attribute:\n schemes_\b\u00b6\n URL/URI scheme list to validate against. If not provided, the\n default list is ['http', 'https', 'ftp', 'ftps']. As a reference,\n the IANA website provides a full list of _\bv_\ba_\bl_\bi_\bd_\b _\bU_\bR_\bI_\b _\bs_\bc_\bh_\be_\bm_\be_\bs.\n- Warning\n+ Avvertimento\n Values starting with file:/// will not pass validation even when\n the file scheme is provided. Valid values must contain a host.\n max_length_\b\u00b6\n The maximum length of values that could be considered valid.\n Defaults to 2048 characters.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_e\bem\bma\bai\bil\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n validate_email_\b\u00b6\n@@ -148,87 +149,87 @@\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br instance that ensures a value consists of only letters,\n numbers, underscores or hyphens.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_u\bun\bni\bic\bco\bod\bde\be_\b_s\bsl\blu\bug\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n validate_unicode_slug_\b\u00b6\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br instance that ensures a value consists of only Unicode\n letters, numbers, underscores, or hyphens.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_i\bip\bpv\bv4\b4_\b_a\bad\bdd\bdr\bre\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- validate_ipv4_address_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ validate_ipv4_address_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br instance that ensures a value looks like an IPv4\n address.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_i\bip\bpv\bv6\b6_\b_a\bad\bdd\bdr\bre\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- validate_ipv6_address_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ validate_ipv6_address_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses django.utils.ipv6 to check the validity of an IPv6 address.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_i\bip\bpv\bv4\b46\b6_\b_a\bad\bdd\bdr\bre\bes\bss\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n- validate_ipv46_address_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ validate_ipv46_address_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses both validate_ipv4_address and validate_ipv6_address to ensure a\n value is either a valid IPv4 or IPv6 address.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_c\bco\bom\bmm\bma\ba_\b_s\bse\bep\bpa\bar\bra\bat\bte\bed\bd_\b_i\bin\bnt\bte\beg\bge\ber\br_\b_l\bli\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n validate_comma_separated_integer_list_\b\u00b6\n A _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br instance that ensures a value is a comma-separated list\n of integers.\n *\b**\b**\b**\b* i\bin\bnt\bt_\b_l\bli\bis\bst\bt_\b_v\bva\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n int_list_validator(s\bse\bep\bp=\b='\b',\b,'\b', m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b='\b'i\bin\bnv\bva\bal\bli\bid\bd'\b',\n- a\bal\bll\blo\bow\bw_\b_n\bne\beg\bga\bat\bti\biv\bve\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ a\bal\bll\blo\bow\bw_\b_n\bne\beg\bga\bat\bti\biv\bve\be=\b=F\bFa\bal\bls\bse\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Returns a _\bR_\be_\bg_\be_\bx_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br instance that ensures a string consists of\n integers separated by sep. It allows negative integers when\n allow_negative is True.\n *\b**\b**\b**\b* M\bMa\bax\bxV\bVa\bal\blu\bue\beV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MaxValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MaxValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'max_value' if value is greater\n than limit_value, which may be a callable.\n *\b**\b**\b**\b* M\bMi\bin\bnV\bVa\bal\blu\bue\beV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MinValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MinValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'min_value' if value is less than\n limit_value, which may be a callable.\n *\b**\b**\b**\b* M\bMa\bax\bxL\bLe\ben\bng\bgt\bth\bhV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MaxLengthValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MaxLengthValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'max_length' if the length of\n value is greater than limit_value, which may be a callable.\n *\b**\b**\b**\b* M\bMi\bin\bnL\bLe\ben\bng\bgt\bth\bhV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs MinLengthValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs MinLengthValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'min_length' if the length of\n value is less than limit_value, which may be a callable.\n *\b**\b**\b**\b* D\bDe\bec\bci\bim\bma\bal\blV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs DecimalValidator(m\bma\bax\bx_\b_d\bdi\big\bgi\bit\bts\bs, d\bde\bec\bci\bim\bma\bal\bl_\b_p\bpl\bla\bac\bce\bes\bs)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs DecimalValidator(m\bma\bax\bx_\b_d\bdi\big\bgi\bit\bts\bs, d\bde\bec\bci\bim\bma\bal\bl_\b_p\bpl\bla\bac\bce\bes\bs)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with the following codes:\n * 'max_digits' if the number of digits is larger than max_digits.\n * 'max_decimal_places' if the number of decimals is larger than\n decimal_places.\n * 'max_whole_digits' if the number of whole digits is larger than the\n difference between max_digits and decimal_places.\n *\b**\b**\b**\b* F\bFi\bil\ble\beE\bEx\bxt\bte\ben\bns\bsi\bio\bon\bnV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs FileExtensionValidator(a\bal\bll\blo\bow\bwe\bed\bd_\b_e\bex\bxt\bte\ben\bns\bsi\bio\bon\bns\bs, m\bme\bes\bss\bsa\bag\bge\be, c\bco\bod\bde\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs FileExtensionValidator(a\bal\bll\blo\bow\bwe\bed\bd_\b_e\bex\bxt\bte\ben\bns\bsi\bio\bon\bns\bs, m\bme\bes\bss\bsa\bag\bge\be, c\bco\bod\bde\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'invalid_extension' if the\n extension of value.name (value is a _\bF_\bi_\bl_\be) isn\u2019t found in\n allowed_extensions. The extension is compared case-insensitively with\n allowed_extensions.\n- Warning\n+ Avvertimento\n Don\u2019t rely on validation of the file extension to determine a file\u2019s\n type. Files can be renamed to have any extension no matter what data they\n contain.\n *\b**\b**\b**\b* v\bva\bal\bli\bid\bda\bat\bte\be_\b_i\bim\bma\bag\bge\be_\b_f\bfi\bil\ble\be_\b_e\bex\bxt\bte\ben\bns\bsi\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n- validate_image_file_extension_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ validate_image_file_extension_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Uses Pillow to ensure that value.name (value is a _\bF_\bi_\bl_\be) has _\ba_\b _\bv_\ba_\bl_\bi_\bd_\b _\bi_\bm_\ba_\bg_\be\n _\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn.\n *\b**\b**\b**\b* P\bPr\bro\boh\bhi\bib\bbi\bit\btN\bNu\bul\bll\blC\bCh\bha\bar\bra\bac\bct\bte\ber\brs\bsV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs ProhibitNullCharactersValidator(m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs ProhibitNullCharactersValidator(m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, c\bco\bod\bde\be=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if str(value) contains one or more null\n characters ('\\x00').\n- Parameters:\n+ Parametri:\n * m\bme\bes\bss\bsa\bag\bge\be \u2013 If not None, overrides _\bm_\be_\bs_\bs_\ba_\bg_\be.\n * c\bco\bod\bde\be \u2013 If not None, overrides _\bc_\bo_\bd_\be.\n message_\b\u00b6\n The error message used by _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if validation fails.\n Defaults to \"Null characters are not allowed.\".\n code_\b\u00b6\n The error code used by _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br if validation fails.\n Defaults to \"null_characters_not_allowed\".\n *\b**\b**\b**\b* S\bSt\bte\bep\bpV\bVa\bal\blu\bue\beV\bVa\bal\bli\bid\bda\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs StepValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, o\bof\bff\bfs\bse\bet\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\bu_\br_\bc_\be_\b]_\b\u00b6\n+ c\bcl\bla\bas\bss\bs StepValueValidator(l\bli\bim\bmi\bit\bt_\b_v\bva\bal\blu\bue\be, m\bme\bes\bss\bsa\bag\bge\be=\b=N\bNo\bon\bne\be, o\bof\bff\bfs\bse\bet\bt=\b=N\bNo\bon\bne\be)_\b[_\bs_\bo_\br_\bg_\be_\bn_\bt_\be_\b]_\b\u00b6\n Raises a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br with a code of 'step_size' if value is not an\n integral multiple of limit_value, which can be a float, integer or\n decimal value or a callable. When offset is set, the validation occurs\n against limit_value plus offset. For example, for StepValueValidator(3,\n offset=1.4) valid values include 1.4, 4.4, 7.4, 10.4, and so on.\n Changed in Django 5.0:\n The offset argument was added.\n@@ -255,16 +256,16 @@\n # _\bM_\ba_\bx_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n # _\bM_\bi_\bn_\bL_\be_\bn_\bg_\bt_\bh_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n # _\bD_\be_\bc_\bi_\bm_\ba_\bl_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n # _\bF_\bi_\bl_\be_\bE_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n # _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\b__\bi_\bm_\ba_\bg_\be_\b__\bf_\bi_\bl_\be_\b__\be_\bx_\bt_\be_\bn_\bs_\bi_\bo_\bn\n # _\bP_\br_\bo_\bh_\bi_\bb_\bi_\bt_\bN_\bu_\bl_\bl_\bC_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n # _\bS_\bt_\be_\bp_\bV_\ba_\bl_\bu_\be_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bU_\bt_\bi_\bl_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/ref/views.html", "source2": "./usr/share/doc/python-django-doc/html/ref/views.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Built-in Views — Django 5.1.4 documentation\n+ Built-in Views — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -135,16 +136,16 @@\n
    \n
    \n defaults.page_not_found(request, exception, template_name='404.html')\u00b6
    \n
    \n \n

    When you raise Http404 from within a view, Django loads a\n special view devoted to handling 404 errors. By default, it\u2019s the view\n-django.views.defaults.page_not_found(), which either produces a \u201cNot\n-Found\u201d message or loads and renders the template 404.html if you created it\n+django.views.defaults.page_not_found(), which either produces a \u00abNot\n+Found\u00bb message or loads and renders the template 404.html if you created it\n in your root template directory.

    \n

    The default 404 view will pass two variables to the template: request_path,\n which is the URL that resulted in the error, and exception, which is a\n useful representation of the exception that triggered the view (e.g. containing\n any message passed to a specific Http404 instance).

    \n

    Three things to note about 404 views:

    \n
      \n@@ -164,15 +165,15 @@\n
      \n defaults.server_error(request, template_name='500.html')\u00b6
      \n
      \n \n

      Similarly, Django executes special-case behavior in the case of runtime errors\n in view code. If a view results in an exception, Django will, by default, call\n the view django.views.defaults.server_error, which either produces a\n-\u201cServer Error\u201d message or loads and renders the template 500.html if you\n+\u00abServer Error\u00bb message or loads and renders the template 500.html if you\n created it in your root template directory.

      \n

      The default 500 view passes no variables to the 500.html template and is\n rendered with an empty Context to lessen the chance of additional errors.

      \n

      If DEBUG is set to True (in your settings module), then\n your 500 view will never be used, and the traceback will be displayed\n instead, with some debug information.

      \n \n@@ -184,15 +185,15 @@\n
      \n \n

      In the same vein as the 404 and 500 views, Django has a view to handle 403\n Forbidden errors. If a view results in a 403 exception then Django will, by\n default, call the view django.views.defaults.permission_denied.

      \n

      This view loads and renders the template 403.html in your root template\n directory, or if this file does not exist, instead serves the text\n-\u201c403 Forbidden\u201d, as per RFC 9110#section-15.5.4 (the HTTP 1.1\n+\u00ab403 Forbidden\u00bb, as per RFC 9110#section-15.5.4 (the HTTP 1.1\n Specification). The template context contains exception, which is the\n string representation of the exception that triggered the view.

      \n

      django.views.defaults.permission_denied is triggered by a\n PermissionDenied exception. To deny access in a\n view you can use code like this:

      \n
      from django.core.exceptions import PermissionDenied\n \n@@ -210,15 +211,15 @@\n 
      \n defaults.bad_request(request, exception, template_name='400.html')\u00b6
      \n
      \n \n

      When a SuspiciousOperation is raised in Django,\n it may be handled by a component of Django (for example resetting the session\n data). If not specifically handled, Django will consider the current request a\n-\u2018bad request\u2019 instead of a server error.

      \n+\u201cbad request\u201d instead of a server error.

      \n

      django.views.defaults.bad_request, is otherwise very similar to the\n server_error view, but returns with the status code 400 indicating that\n the error condition was the result of a client operation. By default, nothing\n related to the exception that triggered the view is passed to the template\n context, as the exception message might contain sensitive information like\n filesystem paths.

      \n

      bad_request views are also only used when DEBUG is False.

      \n@@ -250,37 +251,37 @@\n \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Validators

    \n+ title=\"capitolo precedente\">Validators

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Meta-documentation and miscellany

    \n+ title=\"capitolo successivo\">Meta-documentation and miscellany

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* B\bBu\bui\bil\blt\bt-\b-i\bin\bn V\bVi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Several of Django\u2019s built-in views are documented in _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\bv_\bi_\be_\bw_\bs as well as\n elsewhere in the documentation.\n *\b**\b**\b**\b**\b* S\bSe\ber\brv\bvi\bin\bng\bg f\bfi\bil\ble\bes\bs i\bin\bn d\bde\bev\bve\bel\blo\bop\bpm\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n static.serve(r\bre\beq\bqu\bue\bes\bst\bt, p\bpa\bat\bth\bh, d\bdo\boc\bcu\bum\bme\ben\bnt\bt_\b_r\bro\boo\bot\bt, s\bsh\bho\bow\bw_\b_i\bin\bnd\bde\bex\bxe\bes\bs=\b=F\bFa\bal\bls\bse\be)_\b\u00b6\n@@ -42,15 +42,15 @@\n *\b**\b**\b**\b**\b* E\bEr\brr\bro\bor\br v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django comes with a few views by default for handling HTTP errors. To override\n these with your own custom views, see _\bC_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\bi_\bn_\bg_\b _\be_\br_\br_\bo_\br_\b _\bv_\bi_\be_\bw_\bs.\n *\b**\b**\b**\b* T\bTh\bhe\be 4\b40\b04\b4 (\b(p\bpa\bag\bge\be n\bno\bot\bt f\bfo\bou\bun\bnd\bd)\b) v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n defaults.page_not_found(r\bre\beq\bqu\bue\bes\bst\bt, e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b='\b'4\b40\b04\b4.\b.h\bht\btm\bml\bl'\b')_\b\u00b6\n When you raise _\bH_\bt_\bt_\bp_\b4_\b0_\b4 from within a view, Django loads a special view devoted\n to handling 404 errors. By default, it\u2019s the view\n-_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\ba_\bg_\be_\b__\bn_\bo_\bt_\b__\bf_\bo_\bu_\bn_\bd_\b(_\b), which either produces a \u201cNot Found\u201d\n+_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bd_\be_\bf_\ba_\bu_\bl_\bt_\bs_\b._\bp_\ba_\bg_\be_\b__\bn_\bo_\bt_\b__\bf_\bo_\bu_\bn_\bd_\b(_\b), which either produces a \u00abNot Found\u00bb\n message or loads and renders the template 404.html if you created it in your\n root template directory.\n The default 404 view will pass two variables to the template: request_path,\n which is the URL that resulted in the error, and exception, which is a useful\n representation of the exception that triggered the view (e.g. containing any\n message passed to a specific Http404 instance).\n Three things to note about 404 views:\n@@ -61,30 +61,30 @@\n * If _\bD_\bE_\bB_\bU_\bG is set to True (in your settings module), then your 404 view\n will never be used, and your URLconf will be displayed instead, with some\n debug information.\n *\b**\b**\b**\b* T\bTh\bhe\be 5\b50\b00\b0 (\b(s\bse\ber\brv\bve\ber\br e\ber\brr\bro\bor\br)\b) v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n defaults.server_error(r\bre\beq\bqu\bue\bes\bst\bt, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b='\b'5\b50\b00\b0.\b.h\bht\btm\bml\bl'\b')_\b\u00b6\n Similarly, Django executes special-case behavior in the case of runtime errors\n in view code. If a view results in an exception, Django will, by default, call\n-the view django.views.defaults.server_error, which either produces a \u201cServer\n-Error\u201d message or loads and renders the template 500.html if you created it in\n+the view django.views.defaults.server_error, which either produces a \u00abServer\n+Error\u00bb message or loads and renders the template 500.html if you created it in\n your root template directory.\n The default 500 view passes no variables to the 500.html template and is\n rendered with an empty Context to lessen the chance of additional errors.\n If _\bD_\bE_\bB_\bU_\bG is set to True (in your settings module), then your 500 view will\n never be used, and the traceback will be displayed instead, with some debug\n information.\n *\b**\b**\b**\b* T\bTh\bhe\be 4\b40\b03\b3 (\b(H\bHT\bTT\bTP\bP F\bFo\bor\brb\bbi\bid\bdd\bde\ben\bn)\b) v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n defaults.permission_denied(r\bre\beq\bqu\bue\bes\bst\bt, e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b='\b'4\b40\b03\b3.\b.h\bht\btm\bml\bl'\b')_\b\u00b6\n In the same vein as the 404 and 500 views, Django has a view to handle 403\n Forbidden errors. If a view results in a 403 exception then Django will, by\n default, call the view django.views.defaults.permission_denied.\n This view loads and renders the template 403.html in your root template\n-directory, or if this file does not exist, instead serves the text \u201c403\n-Forbidden\u201d, as per _\bR\bR_\bF\bF_\bC\bC_\b _\b9\b9_\b1\b1_\b1\b1_\b0\b0_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b1\b1_\b5\b5_\b.\b._\b5\b5_\b.\b._\b4\b4 (the HTTP 1.1 Specification). The\n+directory, or if this file does not exist, instead serves the text \u00ab403\n+Forbidden\u00bb, as per _\bR\bR_\bF\bF_\bC\bC_\b _\b9\b9_\b1\b1_\b1\b1_\b0\b0_\b#\b#_\bs\bs_\be\be_\bc\bc_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\b-\b-_\b1\b1_\b5\b5_\b.\b._\b5\b5_\b.\b._\b4\b4 (the HTTP 1.1 Specification). The\n template context contains exception, which is the string representation of the\n exception that triggered the view.\n django.views.defaults.permission_denied is triggered by a _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bD_\be_\bn_\bi_\be_\bd\n exception. To deny access in a view you can use code like this:\n from django.core.exceptions import PermissionDenied\n \n \n@@ -92,15 +92,15 @@\n if not request.user.is_staff:\n raise PermissionDenied\n # ...\n *\b**\b**\b**\b* T\bTh\bhe\be 4\b40\b00\b0 (\b(b\bba\bad\bd r\bre\beq\bqu\bue\bes\bst\bt)\b) v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n defaults.bad_request(r\bre\beq\bqu\bue\bes\bst\bt, e\bex\bxc\bce\bep\bpt\bti\bio\bon\bn, t\bte\bem\bmp\bpl\bla\bat\bte\be_\b_n\bna\bam\bme\be=\b='\b'4\b40\b00\b0.\b.h\bht\btm\bml\bl'\b')_\b\u00b6\n When a _\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn is raised in Django, it may be handled by a\n component of Django (for example resetting the session data). If not\n-specifically handled, Django will consider the current request a \u2018bad request\u2019\n+specifically handled, Django will consider the current request a \u201cbad request\u201d\n instead of a server error.\n django.views.defaults.bad_request, is otherwise very similar to the\n server_error view, but returns with the status code 400 indicating that the\n error condition was the result of a client operation. By default, nothing\n related to the exception that triggered the view is passed to the template\n context, as the exception message might contain sensitive information like\n filesystem paths.\n@@ -109,16 +109,16 @@\n * _\bB_\bu_\bi_\bl_\bt_\b-_\bi_\bn_\b _\bV_\bi_\be_\bw_\bs\n o _\bS_\be_\br_\bv_\bi_\bn_\bg_\b _\bf_\bi_\bl_\be_\bs_\b _\bi_\bn_\b _\bd_\be_\bv_\be_\bl_\bo_\bp_\bm_\be_\bn_\bt\n o _\bE_\br_\br_\bo_\br_\b _\bv_\bi_\be_\bw_\bs\n # _\bT_\bh_\be_\b _\b4_\b0_\b4_\b _\b(_\bp_\ba_\bg_\be_\b _\bn_\bo_\bt_\b _\bf_\bo_\bu_\bn_\bd_\b)_\b _\bv_\bi_\be_\bw\n # _\bT_\bh_\be_\b _\b5_\b0_\b0_\b _\b(_\bs_\be_\br_\bv_\be_\br_\b _\be_\br_\br_\bo_\br_\b)_\b _\bv_\bi_\be_\bw\n # _\bT_\bh_\be_\b _\b4_\b0_\b3_\b _\b(_\bH_\bT_\bT_\bP_\b _\bF_\bo_\br_\bb_\bi_\bd_\bd_\be_\bn_\b)_\b _\bv_\bi_\be_\bw\n # _\bT_\bh_\be_\b _\b4_\b0_\b0_\b _\b(_\bb_\ba_\bd_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\b)_\b _\bv_\bi_\be_\bw\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bM_\be_\bt_\ba_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\ba_\bn_\bd_\b _\bm_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\by\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/0.95.html", "source2": "./usr/share/doc/python-django-doc/html/releases/0.95.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django version 0.95 release notes — Django 5.1.4 documentation\n+ Django version 0.95 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,32 +89,32 @@\n

    This release is intended to provide a stable reference point for developers\n wanting to work on production-level applications that use Django.

    \n

    However, it\u2019s not the 1.0 release, and we\u2019ll be introducing further changes\n before 1.0. For a clear look at which areas of the framework will change (and\n which ones will not change) before 1.0, see the api-stability.txt file,\n which lives in the docs/ directory of the distribution.

    \n

    You may have a need to use some of the features that are marked as\n-\u201csubject to API change\u201d in that document, but that\u2019s OK with us as long as it\u2019s\n+\u00absubject to API change\u00bb in that document, but that\u2019s OK with us as long as it\u2019s\n OK with you, and as long as you understand APIs may change in the future.

    \n

    Fortunately, most of Django\u2019s core APIs won\u2019t be changing before version 1.0.\n There likely won\u2019t be as big of a change between 0.95 and 1.0 versions as there\n was between 0.91 and 0.95.

    \n \n
    \n

    Changes and new features\u00b6

    \n

    The major changes in this release (for developers currently using the 0.91\n-release) are a result of merging the \u2018magic-removal\u2019 branch of development.\n+release) are a result of merging the \u201cmagic-removal\u201d branch of development.\n This branch removed a number of constraints in the way Django code had to be\n written that were a consequence of decisions made in the early days of Django,\n prior to its open-source release. It\u2019s now possible to write more natural,\n-Pythonic code that works as expected, and there\u2019s less \u201cblack magic\u201d happening\n+Pythonic code that works as expected, and there\u2019s less \u00abblack magic\u00bb happening\n behind the scenes.

    \n

    Aside from that, another main theme of this release is a dramatic increase in\n usability. We\u2019ve made countless improvements in error messages, documentation,\n-etc., to improve developers\u2019 quality of life.

    \n+etc., to improve developers\u201d quality of life.

    \n

    The new features and changes introduced in 0.95 include:

    \n
      \n
    • Django now uses a more consistent and natural filtering interface for\n retrieving objects from the database.

    • \n
    • User-defined models, functions and constants now appear in the module\n namespace they were defined in. (Previously everything was magically\n transferred to the django.models.* namespace.)

    • \n@@ -122,15 +123,15 @@\n want to use these applications, you no longer have to install their\n database tables.

      \n
    • Django now has support for managing database transactions.

    • \n
    • We\u2019ve added the ability to write custom authentication and authorization\n backends for authenticating users against alternate systems, such as\n LDAP.

    • \n
    • We\u2019ve made it easier to add custom table-level functions to models,\n-through a new \u201cManager\u201d API.

    • \n+through a new \u00abManager\u00bb API.

      \n
    • It\u2019s now possible to use Django without a database. This simply means\n that the framework no longer requires you to have a working database set\n up just to serve dynamic pages. In other words, you can just use\n URLconfs/views on their own. Previously, the framework required that a\n database be configured, regardless of whether you actually used it.

    • \n
    • It\u2019s now more explicit and natural to override save() and delete()\n methods on models, rather than needing to hook into the pre_save() and\n@@ -190,37 +191,37 @@\n

    • Problem reports and getting help
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django version 0.96 release notes

    \n+ title=\"capitolo precedente\">Django version 0.96 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Archive of security issues

    \n+ title=\"capitolo successivo\">Archive of security issues

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,39 +1,39 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo v\bve\ber\brs\bsi\bio\bon\bn 0\b0.\b.9\b95\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to the Django 0.95 release.\n This represents a significant advance in Django development since the 0.91\n release in January 2006. The details of every change in this release would be\n too extensive to list in full, but a summary is presented below.\n *\b**\b**\b**\b**\b* S\bSu\bui\bit\bta\bab\bbi\bil\bli\bit\bty\by a\ban\bnd\bd A\bAP\bPI\bI s\bst\bta\bab\bbi\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n This release is intended to provide a stable reference point for developers\n wanting to work on production-level applications that use Django.\n However, it\u2019s not the 1.0 release, and we\u2019ll be introducing further changes\n before 1.0. For a clear look at which areas of the framework will change (and\n which ones will n\bno\bot\bt change) before 1.0, see the api-stability.txt file, which\n lives in the docs/ directory of the distribution.\n-You may have a need to use some of the features that are marked as \u201csubject to\n-API change\u201d in that document, but that\u2019s OK with us as long as it\u2019s OK with\n+You may have a need to use some of the features that are marked as \u00absubject to\n+API change\u00bb in that document, but that\u2019s OK with us as long as it\u2019s OK with\n you, and as long as you understand APIs may change in the future.\n Fortunately, most of Django\u2019s core APIs won\u2019t be changing before version 1.0.\n There likely won\u2019t be as big of a change between 0.95 and 1.0 versions as there\n was between 0.91 and 0.95.\n *\b**\b**\b**\b**\b* C\bCh\bha\ban\bng\bge\bes\bs a\ban\bnd\bd n\bne\bew\bw f\bfe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The major changes in this release (for developers currently using the 0.91\n-release) are a result of merging the \u2018magic-removal\u2019 branch of development.\n+release) are a result of merging the \u201cmagic-removal\u201d branch of development.\n This branch removed a number of constraints in the way Django code had to be\n written that were a consequence of decisions made in the early days of Django,\n prior to its open-source release. It\u2019s now possible to write more natural,\n-Pythonic code that works as expected, and there\u2019s less \u201cblack magic\u201d happening\n+Pythonic code that works as expected, and there\u2019s less \u00abblack magic\u00bb happening\n behind the scenes.\n Aside from that, another main theme of this release is a dramatic increase in\n usability. We\u2019ve made countless improvements in error messages, documentation,\n-etc., to improve developers\u2019 quality of life.\n+etc., to improve developers\u201d quality of life.\n The new features and changes introduced in 0.95 include:\n * Django now uses a more consistent and natural filtering interface for\n retrieving objects from the database.\n * User-defined models, functions and constants now appear in the module\n namespace they were defined in. (Previously everything was magically\n transferred to the django.models.* namespace.)\n * Some optional applications, such as the FlatPage, Sites and Redirects\n@@ -41,15 +41,15 @@\n want to use these applications, you no longer have to install their\n database tables.\n * Django now has support for managing database transactions.\n * We\u2019ve added the ability to write custom authentication and authorization\n backends for authenticating users against alternate systems, such as\n LDAP.\n * We\u2019ve made it easier to add custom table-level functions to models,\n- through a new \u201cManager\u201d API.\n+ through a new \u00abManager\u00bb API.\n * It\u2019s now possible to use Django without a database. This simply means\n that the framework no longer requires you to have a working database set\n up just to serve dynamic pages. In other words, you can just use\n URLconfs/views on their own. Previously, the framework required that a\n database be configured, regardless of whether you actually used it.\n * It\u2019s now more explicit and natural to override save() and delete()\n methods on models, rather than needing to hook into the pre_save() and\n@@ -84,16 +84,16 @@\n Thanks for using Django!\n The Django Team July 2006\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\b0_\b._\b9_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bS_\bu_\bi_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\ba_\bn_\bd_\b _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by\n o _\bC_\bh_\ba_\bn_\bg_\be_\bs_\b _\ba_\bn_\bd_\b _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bP_\br_\bo_\bb_\bl_\be_\bm_\b _\br_\be_\bp_\bo_\br_\bt_\bs_\b _\ba_\bn_\bd_\b _\bg_\be_\bt_\bt_\bi_\bn_\bg_\b _\bh_\be_\bl_\bp\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\b0_\b._\b9_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bA_\br_\bc_\bh_\bi_\bv_\be_\b _\bo_\bf_\b _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\bi_\bs_\bs_\bu_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/0.96.html", "source2": "./usr/share/doc/python-django-doc/html/releases/0.96.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django version 0.96 release notes — Django 5.1.4 documentation\n+ Django version 0.96 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -99,32 +100,32 @@\n

    MySQLdb version requirement\u00b6

    \n

    Due to a bug in older versions of the MySQLdb Python module (which\n Django uses to connect to MySQL databases), Django\u2019s MySQL backend now\n requires version 1.2.1p2 or higher of MySQLdb, and will raise\n exceptions if you attempt to use an older version.

    \n

    If you\u2019re currently unable to upgrade your copy of MySQLdb to meet\n this requirement, a separate, backwards-compatible backend, called\n-\u201cmysql_old\u201d, has been added to Django. To use this backend, change\n+\u00abmysql_old\u00bb, has been added to Django. To use this backend, change\n the DATABASE_ENGINE setting in your Django settings file from this:

    \n
    DATABASE_ENGINE = "mysql"\n 
    \n
    \n

    to this:

    \n
    DATABASE_ENGINE = "mysql_old"\n 
    \n
    \n

    However, we strongly encourage MySQL users to upgrade to a more recent\n-version of MySQLdb as soon as possible, The \u201cmysql_old\u201d backend is\n+version of MySQLdb as soon as possible, The \u00abmysql_old\u00bb backend is\n provided only to ease this transition, and is considered deprecated;\n aside from any necessary security fixes, it will not be actively\n maintained, and it will be removed in a future release of Django.

    \n

    Also, note that some features, like the new DATABASE_OPTIONS\n setting (see the databases documentation for details),\n-are only available on the \u201cmysql\u201d backend, and will not be made available for\n-\u201cmysql_old\u201d.

    \n+are only available on the \u00abmysql\u00bb backend, and will not be made available for\n+\u00abmysql_old\u00bb.

    \n \n
    \n

    Database constraint names changed\u00b6

    \n

    The format of the constraint names Django generates for foreign key\n references have changed slightly. These names are generally only used\n when it is not possible to put the reference directly on the affected\n column, so they are not always visible.

    \n@@ -158,15 +159,15 @@\n
  • The vestigial install command has been removed. Use syncdb.

  • \n \n
    \n
    \n

    Backslash escaping changed\u00b6

    \n

    The Django database API now escapes backslashes given as query parameters. If\n you have any database API code that matches backslashes, and it was working before\n-(despite the lack of escaping), you\u2019ll have to change your code to \u201cunescape\u201d the\n+(despite the lack of escaping), you\u2019ll have to change your code to \u00abunescape\u00bb the\n slashes one level.

    \n

    For example, this used to work:

    \n
    # Find text containing a single backslash\n MyModel.objects.filter(text__contains="\\\\\\\\")\n 
    \n
    \n

    The above is now incorrect, and should be rewritten as:

    \n@@ -257,15 +258,15 @@\n be valid for the foreseeable future.

    \n
    \n
    \n

    The test framework\u00b6

    \n

    Django now includes a test framework so you can start transmuting fear into\n boredom (with apologies to Kent Beck). You can write tests based on\n doctest or unittest and test your views with a simple test client.

    \n-

    There is also new support for \u201cfixtures\u201d \u2013 initial data, stored in any of the\n+

    There is also new support for \u00abfixtures\u00bb \u2013 initial data, stored in any of the\n supported serialization formats, that will be\n loaded into your database at the start of your tests. This makes testing with\n real data much easier.

    \n

    See the testing documentation for the full details.

    \n
    \n
    \n

    Improvements to the admin interface\u00b6

    \n@@ -329,37 +330,37 @@\n
  • Thanks
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Porting your apps from Django 0.96 to 1.0

    \n+ title=\"capitolo precedente\">Porting your apps from Django 0.96 to 1.0

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django version 0.95 release notes

    \n+ title=\"capitolo successivo\">Django version 0.95 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo v\bve\ber\brs\bsi\bio\bon\bn 0\b0.\b.9\b96\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 0.96!\n The primary goal for 0.96 is a cleanup and stabilization of the features\n introduced in 0.95. There have been a few small _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b-_\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n since 0.95, but the upgrade process should be fairly simple and should not\n@@ -18,28 +18,28 @@\n 0.95 to 0.96:\n *\b**\b**\b**\b* M\bMy\byS\bSQ\bQL\bLd\bdb\bb v\bve\ber\brs\bsi\bio\bon\bn r\bre\beq\bqu\bui\bir\bre\bem\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Due to a bug in older versions of the MySQLdb Python module (which Django uses\n to connect to MySQL databases), Django\u2019s MySQL backend now requires version\n 1.2.1p2 or higher of MySQLdb, and will raise exceptions if you attempt to use\n an older version.\n If you\u2019re currently unable to upgrade your copy of MySQLdb to meet this\n-requirement, a separate, backwards-compatible backend, called \u201cmysql_old\u201d, has\n+requirement, a separate, backwards-compatible backend, called \u00abmysql_old\u00bb, has\n been added to Django. To use this backend, change the DATABASE_ENGINE setting\n in your Django settings file from this:\n DATABASE_ENGINE = \"mysql\"\n to this:\n DATABASE_ENGINE = \"mysql_old\"\n However, we strongly encourage MySQL users to upgrade to a more recent version\n-of MySQLdb as soon as possible, The \u201cmysql_old\u201d backend is provided only to\n+of MySQLdb as soon as possible, The \u00abmysql_old\u00bb backend is provided only to\n ease this transition, and is considered deprecated; aside from any necessary\n security fixes, it will not be actively maintained, and it will be removed in a\n future release of Django.\n Also, note that some features, like the new DATABASE_OPTIONS setting (see the\n-_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for details), are only available on the \u201cmysql\u201d\n-backend, and will not be made available for \u201cmysql_old\u201d.\n+_\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for details), are only available on the \u00abmysql\u00bb\n+backend, and will not be made available for \u00abmysql_old\u00bb.\n *\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be c\bco\bon\bns\bst\btr\bra\bai\bin\bnt\bt n\bna\bam\bme\bes\bs c\bch\bha\ban\bng\bge\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n The format of the constraint names Django generates for foreign key references\n have changed slightly. These names are generally only used when it is not\n possible to put the reference directly on the affected column, so they are not\n always visible.\n The effect of this change is that running manage.py reset and similar commands\n against an existing database may generate SQL with the new form of constraint\n@@ -62,15 +62,15 @@\n that loaddata should be used for data (and sqlcustom for other custom SQL\n \u2013 views, stored procedures, etc.).\n * The vestigial install command has been removed. Use syncdb.\n *\b**\b**\b**\b* B\bBa\bac\bck\bks\bsl\bla\bas\bsh\bh e\bes\bsc\bca\bap\bpi\bin\bng\bg c\bch\bha\ban\bng\bge\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n The Django database API now escapes backslashes given as query parameters. If\n you have any database API code that matches backslashes, and it was working\n before (despite the lack of escaping), you\u2019ll have to change your code to\n-\u201cunescape\u201d the slashes one level.\n+\u00abunescape\u00bb the slashes one level.\n For example, this used to work:\n # Find text containing a single backslash\n MyModel.objects.filter(text__contains=\"\\\\\\\\\")\n The above is now incorrect, and should be rewritten as:\n # Find text containing a single backslash\n MyModel.objects.filter(text__contains=\"\\\\\")\n *\b**\b**\b**\b* R\bRe\bem\bmo\bov\bve\bed\bd E\bEN\bNA\bAB\bBL\bLE\bE_\b_P\bPS\bSY\bYC\bCO\bO s\bse\bet\btt\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -129,15 +129,15 @@\n urlpatterns = patterns(\"\", (\"^myview/$\", login_required(object_list), info))\n Note that both syntaxes (strings and callables) are valid, and will continue to\n be valid for the foreseeable future.\n *\b**\b**\b**\b* T\bTh\bhe\be t\bte\bes\bst\bt f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n Django now includes a test framework so you can start transmuting fear into\n boredom (with apologies to Kent Beck). You can write tests based on _\bd_\bo_\bc_\bt_\be_\bs_\bt or\n _\bu_\bn_\bi_\bt_\bt_\be_\bs_\bt and test your views with a simple test client.\n-There is also new support for \u201cfixtures\u201d \u2013 initial data, stored in any of the\n+There is also new support for \u00abfixtures\u00bb \u2013 initial data, stored in any of the\n supported _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\bm_\ba_\bt_\bs, that will be loaded into your database at the\n start of your tests. This makes testing with real data much easier.\n See _\bt_\bh_\be_\b _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for the full details.\n *\b**\b**\b**\b* I\bIm\bmp\bpr\bro\bov\bve\bem\bme\ben\bnt\bts\bs t\bto\bo t\bth\bhe\be a\bad\bdm\bmi\bin\bn i\bin\bnt\bte\ber\brf\bfa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n A small change, but a very nice one: dedicated views for adding and updating\n users have been added to the admin interface, so you no longer need to worry\n about working with hashed passwords in the admin.\n@@ -168,16 +168,16 @@\n # _\bR_\be_\bm_\bo_\bv_\be_\bd_\b _\bE_\bN_\bA_\bB_\bL_\bE_\b__\bP_\bS_\bY_\bC_\bO_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg\n o _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bw_\b _\bi_\bn_\b _\b0_\b._\b9_\b6_\b?\n # _\bN_\be_\bw_\b _\bf_\bo_\br_\bm_\bs_\b _\bl_\bi_\bb_\br_\ba_\br_\by\n # _\bU_\bR_\bL_\bc_\bo_\bn_\bf_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n # _\bT_\bh_\be_\b _\bt_\be_\bs_\bt_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bI_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs_\b _\bt_\bo_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be\n o _\bT_\bh_\ba_\bn_\bk_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bP_\bo_\br_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\ba_\bp_\bp_\bs_\b _\bf_\br_\bo_\bm_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b0_\b._\b9_\b6_\b _\bt_\bo_\b _\b1_\b._\b0\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\b0_\b._\b9_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.0-porting-guide.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.0-porting-guide.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Porting your apps from Django 0.96 to 1.0 — Django 5.1.4 documentation\n+ Porting your apps from Django 0.96 to 1.0 — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    Porting your apps from Django 0.96 to 1.0\u00b6

    \n

    Django 1.0 breaks compatibility with 0.96 in some areas.

    \n

    This guide will help you port 0.96 projects and apps to 1.0. The first part of\n this document includes the common changes needed to run with 1.0. If after going\n through the first part your code still breaks, check the section Less-common\n Changes for a list of a bunch of less-common compatibility issues.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    The 1.0 release notes. That document explains the new\n features in 1.0 more deeply; the porting guide is more concerned with\n helping you quickly update your code.

    \n
    \n
    \n

    Common changes\u00b6

    \n

    This section describes the changes between 0.96 and 1.0 that most users will\n@@ -131,15 +132,15 @@\n

    \n

    Replace class Admin: with admin.py\u00b6

    \n

    Remove all your inner class Admin declarations from your models. They won\u2019t\n break anything if you leave them, but they also won\u2019t do anything. To register\n apps with the admin you\u2019ll move those declarations to an admin.py file;\n see the admin below for more details.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    A contributor to djangosnippets has written a script that\u2019ll scan your\n models.py and generate a corresponding admin.py.

    \n
    \n
    \n
    \n

    Example\u00b6

    \n

    Below is an example models.py file with all the changes you\u2019ll need to make:

    \n@@ -252,15 +253,15 @@\n fieldsets = (\n ("group1", {"fields": ("foo", "bar"), "classes": "collapse"}),\n ("group2", {"fields": ("spam", "eggs"), "classes": "collapse wide"}),\n )\n
    \n
    \n
    \n-

    See also

    \n+

    Vedi anche

    \n \n
    \n@@ -601,15 +602,15 @@\n database column types for DecimalField are the same as for the old\n FloatField.

    \n

    If you\u2019re using SQLite, you need to force the database to view the\n appropriate columns as decimal types, rather than floats. To do this, you\u2019ll\n need to reload your data. Do this after you have made the change to using\n DecimalField in your code and updated the Django code.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    Back up your database first!

    \n

    For SQLite, this means making a copy of the single file that stores the\n database (the name of that file is the DATABASE_NAME in your\n settings.py file).

    \n
    \n

    To upgrade each application to use a DecimalField, you can do the\n following, replacing <app> in the code below with each app\u2019s name:

    \n@@ -999,37 +1000,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.0 release notes

    \n+ title=\"capitolo precedente\">Django 1.0 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django version 0.96 release notes

    \n+ title=\"capitolo successivo\">Django version 0.96 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,17 +1,17 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* P\bPo\bor\brt\bti\bin\bng\bg y\byo\bou\bur\br a\bap\bpp\bps\bs f\bfr\bro\bom\bm D\bDj\bja\ban\bng\bgo\bo 0\b0.\b.9\b96\b6 t\bto\bo 1\b1.\b.0\b0_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django 1.0 breaks compatibility with 0.96 in some areas.\n This guide will help you port 0.96 projects and apps to 1.0. The first part of\n this document includes the common changes needed to run with 1.0. If after\n going through the first part your code still breaks, check the section _\bL_\be_\bs_\bs_\b-\n _\bc_\bo_\bm_\bm_\bo_\bn_\b _\bC_\bh_\ba_\bn_\bg_\be_\bs for a list of a bunch of less-common compatibility issues.\n-See also\n+Vedi anche\n The _\b1_\b._\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs. That document explains the new features in 1.0 more\n deeply; the porting guide is more concerned with helping you quickly update\n your code.\n *\b**\b**\b**\b**\b* C\bCo\bom\bmm\bmo\bon\bn c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n This section describes the changes between 0.96 and 1.0 that most users will\n need to make.\n *\b**\b**\b**\b* U\bUs\bse\be U\bUn\bni\bic\bco\bod\bde\be_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -38,15 +38,15 @@\n editing until you get to _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn section, below. For now, remove all\n references to core.\n *\b**\b**\b* R\bRe\bep\bpl\bla\bac\bce\be c\bcl\bla\bas\bss\bs A\bAd\bdm\bmi\bin\bn:\b: w\bwi\bit\bth\bh a\bad\bdm\bmi\bin\bn.\b.p\bpy\by_\b?\b\u00b6 *\b**\b**\b*\n Remove all your inner class Admin declarations from your models. They won\u2019t\n break anything if you leave them, but they also won\u2019t do anything. To register\n apps with the admin you\u2019ll move those declarations to an admin.py file; see _\bt_\bh_\be\n _\ba_\bd_\bm_\bi_\bn below for more details.\n-See also\n+Vedi anche\n A contributor to _\bd_\bj_\ba_\bn_\bg_\bo_\bs_\bn_\bi_\bp_\bp_\be_\bt_\bs has written a script that\u2019ll _\bs_\bc_\ba_\bn_\b _\by_\bo_\bu_\br\n _\bm_\bo_\bd_\be_\bl_\bs_\b._\bp_\by_\b _\ba_\bn_\bd_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b _\ba_\b _\bc_\bo_\br_\br_\be_\bs_\bp_\bo_\bn_\bd_\bi_\bn_\bg_\b _\ba_\bd_\bm_\bi_\bn_\b._\bp_\by.\n *\b**\b**\b* E\bEx\bxa\bam\bmp\bpl\ble\be_\b?\b\u00b6 *\b**\b**\b*\n Below is an example models.py file with all the changes you\u2019ll need to make:\n Old (0.96) models.py:\n class Author(models.Model):\n first_name = models.CharField(maxlength=30)\n@@ -136,15 +136,15 @@\n \n \n class ModelTwoAdmin(admin.ModelAdmin):\n fieldsets = (\n (\"group1\", {\"fields\": (\"foo\", \"bar\"), \"classes\": \"collapse\"}),\n (\"group2\", {\"fields\": (\"spam\", \"eggs\"), \"classes\": \"collapse wide\"}),\n )\n-See also\n+Vedi anche\n * More detailed information about the changes and the reasons behind them\n can be found on the _\bN_\be_\bw_\bf_\bo_\br_\bm_\bs_\bA_\bd_\bm_\bi_\bn_\bB_\br_\ba_\bn_\bc_\bh_\b _\bw_\bi_\bk_\bi_\b _\bp_\ba_\bg_\be\n * The new admin comes with a ton of new features; you can read about them\n in the _\ba_\bd_\bm_\bi_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* U\bUp\bpd\bda\bat\bte\be y\byo\bou\bur\br r\bro\boo\bot\bt u\bur\brl\bls\bs.\b.p\bpy\by_\b?\b\u00b6 *\b**\b**\b*\n If you\u2019re using the admin site, you need to update your root urls.py.\n@@ -335,15 +335,15 @@\n precision-related arguments.\n If you\u2019re using MySQL or PostgreSQL, no further changes are needed. The\n database column types for DecimalField are the same as for the old FloatField.\n If you\u2019re using SQLite, you need to force the database to view the appropriate\n columns as decimal types, rather than floats. To do this, you\u2019ll need to reload\n your data. Do this after you have made the change to using DecimalField in your\n code and updated the Django code.\n-Warning\n+Avvertimento\n B\bBa\bac\bck\bk u\bup\bp y\byo\bou\bur\br d\bda\bat\bta\bab\bba\bas\bse\be f\bfi\bir\brs\bst\bt!\b!\n For SQLite, this means making a copy of the single file that stores the\n database (the name of that file is the DATABASE_NAME in your settings.py file).\n To upgrade each application to use a DecimalField, you can do the following,\n replacing in the code below with each app\u2019s name:\n $ ./manage.py dumpdata --format=xml > data-dump.xml\n $ ./manage.py reset \n@@ -539,16 +539,16 @@\n # _\bS_\bu_\bb_\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs_\b _\bm_\bu_\bs_\bt_\b _\bn_\bo_\bw_\b _\bp_\br_\be_\bc_\be_\bd_\be_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs\n # _\bS_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn\n # _\bF_\be_\be_\bd_\b._\b__\b__\bi_\bn_\bi_\bt_\b__\b__\b _\bh_\ba_\bs_\b _\bc_\bh_\ba_\bn_\bg_\be_\bd\n # _\bD_\ba_\bt_\ba_\b _\bs_\bt_\br_\bu_\bc_\bt_\bu_\br_\be_\bs\n # _\bS_\bo_\br_\bt_\be_\bd_\bD_\bi_\bc_\bt_\bF_\br_\bo_\bm_\bL_\bi_\bs_\bt_\b _\bi_\bs_\b _\bg_\bo_\bn_\be\n # _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\bh_\ba_\bv_\be_\b _\bb_\be_\be_\bn_\b _\br_\be_\bn_\ba_\bm_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bv_\be_\br_\bs_\bi_\bo_\bn_\b _\b0_\b._\b9_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.0.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.0.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.0.1 release notes — Django 5.1.4 documentation\n+ Django 1.0.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.0.1 release notes\u00b6

    \n

    Welcome to Django 1.0.1!

    \n-

    This is the first \u201cbugfix\u201d release in the Django 1.0 series, improving\n+

    This is the first \u00abbugfix\u00bb release in the Django 1.0 series, improving\n the stability and performance of the Django 1.0 codebase. As such,\n Django 1.0.1 contains no new features (and, pursuant to our\n compatibility policy, maintains backwards\n compatibility with Django 1.0), but does contain a number of fixes\n and other improvements. Django 1.0.1 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.0.

    \n
    \n@@ -144,37 +145,37 @@\n
  • Fixes and improvements in Django 1.0.1
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.0.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.0.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.0 release notes

    \n+ title=\"capitolo successivo\">Django 1.0 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.0\b0.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.0.1!\n-This is the first \u201cbugfix\u201d release in the Django 1.0 series, improving the\n+This is the first \u00abbugfix\u00bb release in the Django 1.0 series, improving the\n stability and performance of the Django 1.0 codebase. As such, Django 1.0.1\n contains no new features (and, pursuant to _\bo_\bu_\br_\b _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\by, maintains\n backwards compatibility with Django 1.0), but does contain a number of fixes\n and other improvements. Django 1.0.1 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.0.\n *\b**\b**\b**\b**\b* F\bFi\bix\bxe\bes\bs a\ban\bnd\bd i\bim\bmp\bpr\bro\bov\bve\bem\bme\ben\bnt\bts\bs i\bin\bn D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.0\b0.\b.1\b1_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django 1.0.1 contains over two hundred fixes to the original Django 1.0\n@@ -40,16 +40,16 @@\n supports by default.\n * And as always, a large number of improvements to Django\u2019s documentation,\n including both corrections to existing documents and expanded and new\n documentation.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bF_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs_\b _\bi_\bn_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b1\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.0.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.0.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.0.2 release notes — Django 5.1.4 documentation\n+ Django 1.0.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.0.2 release notes\u00b6

    \n

    Welcome to Django 1.0.2!

    \n-

    This is the second \u201cbugfix\u201d release in the Django 1.0 series,\n+

    This is the second \u00abbugfix\u00bb release in the Django 1.0 series,\n improving the stability and performance of the Django 1.0 codebase. As\n such, Django 1.0.2 contains no new features (and, pursuant to\n our compatibility policy, maintains backwards compatibility with Django\n 1.0.0), but does contain a number of fixes and other\n improvements. Django 1.0.2 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.0.

    \n
    \n@@ -101,15 +102,15 @@\n details.

    \n

    Additionally, in the period since Django 1.0.1 was released:

    \n
      \n
    • Updated Hebrew and Danish translations have been added.

    • \n
    • The default __repr__ method of Django models has been made more\n robust in the face of bad Unicode data coming from the\n __unicode__ method; rather than raise an exception in such\n-cases, repr() will now contain the string \u201c[Bad Unicode data]\u201d\n+cases, repr() will now contain the string \u00ab[Bad Unicode data]\u00bb\n in place of the invalid Unicode.

    • \n
    • A bug involving the interaction of Django\u2019s SafeUnicode class\n and the MySQL adapter has been resolved; SafeUnicode instances\n (generated, for example, by template rendering) can now be assigned\n to model attributes and saved to MySQL without requiring an explicit\n intermediate cast to unicode.

    • \n
    • A bug affecting filtering on a nullable DateField in SQLite has\n@@ -137,37 +138,37 @@\n

    • Fixes and improvements in Django 1.0.2
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.0.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.0.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.0\b0.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.0.2!\n-This is the second \u201cbugfix\u201d release in the Django 1.0 series, improving the\n+This is the second \u00abbugfix\u00bb release in the Django 1.0 series, improving the\n stability and performance of the Django 1.0 codebase. As such, Django 1.0.2\n contains no new features (and, pursuant to _\bo_\bu_\br_\b _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\by, maintains\n backwards compatibility with Django 1.0.0), but does contain a number of fixes\n and other improvements. Django 1.0.2 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.0.\n *\b**\b**\b**\b**\b* F\bFi\bix\bxe\bes\bs a\ban\bnd\bd i\bim\bmp\bpr\bro\bov\bve\bem\bme\ben\bnt\bts\bs i\bin\bn D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.0\b0.\b.2\b2_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The primary reason behind this release is to remedy an issue in the recently-\n@@ -19,29 +19,29 @@\n contains all of the fixes and improvements from Django 1.0.1; see _\bt_\bh_\be_\b _\bD_\bj_\ba_\bn_\bg_\bo\n _\b1_\b._\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs for details.\n Additionally, in the period since Django 1.0.1 was released:\n * Updated Hebrew and Danish translations have been added.\n * The default __repr__ method of Django models has been made more robust in\n the face of bad Unicode data coming from the __unicode__ method; rather\n than raise an exception in such cases, repr() will now contain the string\n- \u201c[Bad Unicode data]\u201d in place of the invalid Unicode.\n+ \u00ab[Bad Unicode data]\u00bb in place of the invalid Unicode.\n * A bug involving the interaction of Django\u2019s SafeUnicode class and the\n MySQL adapter has been resolved; SafeUnicode instances (generated, for\n example, by template rendering) can now be assigned to model attributes\n and saved to MySQL without requiring an explicit intermediate cast to\n unicode.\n * A bug affecting filtering on a nullable DateField in SQLite has been\n resolved.\n * Several updates and improvements have been made to Django\u2019s\n documentation.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bF_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs_\b _\bi_\bn_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b2\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.0.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.0.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.0 release notes — Django 5.1.4 documentation\n+ Django 1.0 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -319,37 +320,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.0.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.0.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Porting your apps from Django 0.96 to 1.0

    \n+ title=\"capitolo successivo\">Porting your apps from Django 0.96 to 1.0

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.0\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.0!\n We\u2019ve been looking forward to this moment for over three years, and it\u2019s\n finally here. Django 1.0 represents the largest milestone in Django\u2019s\n development to date: a web framework that a group of perfectionists can truly\n@@ -174,16 +174,16 @@\n # _\bI_\bN_\bS_\bE_\bR_\bT_\b/_\bU_\bP_\bD_\bA_\bT_\bE_\b _\bd_\bi_\bs_\bt_\bi_\bn_\bc_\bt_\bi_\bo_\bn\n # _\bS_\bp_\bl_\bi_\bt_\b _\bC_\ba_\bc_\bh_\be_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n # _\bR_\be_\bf_\ba_\bc_\bt_\bo_\br_\be_\bd_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bc_\bo_\bm_\bm_\be_\bn_\bt_\bs\n # _\bR_\be_\bm_\bo_\bv_\ba_\bl_\b _\bo_\bf_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\be_\bd_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n o _\bK_\bn_\bo_\bw_\bn_\b _\bi_\bs_\bs_\bu_\be_\bs\n # _\bM_\bu_\bl_\bt_\bi_\b-_\bt_\ba_\bb_\bl_\be_\b _\bm_\bo_\bd_\be_\bl_\b _\bi_\bn_\bh_\be_\br_\bi_\bt_\ba_\bn_\bc_\be_\b _\bw_\bi_\bt_\bh_\b _\bt_\bo_\b__\bf_\bi_\be_\bl_\bd\n # _\bC_\ba_\bv_\be_\ba_\bt_\bs_\b _\bw_\bi_\bt_\bh_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bo_\bf_\b _\bc_\be_\br_\bt_\ba_\bi_\bn_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bP_\bo_\br_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\ba_\bp_\bp_\bs_\b _\bf_\br_\bo_\bm_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b0_\b._\b9_\b6_\b _\bt_\bo_\b _\b1_\b._\b0\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.1.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.1.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.1.2 release notes — Django 5.1.4 documentation\n+ Django 1.1.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.1.2 release notes\u00b6

    \n

    Welcome to Django 1.1.2!

    \n-

    This is the second \u201cbugfix\u201d release in the Django 1.1 series,\n+

    This is the second \u00abbugfix\u00bb release in the Django 1.1 series,\n improving the stability and performance of the Django 1.1 codebase.

    \n

    Django 1.1.2 maintains backwards compatibility with Django\n 1.1.0, but contain a number of fixes and other\n improvements. Django 1.1.2 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.1.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the Django 1.1 release notes.

    \n@@ -148,37 +149,37 @@\n
  • One new feature
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.1.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.1.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b1.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.1.2!\n-This is the second \u201cbugfix\u201d release in the Django 1.1 series, improving the\n+This is the second \u00abbugfix\u00bb release in the Django 1.1 series, improving the\n stability and performance of the Django 1.1 codebase.\n Django 1.1.2 maintains backwards compatibility with Django 1.1.0, but contain a\n number of fixes and other improvements. Django 1.1.2 is a recommended upgrade\n for any development or deployment currently using or targeting Django 1.1.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkw\bwa\bar\brd\bds\bs-\b-i\bin\bnc\bco\bom\bmp\bpa\bat\bti\bib\bbl\ble\be c\bch\bha\ban\bng\bge\bes\bs i\bin\bn 1\b1.\b.1\b1.\b.2\b2_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -38,16 +38,16 @@\n work with Django 1.2.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b-_\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs_\b _\bi_\bn_\b _\b1_\b._\b1_\b._\b2\n # _\bT_\be_\bs_\bt_\b _\br_\bu_\bn_\bn_\be_\br_\b _\be_\bx_\bi_\bt_\b _\bs_\bt_\ba_\bt_\bu_\bs_\b _\bc_\bo_\bd_\be\n # _\bC_\bo_\bo_\bk_\bi_\be_\b _\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg\n o _\bO_\bn_\be_\b _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.1.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.1.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.1.3 release notes — Django 5.1.4 documentation\n+ Django 1.1.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.1.3 release notes\u00b6

    \n

    Welcome to Django 1.1.3!

    \n-

    This is the third \u201cbugfix\u201d release in the Django 1.1 series,\n+

    This is the third \u00abbugfix\u00bb release in the Django 1.1 series,\n improving the stability and performance of the Django 1.1 codebase.

    \n

    With one exception, Django 1.1.3 maintains backwards compatibility\n with Django 1.1.2. It also contains a number of fixes and other\n improvements. Django 1.1.2 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.1.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the Django 1.1 release notes.

    \n@@ -104,15 +105,15 @@\n structure and the format of these lookup arguments to invent useful\n new filters on the fly by manipulating the querystring.

    \n

    However, it has been demonstrated that this can be abused to gain\n access to information outside of an admin user\u2019s permissions; for\n example, an attacker with access to the admin and sufficient knowledge\n of model structure and relations could construct query strings which \u2013\n with repeated use of regular-expression lookups supported by the\n-Django database API \u2013 expose sensitive information such as users\u2019\n+Django database API \u2013 expose sensitive information such as users\u201d\n password hashes.

    \n

    To remedy this, django.contrib.admin will now validate that\n querystring lookup arguments either specify only fields on the model\n being viewed, or cross relations which have been explicitly\n allowed by the application developer using the preexisting\n mechanism mentioned above. This is backwards-incompatible for any\n users relying on the prior ability to insert arbitrary lookups.

    \n@@ -140,37 +141,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.1.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.1.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.1.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.1.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b1.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.1.3!\n-This is the third \u201cbugfix\u201d release in the Django 1.1 series, improving the\n+This is the third \u00abbugfix\u00bb release in the Django 1.1 series, improving the\n stability and performance of the Django 1.1 codebase.\n With one exception, Django 1.1.3 maintains backwards compatibility with Django\n 1.1.2. It also contains a number of fixes and other improvements. Django 1.1.2\n is a recommended upgrade for any development or deployment currently using or\n targeting Django 1.1.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n@@ -24,26 +24,26 @@\n format of these lookup arguments to invent useful new filters on the fly by\n manipulating the querystring.\n However, it has been demonstrated that this can be abused to gain access to\n information outside of an admin user\u2019s permissions; for example, an attacker\n with access to the admin and sufficient knowledge of model structure and\n relations could construct query strings which \u2013 with repeated use of regular-\n expression lookups supported by the Django database API \u2013 expose sensitive\n-information such as users\u2019 password hashes.\n+information such as users\u201d password hashes.\n To remedy this, django.contrib.admin will now validate that querystring lookup\n arguments either specify only fields on the model being viewed, or cross\n relations which have been explicitly allowed by the application developer using\n the preexisting mechanism mentioned above. This is backwards-incompatible for\n any users relying on the prior ability to insert arbitrary lookups.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bR_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\bi_\bn_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.1.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.1.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.1.4 release notes — Django 5.1.4 documentation\n+ Django 1.1.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.1.4 release notes\u00b6

    \n

    Welcome to Django 1.1.4!

    \n-

    This is the fourth \u201cbugfix\u201d release in the Django 1.1 series,\n+

    This is the fourth \u00abbugfix\u00bb release in the Django 1.1 series,\n improving the stability and performance of the Django 1.1 codebase.

    \n

    With one exception, Django 1.1.4 maintains backwards compatibility\n with Django 1.1.3. It also contains a number of fixes and other\n improvements. Django 1.1.4 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.1.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the Django 1.1 release notes.

    \n@@ -153,37 +154,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.1.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.1.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b1.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.1.4!\n-This is the fourth \u201cbugfix\u201d release in the Django 1.1 series, improving the\n+This is the fourth \u00abbugfix\u00bb release in the Django 1.1 series, improving the\n stability and performance of the Django 1.1 codebase.\n With one exception, Django 1.1.4 maintains backwards compatibility with Django\n 1.1.3. It also contains a number of fixes and other improvements. Django 1.1.4\n is a recommended upgrade for any development or deployment currently using or\n targeting Django 1.1.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.1 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n@@ -46,16 +46,16 @@\n technique, ensuring that you are looking at the documentation for your version\n of Django, as the exact code necessary is different for some older versions of\n Django.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bC_\bS_\bR_\bF_\b _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bA_\bJ_\bA_\bX_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.1 release notes — Django 5.1.4 documentation\n+ Django 1.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -136,15 +137,15 @@\n

    For convenience, Django 1.0 included an optional middleware class \u2013\n django.middleware.http.SetRemoteAddrFromForwardedFor \u2013 which updated the\n value of REMOTE_ADDR based on the HTTP X-Forwarded-For header commonly\n set by some proxy configurations.

    \n

    It has been demonstrated that this mechanism cannot be made reliable enough for\n general-purpose use, and that (despite documentation to the contrary) its\n inclusion in Django may lead application developers to assume that the value of\n-REMOTE_ADDR is \u201csafe\u201d or in some way reliable as a source of authentication.

    \n+REMOTE_ADDR is \u00absafe\u00bb or in some way reliable as a source of authentication.

    \n

    While not directly a security issue, we\u2019ve decided to remove this middleware\n with the Django 1.1 release. It has been replaced with a class that does nothing\n other than raise a DeprecationWarning.

    \n

    If you\u2019ve been relying on this middleware, the easiest upgrade path is:

    \n
      \n
    • Examine the code as it existed before it was removed.

    • \n
    • Verify that it works correctly with your upstream proxy, modifying\n@@ -183,15 +184,15 @@\n and expected.

      \n \n
      \n

      Permanent redirects and the redirect_to() generic view\u00b6

      \n

      Django 1.1 adds a permanent argument to the\n django.views.generic.simple.redirect_to() view. This is technically\n backwards-incompatible if you were using the redirect_to view with a\n-format-string key called \u2018permanent\u2019, which is highly unlikely.

      \n+format-string key called \u201cpermanent\u201d, which is highly unlikely.

      \n
      \n \n
      \n

      Features deprecated in 1.1\u00b6

      \n

      One feature has been marked as deprecated in Django 1.1:

      \n
        \n
      • You should no longer use AdminSite.root() to register that admin\n@@ -242,15 +243,15 @@\n consult the F expressions documentation.

        \n
      \n \n
      \n

      Model improvements\u00b6

      \n

      A number of features have been added to Django\u2019s model layer:

      \n
      \n-

      \u201cUnmanaged\u201d models\u00b6

      \n+

      \u00abUnmanaged\u00bb models\u00b6

      \n

      You can now control whether or not Django manages the life-cycle of the database\n tables for a model using the managed model option. This\n defaults to True, meaning that Django will create the appropriate database\n tables in syncdb and remove them as part of the reset\n command. That is, Django manages the database table\u2019s lifecycle.

      \n

      If you set this to False, however, no database table creating or deletion\n will be automatically performed for this model. This is useful if the model\n@@ -317,15 +318,15 @@\n

      \n

      Editable fields on the change list\u00b6

      \n

      You can now make fields editable on the admin list views via the new\n list_editable admin option. These fields will show\n up as form widgets on the list pages, and can be edited and saved in bulk.

      \n
      \n
      \n-

      Admin \u201cactions\u201d\u00b6

      \n+

      Admin \u00abactions\u00bb\u00b6

      \n

      You can now define admin actions that can\n perform some action to a group of models in bulk. Users will be able to select\n objects on the change list page and then apply these bulk actions to all\n selected objects.

      \n

      Django ships with one pre-defined admin action to delete a group of objects in\n one fell swoop.

      \n
      \n@@ -336,15 +337,15 @@\n Last-Modified HTTP headers. This means you can now easily short-circuit\n view processing by testing less-expensive conditions. For many views this can\n lead to a serious improvement in speed and reduction in bandwidth.

      \n
      \n
      \n

      URL namespaces\u00b6

      \n

      Django 1.1 improves named URL patterns with the\n-introduction of URL \u201cnamespaces.\u201d

      \n+introduction of URL \u00abnamespaces.\u00bb

      \n

      In short, this feature allows the same group of URLs, from the same application,\n to be included in a Django URLConf multiple times, with varying (and potentially\n nested) named prefixes which will be used when performing reverse resolution. In\n other words, reusable applications like Django\u2019s admin interface may be\n registered multiple times without URL conflicts.

      \n

      For full details, see the documentation on defining URL namespaces.

      \n
      \n@@ -374,15 +375,15 @@\n backwards-compatibility, but using the split classes is now recommended in\n order to allow fine-grained control of when and where the CSRF processing\n takes place.

    • \n
    • reverse() and code which uses it (e.g., the {% url %} template tag)\n now works with URLs in Django\u2019s administrative site, provided that the admin\n URLs are set up via include(admin.site.urls) (sending admin requests to\n the admin.site.root view still works, but URLs in the admin will not be\n-\u201creversible\u201d when configured this way).

    • \n+\u00abreversible\u00bb when configured this way).

      \n
    • The include() function in Django URLconf modules can now accept sequences\n of URL patterns (generated by patterns()) in addition to module names.

    • \n
    • Instances of Django forms (see the forms overview)\n now have two additional methods, hidden_fields() and visible_fields(),\n which return the list of hidden \u2013 i.e., <input type="hidden"> \u2013 and\n visible fields on the form, respectively.

    • \n
    • The redirect_to generic view\n@@ -466,27 +467,27 @@\n

    • What\u2019s new in Django 1.1\n@@ -494,37 +495,37 @@\n
    • What\u2019s next?
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.1.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.1.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.0.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.0.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n July 29, 2009\n Welcome to Django 1.1!\n Django 1.1 includes a number of nifty _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, lots of bug fixes, and an\n easy upgrade path from Django 1.0.\n@@ -48,15 +48,15 @@\n For convenience, Django 1.0 included an optional middleware class \u2013\n django.middleware.http.SetRemoteAddrFromForwardedFor \u2013 which updated the value\n of REMOTE_ADDR based on the HTTP X-Forwarded-For header commonly set by some\n proxy configurations.\n It has been demonstrated that this mechanism cannot be made reliable enough for\n general-purpose use, and that (despite documentation to the contrary) its\n inclusion in Django may lead application developers to assume that the value of\n-REMOTE_ADDR is \u201csafe\u201d or in some way reliable as a source of authentication.\n+REMOTE_ADDR is \u00absafe\u00bb or in some way reliable as a source of authentication.\n While not directly a security issue, we\u2019ve decided to remove this middleware\n with the Django 1.1 release. It has been replaced with a class that does\n nothing other than raise a DeprecationWarning.\n If you\u2019ve been relying on this middleware, the easiest upgrade path is:\n * Examine _\bt_\bh_\be_\b _\bc_\bo_\bd_\be_\b _\ba_\bs_\b _\bi_\bt_\b _\be_\bx_\bi_\bs_\bt_\be_\bd_\b _\bb_\be_\bf_\bo_\br_\be_\b _\bi_\bt_\b _\bw_\ba_\bs_\b _\br_\be_\bm_\bo_\bv_\be_\bd.\n * Verify that it works correctly with your upstream proxy, modifying it to\n support your particular proxy (if necessary).\n@@ -84,15 +84,15 @@\n { foo|join:\"&\" }}, you now have to write {{ foo|join:\"&\" }}.\n The previous behavior was a bug and contrary to what was documented and\n expected.\n *\b**\b**\b**\b* P\bPe\ber\brm\bma\ban\bne\ben\bnt\bt r\bre\bed\bdi\bir\bre\bec\bct\bts\bs a\ban\bnd\bd t\bth\bhe\be r\bre\bed\bdi\bir\bre\bec\bct\bt_\b_t\bto\bo(\b()\b) g\bge\ben\bne\ber\bri\bic\bc v\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.1 adds a permanent argument to the\n django.views.generic.simple.redirect_to() view. This is technically backwards-\n incompatible if you were using the redirect_to view with a format-string key\n-called \u2018permanent\u2019, which is highly unlikely.\n+called \u201cpermanent\u201d, which is highly unlikely.\n *\b**\b**\b**\b**\b* F\bFe\bea\bat\btu\bur\bre\bes\bs d\bde\bep\bpr\bre\bec\bca\bat\bte\bed\bd i\bin\bn 1\b1.\b.1\b1_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n One feature has been marked as deprecated in Django 1.1:\n * You should no longer use AdminSite.root() to register that admin views.\n That is, if your URLconf contains the line:\n (r\"^admin/(.*)\", admin.site.root),\n You should change it to read:\n (r\"^admin/\", include(admin.site.urls)),\n@@ -120,15 +120,15 @@\n *\b**\b**\b* Q\bQu\bue\ber\bry\by e\bex\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b*\n Queries can now refer to another field on the query and can traverse\n relationships to refer to fields on related models. This is implemented in the\n new _\bF object; for full details, including examples, consult the _\bF_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b* M\bMo\bod\bde\bel\bl i\bim\bmp\bpr\bro\bov\bve\bem\bme\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n A number of features have been added to Django\u2019s model layer:\n-*\b**\b**\b* ?\b\u201cU\bUn\bnm\bma\ban\bna\bag\bge\bed\bd?\b\u201d m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b*\n+*\b**\b**\b* ?\b\u00abU\bUn\bnm\bma\ban\bna\bag\bge\bed\bd?\b\u00bb m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b*\n You can now control whether or not Django manages the life-cycle of the\n database tables for a model using the _\bm_\ba_\bn_\ba_\bg_\be_\bd model option. This defaults to\n True, meaning that Django will create the appropriate database tables in syncdb\n and remove them as part of the reset command. That is, Django m\bma\ban\bna\bag\bge\bes\bs the\n database table\u2019s lifecycle.\n If you set this to False, however, no database table creating or deletion will\n be automatically performed for this model. This is useful if the model\n@@ -174,29 +174,29 @@\n available if you need it.\n *\b**\b**\b**\b* N\bNe\bew\bw a\bad\bdm\bmi\bin\bn f\bfe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.1 adds a couple of nifty new features to Django\u2019s admin interface:\n *\b**\b**\b* E\bEd\bdi\bit\bta\bab\bbl\ble\be f\bfi\bie\bel\bld\bds\bs o\bon\bn t\bth\bhe\be c\bch\bha\ban\bng\bge\be l\bli\bis\bst\bt_\b?\b\u00b6 *\b**\b**\b*\n You can now make fields editable on the admin list views via the new\n _\bl_\bi_\bs_\bt_\b__\be_\bd_\bi_\bt_\ba_\bb_\bl_\be admin option. These fields will show up as form widgets on the\n list pages, and can be edited and saved in bulk.\n-*\b**\b**\b* A\bAd\bdm\bmi\bin\bn ?\b\u201ca\bac\bct\bti\bio\bon\bns\bs?\b\u201d_\b?\b\u00b6 *\b**\b**\b*\n+*\b**\b**\b* A\bAd\bdm\bmi\bin\bn ?\b\u00aba\bac\bct\bti\bio\bon\bns\bs?\b\u00bb_\b?\b\u00b6 *\b**\b**\b*\n You can now define _\ba_\bd_\bm_\bi_\bn_\b _\ba_\bc_\bt_\bi_\bo_\bn_\bs that can perform some action to a group of\n models in bulk. Users will be able to select objects on the change list page\n and then apply these bulk actions to all selected objects.\n Django ships with one pre-defined admin action to delete a group of objects in\n one fell swoop.\n *\b**\b**\b**\b* C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl v\bvi\bie\bew\bw p\bpr\bro\boc\bce\bes\bss\bsi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n Django now has much better support for _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bv_\bi_\be_\bw_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\bi_\bn_\bg using the\n standard ETag and Last-Modified HTTP headers. This means you can now easily\n short-circuit view processing by testing less-expensive conditions. For many\n views this can lead to a serious improvement in speed and reduction in\n bandwidth.\n *\b**\b**\b**\b* U\bUR\bRL\bL n\bna\bam\bme\bes\bsp\bpa\bac\bce\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.1 improves _\bn_\ba_\bm_\be_\bd_\b _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn_\bs with the introduction of URL\n-\u201cnamespaces.\u201d\n+\u00abnamespaces.\u00bb\n In short, this feature allows the same group of URLs, from the same\n application, to be included in a Django URLConf multiple times, with varying\n (and potentially nested) named prefixes which will be used when performing\n reverse resolution. In other words, reusable applications like Django\u2019s admin\n interface may be registered multiple times without URL conflicts.\n For full details, see _\bt_\bh_\be_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bn_\b _\bd_\be_\bf_\bi_\bn_\bi_\bn_\bg_\b _\bU_\bR_\bL_\b _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bs.\n *\b**\b**\b**\b* G\bGe\beo\boD\bDj\bja\ban\bng\bgo\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -216,15 +216,15 @@\n does both) remains for backwards-compatibility, but using the split\n classes is now recommended in order to allow fine-grained control of when\n and where the CSRF processing takes place.\n * reverse() and code which uses it (e.g., the {% url %} template tag) now\n works with URLs in Django\u2019s administrative site, provided that the admin\n URLs are set up via include(admin.site.urls) (sending admin requests to\n the admin.site.root view still works, but URLs in the admin will not be\n- \u201creversible\u201d when configured this way).\n+ \u00abreversible\u00bb when configured this way).\n * The include() function in Django URLconf modules can now accept sequences\n of URL patterns (generated by patterns()) in addition to module names.\n * Instances of Django forms (see _\bt_\bh_\be_\b _\bf_\bo_\br_\bm_\bs_\b _\bo_\bv_\be_\br_\bv_\bi_\be_\bw) now have two\n additional methods, hidden_fields() and visible_fields(), which return\n the list of hidden \u2013 i.e., \u2013 and visible fields on\n the form, respectively.\n * The redirect_to generic view now accepts an additional keyword argument\n@@ -280,30 +280,30 @@\n # _\bP_\be_\br_\bm_\ba_\bn_\be_\bn_\bt_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b _\ba_\bn_\bd_\b _\bt_\bh_\be_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b__\bt_\bo_\b(_\b)_\b _\bg_\be_\bn_\be_\br_\bi_\bc_\b _\bv_\bi_\be_\bw\n o _\bF_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\be_\bd_\b _\bi_\bn_\b _\b1_\b._\b1\n o _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bw_\b _\bi_\bn_\b _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1\n # _\bO_\bR_\bM_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n # _\bA_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt\n # _\bQ_\bu_\be_\br_\by_\b _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bM_\bo_\bd_\be_\bl_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n- # _\b\u201c_\bU_\bn_\bm_\ba_\bn_\ba_\bg_\be_\bd_\b\u201d_\b _\bm_\bo_\bd_\be_\bl_\bs\n+ # _\b\u00ab_\bU_\bn_\bm_\ba_\bn_\ba_\bg_\be_\bd_\b\u00bb_\b _\bm_\bo_\bd_\be_\bl_\bs\n # _\bP_\br_\bo_\bx_\by_\b _\bm_\bo_\bd_\be_\bl_\bs\n # _\bD_\be_\bf_\be_\br_\br_\be_\bd_\b _\bf_\bi_\be_\bl_\bd_\bs\n # _\bT_\be_\bs_\bt_\bi_\bn_\bg_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n # _\bT_\be_\bs_\bt_\b _\bp_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n # _\bT_\be_\bs_\bt_\b _\bc_\bl_\bi_\be_\bn_\bt_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n # _\bN_\be_\bw_\b _\ba_\bd_\bm_\bi_\bn_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs\n # _\bE_\bd_\bi_\bt_\ba_\bb_\bl_\be_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\bo_\bn_\b _\bt_\bh_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\b _\bl_\bi_\bs_\bt\n- # _\bA_\bd_\bm_\bi_\bn_\b _\b\u201c_\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b\u201d\n+ # _\bA_\bd_\bm_\bi_\bn_\b _\b\u00ab_\ba_\bc_\bt_\bi_\bo_\bn_\bs_\b\u00bb\n # _\bC_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bv_\bi_\be_\bw_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\bi_\bn_\bg\n # _\bU_\bR_\bL_\b _\bn_\ba_\bm_\be_\bs_\bp_\ba_\bc_\be_\bs\n # _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n # _\bO_\bt_\bh_\be_\br_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs\n o _\bW_\bh_\ba_\bt_\b\u2019_\bs_\b _\bn_\be_\bx_\bt_\b?\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.1 release notes — Django 5.1.4 documentation\n+ Django 1.10.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -158,37 +159,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b1,\b, 2\b20\b01\b16\b6\n Django 1.10.1 fixes several bugs in 1.10.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a crash in MySQL connections where SELECT @@SQL_AUTO_IS_NULL\n@@ -56,16 +56,16 @@\n * Reallowed subclassing UserCreationForm without USERNAME_FIELD in\n Meta.fields (_\b#_\b2_\b7_\b1_\b1_\b1).\n * Fixed a regression in model forms where model fields with a default that\n didn\u2019t appear in POST data no longer used the default (_\b#_\b2_\b7_\b0_\b3_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.2 release notes — Django 5.1.4 documentation\n+ Django 1.10.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,21 +85,21 @@\n
    \n

    Bugfixes\u00b6

    \n
      \n
    • Fixed a crash in MySQL database validation where SELECT @@sql_mode\n doesn\u2019t return a result (#27180).

    • \n
    • Allowed combining contrib.postgres.search.SearchQuery with more than one\n & or | operators (#27143).

    • \n-
    • Disabled system check for URL patterns beginning with a \u2018/\u2019 when\n+

    • Disabled system check for URL patterns beginning with a \u201c/\u201d when\n APPEND_SLASH=False (#27238).

    • \n
    • Fixed model form default fallback for CheckboxSelectMultiple,\n MultiWidget, FileInput, SplitDateTimeWidget, SelectDateWidget,\n and SplitArrayWidget (#27186). Custom widgets affected by this\n issue should implement value_omitted_from_data().

    • \n-
    • Fixed a crash in runserver logging during a \u201cBroken pipe\u201d error\n+

    • Fixed a crash in runserver logging during a \u00abBroken pipe\u00bb error\n (#27271).

    • \n
    • Fixed a regression where unchanged localized date/time fields were listed as\n changed in the admin\u2019s model history messages (#27302).

    • \n
    \n
    \n \n \n@@ -119,37 +120,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,32 +1,32 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 1\b1,\b, 2\b20\b01\b16\b6\n Django 1.10.2 fixes several bugs in 1.10.1.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a crash in MySQL database validation where SELECT @@sql_mode\n doesn\u2019t return a result (_\b#_\b2_\b7_\b1_\b8_\b0).\n * Allowed combining contrib.postgres.search.SearchQuery with more than one\n & or | operators (_\b#_\b2_\b7_\b1_\b4_\b3).\n- * Disabled system check for URL patterns beginning with a \u2018/\u2019 when\n+ * Disabled system check for URL patterns beginning with a \u201c/\u201d when\n APPEND_SLASH=False (_\b#_\b2_\b7_\b2_\b3_\b8).\n * Fixed model form default fallback for CheckboxSelectMultiple,\n MultiWidget, FileInput, SplitDateTimeWidget, SelectDateWidget, and\n SplitArrayWidget (_\b#_\b2_\b7_\b1_\b8_\b6). Custom widgets affected by this issue should\n implement _\bv_\ba_\bl_\bu_\be_\b__\bo_\bm_\bi_\bt_\bt_\be_\bd_\b__\bf_\br_\bo_\bm_\b__\bd_\ba_\bt_\ba_\b(_\b).\n- * Fixed a crash in runserver logging during a \u201cBroken pipe\u201d error (_\b#_\b2_\b7_\b2_\b7_\b1).\n+ * Fixed a crash in runserver logging during a \u00abBroken pipe\u00bb error (_\b#_\b2_\b7_\b2_\b7_\b1).\n * Fixed a regression where unchanged localized date/time fields were listed\n as changed in the admin\u2019s model history messages (_\b#_\b2_\b7_\b3_\b0_\b2).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.3 release notes — Django 5.1.4 documentation\n+ Django 1.10.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -151,37 +152,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n N\bNo\bov\bve\bem\bmb\bbe\ber\br 1\b1,\b, 2\b20\b01\b16\b6\n Django 1.10.3 fixes two security issues and several bugs in 1.10.2.\n *\b**\b**\b**\b**\b* U\bUs\bse\ber\br w\bwi\bit\bth\bh h\bha\bar\brd\bdc\bco\bod\bde\bed\bd p\bpa\bas\bss\bsw\bwo\bor\brd\bd c\bcr\bre\bea\bat\bte\bed\bd w\bwh\bhe\ben\bn r\bru\bun\bnn\bni\bin\bng\bg t\bte\bes\bst\bts\bs o\bon\bn O\bOr\bra\bac\bcl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When running tests with an Oracle database, Django creates a temporary database\n@@ -45,16 +45,16 @@\n session is destroyed in a concurrent request with a SuspiciousOperation\n to indicate that the request can\u2019t be completed (_\b#_\b2_\b7_\b3_\b6_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bU_\bs_\be_\br_\b _\bw_\bi_\bt_\bh_\b _\bh_\ba_\br_\bd_\bc_\bo_\bd_\be_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bc_\br_\be_\ba_\bt_\be_\bd_\b _\bw_\bh_\be_\bn_\b _\br_\bu_\bn_\bn_\bi_\bn_\bg_\b _\bt_\be_\bs_\bt_\bs_\b _\bo_\bn_\b _\bO_\br_\ba_\bc_\bl_\be\n o _\bD_\bN_\bS_\b _\br_\be_\bb_\bi_\bn_\bd_\bi_\bn_\bg_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bw_\bh_\be_\bn_\b _\bD_\bE_\bB_\bU_\bG_\b=_\bT_\br_\bu_\be\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.4 release notes — Django 5.1.4 documentation\n+ Django 1.10.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -80,16 +81,16 @@\n
    \n

    Django 1.10.4 release notes\u00b6

    \n

    December 1, 2016

    \n

    Django 1.10.4 fixes several bugs in 1.10.3.

    \n
    \n

    Bugfixes\u00b6

    \n
      \n-
    • Quoted the Oracle test user\u2019s password in queries to fix the \u201cORA-00922:\n-missing or invalid option\u201d error when the password starts with a number or\n+

    • Quoted the Oracle test user\u2019s password in queries to fix the \u00abORA-00922:\n+missing or invalid option\u00bb error when the password starts with a number or\n special character (#27420).

    • \n
    • Fixed incorrect app_label / model_name arguments for\n allow_migrate() in makemigrations migration consistency checks\n (#27461).

    • \n
    • Made Model.delete(keep_parents=True) preserve parent reverse\n relationships in multi-table inheritance (#27407).

    • \n
    • Fixed a QuerySet.update() crash on SQLite when updating a\n@@ -120,37 +121,37 @@\n

    • Bugfixes
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,32 +1,32 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 1\b1,\b, 2\b20\b01\b16\b6\n Django 1.10.4 fixes several bugs in 1.10.3.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- * Quoted the Oracle test user\u2019s password in queries to fix the \u201cORA-00922:\n- missing or invalid option\u201d error when the password starts with a number\n+ * Quoted the Oracle test user\u2019s password in queries to fix the \u00abORA-00922:\n+ missing or invalid option\u00bb error when the password starts with a number\n or special character (_\b#_\b2_\b7_\b4_\b2_\b0).\n * Fixed incorrect app_label / model_name arguments for allow_migrate() in\n makemigrations migration consistency checks (_\b#_\b2_\b7_\b4_\b6_\b1).\n * Made Model.delete(keep_parents=True) preserve parent reverse\n relationships in multi-table inheritance (_\b#_\b2_\b7_\b4_\b0_\b7).\n * Fixed a QuerySet.update() crash on SQLite when updating a DateTimeField\n with an F() expression and a timedelta (_\b#_\b2_\b7_\b5_\b4_\b4).\n * Prevented LocaleMiddleware from redirecting on URLs that should return\n 404 when using prefix_default_language=False (_\b#_\b2_\b7_\b4_\b0_\b2).\n * Prevented an unnecessary index from being created on an InnoDB ForeignKey\n when the field was added after the model was created (_\b#_\b2_\b7_\b5_\b5_\b8).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.5 release notes — Django 5.1.4 documentation\n+ Django 1.10.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -113,37 +114,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 4\b4,\b, 2\b20\b01\b17\b7\n Django 1.10.5 fixes several bugs in 1.10.4.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a crash in the debug view if request.user can\u2019t be retrieved, such\n@@ -11,16 +11,16 @@\n * Fixed a regression in the timesince and timeuntil filters that caused\n incorrect results for dates in a leap year (_\b#_\b2_\b7_\b6_\b3_\b7).\n * Fixed a regression where collectstatic overwrote newer files in remote\n storages (_\b#_\b2_\b7_\b6_\b5_\b8).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.6 release notes — Django 5.1.4 documentation\n+ Django 1.10.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -80,15 +81,15 @@\n
    \n

    Django 1.10.6 release notes\u00b6

    \n

    March 1, 2017

    \n

    Django 1.10.6 fixes several bugs in 1.10.5.

    \n
    \n

    Bugfixes\u00b6

    \n
      \n-
    • Fixed ClearableFileInput\u2019s \u201cClear\u201d checkbox on model form fields where\n+

    • Fixed ClearableFileInput\u2019s \u00abClear\u00bb checkbox on model form fields where\n the model field has a default (#27805).

    • \n
    • Fixed RequestDataTooBig and TooManyFieldsSent exceptions crashing\n rather than generating a bad request response (#27820).

    • \n
    • Fixed a crash on Oracle and PostgreSQL when subtracting DurationField\n or IntegerField from DateField (#27828).

    • \n
    • Fixed query expression date subtraction accuracy on PostgreSQL for\n differences larger than a month (#27856).

    • \n@@ -115,37 +116,37 @@\n
    • Bugfixes
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,28 +1,28 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 1\b1,\b, 2\b20\b01\b17\b7\n Django 1.10.6 fixes several bugs in 1.10.5.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- * Fixed ClearableFileInput\u2019s \u201cClear\u201d checkbox on model form fields where\n+ * Fixed ClearableFileInput\u2019s \u00abClear\u00bb checkbox on model form fields where\n the model field has a default (_\b#_\b2_\b7_\b8_\b0_\b5).\n * Fixed RequestDataTooBig and TooManyFieldsSent exceptions crashing rather\n than generating a bad request response (_\b#_\b2_\b7_\b8_\b2_\b0).\n * Fixed a crash on Oracle and PostgreSQL when subtracting DurationField or\n IntegerField from DateField (_\b#_\b2_\b7_\b8_\b2_\b8).\n * Fixed query expression date subtraction accuracy on PostgreSQL for\n differences larger than a month (_\b#_\b2_\b7_\b8_\b5_\b6).\n * Fixed a GDALException raised by GDALClose on GDAL \u2265 2.0 (_\b#_\b2_\b7_\b4_\b7_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.7 release notes — Django 5.1.4 documentation\n+ Django 1.10.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,17 +82,17 @@\n

    Django 1.10.7 release notes\u00b6

    \n

    April 4, 2017

    \n

    Django 1.10.7 fixes two security issues and a bug in 1.10.6.

    \n
    \n

    CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security check for these\n+to redirect the user to an \u00abon success\u00bb URL. The security check for these\n redirects (namely django.utils.http.is_safe_url()) considered some numeric\n-URLs (e.g. http:999999999) \u201csafe\u201d when they shouldn\u2019t be.

    \n+URLs (e.g. http:999999999) \u00absafe\u00bb when they shouldn\u2019t be.

    \n

    Also, if a developer relies on is_safe_url() to provide safe redirect\n targets and puts such a URL into a link, they could suffer from an XSS attack.

    \n
    \n
    \n

    CVE-2017-7234: Open redirect vulnerability in django.views.static.serve()\u00b6

    \n

    A maliciously crafted URL to a Django site using the\n serve() view could redirect to any other domain. The\n@@ -130,37 +131,37 @@\n

  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 4\b4,\b, 2\b20\b01\b17\b7\n Django 1.10.7 fixes two security issues and a bug in 1.10.6.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b17\b7-\b-7\b72\b23\b33\b3:\b: O\bOp\bpe\ben\bn r\bre\bed\bdi\bir\bre\bec\bct\bt a\ban\bnd\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd\n n\bnu\bum\bme\ber\bri\bic\bc r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security check\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security check\n for these redirects (namely django.utils.http.is_safe_url()) considered some\n-numeric URLs (e.g. http:999999999) \u201csafe\u201d when they shouldn\u2019t be.\n+numeric URLs (e.g. http:999999999) \u00absafe\u00bb when they shouldn\u2019t be.\n Also, if a developer relies on is_safe_url() to provide safe redirect targets\n and puts such a URL into a link, they could suffer from an XSS attack.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b17\b7-\b-7\b72\b23\b34\b4:\b: O\bOp\bpe\ben\bn r\bre\bed\bdi\bir\bre\bec\bct\bt v\bvu\bul\bln\bne\ber\bra\bab\bbi\bil\bli\bit\bty\by i\bin\bn d\bdj\bja\ban\bng\bgo\bo.\b.v\bvi\bie\bew\bws\bs.\b.s\bst\bta\bat\bti\bic\bc.\b.s\bse\ber\brv\bve\be\n (\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A maliciously crafted URL to a Django site using the _\bs_\be_\br_\bv_\be_\b(_\b) view could\n redirect to any other domain. The view no longer does any redirects as they\n don\u2019t provide any known, useful functionality.\n@@ -26,16 +26,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b7_\b-_\b7_\b2_\b3_\b3_\b:_\b _\bO_\bp_\be_\bn_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\ba_\bn_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-\n _\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\bn_\bu_\bm_\be_\br_\bi_\bc_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b7_\b-_\b7_\b2_\b3_\b4_\b:_\b _\bO_\bp_\be_\bn_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be_\b(_\b)\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10.8 release notes — Django 5.1.4 documentation\n+ Django 1.10.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 5\b5,\b, 2\b20\b01\b17\b7\n Django 1.10.8 fixes a security issue in 1.10.7.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b17\b7-\b-1\b12\b27\b79\b94\b4:\b: P\bPo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS i\bin\bn t\btr\bra\bac\bce\beb\bba\bac\bck\bk s\bse\bec\bct\bti\bio\bon\bn o\bof\bf t\bte\bec\bch\bhn\bni\bic\bca\bal\bl 5\b50\b00\b0 d\bde\beb\bbu\bug\bg\n p\bpa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -11,16 +11,16 @@\n cross-site scripting attack. This vulnerability shouldn\u2019t affect most\n production sites since you shouldn\u2019t run with DEBUG = True (which makes this\n page accessible) in your production settings.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b7_\b-_\b1_\b2_\b7_\b9_\b4_\b:_\b _\bP_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\bi_\bn_\b _\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b _\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bt_\be_\bc_\bh_\bn_\bi_\bc_\ba_\bl_\b _\b5_\b0_\b0\n _\bd_\be_\bb_\bu_\bg_\b _\bp_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.10 release notes — Django 5.1.4 documentation\n+ Django 1.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -138,25 +139,25 @@\n will now point to request.META['SCRIPT_NAME'] if set, instead of /.

    \n
  • The success message that appears after adding or editing an object now\n contains a link to the object\u2019s change form.

  • \n
  • All inline JavaScript is removed so you can enable the\n Content-Security-Policy HTTP header if you wish.

  • \n
  • The new InlineModelAdmin.classes attribute allows specifying\n classes on inline fieldsets. Inlines with a collapse class will be\n-initially collapsed and their header will have a small \u201cshow\u201d link.

  • \n+initially collapsed and their header will have a small \u00abshow\u00bb link.

    \n
  • If a user doesn\u2019t have the add permission, the object-tools block on a\n model\u2019s changelist will now be rendered (without the add button). This makes\n it easier to add custom tools in this case.

  • \n
  • The LogEntry model now stores change\n messages in a JSON structure so that the message can be dynamically translated\n using the current active language. A new LogEntry.get_change_message()\n method is now the preferred way of retrieving the change message.

  • \n
  • Selected objects for fields in ModelAdmin.raw_id_fields now have a link\n to object\u2019s change form.

  • \n-
  • Added \u201cNo date\u201d and \u201cHas date\u201d choices for DateFieldListFilter if the\n+

  • Added \u00abNo date\u00bb and \u00abHas date\u00bb choices for DateFieldListFilter if the\n field is nullable.

  • \n
  • The jQuery library embedded in the admin is upgraded from version 2.1.4 to\n 2.2.3.

  • \n \n \n
    \n

    django.contrib.auth\u00b6

    \n@@ -164,15 +165,15 @@\n
  • Added support for the Argon2 password hash. It\u2019s\n recommended over PBKDF2, however, it\u2019s not the default as it requires a\n third-party library.

  • \n
  • The default iteration count for the PBKDF2 password hasher has been increased\n by 25%. This backwards compatible change will not affect users who have\n subclassed django.contrib.auth.hashers.PBKDF2PasswordHasher to change the\n default value.

  • \n-
  • The django.contrib.auth.views.logout() view sends \u201cno-cache\u201d headers\n+

  • The django.contrib.auth.views.logout() view sends \u00abno-cache\u00bb headers\n to prevent an issue where Safari caches redirects and prevents a user from\n being able to log out.

  • \n
  • Added the optional backend argument to django.contrib.auth.login()\n to allow using it without credentials.

  • \n
  • The new LOGOUT_REDIRECT_URL setting controls the redirect of the\n django.contrib.auth.views.logout() view, if the view doesn\u2019t get a\n next_page argument.

  • \n@@ -355,15 +356,15 @@\n
  • The new check --fail-level option allows specifying the message\n level that will cause the command to exit with a non-zero status.

  • \n
  • The new makemigrations --check option makes the command exit\n with a non-zero status when model changes without migrations are detected.

  • \n
  • makemigrations now displays the path to the migration files that\n it generates.

  • \n
  • The shell --interface option now accepts python to force use of\n-the \u201cplain\u201d Python interpreter.

  • \n+the \u00abplain\u00bb Python interpreter.

    \n
  • The new shell --command option lets you run a command as Django and\n exit, instead of opening the interactive shell.

  • \n
  • Added a warning to dumpdata if a proxy model is specified (which\n results in no output) without its concrete parent.

  • \n
  • The new BaseCommand.requires_migrations_checks attribute\n may be set to True if you want your command to print a warning, like\n runserver does, if the set of migrations on disk don\u2019t match the\n@@ -509,15 +510,15 @@\n \n

  • \n \n \n
    \n

    Backwards incompatible changes in 1.10\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In addition to the changes outlined in this section, be sure to review the\n Features removed in 1.10 for the features that have reached the end of\n their deprecation cycle and therefore been removed. If you haven\u2019t updated\n your code within the deprecation timeline for a given feature, its removal\n may appear as a backwards incompatible change.

    \n
    \n
    \n@@ -752,15 +753,15 @@\n
    \n
    \n

    Miscellaneous\u00b6

    \n
      \n
    • The repr() of a QuerySet is wrapped in <QuerySet > to\n disambiguate it from a plain list when debugging.

    • \n
    • utils.version.get_version() returns PEP 440 compliant release\n-candidate versions (e.g. \u20181.10rc1\u2019 instead of \u20181.10c1\u2019).

    • \n+candidate versions (e.g. \u201c1.10rc1\u201d instead of \u201c1.10c1\u201d).

      \n
    • CSRF token values are now required to be strings of 64 alphanumerics; values\n of 32 alphanumerics, as set by older versions of Django by default, are\n automatically replaced by strings of 64 characters. Other values are\n considered invalid. This should only affect developers or users who replace\n these tokens.

    • \n
    • The LOGOUT_URL setting is removed as Django hasn\u2019t made use of it\n since pre-1.0. If you use it in your project, you can add it to your\n@@ -777,15 +778,15 @@\n warning when the specified fixture file is not found.

    • \n
    • Instead of directly accessing the LogEntry.change_message attribute, it\u2019s\n now better to call the LogEntry.get_change_message() method which will\n provide the message in the current language.

    • \n
    • The default error views now raise TemplateDoesNotExist if a nonexistent\n template_name is specified.

    • \n
    • The unused choices keyword argument of the Select and\n-SelectMultiple widgets\u2019 render() method is removed. The choices\n+SelectMultiple widgets\u201d render() method is removed. The choices\n argument of the render_options() method is also removed, making\n selected_choices the first argument.

    • \n
    • Tests that violate deferrable database constraints will now error when run on\n a database that supports deferrable constraints.

    • \n
    • Built-in management commands now use indexing of keys in options, e.g.\n options['verbosity'], instead of options.get() and no longer perform\n any type coercion. This could be a problem if you\u2019re calling commands using\n@@ -815,29 +816,29 @@\n RangeField, you should change the\n base_field attribute.

    • \n
    • Middleware classes are now initialized when the server starts rather than\n during the first request.

    • \n
    • If you override is_authenticated() or is_anonymous() in a custom user\n model, you must convert them to attributes or properties as described in\n the deprecation note.

    • \n-
    • When using ModelAdmin.save_as=True, the \u201cSave as new\u201d button now\n+

    • When using ModelAdmin.save_as=True, the \u00abSave as new\u00bb button now\n redirects to the change view for the new object instead of to the model\u2019s\n changelist. If you need the previous behavior, set the new\n ModelAdmin.save_as_continue attribute to False.

    • \n
    • Required form fields now have the required HTML attribute. Set the\n Form.use_required_attribute\n attribute to False to disable it. You could also add the novalidate\n attribute to <form> if you don\u2019t want browser validation. To disable\n the required attribute on custom widgets, override the\n Widget.use_required_attribute()\n method.

    • \n
    • The WSGI handler no longer removes content of responses from HEAD\n requests or responses with a status_code of 100-199, 204, or 304. Most\n web servers already implement this behavior. Responses retrieved using the\n-Django test client continue to have these \u201cresponse fixes\u201d applied.

    • \n+Django test client continue to have these \u00abresponse fixes\u00bb applied.

      \n
    • Model.__init__() now receives django.db.models.DEFERRED as the value\n of deferred fields.

    • \n
    • The Model._deferred attribute is removed as dynamic model classes when\n using QuerySet.defer() and only() is removed.

    • \n
    • Storage.save() no longer\n replaces '\\' with '/'. This behavior is moved to\n FileSystemStorage since this is a storage\n@@ -1042,19 +1043,19 @@\n prefetch_related() you must make sure\n it defines a _apply_rel_filters() method.

      \n

      This method must accept a QuerySet instance\n as its single argument and return a filtered version of the queryset for the\n model instance the manager is bound to.

      \n
    \n
    \n-

    The \u201cescape\u201d half of django.utils.safestring\u00b6

    \n+

    The \u00abescape\u00bb half of django.utils.safestring\u00b6

    \n

    The mark_for_escaping() function and the classes it uses: EscapeData,\n EscapeBytes, EscapeText, EscapeString, and EscapeUnicode are\n deprecated.

    \n-

    As a result, the \u201clazy\u201d behavior of the escape filter (where it would\n+

    As a result, the \u00ablazy\u00bb behavior of the escape filter (where it would\n always be applied as the last filter no matter where in the filter chain it\n appeared) is deprecated. The filter will change to immediately apply\n conditional_escape() in Django 2.0.

    \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.10.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.10.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.9.13 release notes

    \n+ title=\"capitolo successivo\">Django 1.9.13 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b1,\b, 2\b20\b01\b16\b6\n Welcome to Django 1.10!\n These release notes cover the _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, as well as some _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs you\u2019ll want to be aware of when upgrading from Django 1.9\n@@ -43,36 +43,36 @@\n ['SCRIPT_NAME'] if set, instead of /.\n * The success message that appears after adding or editing an object now\n contains a link to the object\u2019s change form.\n * All inline JavaScript is removed so you can enable the Content-Security-\n Policy HTTP header if you wish.\n * The new _\bI_\bn_\bl_\bi_\bn_\be_\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bc_\bl_\ba_\bs_\bs_\be_\bs attribute allows specifying classes on\n inline fieldsets. Inlines with a collapse class will be initially\n- collapsed and their header will have a small \u201cshow\u201d link.\n+ collapsed and their header will have a small \u00abshow\u00bb link.\n * If a user doesn\u2019t have the add permission, the object-tools block on a\n model\u2019s changelist will now be rendered (without the add button). This\n makes it easier to add custom tools in this case.\n * The _\bL_\bo_\bg_\bE_\bn_\bt_\br_\by model now stores change messages in a JSON structure so that\n the message can be dynamically translated using the current active\n language. A new LogEntry.get_change_message() method is now the preferred\n way of retrieving the change message.\n * Selected objects for fields in ModelAdmin.raw_id_fields now have a link\n to object\u2019s change form.\n- * Added \u201cNo date\u201d and \u201cHas date\u201d choices for DateFieldListFilter if the\n+ * Added \u00abNo date\u00bb and \u00abHas date\u00bb choices for DateFieldListFilter if the\n field is nullable.\n * The jQuery library embedded in the admin is upgraded from version 2.1.4\n to 2.2.3.\n *\b**\b**\b* _\bd\bd_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b.\b._\bc\bc_\bo\bo_\bn\bn_\bt\bt_\br\br_\bi\bi_\bb\bb_\b.\b._\ba\ba_\bu\bu_\bt\bt_\bh\bh_\b?\b\u00b6 *\b**\b**\b*\n * Added support for the _\bA_\br_\bg_\bo_\bn_\b2_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh. It\u2019s recommended over PBKDF2,\n however, it\u2019s not the default as it requires a third-party library.\n * The default iteration count for the PBKDF2 password hasher has been\n increased by 25%. This backwards compatible change will not affect users\n who have subclassed django.contrib.auth.hashers.PBKDF2PasswordHasher to\n change the default value.\n- * The django.contrib.auth.views.logout() view sends \u201cno-cache\u201d headers to\n+ * The django.contrib.auth.views.logout() view sends \u00abno-cache\u00bb headers to\n prevent an issue where Safari caches redirects and prevents a user from\n being able to log out.\n * Added the optional backend argument to _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bl_\bo_\bg_\bi_\bn_\b(_\b) to\n allow using it without credentials.\n * The new _\bL_\bO_\bG_\bO_\bU_\bT_\b__\bR_\bE_\bD_\bI_\bR_\bE_\bC_\bT_\b__\bU_\bR_\bL setting controls the redirect of the\n django.contrib.auth.views.logout() view, if the view doesn\u2019t get a\n next_page argument.\n@@ -176,15 +176,15 @@\n * The new _\bc_\bh_\be_\bc_\bk_\b _\b-_\b-_\bf_\ba_\bi_\bl_\b-_\bl_\be_\bv_\be_\bl option allows specifying the message level\n that will cause the command to exit with a non-zero status.\n * The new _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b _\b-_\b-_\bc_\bh_\be_\bc_\bk option makes the command exit with a non-\n zero status when model changes without migrations are detected.\n * _\bm_\ba_\bk_\be_\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs now displays the path to the migration files that it\n generates.\n * The _\bs_\bh_\be_\bl_\bl_\b _\b-_\b-_\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be option now accepts python to force use of the\n- \u201cplain\u201d Python interpreter.\n+ \u00abplain\u00bb Python interpreter.\n * The new _\bs_\bh_\be_\bl_\bl_\b _\b-_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd option lets you run a command as Django and exit,\n instead of opening the interactive shell.\n * Added a warning to _\bd_\bu_\bm_\bp_\bd_\ba_\bt_\ba if a proxy model is specified (which results\n in no output) without its concrete parent.\n * The new _\bB_\ba_\bs_\be_\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b__\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\bs_\b__\bc_\bh_\be_\bc_\bk_\bs attribute may be set to\n True if you want your command to print a warning, like _\br_\bu_\bn_\bs_\be_\br_\bv_\be_\br does, if\n the set of migrations on disk don\u2019t match the migrations in the database.\n@@ -271,15 +271,15 @@\n scripts) to take _\bF_\bO_\bR_\bC_\bE_\b__\bS_\bC_\bR_\bI_\bP_\bT_\b__\bN_\bA_\bM_\bE into account when it is set.\n *\b**\b**\b* V\bVa\bal\bli\bid\bda\bat\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b*\n * _\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br now limits the length of domain name labels to 63 characters\n and the total length of domain names to 253 characters per _\bR\bR_\bF\bF_\bC\bC_\b _\b1\b1_\b0\b0_\b3\b3_\b4\b4.\n * _\bi_\bn_\bt_\b__\bl_\bi_\bs_\bt_\b__\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\b(_\b) now accepts an optional allow_negative boolean\n parameter, defaulting to False, to allow negative integers.\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkw\bwa\bar\brd\bds\bs i\bin\bnc\bco\bom\bmp\bpa\bat\bti\bib\bbl\ble\be c\bch\bha\ban\bng\bge\bes\bs i\bin\bn 1\b1.\b.1\b10\b0_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Warning\n+Avvertimento\n In addition to the changes outlined in this section, be sure to review the\n _\bF_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\br_\be_\bm_\bo_\bv_\be_\bd_\b _\bi_\bn_\b _\b1_\b._\b1_\b0 for the features that have reached the end of their\n deprecation cycle and therefore been removed. If you haven\u2019t updated your code\n within the deprecation timeline for a given feature, its removal may appear as\n a backwards incompatible change.\n *\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be b\bba\bac\bck\bke\ben\bnd\bd A\bAP\bPI\bI_\b?\b\u00b6 *\b**\b**\b**\b*\n * GIS\u2019s AreaField uses an unspecified underlying numeric type that could in\n@@ -465,15 +465,15 @@\n that are parsed.\n Applications that receive unusually large form posts may need to tune these\n settings.\n *\b**\b**\b**\b* M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n * The repr() of a QuerySet is wrapped in to disambiguate it\n from a plain list when debugging.\n * utils.version.get_version() returns _\bP\bP_\bE\bE_\bP\bP_\b _\b4\b4_\b4\b4_\b0\b0 compliant release candidate\n- versions (e.g. \u20181.10rc1\u2019 instead of \u20181.10c1\u2019).\n+ versions (e.g. \u201c1.10rc1\u201d instead of \u201c1.10c1\u201d).\n * CSRF token values are now required to be strings of 64 alphanumerics;\n values of 32 alphanumerics, as set by older versions of Django by\n default, are automatically replaced by strings of 64 characters. Other\n values are considered invalid. This should only affect developers or\n users who replace these tokens.\n * The LOGOUT_URL setting is removed as Django hasn\u2019t made use of it since\n pre-1.0. If you use it in your project, you can add it to your project\u2019s\n@@ -490,15 +490,15 @@\n specified fixture file is not found.\n * Instead of directly accessing the LogEntry.change_message attribute, it\u2019s\n now better to call the LogEntry.get_change_message() method which will\n provide the message in the current language.\n * The default error views now raise TemplateDoesNotExist if a nonexistent\n template_name is specified.\n * The unused choices keyword argument of the Select and SelectMultiple\n- widgets\u2019 render() method is removed. The choices argument of the\n+ widgets\u201d render() method is removed. The choices argument of the\n render_options() method is also removed, making selected_choices the\n first argument.\n * Tests that violate deferrable database constraints will now error when\n run on a database that supports deferrable constraints.\n * Built-in management commands now use indexing of keys in options, e.g.\n options['verbosity'], instead of options.get() and no longer perform any\n type coercion. This could be a problem if you\u2019re calling commands using\n@@ -521,27 +521,27 @@\n instance of a field. If you have created a custom subclass of _\bR_\ba_\bn_\bg_\be_\bF_\bi_\be_\bl_\bd,\n you should change the base_field attribute.\n * Middleware classes are now initialized when the server starts rather than\n during the first request.\n * If you override is_authenticated() or is_anonymous() in a custom user\n model, you must convert them to attributes or properties as described in\n _\bt_\bh_\be_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bn_\bo_\bt_\be.\n- * When using _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bs_\ba_\bv_\be_\b__\ba_\bs_\b=_\bT_\br_\bu_\be, the \u201cSave as new\u201d button now\n+ * When using _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bs_\ba_\bv_\be_\b__\ba_\bs_\b=_\bT_\br_\bu_\be, the \u00abSave as new\u00bb button now\n redirects to the change view for the new object instead of to the model\u2019s\n changelist. If you need the previous behavior, set the new\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bs_\ba_\bv_\be_\b__\ba_\bs_\b__\bc_\bo_\bn_\bt_\bi_\bn_\bu_\be attribute to False.\n * Required form fields now have the required HTML attribute. Set the\n _\bF_\bo_\br_\bm_\b._\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be attribute to False to disable it. You could\n also add the novalidate attribute to
    if you don\u2019t want browser\n validation. To disable the required attribute on custom widgets, override\n the _\bW_\bi_\bd_\bg_\be_\bt_\b._\bu_\bs_\be_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b__\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b(_\b) method.\n * The WSGI handler no longer removes content of responses from HEAD\n requests or responses with a status_code of 100-199, 204, or 304. Most\n web servers already implement this behavior. Responses retrieved using\n- the Django test client continue to have these \u201cresponse fixes\u201d applied.\n+ the Django test client continue to have these \u00abresponse fixes\u00bb applied.\n * Model.__init__() now receives django.db.models.DEFERRED as the value of\n deferred fields.\n * The Model._deferred attribute is removed as dynamic model classes when\n using QuerySet.defer() and only() is removed.\n * _\bS_\bt_\bo_\br_\ba_\bg_\be_\b._\bs_\ba_\bv_\be_\b(_\b) no longer replaces '\\' with '/'. This behavior is moved to\n _\bF_\bi_\bl_\be_\bS_\by_\bs_\bt_\be_\bm_\bS_\bt_\bo_\br_\ba_\bg_\be since this is a storage specific implementation detail.\n Any Windows user with a custom storage implementation that relies on this\n@@ -689,18 +689,18 @@\n *\b**\b**\b**\b* C\bCu\bus\bst\bto\bom\bm m\bma\ban\bna\bag\bge\ber\br c\bcl\bla\bas\bss\bse\bes\bs a\bav\bva\bai\bil\bla\bab\bbl\ble\be t\bth\bhr\bro\bou\bug\bgh\bh p\bpr\bre\bef\bfe\bet\btc\bch\bh_\b_r\bre\bel\bla\bat\bte\bed\bd m\bmu\bus\bst\bt d\bde\bef\bfi\bin\bne\be a\ba\n _\b_a\bap\bpp\bpl\bly\by_\b_r\bre\bel\bl_\b_f\bfi\bil\blt\bte\ber\brs\bs(\b()\b) m\bme\bet\bth\bho\bod\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n If you defined a custom manager class available through _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b) you\n must make sure it defines a _apply_rel_filters() method.\n This method must accept a _\bQ_\bu_\be_\br_\by_\bS_\be_\bt instance as its single argument and return a\n filtered version of the queryset for the model instance the manager is bound\n to.\n-*\b**\b**\b**\b* T\bTh\bhe\be ?\b\u201ce\bes\bsc\bca\bap\bpe\be?\b\u201d h\bha\bal\blf\bf o\bof\bf d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.s\bsa\baf\bfe\bes\bst\btr\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n+*\b**\b**\b**\b* T\bTh\bhe\be ?\b\u00abe\bes\bsc\bca\bap\bpe\be?\b\u00bb h\bha\bal\blf\bf o\bof\bf d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.s\bsa\baf\bfe\bes\bst\btr\bri\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n The mark_for_escaping() function and the classes it uses: EscapeData,\n EscapeBytes, EscapeText, EscapeString, and EscapeUnicode are deprecated.\n-As a result, the \u201clazy\u201d behavior of the escape filter (where it would always be\n+As a result, the \u00ablazy\u00bb behavior of the escape filter (where it would always be\n applied as the last filter no matter where in the filter chain it appeared) is\n deprecated. The filter will change to immediately apply _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b__\be_\bs_\bc_\ba_\bp_\be_\b(_\b) in\n Django 2.0.\n *\b**\b**\b**\b* M\bMa\ban\bna\bag\bge\ber\br.\b.u\bus\bse\be_\b_f\bfo\bor\br_\b_r\bre\bel\bla\bat\bte\bed\bd_\b_f\bfi\bie\bel\bld\bds\bs a\ban\bnd\bd i\bin\bnh\bhe\ber\bri\bit\bta\ban\bnc\bce\be c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Manager.use_for_related_fields is deprecated in favor of setting\n _\bM_\be_\bt_\ba_\b._\bb_\ba_\bs_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br_\b__\bn_\ba_\bm_\be on the model.\n Model Manager inheritance will follow MRO inheritance rules in Django 2.0,\n@@ -914,20 +914,20 @@\n # _\bU_\bs_\bi_\bn_\bg_\b _\ba_\b _\bm_\bo_\bd_\be_\bl_\b _\bn_\ba_\bm_\be_\b _\ba_\bs_\b _\ba_\b _\bq_\bu_\be_\br_\by_\b _\bl_\bo_\bo_\bk_\bu_\bp_\b _\bw_\bh_\be_\bn\n _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bn_\ba_\bm_\be_\b _\bi_\bs_\b _\bs_\be_\bt\n # _\b__\b__\bs_\be_\ba_\br_\bc_\bh_\b _\bq_\bu_\be_\br_\by_\b _\bl_\bo_\bo_\bk_\bu_\bp\n # _\bU_\bs_\bi_\bn_\bg_\b _\bU_\bs_\be_\br_\b._\bi_\bs_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\be_\bd_\b(_\b)_\b _\ba_\bn_\bd_\b _\bU_\bs_\be_\br_\b._\bi_\bs_\b__\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b(_\b)_\b _\ba_\bs\n _\bm_\be_\bt_\bh_\bo_\bd_\bs\n # _\bC_\bu_\bs_\bt_\bo_\bm_\b _\bm_\ba_\bn_\ba_\bg_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\be_\bs_\b _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b _\bt_\bh_\br_\bo_\bu_\bg_\bh_\b _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd\n _\bm_\bu_\bs_\bt_\b _\bd_\be_\bf_\bi_\bn_\be_\b _\ba_\b _\b__\ba_\bp_\bp_\bl_\by_\b__\br_\be_\bl_\b__\bf_\bi_\bl_\bt_\be_\br_\bs_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd\n- # _\bT_\bh_\be_\b _\b\u201c_\be_\bs_\bc_\ba_\bp_\be_\b\u201d_\b _\bh_\ba_\bl_\bf_\b _\bo_\bf_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg\n+ # _\bT_\bh_\be_\b _\b\u00ab_\be_\bs_\bc_\ba_\bp_\be_\b\u00bb_\b _\bh_\ba_\bl_\bf_\b _\bo_\bf_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\ba_\bf_\be_\bs_\bt_\br_\bi_\bn_\bg\n # _\bM_\ba_\bn_\ba_\bg_\be_\br_\b._\bu_\bs_\be_\b__\bf_\bo_\br_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\ba_\bn_\bd_\b _\bi_\bn_\bh_\be_\br_\bi_\bt_\ba_\bn_\bc_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n o _\bF_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\br_\be_\bm_\bo_\bv_\be_\bd_\b _\bi_\bn_\b _\b1_\b._\b1_\b0\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b9_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.1 release notes — Django 5.1.4 documentation\n+ Django 1.11.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -96,15 +97,15 @@\n recreate the index with the correct name (#28051).

    \n
  • Fixed a crash when using a __icontains lookup on a ArrayField\n (#28038).

  • \n
  • Fixed a crash when using a 2-tuple in EmailMessage\u2019s attachments\n argument (#28042).

  • \n
  • Fixed QuerySet.filter() crash when it references the name of a\n OneToOneField primary key (#28047).

  • \n-
  • Fixed empty POST data table appearing instead of \u201cNo POST data\u201d in HTML debug\n+

  • Fixed empty POST data table appearing instead of \u00abNo POST data\u00bb in HTML debug\n page (#28079).

  • \n
  • Restored BoundFields without any choices evaluating to True\n (#28058).

  • \n
  • Prevented SessionBase.cycle_key() from losing session data if\n _session_cache isn\u2019t populated (#28066).

  • \n
  • Fixed layout of ReadOnlyPasswordHashWidget (used in the admin\u2019s user\n change page) (#28097).

  • \n@@ -175,37 +176,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11 release notes

    \n+ title=\"capitolo successivo\">Django 1.11 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 6\b6,\b, 2\b20\b01\b17\b7\n Django 1.11.1 adds a minor feature and fixes several bugs in 1.11.\n *\b**\b**\b**\b**\b* A\bAl\bll\blo\bow\bwe\bed\bd d\bdi\bis\bsa\bab\bbl\bli\bin\bng\bg s\bse\ber\brv\bve\ber\br-\b-s\bsi\bid\bde\be c\bcu\bur\brs\bso\bor\brs\bs o\bon\bn P\bPo\bos\bst\btg\bgr\bre\beS\bSQ\bQL\bL_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The change in Django 1.11 to make _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b(_\b) use server-side cursors\n@@ -15,15 +15,15 @@\n index with Django 1.11, makemigrations will create a migration to\n recreate the index with the correct name (_\b#_\b2_\b8_\b0_\b5_\b1).\n * Fixed a crash when using a __icontains lookup on a ArrayField (_\b#_\b2_\b8_\b0_\b3_\b8).\n * Fixed a crash when using a 2-tuple in EmailMessage\u2019s attachments argument\n (_\b#_\b2_\b8_\b0_\b4_\b2).\n * Fixed QuerySet.filter() crash when it references the name of a\n OneToOneField primary key (_\b#_\b2_\b8_\b0_\b4_\b7).\n- * Fixed empty POST data table appearing instead of \u201cNo POST data\u201d in HTML\n+ * Fixed empty POST data table appearing instead of \u00abNo POST data\u00bb in HTML\n debug page (_\b#_\b2_\b8_\b0_\b7_\b9).\n * Restored BoundFields without any choices evaluating to True (_\b#_\b2_\b8_\b0_\b5_\b8).\n * Prevented SessionBase.cycle_key() from losing session data if\n _session_cache isn\u2019t populated (_\b#_\b2_\b8_\b0_\b6_\b6).\n * Fixed layout of ReadOnlyPasswordHashWidget (used in the admin\u2019s user\n change page) (_\b#_\b2_\b8_\b0_\b9_\b7).\n * Allowed prefetch calls on managers with custom ModelIterable subclasses\n@@ -68,16 +68,16 @@\n (_\b#_\b2_\b8_\b1_\b6_\b0). (It\u2019s a required dependency as of Django 1.11.)\n * Fixed a regression causing __in lookups on a foreign key to fail when\n using the foreign key\u2019s parent model as the lookup value (_\b#_\b2_\b8_\b1_\b7_\b5).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bA_\bl_\bl_\bo_\bw_\be_\bd_\b _\bd_\bi_\bs_\ba_\bb_\bl_\bi_\bn_\bg_\b _\bs_\be_\br_\bv_\be_\br_\b-_\bs_\bi_\bd_\be_\b _\bc_\bu_\br_\bs_\bo_\br_\bs_\b _\bo_\bn_\b _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.10 release notes — Django 5.1.4 documentation\n+ Django 1.11.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,15 +89,15 @@\n confirm_login_allowed() method even if an incorrect password is entered.\n This can leak information about a user, depending on what messages\n confirm_login_allowed() raises. If confirm_login_allowed() isn\u2019t\n overridden, an attacker enter an arbitrary username and see if that user has\n been set to is_active=False. If confirm_login_allowed() is overridden,\n more sensitive details could be leaked.

    \n

    This issue is fixed with the caveat that AuthenticationForm can no longer\n-raise the \u201cThis account is inactive.\u201d error if the authentication backend\n+raise the \u00abThis account is inactive.\u00bb error if the authentication backend\n rejects inactive users (the default authentication backend, ModelBackend,\n has done that since Django 1.10). This issue will be revisited for Django 2.1\n as a fix to address the caveat will likely be too invasive for inclusion in\n older versions.

    \n \n
    \n

    Bugfixes\u00b6

    \n@@ -130,37 +131,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.9 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.9 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 1\b1,\b, 2\b20\b01\b18\b8\n Django 1.11.10 fixes a security issue and several bugs in 1.11.9.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b18\b8-\b-6\b61\b18\b88\b8:\b: I\bIn\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn l\ble\bea\bak\bka\bag\bge\be i\bin\bn A\bAu\but\bth\bhe\ben\bnt\bti\bic\bca\bat\bti\bio\bon\bnF\bFo\bor\brm\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n A regression in Django 1.11.8 made _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm run its\n confirm_login_allowed() method even if an incorrect password is entered. This\n can leak information about a user, depending on what messages\n confirm_login_allowed() raises. If confirm_login_allowed() isn\u2019t overridden, an\n attacker enter an arbitrary username and see if that user has been set to\n is_active=False. If confirm_login_allowed() is overridden, more sensitive\n details could be leaked.\n This issue is fixed with the caveat that AuthenticationForm can no longer raise\n-the \u201cThis account is inactive.\u201d error if the authentication backend rejects\n+the \u00abThis account is inactive.\u00bb error if the authentication backend rejects\n inactive users (the default authentication backend, ModelBackend, has done that\n since Django 1.10). This issue will be revisited for Django 2.1 as a fix to\n address the caveat will likely be too invasive for inclusion in older versions.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed incorrect foreign key nullification if a model has two foreign keys\n to the same model and a target model is deleted (_\b#_\b2_\b9_\b0_\b1_\b6).\n * Fixed a regression where contrib.auth.authenticate() crashes if an\n@@ -25,16 +25,16 @@\n (_\b#_\b2_\b9_\b0_\b7_\b1).\n * Fixed crash when entering an invalid uuid in ModelAdmin.raw_id_fields\n (_\b#_\b2_\b9_\b0_\b9_\b4).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b8_\b-_\b6_\b1_\b8_\b8_\b:_\b _\bI_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bl_\be_\ba_\bk_\ba_\bg_\be_\b _\bi_\bn_\b _\bA_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bF_\bo_\br_\bm\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.11 release notes — Django 5.1.4 documentation\n+ Django 1.11.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.12 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.12 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 6\b6,\b, 2\b20\b01\b18\b8\n Django 1.11.11 fixes two security issues in 1.11.10.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b18\b8-\b-7\b75\b53\b36\b6:\b: D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn u\bur\brl\bli\biz\bze\be a\ban\bnd\bd u\bur\brl\bli\biz\bze\bet\btr\bru\bun\bnc\bc\n t\bte\bem\bmp\bpl\bla\bat\bte\be f\bfi\bil\blt\bte\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -22,16 +22,16 @@\n The backtracking problem in the regular expression is fixed.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b8_\b-_\b7_\b5_\b3_\b6_\b:_\b _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bu_\br_\bl_\bi_\bz_\be_\b _\ba_\bn_\bd\n _\bu_\br_\bl_\bi_\bz_\be_\bt_\br_\bu_\bn_\bc_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b8_\b-_\b7_\b5_\b3_\b7_\b:_\b _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs_\b__\bh_\bt_\bm_\bl\n _\ba_\bn_\bd_\b _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bw_\bo_\br_\bd_\bs_\b__\bh_\bt_\bm_\bl_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.12.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.12.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.12 release notes — Django 5.1.4 documentation\n+ Django 1.11.12 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -111,37 +112,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.13 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.13 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.11 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.11 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b12\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b2,\b, 2\b20\b01\b18\b8\n Django 1.11.12 fixes two bugs in 1.11.11.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression in Django 1.11.8 where combining two annotated\n@@ -10,16 +10,16 @@\n crashed due to mismatching columns (_\b#_\b2_\b9_\b2_\b2_\b9).\n * Fixed a regression in Django 1.11 where an empty choice could be\n initially selected for the SelectMultiple and CheckboxSelectMultiple\n widgets (_\b#_\b2_\b9_\b2_\b7_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.13.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.13.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.13 release notes — Django 5.1.4 documentation\n+ Django 1.11.13 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -114,37 +115,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.14 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.14 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.12 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.12 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b13\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b1,\b, 2\b20\b01\b18\b8\n Django 1.11.13 fixes several bugs in 1.11.12.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression in Django 1.11.8 where altering a field with a unique\n@@ -13,16 +13,16 @@\n * Fixed a regression in Django 1.11.12 where QuerySet.values() or\n values_list() after combining an annotated and unannotated queryset with\n union(), difference(), or intersection() crashed due to mismatching\n columns (_\b#_\b2_\b9_\b2_\b8_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.14.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.14.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.14 release notes — Django 5.1.4 documentation\n+ Django 1.11.14 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.15 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.15 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.13 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.13 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b14\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 2\b2,\b, 2\b20\b01\b18\b8\n Django 1.11.14 fixes several bugs in 1.11.13.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed WKBWriter.write() and write_hex() for empty polygons on GEOS 3.6.1+\n (_\b#_\b2_\b9_\b4_\b6_\b0).\n * Fixed a regression in Django 1.10 that could result in large memory usage\n when making edits using ModelAdmin.list_editable (_\b#_\b2_\b8_\b4_\b6_\b2).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.15.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.15.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.15 release notes — Django 5.1.4 documentation\n+ Django 1.11.15 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -111,37 +112,37 @@\n
  • CVE-2018-14574: Open redirect possibility in CommonMiddleware
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.16 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.16 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.14 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.14 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b15\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b1,\b, 2\b20\b01\b18\b8\n Django 1.11.15 fixes a security issue in 1.11.14.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b18\b8-\b-1\b14\b45\b57\b74\b4:\b: O\bOp\bpe\ben\bn r\bre\bed\bdi\bir\bre\bec\bct\bt p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn C\bCo\bom\bmm\bmo\bon\bnM\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If the _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be and the _\bA_\bP_\bP_\bE_\bN_\bD_\b__\bS_\bL_\bA_\bS_\bH setting are both enabled, and if\n@@ -11,16 +11,16 @@\n maliciously crafted URL of that site could lead to a redirect to another site,\n enabling phishing and other attacks.\n CommonMiddleware now escapes leading slashes to prevent redirects to other\n domains.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b8_\b-_\b1_\b4_\b5_\b7_\b4_\b:_\b _\bO_\bp_\be_\bn_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bC_\bo_\bm_\bm_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.16.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.16.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.16 release notes — Django 5.1.4 documentation\n+ Django 1.11.16 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,37 +108,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.17 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.17 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.15 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.15 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b16\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 1\b1,\b, 2\b20\b01\b18\b8\n Django 1.11.16 fixes a data loss bug in 1.11.15.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a race condition in QuerySet.update_or_create() that could result\n in data loss (_\b#_\b2_\b9_\b4_\b9_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.17.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.17.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.17 release notes — Django 5.1.4 documentation\n+ Django 1.11.17 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.18 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.18 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.16 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.16 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b17\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 3\b3,\b, 2\b20\b01\b18\b8\n Django 1.11.17 fixes several bugs in 1.11.16 and adds compatibility with Python\n 3.7.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Prevented repetitive calls to geos_version_tuple() in the WKBWriter class\n in an attempt to fix a random crash involving LooseVersion since Django\n 1.11.14 (_\b#_\b2_\b9_\b9_\b5_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.18.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.18.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.18 release notes — Django 5.1.4 documentation\n+ Django 1.11.18 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.19 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.19 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.17 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.17 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b18\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 4\b4,\b, 2\b20\b01\b19\b9\n Django 1.11.18 fixes a security issue in 1.11.17.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-3\b34\b49\b98\b8:\b: C\bCo\bon\bnt\bte\ben\bnt\bt s\bsp\bpo\boo\bof\bfi\bin\bng\bg p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn t\bth\bhe\be d\bde\bef\bfa\bau\bul\blt\bt 4\b40\b04\b4 p\bpa\bag\bge\be_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n@@ -11,16 +11,16 @@\n view.\n The URL path is no longer displayed in the default 404 template and the\n request_path context variable is now quoted to fix the issue for custom\n templates that use the path.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b3_\b4_\b9_\b8_\b:_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\b _\bs_\bp_\bo_\bo_\bf_\bi_\bn_\bg_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\b4_\b0_\b4_\b _\bp_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.19.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.19.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.19 release notes — Django 5.1.4 documentation\n+ Django 1.11.19 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.20 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.20 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.18 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.18 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.1\b19\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 1\b11\b1,\b, 2\b20\b01\b19\b9\n Django 1.11.19 fixes a security issue in 1.11.18.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-6\b69\b97\b75\b5:\b: M\bMe\bem\bmo\bor\bry\by e\bex\bxh\bha\bau\bus\bst\bti\bio\bon\bn i\bin\bn d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.n\bnu\bum\bmb\bbe\ber\brf\bfo\bor\brm\bma\bat\bt.\b.f\bfo\bor\brm\bma\bat\bt(\b()\b)_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n@@ -12,16 +12,16 @@\n significant memory usage due to a call to '{:f}'.format().\n To avoid this, decimals with more than 200 digits are now formatted using\n scientific notation.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b6_\b9_\b7_\b5_\b:_\b _\bM_\be_\bm_\bo_\br_\by_\b _\be_\bx_\bh_\ba_\bu_\bs_\bt_\bi_\bo_\bn_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bn_\bu_\bm_\bb_\be_\br_\bf_\bo_\br_\bm_\ba_\bt_\b._\bf_\bo_\br_\bm_\ba_\bt_\b(_\b)\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.2 release notes — Django 5.1.4 documentation\n+ Django 1.11.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -143,37 +144,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bun\bne\be 1\b1,\b, 2\b20\b01\b17\b7\n Django 1.11.2 adds a minor feature and fixes several bugs in 1.11.1. Also, the\n latest string translations from Transifex are incorporated.\n *\b**\b**\b**\b**\b* M\bMi\bin\bno\bor\br f\bfe\bea\bat\btu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -40,16 +40,16 @@\n * Moved the ImageField file extension validation added in Django 1.11 from\n the model field to the form field to reallow the use case of storing\n images without an extension (_\b#_\b2_\b8_\b2_\b4_\b2).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bM_\bi_\bn_\bo_\br_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.20.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.20.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.20 release notes — Django 5.1.4 documentation\n+ Django 1.11.20 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -106,37 +107,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.21 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.21 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.19 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.19 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b20\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 1\b11\b1,\b, 2\b20\b01\b19\b9\n Django 1.11.20 fixes a packaging error in 1.11.19.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Corrected packaging error from 1.11.19 (_\b#_\b3_\b0_\b1_\b7_\b5).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.21.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.21.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.21 release notes — Django 5.1.4 documentation\n+ Django 1.11.21 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -79,15 +80,15 @@\n \n
    \n

    Django 1.11.21 release notes\u00b6

    \n

    June 3, 2019

    \n

    Django 1.11.21 fixes a security issue in 1.11.20.

    \n
    \n

    CVE-2019-12308: AdminURLFieldWidget XSS\u00b6

    \n-

    The clickable \u201cCurrent URL\u201d link generated by AdminURLFieldWidget displayed\n+

    The clickable \u00abCurrent URL\u00bb link generated by AdminURLFieldWidget displayed\n the provided value without validating it as a safe URL. Thus, an unvalidated\n value stored in the database, or a value provided as a URL query parameter\n payload, could result in an clickable JavaScript link.

    \n

    AdminURLFieldWidget now validates the provided value using\n URLValidator before displaying the clickable\n link. You may customize the validator by passing a validator_class kwarg to\n AdminURLFieldWidget.__init__(), e.g. when using\n@@ -112,37 +113,37 @@\n

  • CVE-2019-12308: AdminURLFieldWidget XSS
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.22 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.22 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.20 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.20 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,27 +1,27 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b21\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bun\bne\be 3\b3,\b, 2\b20\b01\b19\b9\n Django 1.11.21 fixes a security issue in 1.11.20.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-1\b12\b23\b30\b08\b8:\b: A\bAd\bdm\bmi\bin\bnU\bUR\bRL\bLF\bFi\bie\bel\bld\bdW\bWi\bid\bdg\bge\bet\bt X\bXS\bSS\bS_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-The clickable \u201cCurrent URL\u201d link generated by AdminURLFieldWidget displayed the\n+The clickable \u00abCurrent URL\u00bb link generated by AdminURLFieldWidget displayed the\n provided value without validating it as a safe URL. Thus, an unvalidated value\n stored in the database, or a value provided as a URL query parameter payload,\n could result in an clickable JavaScript link.\n AdminURLFieldWidget now validates the provided value using _\bU_\bR_\bL_\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br before\n displaying the clickable link. You may customize the validator by passing a\n validator_class kwarg to AdminURLFieldWidget.__init__(), e.g. when using\n _\bf_\bo_\br_\bm_\bf_\bi_\be_\bl_\bd_\b__\bo_\bv_\be_\br_\br_\bi_\bd_\be_\bs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b2_\b3_\b0_\b8_\b:_\b _\bA_\bd_\bm_\bi_\bn_\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd_\bW_\bi_\bd_\bg_\be_\bt_\b _\bX_\bS_\bS\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.22.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.22.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.22 release notes — Django 5.1.4 documentation\n+ Django 1.11.22 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.23 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.23 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.21 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.21 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b22\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 1\b1,\b, 2\b20\b01\b19\b9\n Django 1.11.22 fixes a security issue in 1.11.21.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-1\b12\b27\b78\b81\b1:\b: I\bIn\bnc\bco\bor\brr\bre\bec\bct\bt H\bHT\bTT\bTP\bP d\bde\bet\bte\bec\bct\bti\bio\bon\bn w\bwi\bit\bth\bh r\bre\bev\bve\ber\brs\bse\be-\b-p\bpr\bro\box\bxy\by c\bco\bon\bnn\bne\bec\bct\bti\bin\bng\bg\n v\bvi\bia\ba H\bHT\bTT\bTP\bPS\bS_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -18,16 +18,16 @@\n that connects to Django via HTTPS, be sure to verify that your application\n correctly handles code paths relying on scheme, is_secure(), build_absolute_uri\n (), and SECURE_SSL_REDIRECT.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b2_\b7_\b8_\b1_\b:_\b _\bI_\bn_\bc_\bo_\br_\br_\be_\bc_\bt_\b _\bH_\bT_\bT_\bP_\b _\bd_\be_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\bw_\bi_\bt_\bh_\b _\br_\be_\bv_\be_\br_\bs_\be_\b-_\bp_\br_\bo_\bx_\by\n _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bn_\bg_\b _\bv_\bi_\ba_\b _\bH_\bT_\bT_\bP_\bS\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.23.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.23.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.23 release notes — Django 5.1.4 documentation\n+ Django 1.11.23 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.24 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.24 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.22 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.22 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b23\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b1,\b, 2\b20\b01\b19\b9\n Django 1.11.23 fixes security issues in 1.11.22.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-1\b14\b42\b23\b32\b2:\b: D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn\n d\bdj\bja\ban\bng\bgo\bo.\b.u\but\bti\bil\bls\bs.\b.t\bte\bex\bxt\bt.\b.T\bTr\bru\bun\bnc\bca\bat\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -43,16 +43,16 @@\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b4_\b2_\b3_\b2_\b:_\b _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\be_\bx_\bt_\b._\bT_\br_\bu_\bn_\bc_\ba_\bt_\bo_\br\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b4_\b2_\b3_\b3_\b:_\b _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b)\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b4_\b2_\b3_\b4_\b:_\b _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bk_\be_\by_\b _\ba_\bn_\bd_\b _\bi_\bn_\bd_\be_\bx_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs\n _\bf_\bo_\br_\b _\bJ_\bS_\bO_\bN_\bF_\bi_\be_\bl_\bd_\b/_\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b4_\b2_\b3_\b5_\b:_\b _\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b _\bm_\be_\bm_\bo_\br_\by_\b _\be_\bx_\bh_\ba_\bu_\bs_\bt_\bi_\bo_\bn_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b._\bu_\br_\bi_\b__\bt_\bo_\b__\bi_\br_\bi_\b(_\b)\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.24.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.24.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.24 release notes — Django 5.1.4 documentation\n+ Django 1.11.24 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.25 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.25 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.23 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.23 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b24\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b19\b9\n Django 1.11.24 fixes a regression in 1.11.23.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed crash of KeyTransform() for\n django.contrib.postgres.fields.JSONField and _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd when using on\n expressions with params (_\b#_\b3_\b0_\b6_\b7_\b2).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.25.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.25.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.25 release notes — Django 5.1.4 documentation\n+ Django 1.11.25 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -108,37 +109,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.26 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.26 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.24 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.24 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b25\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 1\b1,\b, 2\b20\b01\b19\b9\n Django 1.11.25 fixes a regression in 1.11.23.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a crash when filtering with a Subquery() annotation of a queryset\n containing django.contrib.postgres.fields.JSONField or _\bH_\bS_\bt_\bo_\br_\be_\bF_\bi_\be_\bl_\bd\n (_\b#_\b3_\b0_\b7_\b6_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.26.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.26.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.26 release notes — Django 5.1.4 documentation\n+ Django 1.11.26 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.27 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.27 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.25 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.25 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b26\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n N\bNo\bov\bve\bem\bmb\bbe\ber\br 4\b4,\b, 2\b20\b01\b19\b9\n Django 1.11.26 fixes a regression in 1.11.25.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a crash when using a contains, contained_by, has_key, has_keys, or\n has_any_keys lookup on django.contrib.postgres.fields.JSONField, if the\n right or left hand side of an expression is a key transform (_\b#_\b3_\b0_\b8_\b2_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.27.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.27.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.27 release notes — Django 5.1.4 documentation\n+ Django 1.11.27 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -122,37 +123,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.28 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.28 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.26 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.26 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b27\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 1\b18\b8,\b, 2\b20\b01\b19\b9\n Django 1.11.27 fixes a security issue and a data loss bug in 1.11.26.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b19\b9-\b-1\b19\b98\b84\b44\b4:\b: P\bPo\bot\bte\ben\bnt\bti\bia\bal\bl a\bac\bcc\bco\bou\bun\bnt\bt h\bhi\bij\bja\bac\bck\bk v\bvi\bia\ba p\bpa\bas\bss\bsw\bwo\bor\brd\bd r\bre\bes\bse\bet\bt f\bfo\bor\brm\bm_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n By submitting a suitably crafted email address making use of Unicode\n@@ -18,16 +18,16 @@\n * Fixed a data loss possibility in _\bS_\bp_\bl_\bi_\bt_\bA_\br_\br_\ba_\by_\bF_\bi_\be_\bl_\bd. When using with\n ArrayField(BooleanField()), all values after the first True value were\n marked as checked instead of preserving passed values (_\b#_\b3_\b1_\b0_\b7_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b9_\b-_\b1_\b9_\b8_\b4_\b4_\b:_\b _\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b _\ba_\bc_\bc_\bo_\bu_\bn_\bt_\b _\bh_\bi_\bj_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\br_\be_\bs_\be_\bt_\b _\bf_\bo_\br_\bm\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.28.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.28.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.28 release notes — Django 5.1.4 documentation\n+ Django 1.11.28 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.29 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.29 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.27 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.27 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b28\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 3\b3,\b, 2\b20\b02\b20\b0\n Django 1.11.28 fixes a security issue in 1.11.27.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b02\b20\b0-\b-7\b74\b47\b71\b1:\b: P\bPo\bot\bte\ben\bnt\bti\bia\bal\bl S\bSQ\bQL\bL i\bin\bnj\bje\bec\bct\bti\bio\bon\bn v\bvi\bia\ba S\bSt\btr\bri\bin\bng\bgA\bAg\bgg\bg(\b(d\bde\bel\bli\bim\bmi\bit\bte\ber\br)\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg aggregation function was subject to SQL injection, using a suitably\n crafted delimiter.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b2_\b0_\b-_\b7_\b4_\b7_\b1_\b:_\b _\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bv_\bi_\ba_\b _\bS_\bt_\br_\bi_\bn_\bg_\bA_\bg_\bg_\b(_\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br_\b)\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.29.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.29.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.29 release notes — Django 5.1.4 documentation\n+ Django 1.11.29 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 2.0 release notes

    \n+ title=\"capitolo precedente\">Django 2.0 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.28 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.28 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.2\b29\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 4\b4,\b, 2\b20\b02\b20\b0\n Django 1.11.29 fixes a security issue in 1.11.28.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b02\b20\b0-\b-9\b94\b40\b02\b2:\b: P\bPo\bot\bte\ben\bnt\bti\bia\bal\bl S\bSQ\bQL\bL i\bin\bnj\bje\bec\bct\bti\bio\bon\bn v\bvi\bia\ba t\bto\bol\ble\ber\bra\ban\bnc\bce\be p\bpa\bar\bra\bam\bme\bet\bte\ber\br i\bin\bn G\bGI\bIS\bS\n f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs a\ban\bnd\bd a\bag\bgg\bgr\bre\beg\bga\bat\bte\bes\bs o\bon\bn O\bOr\bra\bac\bcl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n GIS functions and aggregates on Oracle were subject to SQL injection, using a\n suitably crafted tolerance.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b2_\b0_\b-_\b9_\b4_\b0_\b2_\b:_\b _\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b _\bS_\bQ_\bL_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bv_\bi_\ba_\b _\bt_\bo_\bl_\be_\br_\ba_\bn_\bc_\be_\b _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\b _\bi_\bn\n _\bG_\bI_\bS_\b _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs_\b _\ba_\bn_\bd_\b _\ba_\bg_\bg_\br_\be_\bg_\ba_\bt_\be_\bs_\b _\bo_\bn_\b _\bO_\br_\ba_\bc_\bl_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b2_\b._\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.3 release notes — Django 5.1.4 documentation\n+ Django 1.11.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -142,37 +143,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 1\b1,\b, 2\b20\b01\b17\b7\n Django 1.11.3 fixes several bugs in 1.11.2.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Removed an incorrect deprecation warning about a missing renderer\n@@ -40,16 +40,16 @@\n * Fixed UnboundLocalError crash in RenameField with nonexistent field\n (_\b#_\b2_\b8_\b3_\b5_\b0).\n * Fixed a regression preventing a model field\u2019s limit_choices_to from being\n evaluated when a ModelForm is instantiated (_\b#_\b2_\b8_\b3_\b4_\b5).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.4 release notes — Django 5.1.4 documentation\n+ Django 1.11.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -127,37 +128,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b1,\b, 2\b20\b01\b17\b7\n Django 1.11.4 fixes several bugs in 1.11.3.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression in 1.11.3 on Python 2 where non-ASCII format values\n@@ -25,16 +25,16 @@\n is_initial, input_text, initial_text, and clear_checkbox_label are now\n attributes of widget rather than appearing in the top-level context.\n * Fixed queryset crash when using a GenericRelation to a proxy model\n (_\b#_\b2_\b8_\b4_\b1_\b8).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.5 release notes — Django 5.1.4 documentation\n+ Django 1.11.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -141,37 +142,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 5\b5,\b, 2\b20\b01\b17\b7\n Django 1.11.5 fixes a security issue and several bugs in 1.11.4.\n *\b**\b**\b**\b**\b* C\bCV\bVE\bE-\b-2\b20\b01\b17\b7-\b-1\b12\b27\b79\b94\b4:\b: P\bPo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS i\bin\bn t\btr\bra\bac\bce\beb\bba\bac\bck\bk s\bse\bec\bct\bti\bio\bon\bn o\bof\bf t\bte\bec\bch\bhn\bni\bic\bca\bal\bl 5\b50\b00\b0 d\bde\beb\bbu\bug\bg\n p\bpa\bag\bge\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -40,16 +40,16 @@\n * Fixed a regression in contrib.auth\u2019s login() and logout() views where\n they ignored positional arguments (_\b#_\b2_\b8_\b5_\b5_\b0).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\bV_\bE_\b-_\b2_\b0_\b1_\b7_\b-_\b1_\b2_\b7_\b9_\b4_\b:_\b _\bP_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\bi_\bn_\b _\bt_\br_\ba_\bc_\be_\bb_\ba_\bc_\bk_\b _\bs_\be_\bc_\bt_\bi_\bo_\bn_\b _\bo_\bf_\b _\bt_\be_\bc_\bh_\bn_\bi_\bc_\ba_\bl_\b _\b5_\b0_\b0\n _\bd_\be_\bb_\bu_\bg_\b _\bp_\ba_\bg_\be\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.6 release notes — Django 5.1.4 documentation\n+ Django 1.11.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,37 +113,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 5\b5,\b, 2\b20\b01\b17\b7\n Django 1.11.6 fixes several bugs in 1.11.5.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Made the CharField form field convert whitespace-only values to the\n@@ -11,16 +11,16 @@\n (id) in an Index\u2019s fields (_\b#_\b2_\b8_\b5_\b9_\b7).\n * Fixed a regression in Django 1.9 where a custom view error handler such\n as handler404 that accesses csrf_token could cause CSRF verification\n failures on other pages (_\b#_\b2_\b8_\b4_\b8_\b8).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.7 release notes — Django 5.1.4 documentation\n+ Django 1.11.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,37 +113,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,24 +1,24 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n N\bNo\bov\bve\bem\bmb\bbe\ber\br 1\b1,\b, 2\b20\b01\b17\b7\n Django 1.11.7 fixes several bugs in 1.11.6.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Prevented cache.get_or_set() from caching None if the default argument is\n a callable that returns None (_\b#_\b2_\b8_\b6_\b0_\b1).\n * Fixed the Basque DATE_FORMAT string (_\b#_\b2_\b8_\b7_\b1_\b0).\n * Made QuerySet.reverse() affect nulls_first and nulls_last (_\b#_\b2_\b8_\b7_\b2_\b2).\n * Fixed unquoted table names in Subquery SQL when using OuterRef (_\b#_\b2_\b8_\b6_\b8_\b9).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.8 release notes — Django 5.1.4 documentation\n+ Django 1.11.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,15 +96,15 @@\n values() and values_list() (#28817).

    \n
  • Fixed crash on SQLite and MySQL when ordering by a filtered subquery that\n uses nulls_first or nulls_last (#28848).

  • \n
  • Made query lookups for CICharField, CIEmailField, and CITextField\n use a citext cast (#28702).

  • \n
  • Fixed a regression in caching of a GenericForeignKey when the referenced\n model instance uses multi-table inheritance (#28856).

  • \n-
  • Fixed \u201cCannot change column \u2018x\u2019: used in a foreign key constraint\u201d crash on\n+

  • Fixed \u00abCannot change column \u201cx\u201d: used in a foreign key constraint\u00bb crash on\n MySQL with a sequence of AlterField and/or RenameField operations in\n a migration (#28305).

  • \n \n \n \n \n \n@@ -123,37 +124,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.9 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.9 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b17\b7\n Django 1.11.8 fixes several bugs in 1.11.7.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Reallowed, following a regression in Django 1.10, AuthenticationForm to\n@@ -15,22 +15,22 @@\n values() and values_list() (_\b#_\b2_\b8_\b8_\b1_\b7).\n * Fixed crash on SQLite and MySQL when ordering by a filtered subquery that\n uses nulls_first or nulls_last (_\b#_\b2_\b8_\b8_\b4_\b8).\n * Made query lookups for CICharField, CIEmailField, and CITextField use a\n citext cast (_\b#_\b2_\b8_\b7_\b0_\b2).\n * Fixed a regression in caching of a GenericForeignKey when the referenced\n model instance uses multi-table inheritance (_\b#_\b2_\b8_\b8_\b5_\b6).\n- * Fixed \u201cCannot change column \u2018x\u2019: used in a foreign key constraint\u201d crash\n+ * Fixed \u00abCannot change column \u201cx\u201d: used in a foreign key constraint\u00bb crash\n on MySQL with a sequence of AlterField and/or RenameField operations in a\n migration (_\b#_\b2_\b8_\b3_\b0_\b5).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.9.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.9.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11.9 release notes — Django 5.1.4 documentation\n+ Django 1.11.9 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -114,37 +115,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.10 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.10 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.11.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.11.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1.\b.9\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 1\b1,\b, 2\b20\b01\b18\b8\n Django 1.11.9 fixes several bugs in 1.11.8.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression in Django 1.11 that added newlines between\n@@ -13,16 +13,16 @@\n db_table (_\b#_\b2_\b8_\b8_\b7_\b6).\n * Fixed a regression in caching of a GenericForeignKey when the referenced\n model instance uses more than one level of multi-table inheritance\n (_\b#_\b2_\b8_\b8_\b5_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.11 release notes — Django 5.1.4 documentation\n+ Django 1.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -319,15 +320,15 @@\n \n
    \n

    Forms\u00b6

    \n \n
    \n
    \n

    Internationalization\u00b6

    \n
      \n@@ -892,37 +893,37 @@\n \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.11.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.11.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.10.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.10.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 4\b4,\b, 2\b20\b01\b17\b7\n Welcome to Django 1.11!\n These release notes cover the _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, as well as some _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs you\u2019ll want to be aware of when upgrading from Django 1.10\n@@ -154,15 +154,15 @@\n UTF-8 is specified for a t\bte\bex\bxt\bt/\b/*\b* attachment.\n *\b**\b**\b* F\bFi\bil\ble\be S\bSt\bto\bor\bra\bag\bge\be_\b?\b\u00b6 *\b**\b**\b*\n * To make it wrappable by _\bi_\bo_\b._\bT_\be_\bx_\bt_\bI_\bO_\bW_\br_\ba_\bp_\bp_\be_\br, _\bF_\bi_\bl_\be now has the readable(),\n writable(), and seekable() methods.\n *\b**\b**\b* F\bFo\bor\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b*\n * The new empty_value attribute on _\bC_\bh_\ba_\br_\bF_\bi_\be_\bl_\bd, _\bE_\bm_\ba_\bi_\bl_\bF_\bi_\be_\bl_\bd, _\bR_\be_\bg_\be_\bx_\bF_\bi_\be_\bl_\bd,\n _\bS_\bl_\bu_\bg_\bF_\bi_\be_\bl_\bd, and _\bU_\bR_\bL_\bF_\bi_\be_\bl_\bd allows specifying the Python value to use to\n- represent \u201cempty\u201d.\n+ represent \u00abempty\u00bb.\n * The new _\bF_\bo_\br_\bm_\b._\bg_\be_\bt_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bf_\bo_\br_\b__\bf_\bi_\be_\bl_\bd_\b(_\b) method returns initial data for a\n form field.\n *\b**\b**\b* I\bIn\bnt\bte\ber\brn\bna\bat\bti\bio\bon\bna\bal\bli\biz\bza\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b*\n * Number formatting and the _\bN_\bU_\bM_\bB_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\bI_\bN_\bG setting support non-uniform\n digit grouping.\n *\b**\b**\b* M\bMa\ban\bna\bag\bge\bem\bme\ben\bnt\bt C\bCo\bom\bmm\bma\ban\bnd\bds\bs_\b?\b\u00b6 *\b**\b**\b*\n * The new _\bl_\bo_\ba_\bd_\bd_\ba_\bt_\ba_\b _\b-_\b-_\be_\bx_\bc_\bl_\bu_\bd_\be option allows excluding models and apps while\n@@ -563,16 +563,16 @@\n _\bn_\bo_\bn_\b-_\bd_\bi_\bc_\bt_\b _\bc_\bo_\bn_\bt_\be_\bx_\bt\n # _\bM_\bo_\bd_\be_\bl_\b _\bs_\bt_\ba_\bt_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs_\b _\bi_\bn_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bS_\be_\br_\bv_\be_\br_\b-_\bs_\bi_\bd_\be_\b _\bc_\bu_\br_\bs_\bo_\br_\bs_\b _\bo_\bn_\b _\bP_\bo_\bs_\bt_\bg_\br_\be_\bS_\bQ_\bL\n # _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n o _\bF_\be_\ba_\bt_\bu_\br_\be_\bs_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\be_\bd_\b _\bi_\bn_\b _\b1_\b._\b1_\b1\n # _\bm_\bo_\bd_\be_\bl_\bs_\b._\bp_\be_\br_\bm_\ba_\bl_\bi_\bn_\bk_\b(_\b)_\b _\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br\n # _\bM_\bi_\bs_\bc_\be_\bl_\bl_\ba_\bn_\be_\bo_\bu_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b1_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b0_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.1 release notes — Django 5.1.4 documentation\n+ Django 1.2.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -92,37 +93,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django 1.2.1 was released almost immediately after 1.2.0 to correct two small\n bugs: one was in the documentation packaging script, the other was a _\bb_\bu_\bg that\n affected datetime form field widgets when localization was enabled.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.2 release notes — Django 5.1.4 documentation\n+ Django 1.2.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.2.2 release notes\u00b6

    \n

    Welcome to Django 1.2.2!

    \n-

    This is the second \u201cbugfix\u201d release in the Django 1.2 series,\n+

    This is the second \u00abbugfix\u00bb release in the Django 1.2 series,\n improving the stability and performance of the Django 1.2 codebase.

    \n

    Django 1.2.2 maintains backwards compatibility with Django\n 1.2.1, but contain a number of fixes and other\n improvements. Django 1.2.2 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.2.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the Django 1.2 release notes.

    \n@@ -118,37 +119,37 @@\n
  • One new feature
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.2.2!\n-This is the second \u201cbugfix\u201d release in the Django 1.2 series, improving the\n+This is the second \u00abbugfix\u00bb release in the Django 1.2 series, improving the\n stability and performance of the Django 1.2 codebase.\n Django 1.2.2 maintains backwards compatibility with Django 1.2.1, but contain a\n number of fixes and other improvements. Django 1.2.2 is a recommended upgrade\n for any development or deployment currently using or targeting Django 1.2.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n *\b**\b**\b**\b**\b* O\bOn\bne\be n\bne\bew\bw f\bfe\bea\bat\btu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -17,16 +17,16 @@\n necessary to add a feature \u2013 the enforce_csrf_checks flag \u2013 to the _\bt_\be_\bs_\bt_\b _\bc_\bl_\bi_\be_\bn_\bt.\n This flag forces the test client to perform full CSRF checks on forms. The\n default behavior of the test client hasn\u2019t changed, but if you want to do CSRF\n checks with the test client, it is now possible to do so.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bO_\bn_\be_\b _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.3 release notes — Django 5.1.4 documentation\n+ Django 1.2.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -99,37 +100,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Django 1.2.3 fixed a couple of release problems in the 1.2.2 release and was\n released two days after 1.2.2.\n This release corrects the following problems:\n * The _\bp_\ba_\bt_\bc_\bh applied for the security issue covered in Django 1.2.2 caused\n issues with non-ASCII responses using CSRF tokens.\n * The patch also caused issues with some forms, most notably the user-\n editing forms in the Django administrative interface.\n * The packaging manifest did not contain the full list of required files.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.4 release notes — Django 5.1.4 documentation\n+ Django 1.2.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.2.4 release notes\u00b6

    \n

    Welcome to Django 1.2.4!

    \n-

    This is the fourth \u201cbugfix\u201d release in the Django 1.2 series,\n+

    This is the fourth \u00abbugfix\u00bb release in the Django 1.2 series,\n improving the stability and performance of the Django 1.2 codebase.

    \n

    With one exception, Django 1.2.4 maintains backwards compatibility\n with Django 1.2.3. It also contains a number of fixes and other\n improvements. Django 1.2.4 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.2.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the Django 1.2 release notes.

    \n@@ -104,15 +105,15 @@\n structure and the format of these lookup arguments to invent useful\n new filters on the fly by manipulating the querystring.

    \n

    However, it has been demonstrated that this can be abused to gain\n access to information outside of an admin user\u2019s permissions; for\n example, an attacker with access to the admin and sufficient knowledge\n of model structure and relations could construct query strings which \u2013\n with repeated use of regular-expression lookups supported by the\n-Django database API \u2013 expose sensitive information such as users\u2019\n+Django database API \u2013 expose sensitive information such as users\u201d\n password hashes.

    \n

    To remedy this, django.contrib.admin will now validate that\n querystring lookup arguments either specify only fields on the model\n being viewed, or cross relations which have been explicitly\n allowed by the application developer using the preexisting\n mechanism mentioned above. This is backwards-incompatible for any\n users relying on the prior ability to insert arbitrary lookups.

    \n@@ -171,37 +172,37 @@\n
  • GeoDjango
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.2.4!\n-This is the fourth \u201cbugfix\u201d release in the Django 1.2 series, improving the\n+This is the fourth \u00abbugfix\u00bb release in the Django 1.2 series, improving the\n stability and performance of the Django 1.2 codebase.\n With one exception, Django 1.2.4 maintains backwards compatibility with Django\n 1.2.3. It also contains a number of fixes and other improvements. Django 1.2.4\n is a recommended upgrade for any development or deployment currently using or\n targeting Django 1.2.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n@@ -24,15 +24,15 @@\n format of these lookup arguments to invent useful new filters on the fly by\n manipulating the querystring.\n However, it has been demonstrated that this can be abused to gain access to\n information outside of an admin user\u2019s permissions; for example, an attacker\n with access to the admin and sufficient knowledge of model structure and\n relations could construct query strings which \u2013 with repeated use of regular-\n expression lookups supported by the Django database API \u2013 expose sensitive\n-information such as users\u2019 password hashes.\n+information such as users\u201d password hashes.\n To remedy this, django.contrib.admin will now validate that querystring lookup\n arguments either specify only fields on the model being viewed, or cross\n relations which have been explicitly allowed by the application developer using\n the preexisting mechanism mentioned above. This is backwards-incompatible for\n any users relying on the prior ability to insert arbitrary lookups.\n *\b**\b**\b**\b**\b* O\bOn\bne\be n\bne\bew\bw f\bfe\bea\bat\btu\bur\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Ordinarily, a point release would not include new features, but in the case of\n@@ -56,16 +56,16 @@\n _\bt_\be_\bs_\bt_\b _\bs_\bu_\bi_\bt_\be with runtests.py and using _\bs_\bp_\ba_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bR_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd_\b _\bf_\bi_\bl_\bt_\be_\br_\bs_\b _\bi_\bn_\b _\ba_\bd_\bm_\bi_\bn_\b _\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be\n o _\bO_\bn_\be_\b _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be\n o _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.5 release notes — Django 5.1.4 documentation\n+ Django 1.2.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.2.5 release notes\u00b6

    \n

    Welcome to Django 1.2.5!

    \n-

    This is the fifth \u201cbugfix\u201d release in the Django 1.2 series,\n+

    This is the fifth \u00abbugfix\u00bb release in the Django 1.2 series,\n improving the stability and performance of the Django 1.2 codebase.

    \n

    With four exceptions, Django 1.2.5 maintains backwards compatibility\n with Django 1.2.4. It also contains a number of fixes and other\n improvements. Django 1.2.5 is a recommended upgrade for any\n development or deployment currently using or targeting Django 1.2.

    \n

    For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the Django 1.2 release notes.

    \n@@ -203,37 +204,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,13 +1,13 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n Welcome to Django 1.2.5!\n-This is the fifth \u201cbugfix\u201d release in the Django 1.2 series, improving the\n+This is the fifth \u00abbugfix\u00bb release in the Django 1.2 series, improving the\n stability and performance of the Django 1.2 codebase.\n With four exceptions, Django 1.2.5 maintains backwards compatibility with\n Django 1.2.4. It also contains a number of fixes and other improvements. Django\n 1.2.5 is a recommended upgrade for any development or deployment currently\n using or targeting Django 1.2.\n For full details on the new features, backwards incompatibilities, and\n deprecated features in the 1.2 branch, see the _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs.\n@@ -85,16 +85,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n # _\bC_\bS_\bR_\bF_\b _\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\b _\bf_\bo_\br_\b _\bA_\bJ_\bA_\bX_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\bs\n # _\bF_\bi_\bl_\be_\bF_\bi_\be_\bl_\bd_\b _\bn_\bo_\b _\bl_\bo_\bn_\bg_\be_\br_\b _\bd_\be_\bl_\be_\bt_\be_\bs_\b _\bf_\bi_\bl_\be_\bs\n # _\bU_\bs_\be_\b _\bo_\bf_\b _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bS_\bQ_\bL_\b _\bt_\bo_\b _\bl_\bo_\ba_\bd_\b _\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bi_\bn_\b _\bt_\be_\bs_\bt_\bs\n # _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bl_\bo_\bo_\bk_\bu_\bp_\b__\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bs_\bi_\bg_\bn_\ba_\bt_\bu_\br_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.6 release notes — Django 5.1.4 documentation\n+ Django 1.2.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,37 +96,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 9\b9,\b, 2\b20\b01\b11\b1\n Welcome to Django 1.2.6!\n This is the sixth bugfix/security release in the Django 1.2 series, fixing\n several security issues present in Django 1.2.5. Django 1.2.6 is a recommended\n upgrade for all users of any Django release in the 1.2.X series.\n For a full list of issues addressed in this release, see the _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2.7 release notes — Django 5.1.4 documentation\n+ Django 1.2.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,37 +96,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b10\b0,\b, 2\b20\b01\b11\b1\n Welcome to Django 1.2.7!\n This is the seventh bugfix/security release in the Django 1.2 series. It\n replaces Django 1.2.6 due to problems with the 1.2.6 release tarball. Django\n 1.2.7 is a recommended upgrade for all users of any Django release in the 1.2.X\n series.\n For more information, see the _\br_\be_\bl_\be_\ba_\bs_\be_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.2 release notes — Django 5.1.4 documentation\n+ Django 1.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -88,26 +89,26 @@\n
    \n

    Overview\u00b6

    \n

    Django 1.2 introduces several large, important new features, including:

    \n \n

    These are just the highlights; full details and a complete list of features\n may be found below.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    Django Advent covered the release of Django 1.2 with a series of\n articles and tutorials that cover some of the new features in depth.

    \n
    \n

    Wherever possible these features have been introduced in a backwards-compatible\n manner per our API stability policy policy.

    \n

    However, a handful of features have changed in ways that, for some users, will be\n backwards-incompatible. The big changes are:

    \n@@ -178,16 +179,16 @@\n
    \n
    \n

    Improved CSRF protection\u00b6

    \n

    Django now has much improved protection against Cross-Site Request Forgery\n (CSRF) attacks. This type of attack occurs when a malicious\n website contains a link, a form button or some JavaScript that is intended to\n perform some action on your website, using the credentials of a logged-in user\n-who visits the malicious site in their browser. A related type of attack, \u201clogin\n-CSRF,\u201d where an attacking site tricks a user\u2019s browser into logging into a site\n+who visits the malicious site in their browser. A related type of attack, \u00ablogin\n+CSRF,\u00bb where an attacking site tricks a user\u2019s browser into logging into a site\n with someone else\u2019s credentials, is also covered.

    \n
    \n
    \n

    Messages framework\u00b6

    \n

    Django now includes a robust and configurable messages framework with built-in support for cookie- and session-based\n messaging, for both anonymous and authenticated clients. The messages framework\n replaces the deprecated user message API and allows you to temporarily store\n@@ -228,15 +229,15 @@\n backend implementations that allow you to send email to a\n file, to the\n console, or to\n memory. You can even configure all\n email to be thrown away.

    \n
    \n
    \n-

    \u201cSmart\u201d if tag\u00b6

    \n+

    \u00abSmart\u00bb if tag\u00b6

    \n

    The if tag has been upgraded to be much more powerful. First, we\u2019ve\n added support for comparison operators. No longer will you have to type:

    \n
    {% ifnotequal a b %}\n  ...\n {% endifnotequal %}\n 
    \n
    \n@@ -530,21 +531,21 @@\n is thread safe, this leakage no longer occurs.

    \n
    \n
    \n

    user_passes_test, login_required and permission_required\u00b6

    \n

    django.contrib.auth.decorators provides the decorators\n login_required, permission_required and\n user_passes_test. Previously it was possible to use these\n-decorators both on functions (where the first argument is \u2018request\u2019)\n-and on methods (where the first argument is \u2018self\u2019, and the second\n-argument is \u2018request\u2019). Unfortunately, flaws were discovered in the\n+decorators both on functions (where the first argument is \u201crequest\u201d)\n+and on methods (where the first argument is \u201cself\u201d, and the second\n+argument is \u201crequest\u201d). Unfortunately, flaws were discovered in the\n code supporting this: it only works in limited circumstances, and\n produces errors that are very difficult to debug when it does not\n work.

    \n-

    For this reason, the \u2018auto adapt\u2019 behavior has been removed, and if\n+

    For this reason, the \u201cauto adapt\u201d behavior has been removed, and if\n you are using these decorators on methods, you will need to manually\n apply django.utils.decorators.method_decorator() to convert the\n decorator to one that works with methods. For example, you would\n change code from this:

    \n
    class MyClass(object):\n     @login_required\n     def my_view(self, request):\n@@ -577,15 +578,15 @@\n change also applies to other decorators introduced since 1.1,\n including csrf_protect, cache_control and anything created\n using decorator_from_middleware.

    \n
    \n
    \n

    if tag changes\u00b6

    \n

    Due to new features in the if template tag, it no longer\n-accepts \u2018and\u2019, \u2018or\u2019 and \u2018not\u2019 as valid variable names. Previously,\n+accepts \u201cand\u201d, \u201cor\u201d and \u201cnot\u201d as valid variable names. Previously,\n these strings could be used as variable names. Now, the keyword status\n is always enforced, and template code such as {% if not %} or {%\n if and %} will throw a TemplateSyntaxError. Also, in is a\n new keyword and so is not a valid variable name in this tag.

    \n
    \n
    \n

    LazyObject\u00b6

    \n@@ -681,15 +682,15 @@\n indicates that a maximum of 0 forms should be imposed. This doesn\u2019t\n necessarily mean that no forms will be displayed \u2013 see the\n ModelFormSet documentation for more\n details.

    \n

    If you were manually specifying a value of 0 for max_num, you\n will need to update your FormSet and/or admin definitions.

    \n \n
    \n
    \n

    email_re\u00b6

    \n

    An undocumented regular expression for validating email addresses has been moved\n from django.form.fields to django.core.validators. You will need to\n@@ -705,15 +706,15 @@\n PendingDeprecationWarning in Django 1.2. This warning will be\n silent by default, but may be turned on using Python\u2019s warnings\n module, or by running Python with a -Wd or -Wall flag.

    \n

    In Django 1.3, these warnings will become a DeprecationWarning,\n which is not silent. In Django 1.4 support for these features will\n be removed entirely.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For more details, see the documentation Django\u2019s release process and our deprecation timeline.`

    \n
    \n
    \n

    Specifying databases\u00b6

    \n

    Prior to Django 1.2, Django used a number of settings to control\n access to a single database. Django 1.2 introduces support for\n multiple databases, and as a result the way you define database\n@@ -1069,15 +1070,15 @@\n had SpatialRefSys and GeometryColumns models for querying\n the OGC spatial metadata tables spatial_ref_sys and geometry_columns,\n respectively.

    \n

    While these aliases are still provided, they are only for the\n default database connection and exist only if the default connection\n is using a supported spatial database backend.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Because the table structure of the OGC spatial metadata tables\n differs across spatial databases, the SpatialRefSys and\n GeometryColumns models can no longer be associated with\n the gis application name. Thus, no models will be returned\n when using the get_models method in the following example:

    \n
    >>> from django.db.models import get_app, get_models\n >>> get_models(get_app("gis"))\n@@ -1091,15 +1092,15 @@\n 
    >>> from django.db import connections\n >>> SpatialRefSys = connections["my_spatialite"].ops.spatial_ref_sys()\n >>> GeometryColumns = connections["my_postgis"].ops.geometry_columns()\n 
    \n
    \n
    \n
    \n-

    Note

    \n+

    Nota

    \n

    When using the models returned from the spatial_ref_sys() and\n geometry_columns() method, you\u2019ll still need to use the\n correct database alias when querying on the non-default connection.\n In other words, to ensure that the models in the example above\n use the correct database:

    \n
    sr_qs = SpatialRefSys.objects.using("my_spatialite").filter(...)\n gc_qs = GeometryColumns.objects.using("my_postgis").filter(...)\n@@ -1143,15 +1144,15 @@\n 
  • Model validation
  • \n
  • Improved CSRF protection
  • \n
  • Messages framework
  • \n
  • Object-level permissions
  • \n
  • Permissions for anonymous users
  • \n
  • Relaxed requirements for usernames
  • \n
  • Email backends
  • \n-
  • \u201cSmart\u201d if tag
  • \n+
  • \u00abSmart\u00bb if tag
  • \n
  • Template caching
  • \n
  • Class-based template loaders
  • \n
  • Natural keys in fixtures
  • \n
  • Fast failure for tests
  • \n
  • BigIntegerField
  • \n
  • Improved localization
  • \n
  • readonly_fields in ModelAdmin
  • \n@@ -1199,37 +1200,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.2.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.2.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.1.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.1.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,31 +1,31 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b17\b7,\b, 2\b20\b01\b10\b0.\b.\n Welcome to Django 1.2!\n Nearly a year in the making, Django 1.2 packs an impressive list of _\bn_\be_\bw\n _\bf_\be_\ba_\bt_\bu_\br_\be_\bs and lots of bug fixes. These release notes cover the new features, as\n well as important changes you\u2019ll want to be aware of when upgrading from Django\n 1.1 or older versions.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django 1.2 introduces several large, important new features, including:\n * Support for _\bm_\bu_\bl_\bt_\bi_\bp_\bl_\be_\b _\bd_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\bs in a single Django instance.\n * _\bM_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn inspired by Django\u2019s form validation.\n * Vastly _\bi_\bm_\bp_\br_\bo_\bv_\be_\bd_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bC_\br_\bo_\bs_\bs_\b-_\bS_\bi_\bt_\be_\b _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bF_\bo_\br_\bg_\be_\br_\by (CSRF).\n- * A new _\bu_\bs_\be_\br_\b _\b\u201c_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b\u201d_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk with support for cookie- and session-\n+ * A new _\bu_\bs_\be_\br_\b _\b\u00ab_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b\u00bb_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk with support for cookie- and session-\n based message for both anonymous and authenticated users.\n * Hooks for _\bo_\bb_\bj_\be_\bc_\bt_\b-_\bl_\be_\bv_\be_\bl_\b _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs, _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\bu_\bs_\be_\br_\bs, and\n _\bm_\bo_\br_\be_\b _\bf_\bl_\be_\bx_\bi_\bb_\bl_\be_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b _\br_\be_\bq_\bu_\bi_\br_\be_\bm_\be_\bn_\bt_\bs.\n * Customization of email sending via _\be_\bm_\ba_\bi_\bl_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs.\n- * New _\b\u201c_\bs_\bm_\ba_\br_\bt_\b\u201d_\b _\bi_\bf_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg which supports comparison operators.\n+ * New _\b\u00ab_\bs_\bm_\ba_\br_\bt_\b\u00bb_\b _\bi_\bf_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg which supports comparison operators.\n These are just the highlights; full details and a complete list of features _\bm_\ba_\by\n _\bb_\be_\b _\bf_\bo_\bu_\bn_\bd_\b _\bb_\be_\bl_\bo_\bw.\n-See also\n+Vedi anche\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\bA_\bd_\bv_\be_\bn_\bt covered the release of Django 1.2 with a series of articles and\n tutorials that cover some of the new features in depth.\n Wherever possible these features have been introduced in a backwards-compatible\n manner per _\bo_\bu_\br_\b _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\by policy.\n However, a handful of features h\bha\bav\bve\be changed in ways that, for some users, will\n be backwards-incompatible. The big changes are:\n * Support for Python 2.3 has been dropped. See the full notes below.\n@@ -78,15 +78,15 @@\n still be performed explicitly. Simply invoking a model instance\u2019s save() method\n will not perform any validation of the instance\u2019s data.\n *\b**\b**\b**\b* I\bIm\bmp\bpr\bro\bov\bve\bed\bd C\bCS\bSR\bRF\bF p\bpr\bro\bot\bte\bec\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Django now has much improved protection against _\bC_\br_\bo_\bs_\bs_\b-_\bS_\bi_\bt_\be_\b _\bR_\be_\bq_\bu_\be_\bs_\bt_\b _\bF_\bo_\br_\bg_\be_\br_\by_\b \n _\b(_\bC_\bS_\bR_\bF_\b)_\b _\ba_\bt_\bt_\ba_\bc_\bk_\bs. This type of attack occurs when a malicious website contains a\n link, a form button or some JavaScript that is intended to perform some action\n on your website, using the credentials of a logged-in user who visits the\n-malicious site in their browser. A related type of attack, \u201clogin CSRF,\u201d where\n+malicious site in their browser. A related type of attack, \u00ablogin CSRF,\u00bb where\n an attacking site tricks a user\u2019s browser into logging into a site with someone\n else\u2019s credentials, is also covered.\n *\b**\b**\b**\b* M\bMe\bes\bss\bsa\bag\bge\bes\bs f\bfr\bra\bam\bme\bew\bwo\bor\brk\bk_\b?\b\u00b6 *\b**\b**\b**\b*\n Django now includes a robust and configurable _\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk with built-in\n support for cookie- and session-based messaging, for both anonymous and\n authenticated clients. The messages framework replaces the deprecated user\n message API and allows you to temporarily store messages in one request and\n@@ -112,15 +112,15 @@\n send all email, you can now choose a configurable email backend to send\n messages. If your hosting provider uses a sandbox or some other non-SMTP\n technique for sending mail, you can now construct an email backend that will\n allow Django\u2019s standard _\bm_\ba_\bi_\bl_\b _\bs_\be_\bn_\bd_\bi_\bn_\bg_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs to use those facilities.\n This also makes it easier to debug mail sending. Django ships with backend\n implementations that allow you to send email to a _\bf_\bi_\bl_\be, to the _\bc_\bo_\bn_\bs_\bo_\bl_\be, or to\n _\bm_\be_\bm_\bo_\br_\by. You can even configure all email to be _\bt_\bh_\br_\bo_\bw_\bn_\b _\ba_\bw_\ba_\by.\n-*\b**\b**\b**\b* ?\b\u201cS\bSm\bma\bar\brt\bt?\b\u201d _\bi\bi_\bf\bf t\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n+*\b**\b**\b**\b* ?\b\u00abS\bSm\bma\bar\brt\bt?\b\u00bb _\bi\bi_\bf\bf t\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n The _\bi_\bf tag has been upgraded to be much more powerful. First, we\u2019ve added\n support for comparison operators. No longer will you have to type:\n {% ifnotequal a b %}\n ...\n {% endifnotequal %}\n You can now do this:\n {% if a != b %}\n@@ -333,20 +333,20 @@\n This is because each rendering of the _\bi_\bn_\bc_\bl_\bu_\bd_\be tag is an independent rendering.\n When the _\bc_\by_\bc_\bl_\be tag was not thread safe, the state of the _\bc_\by_\bc_\bl_\be tag would leak\n between multiple renderings of the same _\bi_\bn_\bc_\bl_\bu_\bd_\be. Now that the _\bc_\by_\bc_\bl_\be tag is\n thread safe, this leakage no longer occurs.\n *\b**\b**\b**\b* u\bus\bse\ber\br_\b_p\bpa\bas\bss\bse\bes\bs_\b_t\bte\bes\bst\bt,\b, l\blo\bog\bgi\bin\bn_\b_r\bre\beq\bqu\bui\bir\bre\bed\bd a\ban\bnd\bd p\bpe\ber\brm\bmi\bis\bss\bsi\bio\bon\bn_\b_r\bre\beq\bqu\bui\bir\bre\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n django.contrib.auth.decorators provides the decorators login_required,\n permission_required and user_passes_test. Previously it was possible to use\n-these decorators both on functions (where the first argument is \u2018request\u2019) and\n-on methods (where the first argument is \u2018self\u2019, and the second argument is\n-\u2018request\u2019). Unfortunately, flaws were discovered in the code supporting this:\n+these decorators both on functions (where the first argument is \u201crequest\u201d) and\n+on methods (where the first argument is \u201cself\u201d, and the second argument is\n+\u201crequest\u201d). Unfortunately, flaws were discovered in the code supporting this:\n it only works in limited circumstances, and produces errors that are very\n difficult to debug when it does not work.\n-For this reason, the \u2018auto adapt\u2019 behavior has been removed, and if you are\n+For this reason, the \u201cauto adapt\u201d behavior has been removed, and if you are\n using these decorators on methods, you will need to manually apply\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\bs_\b._\bm_\be_\bt_\bh_\bo_\bd_\b__\bd_\be_\bc_\bo_\br_\ba_\bt_\bo_\br_\b(_\b) to convert the decorator to one that\n works with methods. For example, you would change code from this:\n class MyClass(object):\n @login_required\n def my_view(self, request):\n pass\n@@ -368,16 +368,16 @@\n @login_required_m\n def my_view(self, request):\n pass\n For those of you who\u2019ve been following the development trunk, this change also\n applies to other decorators introduced since 1.1, including csrf_protect,\n cache_control and anything created using decorator_from_middleware.\n *\b**\b**\b**\b* _\bi\bi_\bf\bf t\bta\bag\bg c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-Due to new features in the _\bi_\bf template tag, it no longer accepts \u2018and\u2019, \u2018or\u2019\n-and \u2018not\u2019 as valid v\bva\bar\bri\bia\bab\bbl\ble\be names. Previously, these strings could be used as\n+Due to new features in the _\bi_\bf template tag, it no longer accepts \u201cand\u201d, \u201cor\u201d\n+and \u201cnot\u201d as valid v\bva\bar\bri\bia\bab\bbl\ble\be names. Previously, these strings could be used as\n variable names. Now, the keyword status is always enforced, and template code\n such as {% if not %} or {% if and %} will throw a TemplateSyntaxError. Also, in\n is a new keyword and so is not a valid variable name in this tag.\n *\b**\b**\b**\b* L\bLa\baz\bzy\byO\bOb\bbj\bje\bec\bct\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n LazyObject is an undocumented-but-often-used utility class used for lazily\n wrapping other objects of unknown type.\n In Django 1.1 and earlier, it handled introspection in a non-standard way,\n@@ -447,15 +447,15 @@\n FormSets will differentiate between a value of None and a value of 0. A value\n of None indicates that no limit on the number of forms is to be imposed; a\n value of 0 indicates that a maximum of 0 forms should be imposed. This doesn\u2019t\n necessarily mean that no forms will be displayed \u2013 see the _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\bS_\be_\bt\n _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more details.\n If you were manually specifying a value of 0 for max_num, you will need to\n update your FormSet and/or admin definitions.\n-See also\n+Vedi anche\n _\bJ_\ba_\bv_\ba_\bS_\bc_\br_\bi_\bp_\bt_\b-_\ba_\bs_\bs_\bi_\bs_\bt_\be_\bd_\b _\bh_\ba_\bn_\bd_\bl_\bi_\bn_\bg_\b _\bo_\bf_\b _\bi_\bn_\bl_\bi_\bn_\be_\b _\br_\be_\bl_\ba_\bt_\be_\bd_\b _\bo_\bb_\bj_\be_\bc_\bt_\bs_\b _\bi_\bn_\b _\bt_\bh_\be_\b _\ba_\bd_\bm_\bi_\bn\n *\b**\b**\b**\b* e\bem\bma\bai\bil\bl_\b_r\bre\be_\b?\b\u00b6 *\b**\b**\b**\b*\n An undocumented regular expression for validating email addresses has been\n moved from django.form.fields to django.core.validators. You will need to\n update your imports if you are using it.\n *\b**\b**\b**\b**\b* F\bFe\bea\bat\btu\bur\bre\bes\bs d\bde\bep\bpr\bre\bec\bca\bat\bte\bed\bd i\bin\bn 1\b1.\b.2\b2_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Finally, Django 1.2 deprecates some features from earlier releases. These\n@@ -463,15 +463,15 @@\n few release cycles.\n Code taking advantage of any of the features below will raise a\n PendingDeprecationWarning in Django 1.2. This warning will be silent by\n default, but may be turned on using Python\u2019s _\bw_\ba_\br_\bn_\bi_\bn_\bg_\bs module, or by running\n Python with a -Wd or -Wall flag.\n In Django 1.3, these warnings will become a DeprecationWarning, which is n\bno\bot\bt\n silent. In Django 1.4 support for these features will be removed entirely.\n-See also\n+Vedi anche\n For more details, see the documentation _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs and our\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bi_\bm_\be_\bl_\bi_\bn_\be.`\n *\b**\b**\b**\b* S\bSp\bpe\bec\bci\bif\bfy\byi\bin\bng\bg d\bda\bat\bta\bab\bba\bas\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Prior to Django 1.2, Django used a number of settings to control access to a\n single database. Django 1.2 introduces support for multiple databases, and as a\n result the way you define database settings has changed.\n Any existing Django settings file will continue to work as expected until\n@@ -712,30 +712,30 @@\n *\b**\b**\b* S\bSp\bpa\bat\bti\bia\bal\blR\bRe\bef\bfS\bSy\bys\bs a\ban\bnd\bd G\bGe\beo\bom\bme\bet\btr\bry\byC\bCo\bol\blu\bum\bmn\bns\bs m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b*\n In previous versions of GeoDjango, _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bg_\bi_\bs_\b._\bd_\bb_\b._\bm_\bo_\bd_\be_\bl_\bs had\n SpatialRefSys and GeometryColumns models for querying the OGC spatial metadata\n tables spatial_ref_sys and geometry_columns, respectively.\n While these aliases are still provided, they are only for the d\bde\bef\bfa\bau\bul\blt\bt database\n connection and exist only if the default connection is using a supported\n spatial database backend.\n-Note\n+Nota\n Because the table structure of the OGC spatial metadata tables differs across\n spatial databases, the SpatialRefSys and GeometryColumns models can no longer\n be associated with the gis application name. Thus, no models will be returned\n when using the get_models method in the following example:\n >>> from django.db.models import get_app, get_models\n >>> get_models(get_app(\"gis\"))\n []\n To get the correct SpatialRefSys and GeometryColumns for your spatial database\n use the methods provided by the spatial backend:\n >>> from django.db import connections\n >>> SpatialRefSys = connections[\"my_spatialite\"].ops.spatial_ref_sys\n ()\n >>> GeometryColumns = connections[\"my_postgis\"].ops.geometry_columns\n ()\n-Note\n+Nota\n When using the models returned from the spatial_ref_sys() and geometry_columns\n () method, you\u2019ll still need to use the correct database alias when querying on\n the non-default connection. In other words, to ensure that the models in the\n example above use the correct database:\n sr_qs = SpatialRefSys.objects.using(\"my_spatialite\").filter(...)\n gc_qs = GeometryColumns.objects.using(\"my_postgis\").filter(...)\n *\b**\b**\b**\b* L\bLa\ban\bng\bgu\bua\bag\bge\be c\bco\bod\bde\be n\bno\bo_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -754,15 +754,15 @@\n # _\bM_\bo_\bd_\be_\bl_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn\n # _\bI_\bm_\bp_\br_\bo_\bv_\be_\bd_\b _\bC_\bS_\bR_\bF_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn\n # _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk\n # _\bO_\bb_\bj_\be_\bc_\bt_\b-_\bl_\be_\bv_\be_\bl_\b _\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs\n # _\bP_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\bs_\b _\bf_\bo_\br_\b _\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\bu_\bs_\be_\br_\bs\n # _\bR_\be_\bl_\ba_\bx_\be_\bd_\b _\br_\be_\bq_\bu_\bi_\br_\be_\bm_\be_\bn_\bt_\bs_\b _\bf_\bo_\br_\b _\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\bs\n # _\bE_\bm_\ba_\bi_\bl_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd_\bs\n- # _\b\u201c_\bS_\bm_\ba_\br_\bt_\b\u201d_\b _\bi_\bf_\b _\bt_\ba_\bg\n+ # _\b\u00ab_\bS_\bm_\ba_\br_\bt_\b\u00bb_\b _\bi_\bf_\b _\bt_\ba_\bg\n # _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bc_\ba_\bc_\bh_\bi_\bn_\bg\n # _\bC_\bl_\ba_\bs_\bs_\b-_\bb_\ba_\bs_\be_\bd_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\bo_\ba_\bd_\be_\br_\bs\n # _\bN_\ba_\bt_\bu_\br_\ba_\bl_\b _\bk_\be_\by_\bs_\b _\bi_\bn_\b _\bf_\bi_\bx_\bt_\bu_\br_\be_\bs\n # _\bF_\ba_\bs_\bt_\b _\bf_\ba_\bi_\bl_\bu_\br_\be_\b _\bf_\bo_\br_\b _\bt_\be_\bs_\bt_\bs\n # _\bB_\bi_\bg_\bI_\bn_\bt_\be_\bg_\be_\br_\bF_\bi_\be_\bl_\bd\n # _\bI_\bm_\bp_\br_\bo_\bv_\be_\bd_\b _\bl_\bo_\bc_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n # _\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs_\b _\bi_\bn_\b _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn\n@@ -797,16 +797,16 @@\n # _\bF_\be_\be_\bd_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\by_\bn_\bd_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b._\bf_\be_\be_\bd_\bs\n # _\bT_\be_\bc_\bh_\bn_\bi_\bc_\ba_\bl_\b _\bm_\be_\bs_\bs_\ba_\bg_\be_\b _\bI_\bD_\bs\n # _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n # _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd\n # _\bS_\bp_\ba_\bt_\bi_\ba_\bl_\bR_\be_\bf_\bS_\by_\bs_\b _\ba_\bn_\bd_\b _\bG_\be_\bo_\bm_\be_\bt_\br_\by_\bC_\bo_\bl_\bu_\bm_\bn_\bs_\b _\bm_\bo_\bd_\be_\bl_\bs\n # _\bL_\ba_\bn_\bg_\bu_\ba_\bg_\be_\b _\bc_\bo_\bd_\be_\b _\bn_\bo\n # _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bb_\ba_\bs_\be_\bd_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bl_\bo_\ba_\bd_\be_\br_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.1 release notes — Django 5.1.4 documentation\n+ Django 1.3.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -95,37 +96,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 9\b9,\b, 2\b20\b01\b11\b1\n Welcome to Django 1.3.1!\n This is the first security release in the Django 1.3 series, fixing several\n security issues in Django 1.3. Django 1.3.1 is a recommended upgrade for all\n users of Django 1.3.\n For a full list of issues addressed in this release, see the _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.2 release notes — Django 5.1.4 documentation\n+ Django 1.3.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,37 +95,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 3\b30\b0,\b, 2\b20\b01\b12\b2\n This is the second security release in the Django 1.3 series, fixing several\n security issues in Django 1.3. Django 1.3.2 is a recommended upgrade for all\n users of Django 1.3.\n For a full list of issues addressed in this release, see the _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.3 release notes — Django 5.1.4 documentation\n+ Django 1.3.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,37 +95,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b1,\b, 2\b20\b01\b12\b2\n Following Monday\u2019s security release of _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b2, we began receiving reports\n that one of the fixes applied was breaking Python 2.4 compatibility for Django\n 1.3. Since Python 2.4 is a supported Python version for that release series,\n this release fixes compatibility with Python 2.4.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.4 release notes — Django 5.1.4 documentation\n+ Django 1.3.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -124,37 +125,37 @@\n
  • Host header poisoning
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 1\b17\b7,\b, 2\b20\b01\b12\b2\n This is the fourth release in the Django 1.3 series.\n *\b**\b**\b**\b**\b* H\bHo\bos\bst\bt h\bhe\bea\bad\bde\ber\br p\bpo\boi\bis\bso\bon\bni\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Some parts of Django \u2013 independent of end-user-written applications \u2013 make use\n@@ -22,16 +22,16 @@\n To remedy this, the parsing in HttpRequest.get_host() is being modified; Host\n headers which contain potentially dangerous content (such as username/password\n pairs) now raise the exception _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs_\b._\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn.\n Details of this issue were initially posted online as a _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.5 release notes — Django 5.1.4 documentation\n+ Django 1.3.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,16 +95,16 @@\n potentially-malicious domains.

    \n

    In response to further input received and reports of continuing issues\n following the previous release, we\u2019re taking additional steps to tighten Host\n header validation. Rather than attempt to accommodate all features HTTP\n supports here, Django\u2019s Host header validation attempts to support a smaller,\n but far more common, subset:

    \n
      \n-
    • Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u2018-\u2019) or dot\n-(\u2018.\u2019).

    • \n+
    • Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u201c-\u201d) or dot\n+(\u201c.\u201d).

    • \n
    • IP addresses \u2013 both IPv4 and IPv6 \u2013 are permitted.

    • \n
    • Port, if specified, is numeric.

    • \n
    \n

    Any deviation from this will now be rejected, raising the exception\n django.core.exceptions.SuspiciousOperation.

    \n
    \n
    \n@@ -147,37 +148,37 @@\n
  • Redirect poisoning
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 1\b10\b0,\b, 2\b20\b01\b12\b2\n Django 1.3.5 addresses two security issues present in previous Django releases\n in the 1.3 series.\n Please be aware that this security release is slightly different from previous\n@@ -15,16 +15,16 @@\n HTTP Host header, causing Django to generate URLs pointing to arbitrary,\n potentially-malicious domains.\n In response to further input received and reports of continuing issues\n following the previous release, we\u2019re taking additional steps to tighten Host\n header validation. Rather than attempt to accommodate all features HTTP\n supports here, Django\u2019s Host header validation attempts to support a smaller,\n but far more common, subset:\n- * Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u2018-\u2019) or dot\n- (\u2018.\u2019).\n+ * Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u201c-\u201d) or dot\n+ (\u201c.\u201d).\n * IP addresses \u2013 both IPv4 and IPv6 \u2013 are permitted.\n * Port, if specified, is numeric.\n Any deviation from this will now be rejected, raising the exception\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs_\b._\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* R\bRe\bed\bdi\bir\bre\bec\bct\bt p\bpo\boi\bis\bso\bon\bni\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Also following up on a previous issue: in July of this year, we made changes to\n Django\u2019s HTTP redirect classes, performing additional validation of the scheme\n@@ -44,16 +44,16 @@\n 2. All of Django\u2019s own built-in views \u2013 primarily in the authentication system\n \u2013 which allow user-supplied redirect targets now use is_safe_url to validate\n the supplied URL.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n o _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.6 release notes — Django 5.1.4 documentation\n+ Django 1.3.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -157,37 +158,37 @@\n
  • Admin history view information leakage
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 1\b19\b9,\b, 2\b20\b01\b13\b3\n Django 1.3.6 fixes four security issues present in previous Django releases in\n the 1.3 series.\n This is the sixth bugfix/security release in the Django 1.3 series.\n@@ -52,16 +52,16 @@\n to users with change permission for that model.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n o _\bX_\bM_\bL_\b _\bd_\be_\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n o _\bF_\bo_\br_\bm_\bs_\be_\bt_\b _\bm_\be_\bm_\bo_\br_\by_\b _\be_\bx_\bh_\ba_\bu_\bs_\bt_\bi_\bo_\bn\n o _\bA_\bd_\bm_\bi_\bn_\b _\bh_\bi_\bs_\bt_\bo_\br_\by_\b _\bv_\bi_\be_\bw_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bl_\be_\ba_\bk_\ba_\bg_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3.7 release notes — Django 5.1.4 documentation\n+ Django 1.3.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -77,15 +78,15 @@\n
    \n
    \n \n
    \n

    Django 1.3.7 release notes\u00b6

    \n

    February 20, 2013

    \n

    Django 1.3.7 corrects a packaging problem with yesterday\u2019s 1.3.6 release.

    \n-

    The release contained stray .pyc files that caused \u201cbad magic number\u201d\n+

    The release contained stray .pyc files that caused \u00abbad magic number\u00bb\n errors when running with some versions of Python. This releases corrects this,\n and also fixes a bad documentation link in the project template settings.py\n file generated by manage.py startproject.

    \n
    \n \n \n
    \n@@ -94,37 +95,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 2\b20\b0,\b, 2\b20\b01\b13\b3\n Django 1.3.7 corrects a packaging problem with yesterday\u2019s _\b1_\b._\b3_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be.\n-The release contained stray .pyc files that caused \u201cbad magic number\u201d errors\n+The release contained stray .pyc files that caused \u00abbad magic number\u00bb errors\n when running with some versions of Python. This releases corrects this, and\n also fixes a bad documentation link in the project template settings.py file\n generated by manage.py startproject.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.3 release notes — Django 5.1.4 documentation\n+ Django 1.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -425,37 +426,37 @@\n

    Django has historically provided (and enforced) a list of profanities.\n The comments app has enforced this list of profanities, preventing people from\n submitting comments that contained one of those profanities.

    \n

    Unfortunately, the technique used to implement this profanities list\n was woefully naive, and prone to the Scunthorpe problem. Improving\n the built-in filter to fix this problem would require significant\n effort, and since natural language processing isn\u2019t the normal domain\n-of a web framework, we have \u201cfixed\u201d the problem by making the list of\n+of a web framework, we have \u00abfixed\u00bb the problem by making the list of\n prohibited words an empty list.

    \n

    If you want to restore the old behavior, simply put a\n PROFANITIES_LIST setting in your settings file that includes the\n words that you want to prohibit (see the commit that implemented this\n change if you want to see the list\n of words that was historically prohibited). However, if avoiding profanities is\n important to you, you would be well advised to seek out a better, less naive\n approach to the problem.

    \n \n
    \n

    Localflavor changes\u00b6

    \n

    Django 1.3 introduces the following backwards-incompatible changes to\n local flavors:

    \n
      \n-
    • Canada (ca) \u2013 The province \u201cNewfoundland and Labrador\u201d has had its\n-province code updated to \u201cNL\u201d, rather than the older \u201cNF\u201d. In\n+

    • Canada (ca) \u2013 The province \u00abNewfoundland and Labrador\u00bb has had its\n+province code updated to \u00abNL\u00bb, rather than the older \u00abNF\u00bb. In\n addition, the Yukon Territory has had its province code corrected to\n-\u201cYT\u201d, instead of \u201cYK\u201d.

    • \n-
    • Indonesia (id) \u2013 The province \u201cNanggroe Aceh Darussalam (NAD)\u201d has\n+\u00abYT\u00bb, instead of \u00abYK\u00bb.

    • \n+
    • Indonesia (id) \u2013 The province \u00abNanggroe Aceh Darussalam (NAD)\u00bb has\n been removed from the province list in favor of the new official\n-designation \u201cAceh (ACE)\u201d.

    • \n-
    • United States of America (us) \u2013 The list of \u201cstates\u201d used by\n+designation \u00abAceh (ACE)\u00bb.

    • \n+
    • United States of America (us) \u2013 The list of \u00abstates\u00bb used by\n USStateField has expanded to include Armed Forces postal\n codes. This is backwards-incompatible if you were relying on\n USStateField not including them.

    • \n
    \n
    \n
    \n

    FormSet updates\u00b6

    \n@@ -568,18 +569,18 @@\n the same situation considering the deprecation of such location.

    \n \n
    \n
    \n

    Transaction management\u00b6

    \n

    When using managed transactions \u2013 that is, anything but the default\n autocommit mode \u2013 it is important when a transaction is marked as\n-\u201cdirty\u201d. Dirty transactions are committed by the commit_on_success\n+\u00abdirty\u00bb. Dirty transactions are committed by the commit_on_success\n decorator or the django.middleware.transaction.TransactionMiddleware, and\n commit_manually forces them to be closed explicitly; clean transactions\n-\u201cget a pass\u201d, which means they are usually rolled back at the end of a request\n+\u00abget a pass\u00bb, which means they are usually rolled back at the end of a request\n when the connection is closed.

    \n

    Until Django 1.3, transactions were only marked dirty when Django was\n aware of a modifying operation performed in them; that is, either some\n model was saved, some bulk update or delete was performed, or the user\n explicitly called transaction.set_dirty(). In Django 1.3, a\n transaction is marked dirty when any database operation is\n performed.

    \n@@ -623,15 +624,15 @@\n PendingDeprecationWarning in Django 1.3. This warning will be\n silent by default, but may be turned on using Python\u2019s warnings\n module, or by running Python with a -Wd or -Wall flag.

    \n

    In Django 1.4, these warnings will become a DeprecationWarning,\n which is not silent. In Django 1.5 support for these features will\n be removed entirely.

    \n
    \n-

    See also

    \n+

    Vedi anche

    \n

    For more details, see the documentation Django\u2019s release process and our deprecation timeline.

    \n
    \n
    \n

    mod_python support\u00b6

    \n

    The mod_python library has not had a release since 2007 or a commit since\n 2008. The Apache Foundation board voted to remove mod_python from the set\n of active projects in its version control repositories, and its lead developer\n@@ -894,37 +895,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.3.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.3.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.2.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.2.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 2\b23\b3,\b, 2\b20\b01\b11\b1\n Welcome to Django 1.3!\n Nearly a year in the making, Django 1.3 includes quite a few _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs and\n plenty of bug fixes and improvements to existing features. These release notes\n@@ -241,33 +241,33 @@\n *\b**\b**\b**\b* N\bNo\bo m\bmo\bor\bre\be n\bna\bau\bug\bgh\bht\bty\by w\bwo\bor\brd\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django has historically provided (and enforced) a list of profanities. The\n comments app has enforced this list of profanities, preventing people from\n submitting comments that contained one of those profanities.\n Unfortunately, the technique used to implement this profanities list was\n woefully naive, and prone to the _\bS_\bc_\bu_\bn_\bt_\bh_\bo_\br_\bp_\be_\b _\bp_\br_\bo_\bb_\bl_\be_\bm. Improving the built-in\n filter to fix this problem would require significant effort, and since natural\n-language processing isn\u2019t the normal domain of a web framework, we have \u201cfixed\u201d\n+language processing isn\u2019t the normal domain of a web framework, we have \u00abfixed\u00bb\n the problem by making the list of prohibited words an empty list.\n If you want to restore the old behavior, simply put a PROFANITIES_LIST setting\n in your settings file that includes the words that you want to prohibit (see\n the _\bc_\bo_\bm_\bm_\bi_\bt_\b _\bt_\bh_\ba_\bt_\b _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b _\bt_\bh_\bi_\bs_\b _\bc_\bh_\ba_\bn_\bg_\be if you want to see the list of words\n that was historically prohibited). However, if avoiding profanities is\n important to you, you would be well advised to seek out a better, less naive\n approach to the problem.\n *\b**\b**\b**\b* L\bLo\boc\bca\bal\blf\bfl\bla\bav\bvo\bor\br c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.3 introduces the following backwards-incompatible changes to local\n flavors:\n- * Canada (ca) \u2013 The province \u201cNewfoundland and Labrador\u201d has had its\n- province code updated to \u201cNL\u201d, rather than the older \u201cNF\u201d. In addition,\n- the Yukon Territory has had its province code corrected to \u201cYT\u201d, instead\n- of \u201cYK\u201d.\n- * Indonesia (id) \u2013 The province \u201cNanggroe Aceh Darussalam (NAD)\u201d has been\n+ * Canada (ca) \u2013 The province \u00abNewfoundland and Labrador\u00bb has had its\n+ province code updated to \u00abNL\u00bb, rather than the older \u00abNF\u00bb. In addition,\n+ the Yukon Territory has had its province code corrected to \u00abYT\u00bb, instead\n+ of \u00abYK\u00bb.\n+ * Indonesia (id) \u2013 The province \u00abNanggroe Aceh Darussalam (NAD)\u00bb has been\n removed from the province list in favor of the new official designation\n- \u201cAceh (ACE)\u201d.\n- * United States of America (us) \u2013 The list of \u201cstates\u201d used by USStateField\n+ \u00abAceh (ACE)\u00bb.\n+ * United States of America (us) \u2013 The list of \u00abstates\u00bb used by USStateField\n has expanded to include Armed Forces postal codes. This is backwards-\n incompatible if you were relying on USStateField not including them.\n *\b**\b**\b**\b* F\bFo\bor\brm\bmS\bSe\bet\bt u\bup\bpd\bda\bat\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n In Django 1.3 FormSet creation behavior is modified slightly. Historically the\n class didn\u2019t make a distinction between not being passed data and being passed\n empty dictionary. This was inconsistent with behavior in other parts of the\n framework. Starting with 1.3 if you pass in empty dictionary the FormSet will\n@@ -352,18 +352,18 @@\n () view. Paths listed first have higher precedence than the ones listed\n later.\n * Translations under the locale subdirectory of the p\bpr\bro\boj\bje\bec\bct\bt d\bdi\bir\bre\bec\bct\bto\bor\bry\by have\n never been taken in account for JavaScript translations and remain in the\n same situation considering the deprecation of such location.\n *\b**\b**\b**\b* T\bTr\bra\ban\bns\bsa\bac\bct\bti\bio\bon\bn m\bma\ban\bna\bag\bge\bem\bme\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n When using managed transactions \u2013 that is, anything but the default autocommit\n-mode \u2013 it is important when a transaction is marked as \u201cdirty\u201d. Dirty\n+mode \u2013 it is important when a transaction is marked as \u00abdirty\u00bb. Dirty\n transactions are committed by the commit_on_success decorator or the\n django.middleware.transaction.TransactionMiddleware, and commit_manually forces\n-them to be closed explicitly; clean transactions \u201cget a pass\u201d, which means they\n+them to be closed explicitly; clean transactions \u00abget a pass\u00bb, which means they\n are usually rolled back at the end of a request when the connection is closed.\n Until Django 1.3, transactions were only marked dirty when Django was aware of\n a modifying operation performed in them; that is, either some model was saved,\n some bulk update or delete was performed, or the user explicitly called\n transaction.set_dirty(). In Django 1.3, a transaction is marked dirty when a\ban\bny\by\n database operation is performed.\n As a result of this change, you no longer need to set a transaction dirty\n@@ -393,15 +393,15 @@\n cycles.\n Code taking advantage of any of the features below will raise a\n PendingDeprecationWarning in Django 1.3. This warning will be silent by\n default, but may be turned on using Python\u2019s _\bw_\ba_\br_\bn_\bi_\bn_\bg_\bs module, or by running\n Python with a -Wd or -Wall flag.\n In Django 1.4, these warnings will become a DeprecationWarning, which is n\bno\bot\bt\n silent. In Django 1.5 support for these features will be removed entirely.\n-See also\n+Vedi anche\n For more details, see the documentation _\bD_\bj_\ba_\bn_\bg_\bo_\b\u2019_\bs_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bp_\br_\bo_\bc_\be_\bs_\bs and our\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bt_\bi_\bm_\be_\bl_\bi_\bn_\be.\n *\b**\b**\b**\b* m\bmo\bod\bd_\b_p\bpy\byt\bth\bho\bon\bn s\bsu\bup\bpp\bpo\bor\brt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n The mod_python library has not had a release since 2007 or a commit since 2008.\n The Apache Foundation board voted to remove mod_python from the set of active\n projects in its version control repositories, and its lead developer has\n shifted all of his efforts toward the lighter, slimmer, more stable, and more\n@@ -581,16 +581,16 @@\n # _\br_\be_\bs_\be_\bt_\b _\ba_\bn_\bd_\b _\bs_\bq_\bl_\br_\be_\bs_\be_\bt_\b _\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs\n # _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo\n # _\bC_\bZ_\bB_\bi_\br_\bt_\bh_\bN_\bu_\bm_\bb_\be_\br_\bF_\bi_\be_\bl_\bd_\b._\bc_\bl_\be_\ba_\bn\n # _\bC_\bo_\bm_\bp_\ba_\bt_\bC_\bo_\bo_\bk_\bi_\be\n # _\bL_\bo_\ba_\bd_\bi_\bn_\bg_\b _\bo_\bf_\b _\bp\bp_\br\br_\bo\bo_\bj\bj_\be\be_\bc\bc_\bt\bt_\b-\b-_\bl\bl_\be\be_\bv\bv_\be\be_\bl\bl_\b _\bt_\br_\ba_\bn_\bs_\bl_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bP_\be_\br_\bm_\bW_\br_\ba_\bp_\bp_\be_\br_\b _\bm_\bo_\bv_\be_\bd_\b _\bt_\bo_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b._\bc_\bo_\bn_\bt_\be_\bx_\bt_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\bo_\br_\bs\n # _\bR_\be_\bm_\bo_\bv_\ba_\bl_\b _\bo_\bf_\b _\bX_\bM_\bL_\bF_\bi_\be_\bl_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b2_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.1 release notes — Django 5.1.4 documentation\n+ Django 1.4.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,37 +95,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 3\b30\b0,\b, 2\b20\b01\b12\b2\n This is the first security release in the Django 1.4 series, fixing several\n security issues in Django 1.4. Django 1.4.1 is a recommended upgrade for all\n users of Django 1.4.\n For a full list of issues addressed in this release, see the _\bs_\be_\bc_\bu_\br_\bi_\bt_\by_\b _\ba_\bd_\bv_\bi_\bs_\bo_\br_\by.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.10 release notes — Django 5.1.4 documentation\n+ Django 1.4.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -106,37 +107,37 @@\n
  • Python compatibility
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.9 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.9 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n N\bNo\bov\bve\bem\bmb\bbe\ber\br 6\b6,\b, 2\b20\b01\b13\b3\n Django 1.4.10 fixes a Python-compatibility bug in the 1.4 series.\n *\b**\b**\b**\b**\b* P\bPy\byt\bth\bho\bon\bn c\bco\bom\bmp\bpa\bat\bti\bib\bbi\bil\bli\bit\bty\by_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django 1.4.9 inadvertently introduced issues with Python 2.5 compatibility.\n Django 1.4.10 restores Python 2.5 compatibility. This was issue #21362 in\n Django\u2019s Trac.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bP_\by_\bt_\bh_\bo_\bn_\b _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.11 release notes — Django 5.1.4 documentation\n+ Django 1.4.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -100,15 +101,15 @@\n module indicated by that dotted path as part of generating the\n resulting URL. If such a module has import-time side effects, those\n side effects will occur.

    \n

    Thus it is possible for an attacker to cause unexpected code\n execution, given the following conditions:

    \n
      \n
    1. One or more views are present which construct a URL based on user\n-input (commonly, a \u201cnext\u201d parameter in a querystring indicating\n+input (commonly, a \u00abnext\u00bb parameter in a querystring indicating\n where to redirect upon successful completion of an action).

    2. \n
    3. One or more modules are known to an attacker to exist on the\n server\u2019s Python import path, which perform code execution with side\n effects on importing.

    4. \n
    \n

    To remedy this, reverse() will now only accept and import dotted\n paths based on the view-containing modules listed in the project\u2019s URL\n@@ -137,15 +138,15 @@\n

  • If the response did send one or more cookies, and

  • \n
  • If the Vary: Cookie header is set on the response, then the\n response will not be cached.

  • \n \n \n
    \n

    MySQL typecasting\u00b6

    \n-

    The MySQL database is known to \u201ctypecast\u201d on certain queries; for\n+

    The MySQL database is known to \u00abtypecast\u00bb on certain queries; for\n example, when querying a table which contains string values, but using\n a query which filters based on an integer value, MySQL will first\n silently coerce the strings to integers and return a result based on that.

    \n

    If a query is performed without first converting values to the\n appropriate type, this can produce unexpected results, similar to what\n would occur if the query itself had been manipulated.

    \n

    Django\u2019s model field classes are aware of their own types and most\n@@ -186,37 +187,37 @@\n

  • MySQL typecasting
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.12 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.12 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b21\b1,\b, 2\b20\b01\b14\b4\n Django 1.4.11 fixes three security issues in 1.4.10. Additionally, Django\u2019s\n vendored version of six, django.utils.six, has been upgraded to the latest\n release (1.6.1).\n@@ -20,15 +20,15 @@\n One argument signature for reverse() is to pass a dotted Python path to the\n desired view. In this situation, Django will import the module indicated by\n that dotted path as part of generating the resulting URL. If such a module has\n import-time side effects, those side effects will occur.\n Thus it is possible for an attacker to cause unexpected code execution, given\n the following conditions:\n 1. One or more views are present which construct a URL based on user input\n- (commonly, a \u201cnext\u201d parameter in a querystring indicating where to\n+ (commonly, a \u00abnext\u00bb parameter in a querystring indicating where to\n redirect upon successful completion of an action).\n 2. One or more modules are known to an attacker to exist on the server\u2019s\n Python import path, which perform code execution with side effects on\n importing.\n To remedy this, reverse() will now only accept and import dotted paths based on\n the view-containing modules listed in the project\u2019s _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn,\n so as to ensure that only modules the developer intended to be imported in this\n@@ -49,15 +49,15 @@\n To remedy this, the caching framework will no longer cache such responses. The\n heuristic for this will be:\n 1. If the incoming request did not submit any cookies, and\n 2. If the response did send one or more cookies, and\n 3. If the Vary: Cookie header is set on the response, then the response will\n not be cached.\n *\b**\b**\b**\b**\b* M\bMy\byS\bSQ\bQL\bL t\bty\byp\bpe\bec\bca\bas\bst\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-The MySQL database is known to \u201ctypecast\u201d on certain queries; for example, when\n+The MySQL database is known to \u00abtypecast\u00bb on certain queries; for example, when\n querying a table which contains string values, but using a query which filters\n based on an integer value, MySQL will first silently coerce the strings to\n integers and return a result based on that.\n If a query is performed without first converting values to the appropriate\n type, this can produce unexpected results, similar to what would occur if the\n query itself had been manipulated.\n Django\u2019s model field classes are aware of their own types and most such classes\n@@ -76,16 +76,16 @@\n ensure they perform appropriate manual type conversions prior to executing\n queries.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bU_\bn_\be_\bx_\bp_\be_\bc_\bt_\be_\bd_\b _\bc_\bo_\bd_\be_\b _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)\n o _\bC_\ba_\bc_\bh_\bi_\bn_\bg_\b _\bo_\bf_\b _\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\bp_\ba_\bg_\be_\bs_\b _\bc_\bo_\bu_\bl_\bd_\b _\br_\be_\bv_\be_\ba_\bl_\b _\bC_\bS_\bR_\bF_\b _\bt_\bo_\bk_\be_\bn\n o _\bM_\by_\bS_\bQ_\bL_\b _\bt_\by_\bp_\be_\bc_\ba_\bs_\bt_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.12.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.12.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.12 release notes — Django 5.1.4 documentation\n+ Django 1.4.12 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,37 +108,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.13 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.13 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.11 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.11 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b12\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b28\b8,\b, 2\b20\b01\b14\b4\n Django 1.4.12 fixes a regression in the 1.4.11 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Restored the ability to reverse() views created using _\bf_\bu_\bn_\bc_\bt_\bo_\bo_\bl_\bs_\b._\bp_\ba_\br_\bt_\bi_\ba_\bl_\b(_\b)\n (_\b#_\b2_\b2_\b4_\b8_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.13.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.13.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.13 release notes — Django 5.1.4 documentation\n+ Django 1.4.13 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -103,15 +104,15 @@\n
    \n

    Malformed redirect URLs from user input not correctly validated\u00b6

    \n

    The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to\n an unsafe URL unexpectedly.

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login(), django.contrib.comments, and\n-i18n) to redirect the user to an \u201con success\u201d URL.\n+i18n) to redirect the user to an \u00abon success\u00bb URL.\n The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some\n browsers with more liberal URL parsing.

    \n

    To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.

    \n
    \n@@ -135,37 +136,37 @@\n
  • Malformed redirect URLs from user input not correctly validated
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.14 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.14 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.12 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.12 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b13\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b14\b4,\b, 2\b20\b01\b14\b4\n Django 1.4.13 fixes two security issues in 1.4.12.\n *\b**\b**\b**\b**\b* C\bCa\bac\bch\bhe\bes\bs m\bma\bay\by i\bin\bnc\bco\bor\brr\bre\bec\bct\btl\bly\by b\bbe\be a\bal\bll\blo\bow\bwe\bed\bd t\bto\bo s\bst\bto\bor\bre\be a\ban\bnd\bd s\bse\ber\brv\bve\be p\bpr\bri\biv\bva\bat\bte\be d\bda\bat\bta\ba_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In certain situations, Django may allow caches to store private data related to\n@@ -21,27 +21,27 @@\n Explorer requests with a Content-Disposition header have also been removed as\n they were found to have similar issues.\n *\b**\b**\b**\b**\b* M\bMa\bal\blf\bfo\bor\brm\bme\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs f\bfr\bro\bom\bm u\bus\bse\ber\br i\bin\bnp\bpu\but\bt n\bno\bot\bt c\bco\bor\brr\bre\bec\bct\btl\bly\by v\bva\bal\bli\bid\bda\bat\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to an\n unsafe URL unexpectedly.\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d\n+(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb\n URL. The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some browsers\n with more liberal URL parsing.\n To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\ba_\bc_\bh_\be_\bs_\b _\bm_\ba_\by_\b _\bi_\bn_\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by_\b _\bb_\be_\b _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bt_\bo_\b _\bs_\bt_\bo_\br_\be_\b _\ba_\bn_\bd_\b _\bs_\be_\br_\bv_\be_\b _\bp_\br_\bi_\bv_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba\n o _\bM_\ba_\bl_\bf_\bo_\br_\bm_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs_\b _\bf_\br_\bo_\bm_\b _\bu_\bs_\be_\br_\b _\bi_\bn_\bp_\bu_\bt_\b _\bn_\bo_\bt_\b _\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.14.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.14.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.14 release notes — Django 5.1.4 documentation\n+ Django 1.4.14 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -116,15 +117,15 @@\n requests without an intervening logout could result in the prior user\u2019s session\n being co-opted by the subsequent user. The middleware now logs the user out on\n a failed login attempt.

    \n \n
    \n

    Data leakage via query string manipulation in contrib.admin\u00b6

    \n

    In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like\n /admin/auth/user/?pop=1&t=password and viewing the page\u2019s HTML allowed\n viewing the password hash of each user. While the admin requires users to have\n permissions to view the change form pages in the first place, this could leak\n data if you rely on users having access to view only certain fields on a model.

    \n

    To address the issue, an exception will now be raised if a to_field value\n that isn\u2019t a related field to a model that has been registered with the admin\n@@ -152,37 +153,37 @@\n

  • Data leakage via query string manipulation in contrib.admin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.15 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.15 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.13 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.13 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b14\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 2\b20\b0,\b, 2\b20\b01\b14\b4\n Django 1.4.14 fixes several security issues in 1.4.13.\n *\b**\b**\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be(\b()\b) c\bco\bou\bul\bld\bd g\bge\ben\bne\ber\bra\bat\bte\be U\bUR\bRL\bLs\bs p\bpo\boi\bin\bnt\bti\bin\bng\bg t\bto\bo o\bot\bth\bhe\ber\br h\bho\bos\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In certain situations, URL reversing could generate scheme-relative URLs (URLs\n@@ -31,31 +31,31 @@\n *\b**\b**\b**\b**\b* R\bRe\bem\bmo\bot\bte\beU\bUs\bse\ber\brM\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be s\bse\bes\bss\bsi\bio\bon\bn h\bhi\bij\bja\bac\bck\bki\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When using the _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be and the RemoteUserBackend, a change to the\n REMOTE_USER header between requests without an intervening logout could result\n in the prior user\u2019s session being co-opted by the subsequent user. The\n middleware now logs the user out on a failed login attempt.\n *\b**\b**\b**\b**\b* D\bDa\bat\bta\ba l\ble\bea\bak\bka\bag\bge\be v\bvi\bia\ba q\bqu\bue\ber\bry\by s\bst\btr\bri\bin\bng\bg m\bma\ban\bni\bip\bpu\bul\bla\bat\bti\bio\bon\bn i\bin\bn c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like /admin/auth/user/\n ?pop=1&t=password and viewing the page\u2019s HTML allowed viewing the password hash\n of each user. While the admin requires users to have permissions to view the\n change form pages in the first place, this could leak data if you rely on users\n having access to view only certain fields on a model.\n To address the issue, an exception will now be raised if a to_field value that\n isn\u2019t a related field to a model that has been registered with the admin is\n specified.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)_\b _\bc_\bo_\bu_\bl_\bd_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b _\bU_\bR_\bL_\bs_\b _\bp_\bo_\bi_\bn_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bo_\bt_\bh_\be_\br_\b _\bh_\bo_\bs_\bt_\bs\n o _\bF_\bi_\bl_\be_\b _\bu_\bp_\bl_\bo_\ba_\bd_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be\n o _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bh_\bi_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n o _\bD_\ba_\bt_\ba_\b _\bl_\be_\ba_\bk_\ba_\bg_\be_\b _\bv_\bi_\ba_\b _\bq_\bu_\be_\br_\by_\b _\bs_\bt_\br_\bi_\bn_\bg_\b _\bm_\ba_\bn_\bi_\bp_\bu_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.15.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.15.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.15 release notes — Django 5.1.4 documentation\n+ Django 1.4.15 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,37 +108,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.16 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.16 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.14 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.14 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b15\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b14\b4\n Django 1.4.15 fixes a regression in the 1.4.14 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed inherited and m2m fields to be referenced in the admin (_\b#_\b2_\b2_\b4_\b8_\b6)\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.16.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.16.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.16 release notes — Django 5.1.4 documentation\n+ Django 1.4.16 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,37 +113,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.17 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.17 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.15 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.15 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,24 +1,24 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b16\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b22\b2,\b, 2\b20\b01\b14\b4\n Django 1.4.16 fixes a couple regressions in the 1.4.14 security release and a\n bug preventing the use of some GEOS versions with GeoDjango.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed related many-to-many fields to be referenced in the admin\n (_\b#_\b2_\b3_\b6_\b0_\b4).\n * Allowed inline and hidden references to admin fields (_\b#_\b2_\b3_\b4_\b3_\b1).\n * Fixed parsing of the GEOS version string (_\b#_\b2_\b0_\b0_\b3_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.17.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.17.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.17 release notes — Django 5.1.4 documentation\n+ Django 1.4.17 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.18 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.18 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.16 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.16 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b17\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b2,\b, 2\b20\b01\b15\b5\n Django 1.4.17 fixes a regression in the 1.4.14 security release.\n Additionally, Django\u2019s vendored version of six, django.utils.six, has been\n upgraded to the latest release (1.9.0).\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression with dynamically generated inlines and allowed field\n references in the admin (_\b#_\b2_\b3_\b7_\b5_\b4).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.18.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.18.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.18 release notes — Django 5.1.4 documentation\n+ Django 1.4.18 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -103,15 +104,15 @@\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.

    \n \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip leading\n whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to\n provide safe redirect targets and put such a URL into a link, they could suffer\n from a XSS attack. This bug doesn\u2019t affect Django currently, since we only put\n this URL into the Location response header and browsers seem to ignore\n JavaScript there.

    \n@@ -159,37 +160,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.19 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.19 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.17 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.17 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b18\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 1\b13\b3,\b, 2\b20\b01\b15\b5\n Django 1.4.18 fixes several security issues in 1.4.17 as well as a regression\n on Python 2.5 in the 1.4.17 release.\n *\b**\b**\b**\b**\b* W\bWS\bSG\bGI\bI h\bhe\bea\bad\bde\ber\br s\bsp\bpo\boo\bof\bfi\bin\bng\bg v\bvi\bia\ba u\bun\bnd\bde\ber\brs\bsc\bco\bor\bre\be/\b/d\bda\bas\bsh\bh c\bco\bon\bnf\bfl\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -20,15 +20,15 @@\n In order to prevent such attacks, both Nginx and Apache 2.4+ strip all headers\n containing underscores from incoming requests by default. Django\u2019s built-in\n development server now does the same. Django\u2019s development server is not\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip\n leading whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to provide safe\n redirect targets and put such a URL into a link, they could suffer from a XSS\n attack. This bug doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript there.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be a\bat\btt\bta\bac\bck\bk a\bag\bga\bai\bin\bns\bst\bt d\bdj\bja\ban\bng\bgo\bo.\b.v\bvi\bie\bew\bws\bs.\b.s\bst\bta\bat\bti\bic\bc.\b.s\bse\ber\brv\bve\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -48,16 +48,16 @@\n version to support Python 2.5.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bW_\bS_\bG_\bI_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bs_\bp_\bo_\bo_\bf_\bi_\bn_\bg_\b _\bv_\bi_\ba_\b _\bu_\bn_\bd_\be_\br_\bs_\bc_\bo_\br_\be_\b/_\bd_\ba_\bs_\bh_\b _\bc_\bo_\bn_\bf_\bl_\ba_\bt_\bi_\bo_\bn\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.19.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.19.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.19 release notes — Django 5.1.4 documentation\n+ Django 1.4.19 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -110,37 +111,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.20 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.20 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.18 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.18 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,24 +1,24 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.1\b19\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b27\b7,\b, 2\b20\b01\b15\b5\n Django 1.4.19 fixes a regression in the 1.4.18 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * GZipMiddleware now supports streaming responses. As part of the 1.4.18\n security release, the django.views.static.serve() function was altered to\n stream the files it serves. Unfortunately, the GZipMiddleware consumed\n the stream prematurely and prevented files from being served properly\n (_\b#_\b2_\b4_\b1_\b5_\b8).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.2 release notes — Django 5.1.4 documentation\n+ Django 1.4.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -147,37 +148,37 @@\n
  • Other bugfixes and changes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 1\b17\b7,\b, 2\b20\b01\b12\b2\n This is the second security release in the Django 1.4 series.\n *\b**\b**\b**\b**\b* H\bHo\bos\bst\bt h\bhe\bea\bad\bde\ber\br p\bpo\boi\bis\bso\bon\bni\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Some parts of Django \u2013 independent of end-user-written applications \u2013 make use\n@@ -42,16 +42,16 @@\n wrapped in single quotes (#18881).\n * Numerous documentation improvements and fixes.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n o _\bO_\bt_\bh_\be_\br_\b _\bb_\bu_\bg_\bf_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.20.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.20.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.20 release notes — Django 5.1.4 documentation\n+ Django 1.4.20 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    Django 1.4.20 release notes\u00b6

    \n

    March 18, 2015

    \n

    Django 1.4.20 fixes one security issue in 1.4.19.

    \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:...\n safe. This issue doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript\n there. Browsers we tested also treat URLs prefixed with control characters such\n as %08//example.com as relative paths so redirection to an unsafe target\n isn\u2019t a problem either.

    \n@@ -117,37 +118,37 @@\n
  • Mitigated possible XSS attack via user-supplied redirect URLs
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.21 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.21 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.19 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.19 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,32 +1,32 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.2\b20\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 1\b18\b8,\b, 2\b20\b01\b15\b5\n Django 1.4.20 fixes one security issue in 1.4.19.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:... safe.\n This issue doesn\u2019t affect Django currently, since we only put this URL into the\n Location response header and browsers seem to ignore JavaScript there. Browsers\n we tested also treat URLs prefixed with control characters such as %08//\n example.com as relative paths so redirection to an unsafe target isn\u2019t a\n problem either.\n However, if a developer relies on is_safe_url() to provide safe redirect\n targets and puts such a URL into a link, they could suffer from an XSS attack\n as some browsers such as Google Chrome ignore control characters at the start\n of a URL in an anchor href.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.21.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.21.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.21 release notes — Django 5.1.4 documentation\n+ Django 1.4.21 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,15 +85,15 @@\n
    \n

    Denial-of-service possibility by filling session store\u00b6

    \n

    In previous versions of Django, the session backends created a new empty record\n in the session storage anytime request.session was accessed and there was a\n session key provided in the request cookies that didn\u2019t already have a session\n record. This could allow an attacker to easily create many new session records\n simply by sending repeated requests with unknown session keys, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.

    \n

    The built-in session backends now create a session record only if the session\n is actually modified; empty session records are not created. Thus this\n potential DoS is now only possible if the site chooses to expose a\n session-modifying view to anonymous users.

    \n

    As each built-in session backend was fixed separately (rather than a fix in the\n core sessions framework), maintainers of third-party session backends should\n@@ -142,37 +143,37 @@\n

  • Header injection possibility since validators accept newlines in input
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.22 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.22 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.20 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.20 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.2\b21\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 8\b8,\b, 2\b20\b01\b15\b5\n Django 1.4.21 fixes several security issues in 1.4.20.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by b\bby\by f\bfi\bil\bll\bli\bin\bng\bg s\bse\bes\bss\bsi\bio\bon\bn s\bst\bto\bor\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In previous versions of Django, the session backends created a new empty record\n in the session storage anytime request.session was accessed and there was a\n session key provided in the request cookies that didn\u2019t already have a session\n record. This could allow an attacker to easily create many new session records\n simply by sending repeated requests with unknown session keys, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.\n The built-in session backends now create a session record only if the session\n is actually modified; empty session records are not created. Thus this\n potential DoS is now only possible if the site chooses to expose a session-\n modifying view to anonymous users.\n As each built-in session backend was fixed separately (rather than a fix in the\n core sessions framework), maintainers of third-party session backends should\n@@ -39,16 +39,16 @@\n as it validates using a regular expression instead of simply casting the value\n using int() and checking if an exception was raised.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bb_\by_\b _\bf_\bi_\bl_\bl_\bi_\bn_\bg_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bs_\bt_\bo_\br_\be\n o _\bH_\be_\ba_\bd_\be_\br_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bs_\bi_\bn_\bc_\be_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\ba_\bc_\bc_\be_\bp_\bt_\b _\bn_\be_\bw_\bl_\bi_\bn_\be_\bs_\b _\bi_\bn\n _\bi_\bn_\bp_\bu_\bt\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.22.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.22.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.22 release notes — Django 5.1.4 documentation\n+ Django 1.4.22 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -87,15 +88,15 @@\n
    \n

    Denial-of-service possibility in logout() view by filling session store\u00b6

    \n

    Previously, a session could be created when anonymously accessing the\n django.contrib.auth.views.logout() view (provided it wasn\u2019t decorated\n with login_required() as done in the\n admin). This could allow an attacker to easily create many new session records\n by sending repeated requests, potentially filling up the session store or\n-causing other users\u2019 session records to be evicted.

    \n+causing other users\u201d session records to be evicted.

    \n

    The SessionMiddleware has been\n modified to no longer create empty session records, including when\n SESSION_SAVE_EVERY_REQUEST is active.

    \n

    Additionally, the contrib.sessions.backends.base.SessionBase.flush() and\n cache_db.SessionStore.flush() methods have been modified to avoid creating\n a new empty session. Maintainers of third-party session backends should check\n if the same vulnerability is present in their backend and correct it if so.

    \n@@ -119,37 +120,37 @@\n
  • Denial-of-service possibility in logout() view by filling session store
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.21 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.21 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,36 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.2\b22\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b18\b8,\b, 2\b20\b01\b15\b5\n Django 1.4.22 fixes a security issue in 1.4.21.\n It also fixes support with pip 7+ by disabling wheel support. Older versions of\n 1.4 would silently build a broken wheel when installed with those versions of\n pip.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn l\blo\bog\bgo\bou\but\bt(\b()\b) v\bvi\bie\bew\bw b\bby\by f\bfi\bil\bll\bli\bin\bng\bg s\bse\bes\bss\bsi\bio\bon\bn s\bst\bto\bor\bre\be_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n Previously, a session could be created when anonymously accessing the\n django.contrib.auth.views.logout() view (provided it wasn\u2019t decorated with\n _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b) as done in the admin). This could allow an attacker to easily\n create many new session records by sending repeated requests, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.\n The _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be has been modified to no longer create empty session\n records, including when _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bS_\bA_\bV_\bE_\b__\bE_\bV_\bE_\bR_\bY_\b__\bR_\bE_\bQ_\bU_\bE_\bS_\bT is active.\n Additionally, the contrib.sessions.backends.base.SessionBase.flush() and\n cache_db.SessionStore.flush() methods have been modified to avoid creating a\n new empty session. Maintainers of third-party session backends should check if\n the same vulnerability is present in their backend and correct it if so.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\bv_\bi_\be_\bw_\b _\bb_\by_\b _\bf_\bi_\bl_\bl_\bi_\bn_\bg_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn\n _\bs_\bt_\bo_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.3 release notes — Django 5.1.4 documentation\n+ Django 1.4.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -94,16 +95,16 @@\n potentially-malicious domains.

    \n

    In response to further input received and reports of continuing issues\n following the previous release, we\u2019re taking additional steps to tighten Host\n header validation. Rather than attempt to accommodate all features HTTP\n supports here, Django\u2019s Host header validation attempts to support a smaller,\n but far more common, subset:

    \n
      \n-
    • Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u2018-\u2019) or dot\n-(\u2018.\u2019).

    • \n+
    • Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u201c-\u201d) or dot\n+(\u201c.\u201d).

    • \n
    • IP addresses \u2013 both IPv4 and IPv6 \u2013 are permitted.

    • \n
    • Port, if specified, is numeric.

    • \n
    \n

    Any deviation from this will now be rejected, raising the exception\n django.core.exceptions.SuspiciousOperation.

    \n \n
    \n@@ -147,37 +148,37 @@\n
  • Redirect poisoning
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 1\b10\b0,\b, 2\b20\b01\b12\b2\n Django 1.4.3 addresses two security issues present in previous Django releases\n in the 1.4 series.\n Please be aware that this security release is slightly different from previous\n@@ -15,16 +15,16 @@\n HTTP Host header, causing Django to generate URLs pointing to arbitrary,\n potentially-malicious domains.\n In response to further input received and reports of continuing issues\n following the previous release, we\u2019re taking additional steps to tighten Host\n header validation. Rather than attempt to accommodate all features HTTP\n supports here, Django\u2019s Host header validation attempts to support a smaller,\n but far more common, subset:\n- * Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u2018-\u2019) or dot\n- (\u2018.\u2019).\n+ * Hostnames must consist of characters [A-Za-z0-9] plus hyphen (\u201c-\u201d) or dot\n+ (\u201c.\u201d).\n * IP addresses \u2013 both IPv4 and IPv6 \u2013 are permitted.\n * Port, if specified, is numeric.\n Any deviation from this will now be rejected, raising the exception\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\be_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs_\b._\bS_\bu_\bs_\bp_\bi_\bc_\bi_\bo_\bu_\bs_\bO_\bp_\be_\br_\ba_\bt_\bi_\bo_\bn.\n *\b**\b**\b**\b**\b* R\bRe\bed\bdi\bir\bre\bec\bct\bt p\bpo\boi\bis\bso\bon\bni\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Also following up on a previous issue: in July of this year, we made changes to\n Django\u2019s HTTP redirect classes, performing additional validation of the scheme\n@@ -44,16 +44,16 @@\n 2. All of Django\u2019s own built-in views \u2013 primarily in the authentication system\n \u2013 which allow user-supplied redirect targets now use is_safe_url to validate\n the supplied URL.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n o _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.4 release notes — Django 5.1.4 documentation\n+ Django 1.4.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -168,37 +169,37 @@\n
  • Other bugfixes and changes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 1\b19\b9,\b, 2\b20\b01\b13\b3\n Django 1.4.4 fixes four security issues present in previous Django releases in\n the 1.4 series, as well as several other bugs and numerous documentation\n improvements.\n@@ -60,16 +60,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bH_\bo_\bs_\bt_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bp_\bo_\bi_\bs_\bo_\bn_\bi_\bn_\bg\n o _\bX_\bM_\bL_\b _\bd_\be_\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn\n o _\bF_\bo_\br_\bm_\bs_\be_\bt_\b _\bm_\be_\bm_\bo_\br_\by_\b _\be_\bx_\bh_\ba_\bu_\bs_\bt_\bi_\bo_\bn\n o _\bA_\bd_\bm_\bi_\bn_\b _\bh_\bi_\bs_\bt_\bo_\br_\by_\b _\bv_\bi_\be_\bw_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bl_\be_\ba_\bk_\ba_\bg_\be\n o _\bO_\bt_\bh_\be_\br_\b _\bb_\bu_\bg_\bf_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.5 release notes — Django 5.1.4 documentation\n+ Django 1.4.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -77,15 +78,15 @@\n
    \n
    \n \n
    \n

    Django 1.4.5 release notes\u00b6

    \n

    February 20, 2013

    \n

    Django 1.4.5 corrects a packaging problem with yesterday\u2019s 1.4.4 release.

    \n-

    The release contained stray .pyc files that caused \u201cbad magic number\u201d\n+

    The release contained stray .pyc files that caused \u00abbad magic number\u00bb\n errors when running with some versions of Python. This releases corrects this,\n and also fixes a bad documentation link in the project template settings.py\n file generated by manage.py startproject.

    \n
    \n \n \n
    \n@@ -94,37 +95,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 2\b20\b0,\b, 2\b20\b01\b13\b3\n Django 1.4.5 corrects a packaging problem with yesterday\u2019s _\b1_\b._\b4_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be.\n-The release contained stray .pyc files that caused \u201cbad magic number\u201d errors\n+The release contained stray .pyc files that caused \u00abbad magic number\u00bb errors\n when running with some versions of Python. This releases corrects this, and\n also fixes a bad documentation link in the project template settings.py file\n generated by manage.py startproject.\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.6 release notes — Django 5.1.4 documentation\n+ Django 1.4.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -83,15 +84,15 @@\n

    Django 1.4.6 fixes one security issue present in previous Django releases in\n the 1.4 series, as well as one other bug.

    \n

    This is the sixth bugfix/security release in the Django 1.4 series.

    \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login(), django.contrib.comments, and\n-i18n) to redirect the user to an \u201con success\u201d URL.\n+i18n) to redirect the user to an \u00abon success\u00bb URL.\n The security checks for these redirects (namely\n django.utils.http.is_safe_url()) didn\u2019t check if the scheme is http(s)\n and as such allowed javascript:... URLs to be entered. If a developer\n relied on is_safe_url() to provide safe redirect targets and put such a\n URL into a link, they could suffer from a XSS attack. This bug doesn\u2019t affect\n Django currently, since we only put this URL into the Location response\n header and browsers seem to ignore JavaScript there.

    \n@@ -124,37 +125,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b13\b3,\b, 2\b20\b01\b13\b3\n Django 1.4.6 fixes one security issue present in previous Django releases in\n the 1.4 series, as well as one other bug.\n This is the sixth bugfix/security release in the Django 1.4 series.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d\n+(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb\n URL. The security checks for these redirects (namely\n django.utils.http.is_safe_url()) didn\u2019t check if the scheme is http(s) and as\n such allowed javascript:... URLs to be entered. If a developer relied on\n is_safe_url() to provide safe redirect targets and put such a URL into a link,\n they could suffer from a XSS attack. This bug doesn\u2019t affect Django currently,\n since we only put this URL into the Location response header and browsers seem\n to ignore JavaScript there.\n@@ -20,16 +20,16 @@\n * Fixed an obscure bug with the _\bo_\bv_\be_\br_\br_\bi_\bd_\be_\b__\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b(_\b) decorator. If you hit\n an AttributeError: 'Settings' object has no attribute\n '_original_allowed_hosts' exception, it\u2019s probably fixed (#20636).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.7 release notes — Django 5.1.4 documentation\n+ Django 1.4.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -115,37 +116,37 @@\n
  • Directory traversal vulnerability in ssi template tag
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b10\b0,\b, 2\b20\b01\b13\b3\n Django 1.4.7 fixes one security issue present in previous Django releases in\n the 1.4 series.\n *\b**\b**\b**\b**\b* D\bDi\bir\bre\bec\bct\bto\bor\bry\by t\btr\bra\bav\bve\ber\brs\bsa\bal\bl v\bvu\bul\bln\bne\ber\bra\bab\bbi\bil\bli\bit\bty\by i\bin\bn s\bss\bsi\bi t\bte\bem\bmp\bpl\bla\bat\bte\be t\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -14,16 +14,16 @@\n {% ssi \"/var/www/../../etc/passwd\" %}\n In practice this is not a very common problem, as it would require the template\n author to put the ssi file in a user-controlled variable, but it\u2019s possible in\n principle.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\bi_\br_\be_\bc_\bt_\bo_\br_\by_\b _\bt_\br_\ba_\bv_\be_\br_\bs_\ba_\bl_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bs_\bs_\bi_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.8 release notes — Django 5.1.4 documentation\n+ Django 1.4.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.9 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.9 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b14\b4,\b, 2\b20\b01\b13\b3\n Django 1.4.8 fixes two security issues present in previous Django releases in\n the 1.4 series.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be v\bvi\bia\ba p\bpa\bas\bss\bsw\bwo\bor\brd\bd h\bha\bas\bsh\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -22,16 +22,16 @@\n This usage has been fixed and _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b) will now throw an\n exception if it\u2019s improperly used.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bv_\bi_\ba_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh_\be_\br_\bs\n o _\bC_\bo_\br_\br_\be_\bc_\bt_\be_\bd_\b _\bu_\bs_\ba_\bg_\be_\b _\bo_\bf_\b _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b\u2019_\bs_\b _\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.9.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.9.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4.9 release notes — Django 5.1.4 documentation\n+ Django 1.4.9 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -115,37 +116,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.10 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.10 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4.\b.9\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b23\b3,\b, 2\b20\b01\b13\b3\n Django 1.4.9 fixes a security-related bug in the 1.4 series and one other data\n corruption bug.\n *\b**\b**\b**\b**\b* R\bRe\bea\bad\bdd\bdr\bre\bes\bss\bse\bed\bd d\bde\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be v\bvi\bia\ba p\bpa\bas\bss\bsw\bwo\bor\brd\bd h\bha\bas\bsh\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -12,16 +12,16 @@\n speed of our PBKDF2 algorithm by not rehashing the key on every iteration.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a data corruption bug with datetime_safe.datetime.combine (#21256).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bR_\be_\ba_\bd_\bd_\br_\be_\bs_\bs_\be_\bd_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bv_\bi_\ba_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh_\be_\br_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.4 release notes — Django 5.1.4 documentation\n+ Django 1.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -86,15 +87,15 @@\n want to be aware of when upgrading from Django 1.3 or older versions. We\u2019ve\n also dropped some features, which are detailed in our deprecation plan, and we\u2019ve begun the deprecation process\n for some features.

    \n
    \n

    Overview\u00b6

    \n

    The biggest new feature in Django 1.4 is support for time zones when\n handling date/times. When enabled, this Django will store date/times in UTC,\n-use timezone-aware objects internally, and translate them to users\u2019 local\n+use timezone-aware objects internally, and translate them to users\u201d local\n timezones for display.

    \n

    If you\u2019re upgrading an existing project to Django 1.4, switching to the timezone\n aware mode may take some care: the new mode disallows some rather sloppy\n behavior that used to be accepted. We encourage anyone who\u2019s upgrading to check\n out the timezone migration guide and the\n timezone FAQ for useful pointers.

    \n

    Other notable new features in Django 1.4 include:

    \n@@ -105,15 +106,15 @@\n QuerySet.prefetch_related, a method to batch-load related objects\n in areas where select_related()\n doesn\u2019t work.

    \n
  • Some nice security additions, including improved password hashing\n (featuring PBKDF2 and bcrypt support), new tools for cryptographic\n signing, several CSRF improvements, and simple clickjacking\n protection.

  • \n-
  • An updated default project layout and manage.py that removes the \u201cmagic\u201d\n+

  • An updated default project layout and manage.py that removes the \u00abmagic\u00bb\n from prior versions. And for those who don\u2019t like the new layout, you can\n use custom project and app templates instead!

  • \n
  • Support for in-browser testing frameworks (like Selenium).

  • \n
  • \u2026 and a whole lot more; see below!

  • \n \n

    Wherever possible we try to introduce new features in a backwards-compatible\n manner per our API stability policy policy.\n@@ -135,17 +136,17 @@\n release of Django 1.4, we plan to publish a document outlining our full\n timeline for deprecating Python 2.x and moving to Python 3.x.

    \n
    \n
    \n

    What\u2019s new in Django 1.4\u00b6

    \n
    \n

    Support for time zones\u00b6

    \n-

    In previous versions, Django used \u201cnaive\u201d date/times (that is, date/times\n+

    In previous versions, Django used \u00abnaive\u00bb date/times (that is, date/times\n without an associated time zone), leaving it up to each developer to interpret\n-what a given date/time \u201creally means\u201d. This can cause all sorts of subtle\n+what a given date/time \u00abreally means\u00bb. This can cause all sorts of subtle\n timezone-related bugs.

    \n

    In Django 1.4, you can now switch Django into a more correct, time-zone aware\n mode. In this mode, Django stores date and time information in UTC in the\n database, uses time-zone-aware datetime objects internally and translates them\n to the end user\u2019s time zone in templates and forms. Reasons for using this\n feature include:

    \n
      \n@@ -313,15 +314,15 @@\n templates to change the doctype.

      \n
    \n
    \n

    List filters in admin interface\u00b6

    \n

    Prior to Django 1.4, the admin app let you specify\n change list filters by specifying a field lookup, but it didn\u2019t allow you to\n create custom filters. This has been rectified with a simple API (previously\n-used internally and known as \u201cFilterSpec\u201d). For more details, see the\n+used internally and known as \u00abFilterSpec\u00bb). For more details, see the\n documentation for list_filter.

    \n
    \n
    \n

    Multiple sort in admin interface\u00b6

    \n

    The admin change list now supports sorting on multiple columns. It respects all\n elements of the ordering attribute, and\n sorting on multiple columns by clicking on headers is designed to mimic the\n@@ -358,15 +359,15 @@\n

    \n \n
    \n

    truncatechars template filter\u00b6

    \n

    This new filter truncates a string to be no longer than the specified\n number of characters. Truncated strings end with a translatable ellipsis\n-sequence (\u201d\u2026\u201d). See the documentation for truncatechars for\n+sequence (\u00bb\u2026\u00bb). See the documentation for truncatechars for\n more details.

    \n
    \n
    \n

    static template tag\u00b6

    \n

    The staticfiles contrib app has a new\n static template tag to refer to files saved with the\n STATICFILES_STORAGE storage backend. It uses the storage backend\u2019s\n@@ -580,15 +581,15 @@\n files.

    \n
  • The trans template tag now takes an optional as argument to\n be able to retrieve a translation string without displaying it but setting\n a template context variable instead.

  • \n
  • The if template tag now supports {% elif %} clauses.

  • \n
  • If your Django app is behind a proxy, you might find the new\n SECURE_PROXY_SSL_HEADER setting useful. It solves the problem of your\n-proxy \u201ceating\u201d the fact that a request came in via HTTPS. But only use this\n+proxy \u00abeating\u00bb the fact that a request came in via HTTPS. But only use this\n setting if you know what you\u2019re doing.

  • \n
  • A new, plain-text, version of the HTTP 500 status code internal error page\n served when DEBUG is True is now sent to the client when\n Django detects that the request has originated in JavaScript code.\n (is_ajax() is used for this.)

    \n

    Like its HTML counterpart, it contains a collection of different\n pieces of information about the state of the application.

    \n@@ -663,15 +664,15 @@\n development server continues to serve the admin files just like before. Read\n the static files howto for more details.

    \n

    If your ADMIN_MEDIA_PREFIX is set to a specific domain (e.g.\n http://media.example.com/admin/), make sure to also set your\n STATIC_URL setting to the correct URL \u2013 for example,\n http://media.example.com/.

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    If you\u2019re implicitly relying on the path of the admin static files within\n Django\u2019s source code, you\u2019ll need to update that path. The files were moved\n from django/contrib/admin/media/ to\n django/contrib/admin/static/admin/.

    \n
    \n
  • \n
    \n@@ -686,28 +687,28 @@\n

    This new policy has no impact on sites you develop using Django. It only\n applies to the Django admin. Feel free to develop apps compatible with any\n range of browsers.

    \n
    \n
    \n

    Removed admin icons\u00b6

    \n

    As part of an effort to improve the performance and usability of the admin\u2019s\n-change-list sorting interface and horizontal and vertical \u201cfilter\u201d widgets, some icon\n+change-list sorting interface and horizontal and vertical \u00abfilter\u00bb widgets, some icon\n files were removed and grouped into two sprite files.

    \n

    Specifically: selector-add.gif, selector-addall.gif,\n selector-remove.gif, selector-removeall.gif,\n selector_stacked-add.gif and selector_stacked-remove.gif were\n combined into selector-icons.gif; and arrow-up.gif and\n arrow-down.gif were combined into sorting-icons.gif.

    \n

    If you used those icons to customize the admin, then you\u2019ll need to replace\n them with your own icons or get the files from a previous release.

    \n
    \n
    \n

    CSS class names in admin forms\u00b6

    \n-

    To avoid conflicts with other common CSS class names (e.g. \u201cbutton\u201d), we added\n-a prefix (\u201cfield-\u201d) to all CSS class names automatically generated from the\n+

    To avoid conflicts with other common CSS class names (e.g. \u00abbutton\u00bb), we added\n+a prefix (\u00abfield-\u00bb) to all CSS class names automatically generated from the\n form field names in the main admin forms, stacked inline forms and tabular\n inline cells. You\u2019ll need to take that prefix into account in your custom\n style sheets or JavaScript files if you previously used plain field names as\n selectors for custom styles or JavaScript transformations.

    \n
    \n
    \n

    Compatibility with old signed data\u00b6

    \n@@ -737,15 +738,15 @@\n

    Form-related hashes: these have a much shorter lifetime and are relevant\n only for the short window where a user might fill in a form generated by the\n pre-upgrade Django instance and try to submit it to the upgraded Django\n instance:

    \n
      \n
    • contrib.comments form security hash

      \n
        \n-
      • Consequences: The user will see the validation error \u201cSecurity hash failed.\u201d

      • \n+
      • Consequences: The user will see the validation error \u00abSecurity hash failed.\u00bb

      • \n
      • Time period: The amount of time you expect users to take filling out comment\n forms.

      • \n
      \n
    • \n
    • FormWizard security hash

      \n
        \n
      • Consequences: The user will see an error about the form having expired\n@@ -1031,19 +1032,19 @@\n

    \n
    \n

    See the assertion documentation for more.

    \n \n
    \n

    Database connections after running the test suite\u00b6

    \n

    The default test runner no longer restores the database connections after\n-tests\u2019 execution. This prevents the production database from being exposed to\n+tests\u201d execution. This prevents the production database from being exposed to\n potential threads that would still be running and attempting to create new\n connections.

    \n

    If your code relied on connections to the production database being created\n-after tests\u2019 execution, then you can restore the previous behavior by\n+after tests\u201d execution, then you can restore the previous behavior by\n subclassing DjangoTestRunner and overriding its teardown_databases()\n method.

    \n
    \n
    \n

    Output of manage.py help\u00b6

    \n

    manage.py help now groups available commands by application.\n If you depended on the output of this command \u2013 if you parsed it, for example\n@@ -1170,19 +1171,19 @@\n

    The code that powers Databrowse is licensed under the same terms as Django\n itself, so it\u2019s available to be adopted by an individual or group as\n a third-party project.

    \n
    \n
    \n

    django.core.management.setup_environ\u00b6

    \n

    This function temporarily modified sys.path in order to make the parent\n-\u201cproject\u201d directory importable under the old flat startproject\n+\u00abproject\u00bb directory importable under the old flat startproject\n layout. This function is now deprecated, as its path workarounds are no longer\n needed with the new manage.py and default project layout.

    \n

    This function was never documented or part of the public API, but it was widely\n-recommended for use in setting up a \u201cDjango environment\u201d for a user script.\n+recommended for use in setting up a \u00abDjango environment\u00bb for a user script.\n These uses should be replaced by setting the DJANGO_SETTINGS_MODULE\n environment variable or using django.conf.settings.configure().

    \n
    \n
    \n

    django.core.management.execute_manager\u00b6

    \n

    This function was previously used by manage.py to execute a management\n command. It is identical to\n@@ -1354,37 +1355,37 @@\n \n \n \n \n \n

    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.4.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.4.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.3.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.3.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,36 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 2\b23\b3,\b, 2\b20\b01\b12\b2\n Welcome to Django 1.4!\n These release notes cover the _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, as well as some _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs you\u2019ll want to be aware of when upgrading from Django 1.3\n or older versions. We\u2019ve also dropped some features, which are detailed in _\bo_\bu_\br\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bl_\ba_\bn, and we\u2019ve _\bb_\be_\bg_\bu_\bn_\b _\bt_\bh_\be_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\b _\bf_\bo_\br_\b _\bs_\bo_\bm_\be_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The biggest new feature in Django 1.4 is _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bf_\bo_\br_\b _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be_\bs when handling\n date/times. When enabled, this Django will store date/times in UTC, use\n-timezone-aware objects internally, and translate them to users\u2019 local timezones\n+timezone-aware objects internally, and translate them to users\u201d local timezones\n for display.\n If you\u2019re upgrading an existing project to Django 1.4, switching to the\n timezone aware mode may take some care: the new mode disallows some rather\n sloppy behavior that used to be accepted. We encourage anyone who\u2019s upgrading\n to check out the _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b _\bm_\bi_\bg_\br_\ba_\bt_\bi_\bo_\bn_\b _\bg_\bu_\bi_\bd_\be and the _\bt_\bi_\bm_\be_\bz_\bo_\bn_\be_\b _\bF_\bA_\bQ for useful\n pointers.\n Other notable new features in Django 1.4 include:\n * A number of ORM improvements, including _\bS_\bE_\bL_\bE_\bC_\bT_\b _\bF_\bO_\bR_\b _\bU_\bP_\bD_\bA_\bT_\bE_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt, the\n ability to _\bb_\bu_\bl_\bk_\b _\bi_\bn_\bs_\be_\br_\bt large datasets for improved performance, and\n _\bQ_\bu_\be_\br_\by_\bS_\be_\bt_\b._\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd, a method to batch-load related objects in\n areas where _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b) doesn\u2019t work.\n * Some nice security additions, including _\bi_\bm_\bp_\br_\bo_\bv_\be_\bd_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh_\bi_\bn_\bg\n (featuring _\bP_\bB_\bK_\bD_\bF_\b2 and _\bb_\bc_\br_\by_\bp_\bt support), new _\bt_\bo_\bo_\bl_\bs_\b _\bf_\bo_\br_\b _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc\n _\bs_\bi_\bg_\bn_\bi_\bn_\bg, several _\bC_\bS_\bR_\bF_\b _\bi_\bm_\bp_\br_\bo_\bv_\be_\bm_\be_\bn_\bt_\bs, and _\bs_\bi_\bm_\bp_\bl_\be_\b _\bc_\bl_\bi_\bc_\bk_\bj_\ba_\bc_\bk_\bi_\bn_\bg_\b _\bp_\br_\bo_\bt_\be_\bc_\bt_\bi_\bo_\bn.\n- * An _\bu_\bp_\bd_\ba_\bt_\be_\bd_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\bl_\ba_\by_\bo_\bu_\bt_\b _\ba_\bn_\bd_\b _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by that removes the \u201cmagic\u201d\n+ * An _\bu_\bp_\bd_\ba_\bt_\be_\bd_\b _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\bl_\ba_\by_\bo_\bu_\bt_\b _\ba_\bn_\bd_\b _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by that removes the \u00abmagic\u00bb\n from prior versions. And for those who don\u2019t like the new layout, you can\n use _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bp_\br_\bo_\bj_\be_\bc_\bt_\b _\ba_\bn_\bd_\b _\ba_\bp_\bp_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs instead!\n * _\bS_\bu_\bp_\bp_\bo_\br_\bt_\b _\bf_\bo_\br_\b _\bi_\bn_\b-_\bb_\br_\bo_\bw_\bs_\be_\br_\b _\bt_\be_\bs_\bt_\bi_\bn_\bg_\b _\bf_\br_\ba_\bm_\be_\bw_\bo_\br_\bk_\bs (like _\bS_\be_\bl_\be_\bn_\bi_\bu_\bm).\n * \u2026 and a whole lot more; _\bs_\be_\be_\b _\bb_\be_\bl_\bo_\bw!\n Wherever possible we try to introduce new features in a backwards-compatible\n manner per _\bo_\bu_\br_\b _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\by policy. However, as with previous releases,\n Django 1.4 ships with some minor _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs; people\n@@ -45,17 +45,17 @@\n stick to Django 1.3 until you can upgrade. Per _\bo_\bu_\br_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt_\b _\bp_\bo_\bl_\bi_\bc_\by, Django 1.3\n will continue to receive security support until the release of Django 1.5.\n Django does not support Python 3.x at this time. At some point before the\n release of Django 1.4, we plan to publish a document outlining our full\n timeline for deprecating Python 2.x and moving to Python 3.x.\n *\b**\b**\b**\b**\b* W\bWh\bha\bat\bt?\b\u2019s\bs n\bne\bew\bw i\bin\bn D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.4\b4_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* S\bSu\bup\bpp\bpo\bor\brt\bt f\bfo\bor\br t\bti\bim\bme\be z\bzo\bon\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-In previous versions, Django used \u201cnaive\u201d date/times (that is, date/times\n+In previous versions, Django used \u00abnaive\u00bb date/times (that is, date/times\n without an associated time zone), leaving it up to each developer to interpret\n-what a given date/time \u201creally means\u201d. This can cause all sorts of subtle\n+what a given date/time \u00abreally means\u00bb. This can cause all sorts of subtle\n timezone-related bugs.\n In Django 1.4, you can now switch Django into a more correct, time-zone aware\n mode. In this mode, Django stores date and time information in UTC in the\n database, uses time-zone-aware datetime objects internally and translates them\n to the end user\u2019s time zone in templates and forms. Reasons for using this\n feature include:\n * Customizing date and time display for users around the world.\n@@ -181,15 +181,15 @@\n this change means that you can use any HTML5 features you need in admin pages\n without having to lose HTML validity or override the provided templates to\n change the doctype.\n *\b**\b**\b**\b* L\bLi\bis\bst\bt f\bfi\bil\blt\bte\ber\brs\bs i\bin\bn a\bad\bdm\bmi\bin\bn i\bin\bnt\bte\ber\brf\bfa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n Prior to Django 1.4, the _\ba_\bd_\bm_\bi_\bn app let you specify change list filters by\n specifying a field lookup, but it didn\u2019t allow you to create custom filters.\n This has been rectified with a simple API (previously used internally and known\n-as \u201cFilterSpec\u201d). For more details, see the documentation for _\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br.\n+as \u00abFilterSpec\u00bb). For more details, see the documentation for _\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br.\n *\b**\b**\b**\b* M\bMu\bul\blt\bti\bip\bpl\ble\be s\bso\bor\brt\bt i\bin\bn a\bad\bdm\bmi\bin\bn i\bin\bnt\bte\ber\brf\bfa\bac\bce\be_\b?\b\u00b6 *\b**\b**\b**\b*\n The admin change list now supports sorting on multiple columns. It respects all\n elements of the _\bo_\br_\bd_\be_\br_\bi_\bn_\bg attribute, and sorting on multiple columns by clicking\n on headers is designed to mimic the behavior of desktop GUIs. We also added a\n _\bg_\be_\bt_\b__\bo_\br_\bd_\be_\br_\bi_\bn_\bg_\b(_\b) method for specifying the ordering dynamically (i.e., depending\n on the request).\n *\b**\b**\b**\b* N\bNe\bew\bw M\bMo\bod\bde\bel\blA\bAd\bdm\bmi\bin\bn m\bme\bet\bth\bho\bod\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -208,15 +208,15 @@\n Django 1.4 adds both a low-level API for signing values and a high-level API\n for setting and reading signed cookies, one of the most common uses of signing\n in web applications.\n See the _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bs_\bi_\bg_\bn_\bi_\bn_\bg docs for more information.\n *\b**\b**\b**\b* C\bCo\boo\bok\bki\bie\be-\b-b\bba\bas\bse\bed\bd s\bse\bes\bss\bsi\bio\bon\bn b\bba\bac\bck\bke\ben\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.4 introduces a cookie-based session backend that uses the tools for\n _\bc_\br_\by_\bp_\bt_\bo_\bg_\br_\ba_\bp_\bh_\bi_\bc_\b _\bs_\bi_\bg_\bn_\bi_\bn_\bg to store the session data in the client\u2019s browser.\n-Warning\n+Avvertimento\n Session data is signed and validated by the server, but it\u2019s not encrypted.\n This means a user can view any data stored in the session but cannot change it.\n Please read the documentation for further clarification before using this\n backend.\n See the _\bc_\bo_\bo_\bk_\bi_\be_\b-_\bb_\ba_\bs_\be_\bd_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bb_\ba_\bc_\bk_\be_\bn_\bd docs for more information.\n *\b**\b**\b**\b* N\bNe\bew\bw f\bfo\bor\brm\bm w\bwi\biz\bza\bar\brd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n The previous FormWizard from django.contrib.formtools has been replaced with a\n@@ -268,15 +268,15 @@\n In Django 1.4, exceptions are no longer wrapped. Instead, the original\n exception is annotated with the source information. This means that catching\n exceptions from template rendering is now consistent regardless of the value of\n TEMPLATE_DEBUG, and there\u2019s no need to catch and unwrap TemplateSyntaxError in\n order to catch other errors.\n *\b**\b**\b**\b* t\btr\bru\bun\bnc\bca\bat\bte\bec\bch\bha\bar\brs\bs t\bte\bem\bmp\bpl\bla\bat\bte\be f\bfi\bil\blt\bte\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n This new filter truncates a string to be no longer than the specified number of\n-characters. Truncated strings end with a translatable ellipsis sequence (\u201d\u2026\u201d).\n+characters. Truncated strings end with a translatable ellipsis sequence (\u00bb\u2026\u00bb).\n See the documentation for _\bt_\br_\bu_\bn_\bc_\ba_\bt_\be_\bc_\bh_\ba_\br_\bs for more details.\n *\b**\b**\b**\b* s\bst\bta\bat\bti\bic\bc t\bte\bem\bmp\bpl\bla\bat\bte\be t\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n The _\bs_\bt_\ba_\bt_\bi_\bc_\bf_\bi_\bl_\be_\bs contrib app has a new static template tag to refer to files\n saved with the STATICFILES_STORAGE storage backend. It uses the storage\n backend\u2019s url method and therefore supports advanced features such as _\bs_\be_\br_\bv_\bi_\bn_\bg\n _\bf_\bi_\bl_\be_\bs_\b _\bf_\br_\bo_\bm_\b _\ba_\b _\bc_\bl_\bo_\bu_\bd_\b _\bs_\be_\br_\bv_\bi_\bc_\be.\n *\b**\b**\b**\b* C\bCa\bac\bch\bhe\bed\bdS\bSt\bta\bat\bti\bic\bcF\bFi\bil\ble\bes\bsS\bSt\bto\bor\bra\bag\bge\be s\bst\bto\bor\bra\bag\bge\be b\bba\bac\bck\bke\ben\bnd\bd_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -355,15 +355,15 @@\n extracting translatable strings from JavaScript files.\n * The _\bt_\br_\ba_\bn_\bs template tag now takes an optional as argument to be able to\n retrieve a translation string without displaying it but setting a\n template context variable instead.\n * The _\bi_\bf template tag now supports {% elif %} clauses.\n * If your Django app is behind a proxy, you might find the new\n _\bS_\bE_\bC_\bU_\bR_\bE_\b__\bP_\bR_\bO_\bX_\bY_\b__\bS_\bS_\bL_\b__\bH_\bE_\bA_\bD_\bE_\bR setting useful. It solves the problem of your\n- proxy \u201ceating\u201d the fact that a request came in via HTTPS. But only use\n+ proxy \u00abeating\u00bb the fact that a request came in via HTTPS. But only use\n this setting if you know what you\u2019re doing.\n * A new, plain-text, version of the HTTP 500 status code internal error\n page served when _\bD_\bE_\bB_\bU_\bG is True is now sent to the client when Django\n detects that the request has originated in JavaScript code. (is_ajax() is\n used for this.)\n Like its HTML counterpart, it contains a collection of different pieces\n of information about the state of the application.\n@@ -421,15 +421,15 @@\n If you\u2019ve previously used a URL path for ADMIN_MEDIA_PREFIX (e.g. /media/\n ) simply make sure _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL and _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bR_\bO_\bO_\bT are configured and your web\n server serves those files correctly. The development server continues to serve\n the admin files just like before. Read the _\bs_\bt_\ba_\bt_\bi_\bc_\b _\bf_\bi_\bl_\be_\bs_\b _\bh_\bo_\bw_\bt_\bo for more details.\n If your ADMIN_MEDIA_PREFIX is set to a specific domain (e.g. http://\n media.example.com/admin/), make sure to also set your _\bS_\bT_\bA_\bT_\bI_\bC_\b__\bU_\bR_\bL setting to the\n correct URL \u2013 for example, http://media.example.com/.\n-Warning\n+Avvertimento\n If you\u2019re implicitly relying on the path of the admin static files within\n Django\u2019s source code, you\u2019ll need to update that path. The files were moved\n from django/contrib/admin/media/ to django/contrib/admin/static/admin/.\n *\b**\b**\b**\b* S\bSu\bup\bpp\bpo\bor\brt\bte\bed\bd b\bbr\bro\bow\bws\bse\ber\brs\bs f\bfo\bor\br t\bth\bhe\be a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n Django hasn\u2019t had a clear policy on which browsers are supported by the admin\n app. Our new policy formalizes existing practices: _\bY_\bU_\bI_\b\u2019_\bs_\b _\bA_\b-_\bg_\br_\ba_\bd_\be browsers\n should provide a fully-functional admin experience, with the notable exception\n@@ -438,25 +438,25 @@\n development. The practical implications of this policy are that contributors\n are free to improve the admin without consideration for these limitations.\n This new policy h\bha\bas\bs n\bno\bo i\bim\bmp\bpa\bac\bct\bt on sites you develop using Django. It only\n applies to the Django admin. Feel free to develop apps compatible with any\n range of browsers.\n *\b**\b**\b**\b* R\bRe\bem\bmo\bov\bve\bed\bd a\bad\bdm\bmi\bin\bn i\bic\bco\bon\bns\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n As part of an effort to improve the performance and usability of the admin\u2019s\n-change-list sorting interface and _\bh_\bo_\br_\bi_\bz_\bo_\bn_\bt_\ba_\bl and _\bv_\be_\br_\bt_\bi_\bc_\ba_\bl \u201cfilter\u201d widgets,\n+change-list sorting interface and _\bh_\bo_\br_\bi_\bz_\bo_\bn_\bt_\ba_\bl and _\bv_\be_\br_\bt_\bi_\bc_\ba_\bl \u00abfilter\u00bb widgets,\n some icon files were removed and grouped into two sprite files.\n Specifically: selector-add.gif, selector-addall.gif, selector-remove.gif,\n selector-removeall.gif, selector_stacked-add.gif and selector_stacked-\n remove.gif were combined into selector-icons.gif; and arrow-up.gif and arrow-\n down.gif were combined into sorting-icons.gif.\n If you used those icons to customize the admin, then you\u2019ll need to replace\n them with your own icons or get the files from a previous release.\n *\b**\b**\b**\b* C\bCS\bSS\bS c\bcl\bla\bas\bss\bs n\bna\bam\bme\bes\bs i\bin\bn a\bad\bdm\bmi\bin\bn f\bfo\bor\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-To avoid conflicts with other common CSS class names (e.g. \u201cbutton\u201d), we added\n-a prefix (\u201cfield-\u201d) to all CSS class names automatically generated from the\n+To avoid conflicts with other common CSS class names (e.g. \u00abbutton\u00bb), we added\n+a prefix (\u00abfield-\u00bb) to all CSS class names automatically generated from the\n form field names in the main admin forms, stacked inline forms and tabular\n inline cells. You\u2019ll need to take that prefix into account in your custom style\n sheets or JavaScript files if you previously used plain field names as\n selectors for custom styles or JavaScript transformations.\n *\b**\b**\b**\b* C\bCo\bom\bmp\bpa\bat\bti\bib\bbi\bil\bli\bit\bty\by w\bwi\bit\bth\bh o\bol\bld\bd s\bsi\big\bgn\bne\bed\bd d\bda\bat\bta\ba_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.3 changed the cryptographic signing mechanisms used in a number of\n places in Django. While Django 1.3 kept fallbacks that would accept hashes\n@@ -475,16 +475,16 @@\n o Consequences: Password reset links from before the upgrade will not\n work.\n o Time period: Defined by PASSWORD_RESET_TIMEOUT_DAYS.\n Form-related hashes: these have a much shorter lifetime and are relevant only\n for the short window where a user might fill in a form generated by the pre-\n upgrade Django instance and try to submit it to the upgraded Django instance:\n * contrib.comments form security hash\n- o Consequences: The user will see the validation error \u201cSecurity hash\n- failed.\u201d\n+ o Consequences: The user will see the validation error \u00abSecurity hash\n+ failed.\u00bb\n o Time period: The amount of time you expect users to take filling\n out comment forms.\n * FormWizard security hash\n o Consequences: The user will see an error about the form having\n expired and will be sent back to the first page of the wizard,\n losing the data entered so far.\n o Time period: The amount of time you expect users to take filling\n@@ -702,19 +702,19 @@\n with self.assertTemplateUsed(\"index.html\"):\n render_to_string(\"index.html\")\n with self.assertTemplateNotUsed(\"base.html\"):\n render_to_string(\"index.html\")\n See the _\ba_\bs_\bs_\be_\br_\bt_\bi_\bo_\bn_\b _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn for more.\n *\b**\b**\b**\b* D\bDa\bat\bta\bab\bba\bas\bse\be c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bns\bs a\baf\bft\bte\ber\br r\bru\bun\bnn\bni\bin\bng\bg t\bth\bhe\be t\bte\bes\bst\bt s\bsu\bui\bit\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n The default test runner no longer restores the database connections after\n-tests\u2019 execution. This prevents the production database from being exposed to\n+tests\u201d execution. This prevents the production database from being exposed to\n potential threads that would still be running and attempting to create new\n connections.\n If your code relied on connections to the production database being created\n-after tests\u2019 execution, then you can restore the previous behavior by\n+after tests\u201d execution, then you can restore the previous behavior by\n subclassing DjangoTestRunner and overriding its teardown_databases() method.\n *\b**\b**\b**\b* O\bOu\but\btp\bpu\but\bt o\bof\bf _\bm\bm_\ba\ba_\bn\bn_\ba\ba_\bg\bg_\be\be_\b.\b._\bp\bp_\by\by_\b _\bh\bh_\be\be_\bl\bl_\bp\bp_\b?\b\u00b6 *\b**\b**\b**\b*\n _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by_\b _\bh_\be_\bl_\bp now groups available commands by application. If you depended on\n the output of this command \u2013 if you parsed it, for example \u2013 then you\u2019ll need\n to update your code. To get a list of all available management commands in a\n script, use _\bm_\ba_\bn_\ba_\bg_\be_\b._\bp_\by_\b _\bh_\be_\bl_\bp_\b _\b-_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bs instead.\n *\b**\b**\b**\b* e\bex\bxt\bte\ben\bnd\bds\bs t\bte\bem\bmp\bpl\bla\bat\bte\be t\bta\bag\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -803,19 +803,19 @@\n made. While Databrowse has been deprecated, an enhancement of\n django.contrib.admin providing a similar feature set is still possible.\n The code that powers Databrowse is licensed under the same terms as Django\n itself, so it\u2019s available to be adopted by an individual or group as a third-\n party project.\n *\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bor\bre\be.\b.m\bma\ban\bna\bag\bge\bem\bme\ben\bnt\bt.\b.s\bse\bet\btu\bup\bp_\b_e\ben\bnv\bvi\bir\bro\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n This function temporarily modified sys.path in order to make the parent\n-\u201cproject\u201d directory importable under the old flat _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt layout. This\n+\u00abproject\u00bb directory importable under the old flat _\bs_\bt_\ba_\br_\bt_\bp_\br_\bo_\bj_\be_\bc_\bt layout. This\n function is now deprecated, as its path workarounds are no longer needed with\n the new manage.py and default project layout.\n This function was never documented or part of the public API, but it was widely\n-recommended for use in setting up a \u201cDjango environment\u201d for a user script.\n+recommended for use in setting up a \u00abDjango environment\u00bb for a user script.\n These uses should be replaced by setting the _\bD_\bJ_\bA_\bN_\bG_\bO_\b__\bS_\bE_\bT_\bT_\bI_\bN_\bG_\bS_\b__\bM_\bO_\bD_\bU_\bL_\bE environment\n variable or using _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bf_\b._\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b._\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be_\b(_\b).\n *\b**\b**\b**\b* d\bdj\bja\ban\bng\bgo\bo.\b.c\bco\bor\bre\be.\b.m\bma\ban\bna\bag\bge\bem\bme\ben\bnt\bt.\b.e\bex\bxe\bec\bcu\but\bte\be_\b_m\bma\ban\bna\bag\bge\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n This function was previously used by manage.py to execute a management command.\n It is identical to django.core.management.execute_from_command_line, except\n that it first calls setup_environ, which is now deprecated. As such,\n execute_manager is also deprecated; execute_from_command_line can be used\n@@ -944,16 +944,16 @@\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b._\be_\bx_\be_\bc_\bu_\bt_\be_\b__\bm_\ba_\bn_\ba_\bg_\be_\br\n # _\bi_\bs_\b__\bs_\ba_\bf_\be_\b _\ba_\bn_\bd_\b _\bn_\be_\be_\bd_\bs_\b__\ba_\bu_\bt_\bo_\be_\bs_\bc_\ba_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs_\b _\bo_\bf_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br_\bs\n # _\bW_\bi_\bl_\bd_\bc_\ba_\br_\bd_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn_\b _\bo_\bf_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bn_\ba_\bm_\be_\bs_\b _\bi_\bn_\b _\bI_\bN_\bS_\bT_\bA_\bL_\bL_\bE_\bD_\b__\bA_\bP_\bP_\bS\n # _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\br_\ba_\bw_\b__\bp_\bo_\bs_\bt_\b__\bd_\ba_\bt_\ba_\b _\br_\be_\bn_\ba_\bm_\be_\bd_\b _\bt_\bo_\b _\bH_\bt_\bt_\bp_\bR_\be_\bq_\bu_\be_\bs_\bt_\b._\bb_\bo_\bd_\by\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\bi_\bt_\be_\bm_\ba_\bp_\bs_\b _\bb_\bu_\bg_\b _\bf_\bi_\bx_\b _\bw_\bi_\bt_\bh_\b _\bp_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b _\bp_\be_\br_\bf_\bo_\br_\bm_\ba_\bn_\bc_\be\n _\bi_\bm_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs\n # _\bV_\be_\br_\bs_\bi_\bo_\bn_\bs_\b _\bo_\bf_\b _\bP_\by_\bt_\bh_\bo_\bn_\b-_\bM_\ba_\br_\bk_\bd_\bo_\bw_\bn_\b _\be_\ba_\br_\bl_\bi_\be_\br_\b _\bt_\bh_\ba_\bn_\b _\b2_\b._\b1\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b3_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.1 release notes — Django 5.1.4 documentation\n+ Django 1.5.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -104,37 +105,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 2\b28\b8,\b, 2\b20\b01\b13\b3\n This is Django 1.5.1, a bugfix release for Django 1.5. It\u2019s completely\n backwards compatible with Django 1.5, but includes a handful of fixes.\n The biggest fix is for a memory leak introduced in Django 1.5. Under certain\n@@ -11,16 +11,16 @@\n _\bt_\bi_\bc_\bk_\be_\bt_\b _\bt_\br_\ba_\bc_\bk_\be_\br (and in _\ba_\b _\br_\be_\bl_\ba_\bt_\be_\bd_\b _\bi_\bs_\bs_\bu_\be in Python itself).\n If you\u2019ve noticed memory problems under Django 1.5, upgrading to 1.5.1 should\n fix those issues.\n Django 1.5.1 also includes a couple smaller fixes:\n * Module-level warnings emitted during tests are no longer silently hidden\n (_\b#_\b1_\b8_\b9_\b8_\b5).\n * Prevented filtering on password hashes in the user admin (_\b#_\b2_\b0_\b0_\b7_\b8).\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.10 release notes — Django 5.1.4 documentation\n+ Django 1.5.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,37 +108,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.9 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.9 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b14\b4\n Django 1.5.10 fixes a regression in the 1.5.9 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed inherited and m2m fields to be referenced in the admin (_\b#_\b2_\b2_\b4_\b8_\b6)\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.11 release notes — Django 5.1.4 documentation\n+ Django 1.5.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.12 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.12 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b22\b2,\b, 2\b20\b01\b14\b4\n Django 1.5.11 fixes a couple regressions in the 1.5.9 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed related many-to-many fields to be referenced in the admin\n (_\b#_\b2_\b3_\b6_\b0_\b4).\n * Allowed inline and hidden references to admin fields (_\b#_\b2_\b3_\b4_\b3_\b1).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.12.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.12.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.12 release notes — Django 5.1.4 documentation\n+ Django 1.5.12 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -108,37 +109,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.11 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.11 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.1\b12\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b2,\b, 2\b20\b01\b15\b5\n Django 1.5.12 fixes a regression in the 1.5.9 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression with dynamically generated inlines and allowed field\n references in the admin (_\b#_\b2_\b3_\b7_\b5_\b4).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.2 release notes — Django 5.1.4 documentation\n+ Django 1.5.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -81,15 +82,15 @@\n

    Django 1.5.2 release notes\u00b6

    \n

    August 13, 2013

    \n

    This is Django 1.5.2, a bugfix and security release for Django 1.5.

    \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login(), django.contrib.comments, and\n-i18n) to redirect the user to an \u201con success\u201d URL.\n+i18n) to redirect the user to an \u00abon success\u00bb URL.\n The security checks for these redirects (namely\n django.utils.http.is_safe_url()) didn\u2019t check if the scheme is http(s)\n and as such allowed javascript:... URLs to be entered. If a developer\n relied on is_safe_url() to provide safe redirect targets and put such a\n URL into a link, they could suffer from a XSS attack. This bug doesn\u2019t affect\n Django currently, since we only put this URL into the Location response\n header and browsers seem to ignore JavaScript there.

    \n@@ -156,37 +157,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,16 +1,16 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b13\b3,\b, 2\b20\b01\b13\b3\n This is Django 1.5.2, a bugfix and security release for Django 1.5.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d\n+(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb\n URL. The security checks for these redirects (namely\n django.utils.http.is_safe_url()) didn\u2019t check if the scheme is http(s) and as\n such allowed javascript:... URLs to be entered. If a developer relied on\n is_safe_url() to provide safe redirect targets and put such a URL into a link,\n they could suffer from a XSS attack. This bug doesn\u2019t affect Django currently,\n since we only put this URL into the Location response header and browsers seem\n to ignore JavaScript there.\n@@ -46,16 +46,16 @@\n an AttributeError: 'Settings' object has no attribute\n '_original_allowed_hosts' exception, it\u2019s probably fixed (#20636).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bX_\bS_\bS_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.3 release notes — Django 5.1.4 documentation\n+ Django 1.5.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b10\b0,\b, 2\b20\b01\b13\b3\n This is Django 1.5.3, the third release in the Django 1.5 series. It addresses\n one security issue and also contains an opt-in feature to enhance the security\n of _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs.\n@@ -35,16 +35,16 @@\n keys, you will likely run into problems if you are using non-string keys in\n request.session. See the _\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bs_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bt_\bi_\bo_\bn documentation for more details.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\bi_\br_\be_\bc_\bt_\bo_\br_\by_\b _\bt_\br_\ba_\bv_\be_\br_\bs_\ba_\bl_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bs_\bs_\bi_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bt_\ba_\bg\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\bi_\bn_\bg_\b _\ba_\b _\br_\be_\bm_\bo_\bt_\be_\b-_\bc_\bo_\bd_\be_\b _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn_\b _\bv_\bu_\bl_\bn_\be_\br_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.4 release notes — Django 5.1.4 documentation\n+ Django 1.5.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -133,37 +134,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 1\b14\b4,\b, 2\b20\b01\b13\b3\n This is Django 1.5.4, the fourth release in the Django 1.5 series. It addresses\n two security issues and one bug.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be v\bvi\bia\ba p\bpa\bas\bss\bsw\bwo\bor\brd\bd h\bha\bas\bsh\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -27,16 +27,16 @@\n raised an exception) (#21102).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bv_\bi_\ba_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh_\be_\br_\bs\n o _\bC_\bo_\br_\br_\be_\bc_\bt_\be_\bd_\b _\bu_\bs_\ba_\bg_\be_\b _\bo_\bf_\b _\bs_\be_\bn_\bs_\bi_\bt_\bi_\bv_\be_\b__\bp_\bo_\bs_\bt_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)_\b _\bi_\bn\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh_\b\u2019_\bs_\b _\ba_\bd_\bm_\bi_\bn\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.5 release notes — Django 5.1.4 documentation\n+ Django 1.5.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -135,37 +136,37 @@\n
  • Backwards incompatible changes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b23\b3,\b, 2\b20\b01\b13\b3\n Django 1.5.5 fixes a couple security-related bugs and several other bugs in the\n 1.5 series.\n *\b**\b**\b**\b**\b* R\bRe\bea\bad\bdd\bdr\bre\bes\bss\bse\bed\bd d\bde\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be v\bvi\bia\ba p\bpa\bas\bss\bsw\bwo\bor\brd\bd h\bha\bas\bsh\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -26,16 +26,16 @@\n been removed. Use socket.error provided by the standard library instead.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bR_\be_\ba_\bd_\bd_\br_\be_\bs_\bs_\be_\bd_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bv_\bi_\ba_\b _\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd_\b _\bh_\ba_\bs_\bh_\be_\br_\bs\n o _\bP_\br_\bo_\bp_\be_\br_\bl_\by_\b _\br_\bo_\bt_\ba_\bt_\be_\b _\bC_\bS_\bR_\bF_\b _\bt_\bo_\bk_\be_\bn_\b _\bo_\bn_\b _\bl_\bo_\bg_\bi_\bn\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n o _\bB_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.6 release notes — Django 5.1.4 documentation\n+ Django 1.5.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -99,15 +100,15 @@\n module indicated by that dotted path as part of generating the\n resulting URL. If such a module has import-time side effects, those\n side effects will occur.

    \n

    Thus it is possible for an attacker to cause unexpected code\n execution, given the following conditions:

    \n
      \n
    1. One or more views are present which construct a URL based on user\n-input (commonly, a \u201cnext\u201d parameter in a querystring indicating\n+input (commonly, a \u00abnext\u00bb parameter in a querystring indicating\n where to redirect upon successful completion of an action).

    2. \n
    3. One or more modules are known to an attacker to exist on the\n server\u2019s Python import path, which perform code execution with side\n effects on importing.

    4. \n
    \n

    To remedy this, reverse() will now only accept and import dotted\n paths based on the view-containing modules listed in the project\u2019s URL\n@@ -136,15 +137,15 @@\n

  • If the response did send one or more cookies, and

  • \n
  • If the Vary: Cookie header is set on the response, then the\n response will not be cached.

  • \n \n \n
    \n

    MySQL typecasting\u00b6

    \n-

    The MySQL database is known to \u201ctypecast\u201d on certain queries; for\n+

    The MySQL database is known to \u00abtypecast\u00bb on certain queries; for\n example, when querying a table which contains string values, but using\n a query which filters based on an integer value, MySQL will first\n silently coerce the strings to integers and return a result based on that.

    \n

    If a query is performed without first converting values to the\n appropriate type, this can produce unexpected results, similar to what\n would occur if the query itself had been manipulated.

    \n

    Django\u2019s model field classes are aware of their own types and most\n@@ -196,37 +197,37 @@\n

  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b21\b1,\b, 2\b20\b01\b14\b4\n Django 1.5.6 fixes several bugs in 1.5.5, including three security issues.\n *\b**\b**\b**\b**\b* U\bUn\bne\bex\bxp\bpe\bec\bct\bte\bed\bd c\bco\bod\bde\be e\bex\bxe\bec\bcu\but\bti\bio\bon\bn u\bus\bsi\bin\bng\bg r\bre\bev\bve\ber\brs\bse\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django\u2019s URL handling is based on a mapping of regex patterns (representing the\n@@ -18,15 +18,15 @@\n One argument signature for reverse() is to pass a dotted Python path to the\n desired view. In this situation, Django will import the module indicated by\n that dotted path as part of generating the resulting URL. If such a module has\n import-time side effects, those side effects will occur.\n Thus it is possible for an attacker to cause unexpected code execution, given\n the following conditions:\n 1. One or more views are present which construct a URL based on user input\n- (commonly, a \u201cnext\u201d parameter in a querystring indicating where to\n+ (commonly, a \u00abnext\u00bb parameter in a querystring indicating where to\n redirect upon successful completion of an action).\n 2. One or more modules are known to an attacker to exist on the server\u2019s\n Python import path, which perform code execution with side effects on\n importing.\n To remedy this, reverse() will now only accept and import dotted paths based on\n the view-containing modules listed in the project\u2019s _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn,\n so as to ensure that only modules the developer intended to be imported in this\n@@ -47,15 +47,15 @@\n To remedy this, the caching framework will no longer cache such responses. The\n heuristic for this will be:\n 1. If the incoming request did not submit any cookies, and\n 2. If the response did send one or more cookies, and\n 3. If the Vary: Cookie header is set on the response, then the response will\n not be cached.\n *\b**\b**\b**\b**\b* M\bMy\byS\bSQ\bQL\bL t\bty\byp\bpe\bec\bca\bas\bst\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-The MySQL database is known to \u201ctypecast\u201d on certain queries; for example, when\n+The MySQL database is known to \u00abtypecast\u00bb on certain queries; for example, when\n querying a table which contains string values, but using a query which filters\n based on an integer value, MySQL will first silently coerce the strings to\n integers and return a result based on that.\n If a query is performed without first converting values to the appropriate\n type, this can produce unexpected results, similar to what would occur if the\n query itself had been manipulated.\n Django\u2019s model field classes are aware of their own types and most such classes\n@@ -80,16 +80,16 @@\n upgraded to the latest release (1.6.1).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bU_\bn_\be_\bx_\bp_\be_\bc_\bt_\be_\bd_\b _\bc_\bo_\bd_\be_\b _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)\n o _\bC_\ba_\bc_\bh_\bi_\bn_\bg_\b _\bo_\bf_\b _\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\bp_\ba_\bg_\be_\bs_\b _\bc_\bo_\bu_\bl_\bd_\b _\br_\be_\bv_\be_\ba_\bl_\b _\bC_\bS_\bR_\bF_\b _\bt_\bo_\bk_\be_\bn\n o _\bM_\by_\bS_\bQ_\bL_\b _\bt_\by_\bp_\be_\bc_\ba_\bs_\bt_\bi_\bn_\bg\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.7 release notes — Django 5.1.4 documentation\n+ Django 1.5.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -107,37 +108,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b28\b8,\b, 2\b20\b01\b14\b4\n Django 1.5.7 fixes a regression in the 1.5.6 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Restored the ability to reverse() views created using _\bf_\bu_\bn_\bc_\bt_\bo_\bo_\bl_\bs_\b._\bp_\ba_\br_\bt_\bi_\ba_\bl_\b(_\b)\n (_\b#_\b2_\b2_\b4_\b8_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.8 release notes — Django 5.1.4 documentation\n+ Django 1.5.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -103,15 +104,15 @@\n
    \n

    Malformed redirect URLs from user input not correctly validated\u00b6

    \n

    The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to\n an unsafe URL unexpectedly.

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login(), django.contrib.comments, and\n-i18n) to redirect the user to an \u201con success\u201d URL.\n+i18n) to redirect the user to an \u00abon success\u00bb URL.\n The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some\n browsers with more liberal URL parsing.

    \n

    To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.

    \n
    \n@@ -135,37 +136,37 @@\n
  • Malformed redirect URLs from user input not correctly validated
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.9 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.9 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b14\b4,\b, 2\b20\b01\b14\b4\n Django 1.5.8 fixes two security issues in 1.5.8.\n *\b**\b**\b**\b**\b* C\bCa\bac\bch\bhe\bes\bs m\bma\bay\by i\bin\bnc\bco\bor\brr\bre\bec\bct\btl\bly\by b\bbe\be a\bal\bll\blo\bow\bwe\bed\bd t\bto\bo s\bst\bto\bor\bre\be a\ban\bnd\bd s\bse\ber\brv\bve\be p\bpr\bri\biv\bva\bat\bte\be d\bda\bat\bta\ba_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In certain situations, Django may allow caches to store private data related to\n@@ -21,27 +21,27 @@\n Explorer requests with a Content-Disposition header have also been removed as\n they were found to have similar issues.\n *\b**\b**\b**\b**\b* M\bMa\bal\blf\bfo\bor\brm\bme\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs f\bfr\bro\bom\bm u\bus\bse\ber\br i\bin\bnp\bpu\but\bt n\bno\bot\bt c\bco\bor\brr\bre\bec\bct\btl\bly\by v\bva\bal\bli\bid\bda\bat\bte\bed\bd_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to an\n unsafe URL unexpectedly.\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d\n+(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb\n URL. The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some browsers\n with more liberal URL parsing.\n To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bC_\ba_\bc_\bh_\be_\bs_\b _\bm_\ba_\by_\b _\bi_\bn_\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by_\b _\bb_\be_\b _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bt_\bo_\b _\bs_\bt_\bo_\br_\be_\b _\ba_\bn_\bd_\b _\bs_\be_\br_\bv_\be_\b _\bp_\br_\bi_\bv_\ba_\bt_\be_\b _\bd_\ba_\bt_\ba\n o _\bM_\ba_\bl_\bf_\bo_\br_\bm_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs_\b _\bf_\br_\bo_\bm_\b _\bu_\bs_\be_\br_\b _\bi_\bn_\bp_\bu_\bt_\b _\bn_\bo_\bt_\b _\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.9.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.9.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5.9 release notes — Django 5.1.4 documentation\n+ Django 1.5.9 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -116,15 +117,15 @@\n requests without an intervening logout could result in the prior user\u2019s session\n being co-opted by the subsequent user. The middleware now logs the user out on\n a failed login attempt.

    \n \n
    \n

    Data leakage via query string manipulation in contrib.admin\u00b6

    \n

    In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like\n /admin/auth/user/?pop=1&t=password and viewing the page\u2019s HTML allowed\n viewing the password hash of each user. While the admin requires users to have\n permissions to view the change form pages in the first place, this could leak\n data if you rely on users having access to view only certain fields on a model.

    \n

    To address the issue, an exception will now be raised if a to_field value\n that isn\u2019t a related field to a model that has been registered with the admin\n@@ -152,37 +153,37 @@\n

  • Data leakage via query string manipulation in contrib.admin
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.10 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.10 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5.\b.9\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 2\b20\b0,\b, 2\b20\b01\b14\b4\n Django 1.5.9 fixes several security issues in 1.5.8.\n *\b**\b**\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be(\b()\b) c\bco\bou\bul\bld\bd g\bge\ben\bne\ber\bra\bat\bte\be U\bUR\bRL\bLs\bs p\bpo\boi\bin\bnt\bti\bin\bng\bg t\bto\bo o\bot\bth\bhe\ber\br h\bho\bos\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In certain situations, URL reversing could generate scheme-relative URLs (URLs\n@@ -31,31 +31,31 @@\n *\b**\b**\b**\b**\b* R\bRe\bem\bmo\bot\bte\beU\bUs\bse\ber\brM\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be s\bse\bes\bss\bsi\bio\bon\bn h\bhi\bij\bja\bac\bck\bki\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When using the _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be and the RemoteUserBackend, a change to the\n REMOTE_USER header between requests without an intervening logout could result\n in the prior user\u2019s session being co-opted by the subsequent user. The\n middleware now logs the user out on a failed login attempt.\n *\b**\b**\b**\b**\b* D\bDa\bat\bta\ba l\ble\bea\bak\bka\bag\bge\be v\bvi\bia\ba q\bqu\bue\ber\bry\by s\bst\btr\bri\bin\bng\bg m\bma\ban\bni\bip\bpu\bul\bla\bat\bti\bio\bon\bn i\bin\bn c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like /admin/auth/user/\n ?pop=1&t=password and viewing the page\u2019s HTML allowed viewing the password hash\n of each user. While the admin requires users to have permissions to view the\n change form pages in the first place, this could leak data if you rely on users\n having access to view only certain fields on a model.\n To address the issue, an exception will now be raised if a to_field value that\n isn\u2019t a related field to a model that has been registered with the admin is\n specified.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)_\b _\bc_\bo_\bu_\bl_\bd_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b _\bU_\bR_\bL_\bs_\b _\bp_\bo_\bi_\bn_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bo_\bt_\bh_\be_\br_\b _\bh_\bo_\bs_\bt_\bs\n o _\bF_\bi_\bl_\be_\b _\bu_\bp_\bl_\bo_\ba_\bd_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be\n o _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bh_\bi_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n o _\bD_\ba_\bt_\ba_\b _\bl_\be_\ba_\bk_\ba_\bg_\be_\b _\bv_\bi_\ba_\b _\bq_\bu_\be_\br_\by_\b _\bs_\bt_\br_\bi_\bn_\bg_\b _\bm_\ba_\bn_\bi_\bp_\bu_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.5 release notes — Django 5.1.4 documentation\n+ Django 1.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -86,21 +87,21 @@\n want to be aware of when upgrading from Django 1.4 or older versions. We\u2019ve\n also dropped some features, which are detailed in our deprecation plan, and we\u2019ve begun the deprecation process\n for some features.

    \n
    \n

    Overview\u00b6

    \n

    The biggest new feature in Django 1.5 is the configurable User model. Before\n Django 1.5, applications that wanted to use Django\u2019s auth framework\n-(django.contrib.auth) were forced to use Django\u2019s definition of a \u201cuser\u201d.\n+(django.contrib.auth) were forced to use Django\u2019s definition of a \u00abuser\u00bb.\n In Django 1.5, you can now swap out the User model for one that you write\n yourself. This could be a simple extension to the existing User model \u2013 for\n example, you could add a Twitter or Facebook ID field \u2013 or you could completely\n replace the User with one totally customized for your site.

    \n

    Django 1.5 is also the first release with Python 3 support! We\u2019re labeling\n-this support \u201cexperimental\u201d because we don\u2019t yet consider it production-ready,\n+this support \u00abexperimental\u00bb because we don\u2019t yet consider it production-ready,\n but everything\u2019s in place for you to start porting your apps to Python 3.\n Our next release, Django 1.6, will support Python 3 without reservations.

    \n

    Other notable new features in Django 1.5 include:

    \n \n

    Wherever possible we try to introduce new features in a backwards-compatible\n manner per our API stability policy.\n However, as with previous releases, Django 1.5 ships with some minor\n backwards incompatible changes; people\n upgrading from previous versions of Django should read that list carefully.

    \n-

    One deprecated feature worth noting is the shift to \u201cnew-style\u201d url tag.\n+

    One deprecated feature worth noting is the shift to \u00abnew-style\u00bb url tag.\n Prior to Django 1.3, syntax like {% url myview %} was interpreted\n incorrectly (Django considered "myview" to be a literal name of a view, not\n a template variable named myview). Django 1.3 and above introduced the\n {% load url from future %} syntax to bring in the corrected behavior where\n myview was seen as a variable.

    \n

    The upshot of this is that if you are not using {% load url from future %}\n in your templates, you\u2019ll need to change tags like {% url myview %} to\n@@ -144,15 +145,15 @@\n

    \n

    Python 3 support\u00b6

    \n

    Django 1.5 introduces support for Python 3 - specifically, Python\n 3.2 and above. This comes in the form of a single codebase; you don\u2019t\n need to install a different version of Django on Python 3. This means that\n you can write applications targeted for just Python 2, just Python 3, or single\n applications that support both platforms.

    \n-

    However, we\u2019re labeling this support \u201cexperimental\u201d for now: although it\u2019s\n+

    However, we\u2019re labeling this support \u00abexperimental\u00bb for now: although it\u2019s\n received extensive testing via our automated test suite, it\u2019s received very\n little real-world testing. We\u2019ve done our best to eliminate bugs, but we can\u2019t\n be sure we covered all possible uses of Django.

    \n

    Some features of Django aren\u2019t available because they depend on third-party\n software that hasn\u2019t been ported to Python 3 yet, including:

    \n
      \n
    • the MySQL database backend (depends on MySQLdb)

    • \n@@ -265,15 +266,15 @@\n dropped.

      \n
    \n
    \n
    \n

    New tutorials\u00b6

    \n

    Additions to the docs include a revamped Tutorial 3\n and a new tutorial on testing. A new section,\n-\u201cAdvanced Tutorials\u201d, offers How to write reusable apps as well as a step-by-step guide for new contributors in\n+\u00abAdvanced Tutorials\u00bb, offers How to write reusable apps as well as a step-by-step guide for new contributors in\n Writing your first patch for Django.

    \n
    \n
    \n

    Minor features\u00b6

    \n

    Django 1.5 also includes several smaller improvements worth noting:

    \n \n
    \n
    \n
    \n

    Backwards incompatible changes in 1.5\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In addition to the changes outlined in this section, be sure to review the\n deprecation plan for any features that\n have been removed. If you haven\u2019t updated your code within the\n deprecation timeline for a given feature, its removal may appear as a\n backwards incompatible change.

    \n
    \n
    \n@@ -374,15 +375,15 @@\n
    \n
    \n

    Managers on abstract models\u00b6

    \n

    Abstract models are able to define a custom manager, and that manager\n will be inherited by any concrete models extending the abstract model. However, if you try to use the abstract\n model to call a method on the manager, an exception will now be raised.\n Previously, the call would have been permitted, but would have failed as soon\n-as any database operation was attempted (usually with a \u201ctable does not exist\u201d\n+as any database operation was attempted (usually with a \u00abtable does not exist\u00bb\n error from the database).

    \n

    If you have functionality on a manager that you have been invoking using\n the abstract class, you should migrate that logic to a Python\n staticmethod or classmethod on the abstract class.

    \n
    \n
    \n

    Context in year archive class-based views\u00b6

    \n@@ -433,15 +434,15 @@\n streaming responses that delay content\n generation.

    \n

    This signal is now sent after the content is fully consumed by the WSGI\n gateway. This might be backwards incompatible if you rely on the signal being\n fired before sending the response content to the client. If you do, you should\n consider using middleware instead.

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Some WSGI servers and middleware do not always call close on the\n response object after handling a request, most notably uWSGI prior to 1.2.6\n and Sentry\u2019s error reporting middleware up to 2.0.7. In those cases the\n request_finished signal isn\u2019t sent at all. This can result in idle\n connections to database and memcache servers.

    \n
    \n
    \n@@ -825,37 +826,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.5.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.5.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.4.22 release notes

    \n+ title=\"capitolo successivo\">Django 1.4.22 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,27 +1,27 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 2\b26\b6,\b, 2\b20\b01\b13\b3\n Welcome to Django 1.5!\n These release notes cover the _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, as well as some _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs you\u2019ll want to be aware of when upgrading from Django 1.4\n or older versions. We\u2019ve also dropped some features, which are detailed in _\bo_\bu_\br\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bl_\ba_\bn, and we\u2019ve _\bb_\be_\bg_\bu_\bn_\b _\bt_\bh_\be_\b _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\br_\bo_\bc_\be_\bs_\bs_\b _\bf_\bo_\br_\b _\bs_\bo_\bm_\be_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs.\n *\b**\b**\b**\b**\b* O\bOv\bve\ber\brv\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The biggest new feature in Django 1.5 is the _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bb_\bl_\be_\b _\bU_\bs_\be_\br_\b _\bm_\bo_\bd_\be_\bl. Before\n Django 1.5, applications that wanted to use Django\u2019s auth framework\n-(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh) were forced to use Django\u2019s definition of a \u201cuser\u201d. In\n+(_\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bu_\bt_\bh) were forced to use Django\u2019s definition of a \u00abuser\u00bb. In\n Django 1.5, you can now swap out the User model for one that you write\n yourself. This could be a simple extension to the existing User model \u2013 for\n example, you could add a Twitter or Facebook ID field \u2013 or you could completely\n replace the User with one totally customized for your site.\n Django 1.5 is also the first release with _\bP_\by_\bt_\bh_\bo_\bn_\b _\b3_\b _\bs_\bu_\bp_\bp_\bo_\br_\bt! We\u2019re labeling this\n-support \u201cexperimental\u201d because we don\u2019t yet consider it production-ready, but\n+support \u00abexperimental\u00bb because we don\u2019t yet consider it production-ready, but\n everything\u2019s in place for you to start porting your apps to Python 3. Our next\n release, Django 1.6, will support Python 3 without reservations.\n Other notable new features in Django 1.5 include:\n * _\bS_\bu_\bp_\bp_\bo_\br_\bt_\b _\bf_\bo_\br_\b _\bs_\ba_\bv_\bi_\bn_\bg_\b _\ba_\b _\bs_\bu_\bb_\bs_\be_\bt_\b _\bo_\bf_\b _\bm_\bo_\bd_\be_\bl_\b\u2019_\bs_\b _\bf_\bi_\be_\bl_\bd_\bs - _\bM_\bo_\bd_\be_\bl_\b._\bs_\ba_\bv_\be_\b(_\b) now accepts\n an update_fields argument, letting you specify which fields are written\n back to the database when you call save(). This can help in high-\n concurrency operations, and can improve performance.\n@@ -29,15 +29,15 @@\n response class.\n * _\bG_\be_\bo_\bD_\bj_\ba_\bn_\bg_\bo now supports PostGIS 2.0.\n * \u2026 and more; _\bs_\be_\be_\b _\bb_\be_\bl_\bo_\bw.\n Wherever possible we try to introduce new features in a backwards-compatible\n manner per _\bo_\bu_\br_\b _\bA_\bP_\bI_\b _\bs_\bt_\ba_\bb_\bi_\bl_\bi_\bt_\by_\b _\bp_\bo_\bl_\bi_\bc_\by. However, as with previous releases, Django\n 1.5 ships with some minor _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs_\b _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs; people upgrading from\n previous versions of Django should read that list carefully.\n-One deprecated feature worth noting is the shift to \u201cnew-style\u201d _\bu_\br_\bl tag. Prior\n+One deprecated feature worth noting is the shift to \u00abnew-style\u00bb _\bu_\br_\bl tag. Prior\n to Django 1.3, syntax like {% url myview %} was interpreted incorrectly (Django\n considered \"myview\" to be a literal name of a view, not a template variable\n named myview). Django 1.3 and above introduced the {% load url from future %}\n syntax to bring in the corrected behavior where myview was seen as a variable.\n The upshot of this is that if you are not using {% load url from future %} in\n your templates, you\u2019ll need to change tags like {% url myview %} to {% url\n \"myview\" %}. If you w\bwe\ber\bre\be using {% load url from future %} you can simply remove\n@@ -57,15 +57,15 @@\n alpha release.\n *\b**\b**\b**\b* P\bPy\byt\bth\bho\bon\bn 3\b3 s\bsu\bup\bpp\bpo\bor\brt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.5 introduces support for Python 3 - specifically, Python 3.2 and\n above. This comes in the form of a s\bsi\bin\bng\bgl\ble\be codebase; you don\u2019t need to install a\n different version of Django on Python 3. This means that you can write\n applications targeted for just Python 2, just Python 3, or single applications\n that support both platforms.\n-However, we\u2019re labeling this support \u201cexperimental\u201d for now: although it\u2019s\n+However, we\u2019re labeling this support \u00abexperimental\u00bb for now: although it\u2019s\n received extensive testing via our automated test suite, it\u2019s received very\n little real-world testing. We\u2019ve done our best to eliminate bugs, but we can\u2019t\n be sure we covered all possible uses of Django.\n Some features of Django aren\u2019t available because they depend on third-party\n software that hasn\u2019t been ported to Python 3 yet, including:\n * the MySQL database backend (depends on MySQLdb)\n * _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd (depends on PIL)\n@@ -142,15 +142,15 @@\n and _\bp_\br_\bo_\bj_\be_\bc_\bt_\b(_\b) methods (so-called linear referencing).\n * The wkb and hex properties of _\bG_\bE_\bO_\bS_\bG_\be_\bo_\bm_\be_\bt_\br_\by objects preserve the Z\n dimension.\n * Support for PostGIS 2.0 has been added and support for GDAL < 1.5 has\n been dropped.\n *\b**\b**\b**\b* N\bNe\bew\bw t\btu\but\bto\bor\bri\bia\bal\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Additions to the docs include a revamped _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\b3 and a new _\bt_\bu_\bt_\bo_\br_\bi_\ba_\bl_\b _\bo_\bn\n-_\bt_\be_\bs_\bt_\bi_\bn_\bg. A new section, \u201cAdvanced Tutorials\u201d, offers _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs\n+_\bt_\be_\bs_\bt_\bi_\bn_\bg. A new section, \u00abAdvanced Tutorials\u00bb, offers _\bH_\bo_\bw_\b _\bt_\bo_\b _\bw_\br_\bi_\bt_\be_\b _\br_\be_\bu_\bs_\ba_\bb_\bl_\be_\b _\ba_\bp_\bp_\bs\n as well as a step-by-step guide for new contributors in _\bW_\br_\bi_\bt_\bi_\bn_\bg_\b _\by_\bo_\bu_\br_\b _\bf_\bi_\br_\bs_\bt\n _\bp_\ba_\bt_\bc_\bh_\b _\bf_\bo_\br_\b _\bD_\bj_\ba_\bn_\bg_\bo.\n *\b**\b**\b**\b* M\bMi\bin\bno\bor\br f\bfe\bea\bat\btu\bur\bre\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Django 1.5 also includes several smaller improvements worth noting:\n * The template engine now interprets True, False and None as the\n corresponding Python objects.\n * _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bt_\bi_\bm_\be_\bz_\bo_\bn_\be provides a helper for converting aware datetimes\n@@ -214,15 +214,15 @@\n * The API for _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\b__\bu_\bs_\be_\br_\b(_\b) method has\n been modified to accept additional arguments adding capabilities similar\n to _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs_\b._\ba_\bd_\bd_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b). This is useful for generating\n error messages from admin actions.\n * The admin\u2019s list filters can now be customized per-request thanks to the\n new _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn_\b._\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bg_\be_\bt_\b__\bl_\bi_\bs_\bt_\b__\bf_\bi_\bl_\bt_\be_\br_\b(_\b) method.\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkw\bwa\bar\brd\bds\bs i\bin\bnc\bco\bom\bmp\bpa\bat\bti\bib\bbl\ble\be c\bch\bha\ban\bng\bge\bes\bs i\bin\bn 1\b1.\b.5\b5_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Warning\n+Avvertimento\n In addition to the changes outlined in this section, be sure to review the\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bl_\ba_\bn for any features that have been removed. If you haven\u2019t\n updated your code within the deprecation timeline for a given feature, its\n removal may appear as a backwards incompatible change.\n *\b**\b**\b**\b* A\bAL\bLL\bLO\bOW\bWE\bED\bD_\b_H\bHO\bOS\bST\bTS\bS r\bre\beq\bqu\bui\bir\bre\bed\bd i\bin\bn p\bpr\bro\bod\bdu\buc\bct\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b*\n The new _\bA_\bL_\bL_\bO_\bW_\bE_\bD_\b__\bH_\bO_\bS_\bT_\bS setting validates the request\u2019s Host header and protects\n against host-poisoning attacks. This setting is now required whenever _\bD_\bE_\bB_\bU_\bG is\n@@ -231,15 +231,15 @@\n setting.\n *\b**\b**\b**\b* M\bMa\ban\bna\bag\bge\ber\brs\bs o\bon\bn a\bab\bbs\bst\btr\bra\bac\bct\bt m\bmo\bod\bde\bel\bls\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n Abstract models are able to define a custom manager, and that manager _\bw_\bi_\bl_\bl_\b _\bb_\be\n _\bi_\bn_\bh_\be_\br_\bi_\bt_\be_\bd_\b _\bb_\by_\b _\ba_\bn_\by_\b _\bc_\bo_\bn_\bc_\br_\be_\bt_\be_\b _\bm_\bo_\bd_\be_\bl_\bs_\b _\be_\bx_\bt_\be_\bn_\bd_\bi_\bn_\bg_\b _\bt_\bh_\be_\b _\ba_\bb_\bs_\bt_\br_\ba_\bc_\bt_\b _\bm_\bo_\bd_\be_\bl. However, if you\n try to use the abstract model to call a method on the manager, an exception\n will now be raised. Previously, the call would have been permitted, but would\n have failed as soon as any database operation was attempted (usually with a\n-\u201ctable does not exist\u201d error from the database).\n+\u00abtable does not exist\u00bb error from the database).\n If you have functionality on a manager that you have been invoking using the\n abstract class, you should migrate that logic to a Python staticmethod or\n classmethod on the abstract class.\n *\b**\b**\b**\b* C\bCo\bon\bnt\bte\bex\bxt\bt i\bin\bn y\bye\bea\bar\br a\bar\brc\bch\bhi\biv\bve\be c\bcl\bla\bas\bss\bs-\b-b\bba\bas\bse\bed\bd v\bvi\bie\bew\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n For consistency with the other date-based generic views, _\bY_\be_\ba_\br_\bA_\br_\bc_\bh_\bi_\bv_\be_\bV_\bi_\be_\bw now\n passes year in the context as a _\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\b._\bd_\ba_\bt_\be rather than a string. If you are\n using {{ year }} in your templates, you must replace it with {{ year|date:\"Y\"\n@@ -269,15 +269,15 @@\n Django used to send the _\br_\be_\bq_\bu_\be_\bs_\bt_\b__\bf_\bi_\bn_\bi_\bs_\bh_\be_\bd signal as soon as the view function\n returned a response. This interacted badly with _\bs_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b _\br_\be_\bs_\bp_\bo_\bn_\bs_\be_\bs that delay\n content generation.\n This signal is now sent after the content is fully consumed by the WSGI\n gateway. This might be backwards incompatible if you rely on the signal being\n fired before sending the response content to the client. If you do, you should\n consider using _\bm_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be instead.\n-Note\n+Nota\n Some WSGI servers and middleware do not always call close on the response\n object after handling a request, most notably uWSGI prior to 1.2.6 and Sentry\u2019s\n error reporting middleware up to 2.0.7. In those cases the request_finished\n signal isn\u2019t sent at all. This can result in idle connections to database and\n memcache servers.\n *\b**\b**\b**\b* O\bOP\bPT\bTI\bIO\bON\bNS\bS,\b, P\bPU\bUT\bT a\ban\bnd\bd D\bDE\bEL\bLE\bET\bTE\bE r\bre\beq\bqu\bue\bes\bst\bts\bs i\bin\bn t\bth\bhe\be t\bte\bes\bst\bt c\bcl\bli\bie\ben\bnt\bt_\b?\b\u00b6 *\b**\b**\b**\b*\n Unlike GET and POST, these HTTP methods aren\u2019t implemented by web browsers.\n@@ -548,16 +548,16 @@\n # _\bS_\bt_\br_\be_\ba_\bm_\bi_\bn_\bg_\b _\bb_\be_\bh_\ba_\bv_\bi_\bo_\br_\b _\bo_\bf_\b _\bH_\bt_\bt_\bp_\bR_\be_\bs_\bp_\bo_\bn_\bs_\be\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bs_\bi_\bm_\bp_\bl_\be_\bj_\bs_\bo_\bn\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\be_\bn_\bc_\bo_\bd_\bi_\bn_\bg_\b._\bS_\bt_\br_\bA_\bn_\bd_\bU_\bn_\bi_\bc_\bo_\bd_\be\n # _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bu_\bt_\bi_\bl_\bs_\b._\bi_\bt_\be_\br_\bc_\bo_\bm_\bp_\ba_\bt_\b._\bp_\br_\bo_\bd_\bu_\bc_\bt\n # _\bc_\bl_\be_\ba_\bn_\bu_\bp_\b _\bm_\ba_\bn_\ba_\bg_\be_\bm_\be_\bn_\bt_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd\n # _\bd_\ba_\bi_\bl_\by_\b__\bc_\bl_\be_\ba_\bn_\bu_\bp_\b._\bp_\by_\b _\bs_\bc_\br_\bi_\bp_\bt\n # _\bd_\be_\bp_\bt_\bh_\b _\bk_\be_\by_\bw_\bo_\br_\bd_\b _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\b _\bi_\bn_\b _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b4_\b._\b2_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.1 release notes — Django 5.1.4 documentation\n+ Django 1.6.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -85,15 +86,15 @@\n included.

    \n
    \n

    Bug fixes\u00b6

    \n
      \n
    • Fixed BCryptSHA256PasswordHasher with py-bcrypt and Python 3\n (#21398).

    • \n
    • Fixed a regression that prevented a ForeignKey with a hidden reverse\n-manager (related_name ending with \u2018+\u2019) from being used as a lookup for\n+manager (related_name ending with \u201c+\u201d) from being used as a lookup for\n prefetch_related (#21410).

    • \n
    • Fixed Queryset.datetimes\n raising AttributeError in some situations (#21432).

    • \n
    • Fixed ModelBackend raising\n UnboundLocalError if get_user_model()\n raised an error (#21439).

    • \n
    • Fixed a regression that prevented editable GenericRelation subclasses\n@@ -156,37 +157,37 @@\n

    • Bug fixes
    • \n
    \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,19 +1,19 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n D\bDe\bec\bce\bem\bmb\bbe\ber\br 1\b12\b2,\b, 2\b20\b01\b13\b3\n This is Django 1.6.1, a bugfix release for Django 1.6. In addition to the bug\n fixes listed below, translations submitted since the 1.6 release are also\n included.\n *\b**\b**\b**\b**\b* B\bBu\bug\bg f\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed BCryptSHA256PasswordHasher with py-bcrypt and Python 3 (#21398).\n * Fixed a regression that prevented a ForeignKey with a hidden reverse\n- manager (related_name ending with \u2018+\u2019) from being used as a lookup for\n+ manager (related_name ending with \u201c+\u201d) from being used as a lookup for\n prefetch_related (#21410).\n * Fixed _\bQ_\bu_\be_\br_\by_\bs_\be_\bt_\b._\bd_\ba_\bt_\be_\bt_\bi_\bm_\be_\bs raising AttributeError in some situations\n (#21432).\n * Fixed _\bM_\bo_\bd_\be_\bl_\bB_\ba_\bc_\bk_\be_\bn_\bd raising UnboundLocalError if _\bg_\be_\bt_\b__\bu_\bs_\be_\br_\b__\bm_\bo_\bd_\be_\bl_\b(_\b) raised\n an error (#21439).\n * Fixed a regression that prevented editable GenericRelation subclasses\n from working in ModelForms (#21428).\n@@ -54,16 +54,16 @@\n * Fixed a crash in _\bI_\bm_\ba_\bg_\be_\bF_\bi_\be_\bl_\bd on some platforms (Homebrew and RHEL6\n reported) (#21355).\n * Fixed a regression when using generic relations in ModelAdmin.list_filter\n (#21431).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\b _\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.10 release notes — Django 5.1.4 documentation\n+ Django 1.6.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -102,15 +103,15 @@\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.

    \n \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip leading\n whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to\n provide safe redirect targets and put such a URL into a link, they could suffer\n from a XSS attack. This bug doesn\u2019t affect Django currently, since we only put\n this URL into the Location response header and browsers seem to ignore\n JavaScript there.

    \n@@ -158,37 +159,37 @@\n
  • Database denial-of-service with ModelMultipleChoiceField
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.9 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.9 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 1\b13\b3,\b, 2\b20\b01\b15\b5\n Django 1.6.10 fixes several security issues in 1.6.9.\n *\b**\b**\b**\b**\b* W\bWS\bSG\bGI\bI h\bhe\bea\bad\bde\ber\br s\bsp\bpo\boo\bof\bfi\bin\bng\bg v\bvi\bia\ba u\bun\bnd\bde\ber\brs\bsc\bco\bor\bre\be/\b/d\bda\bas\bsh\bh c\bco\bon\bnf\bfl\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When HTTP headers are placed into the WSGI environ, they are normalized by\n@@ -19,15 +19,15 @@\n In order to prevent such attacks, both Nginx and Apache 2.4+ strip all headers\n containing underscores from incoming requests by default. Django\u2019s built-in\n development server now does the same. Django\u2019s development server is not\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip\n leading whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to provide safe\n redirect targets and put such a URL into a link, they could suffer from a XSS\n attack. This bug doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript there.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be a\bat\btt\bta\bac\bck\bk a\bag\bga\bai\bin\bns\bst\bt d\bdj\bja\ban\bng\bgo\bo.\b.v\bvi\bie\bew\bws\bs.\b.s\bst\bta\bat\bti\bic\bc.\b.s\bse\ber\brv\bve\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -49,16 +49,16 @@\n to address this issue.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bW_\bS_\bG_\bI_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bs_\bp_\bo_\bo_\bf_\bi_\bn_\bg_\b _\bv_\bi_\ba_\b _\bu_\bn_\bd_\be_\br_\bs_\bc_\bo_\br_\be_\b/_\bd_\ba_\bs_\bh_\b _\bc_\bo_\bn_\bf_\bl_\ba_\bt_\bi_\bo_\bn\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be\n o _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bw_\bi_\bt_\bh_\b _\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.11 release notes — Django 5.1.4 documentation\n+ Django 1.6.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -96,15 +97,15 @@\n HTML safe. So NEVER mark safe the result of a strip_tags() call without\n escaping it first, for example with escape().

    \n \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:...\n safe. This issue doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript\n there. Browsers we tested also treat URLs prefixed with control characters such\n as %08//example.com as relative paths so redirection to an unsafe target\n isn\u2019t a problem either.

    \n@@ -133,37 +134,37 @@\n
  • Mitigated possible XSS attack via user-supplied redirect URLs
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 1\b18\b8,\b, 2\b20\b01\b15\b5\n Django 1.6.11 fixes two security issues in 1.6.10.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by w\bwi\bit\bth\bh s\bst\btr\bri\bip\bp_\b_t\bta\bag\bgs\bs(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Last year _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b) was changed to work iteratively. The problem is that the\n@@ -14,15 +14,15 @@\n To remedy this issue, strip_tags() will now return the original input if it\n detects the length of the string it\u2019s processing increases. Remember that\n absolutely NO guarantee is provided about the results of strip_tags() being\n HTML safe. So NEVER mark safe the result of a strip_tags() call without\n escaping it first, for example with _\be_\bs_\bc_\ba_\bp_\be_\b(_\b).\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:... safe.\n This issue doesn\u2019t affect Django currently, since we only put this URL into the\n Location response header and browsers seem to ignore JavaScript there. Browsers\n we tested also treat URLs prefixed with control characters such as %08//\n example.com as relative paths so redirection to an unsafe target isn\u2019t a\n problem either.\n@@ -30,16 +30,16 @@\n targets and puts such a URL into a link, they could suffer from an XSS attack\n as some browsers such as Google Chrome ignore control characters at the start\n of a URL in an anchor href.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bw_\bi_\bt_\bh_\b _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b)\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.2 release notes — Django 5.1.4 documentation\n+ Django 1.6.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -125,37 +126,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 6\b6,\b, 2\b20\b01\b14\b4\n This is Django 1.6.2, a bugfix release for Django 1.6. Django 1.6.2 fixes\n several bugs in 1.6.1:\n * Prevented the base geometry object of a prepared geometry to be garbage\n@@ -26,16 +26,16 @@\n * Oracle database introspection now works with boolean and float fields\n (_\b#_\b1_\b9_\b8_\b8_\b4).\n * Fixed an issue where lazy objects weren\u2019t actually marked as safe when\n passed through _\bm_\ba_\br_\bk_\b__\bs_\ba_\bf_\be_\b(_\b) and could end up being double-escaped\n (_\b#_\b2_\b1_\b8_\b8_\b2).\n Additionally, Django\u2019s vendored version of six, django.utils.six has been\n upgraded to the latest release (1.5.2).\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.3 release notes — Django 5.1.4 documentation\n+ Django 1.6.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -99,15 +100,15 @@\n module indicated by that dotted path as part of generating the\n resulting URL. If such a module has import-time side effects, those\n side effects will occur.

    \n

    Thus it is possible for an attacker to cause unexpected code\n execution, given the following conditions:

    \n
      \n
    1. One or more views are present which construct a URL based on user\n-input (commonly, a \u201cnext\u201d parameter in a querystring indicating\n+input (commonly, a \u00abnext\u00bb parameter in a querystring indicating\n where to redirect upon successful completion of an action).

    2. \n
    3. One or more modules are known to an attacker to exist on the\n server\u2019s Python import path, which perform code execution with side\n effects on importing.

    4. \n
    \n

    To remedy this, reverse() will now only accept and import dotted\n paths based on the view-containing modules listed in the project\u2019s URL\n@@ -136,15 +137,15 @@\n

  • If the response did send one or more cookies, and

  • \n
  • If the Vary: Cookie header is set on the response, then the\n response will not be cached.

  • \n \n \n
    \n

    MySQL typecasting\u00b6

    \n-

    The MySQL database is known to \u201ctypecast\u201d on certain queries; for\n+

    The MySQL database is known to \u00abtypecast\u00bb on certain queries; for\n example, when querying a table which contains string values, but using\n a query which filters based on an integer value, MySQL will first\n silently coerce the strings to integers and return a result based on that.

    \n

    If a query is performed without first converting values to the\n appropriate type, this can produce unexpected results, similar to what\n would occur if the query itself had been manipulated.

    \n

    Django\u2019s model field classes are aware of their own types and most\n@@ -246,37 +247,37 @@\n

  • Other bugfixes and changes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b21\b1,\b, 2\b20\b01\b14\b4\n Django 1.6.3 fixes several bugs in 1.6.2, including three security issues, and\n makes one backwards-incompatible change:\n *\b**\b**\b**\b**\b* U\bUn\bne\bex\bxp\bpe\bec\bct\bte\bed\bd c\bco\bod\bde\be e\bex\bxe\bec\bcu\but\bti\bio\bon\bn u\bus\bsi\bin\bng\bg r\bre\bev\bve\ber\brs\bse\be(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -19,15 +19,15 @@\n One argument signature for reverse() is to pass a dotted Python path to the\n desired view. In this situation, Django will import the module indicated by\n that dotted path as part of generating the resulting URL. If such a module has\n import-time side effects, those side effects will occur.\n Thus it is possible for an attacker to cause unexpected code execution, given\n the following conditions:\n 1. One or more views are present which construct a URL based on user input\n- (commonly, a \u201cnext\u201d parameter in a querystring indicating where to\n+ (commonly, a \u00abnext\u00bb parameter in a querystring indicating where to\n redirect upon successful completion of an action).\n 2. One or more modules are known to an attacker to exist on the server\u2019s\n Python import path, which perform code execution with side effects on\n importing.\n To remedy this, reverse() will now only accept and import dotted paths based on\n the view-containing modules listed in the project\u2019s _\bU_\bR_\bL_\b _\bp_\ba_\bt_\bt_\be_\br_\bn_\b _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn,\n so as to ensure that only modules the developer intended to be imported in this\n@@ -48,15 +48,15 @@\n To remedy this, the caching framework will no longer cache such responses. The\n heuristic for this will be:\n 1. If the incoming request did not submit any cookies, and\n 2. If the response did send one or more cookies, and\n 3. If the Vary: Cookie header is set on the response, then the response will\n not be cached.\n *\b**\b**\b**\b**\b* M\bMy\byS\bSQ\bQL\bL t\bty\byp\bpe\bec\bca\bas\bst\bti\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-The MySQL database is known to \u201ctypecast\u201d on certain queries; for example, when\n+The MySQL database is known to \u00abtypecast\u00bb on certain queries; for example, when\n querying a table which contains string values, but using a query which filters\n based on an integer value, MySQL will first silently coerce the strings to\n integers and return a result based on that.\n If a query is performed without first converting values to the appropriate\n type, this can produce unexpected results, similar to what would occur if the\n query itself had been manipulated.\n Django\u2019s model field classes are aware of their own types and most such classes\n@@ -116,16 +116,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bU_\bn_\be_\bx_\bp_\be_\bc_\bt_\be_\bd_\b _\bc_\bo_\bd_\be_\b _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn_\b _\bu_\bs_\bi_\bn_\bg_\b _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)\n o _\bC_\ba_\bc_\bh_\bi_\bn_\bg_\b _\bo_\bf_\b _\ba_\bn_\bo_\bn_\by_\bm_\bo_\bu_\bs_\b _\bp_\ba_\bg_\be_\bs_\b _\bc_\bo_\bu_\bl_\bd_\b _\br_\be_\bv_\be_\ba_\bl_\b _\bC_\bS_\bR_\bF_\b _\bt_\bo_\bk_\be_\bn\n o _\bM_\by_\bS_\bQ_\bL_\b _\bt_\by_\bp_\be_\bc_\ba_\bs_\bt_\bi_\bn_\bg\n o _\bs_\be_\bl_\be_\bc_\bt_\b__\bf_\bo_\br_\b__\bu_\bp_\bd_\ba_\bt_\be_\b(_\b)_\b _\br_\be_\bq_\bu_\bi_\br_\be_\bs_\b _\ba_\b _\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn\n o _\bO_\bt_\bh_\be_\br_\b _\bb_\bu_\bg_\bf_\bi_\bx_\be_\bs_\b _\ba_\bn_\bd_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.4 release notes — Django 5.1.4 documentation\n+ Django 1.6.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -112,37 +113,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAp\bpr\bri\bil\bl 2\b28\b8,\b, 2\b20\b01\b14\b4\n Django 1.6.4 fixes several bugs in 1.6.3.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Added backwards compatibility support for the _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\bm_\be_\bs_\bs_\ba_\bg_\be_\bs\n@@ -11,16 +11,16 @@\n * Restored the ability to reverse() views created using _\bf_\bu_\bn_\bc_\bt_\bo_\bo_\bl_\bs_\b._\bp_\ba_\br_\bt_\bi_\ba_\bl_\b(_\b)\n (_\b#_\b2_\b2_\b4_\b8_\b6).\n * Fixed the object_id of the LogEntry that\u2019s created after a user password\n change in the admin (_\b#_\b2_\b2_\b5_\b1_\b5).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.5 release notes — Django 5.1.4 documentation\n+ Django 1.6.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -103,15 +104,15 @@\n
    \n

    Issue: Malformed redirect URLs from user input not correctly validated\u00b6

    \n

    The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to\n an unsafe URL unexpectedly.

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login(), django.contrib.comments, and\n-i18n) to redirect the user to an \u201con success\u201d URL.\n+i18n) to redirect the user to an \u00abon success\u00bb URL.\n The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some\n browsers with more liberal URL parsing.

    \n

    To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.

    \n
    \n@@ -150,37 +151,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b14\b4,\b, 2\b20\b01\b14\b4\n Django 1.6.5 fixes two security issues and several bugs in 1.6.4.\n *\b**\b**\b**\b**\b* I\bIs\bss\bsu\bue\be:\b: C\bCa\bac\bch\bhe\bes\bs m\bma\bay\by i\bin\bnc\bco\bor\brr\bre\bec\bct\btl\bly\by b\bbe\be a\bal\bll\blo\bow\bwe\bed\bd t\bto\bo s\bst\bto\bor\bre\be a\ban\bnd\bd s\bse\ber\brv\bve\be p\bpr\bri\biv\bva\bat\bte\be d\bda\bat\bta\ba_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n@@ -23,15 +23,15 @@\n they were found to have similar issues.\n *\b**\b**\b**\b**\b* I\bIs\bss\bsu\bue\be:\b: M\bMa\bal\blf\bfo\bor\brm\bme\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs f\bfr\bro\bom\bm u\bus\bse\ber\br i\bin\bnp\bpu\but\bt n\bno\bot\bt c\bco\bor\brr\bre\bec\bct\btl\bly\by v\bva\bal\bli\bid\bda\bat\bte\bed\bd_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n The validation for redirects did not correctly validate some malformed URLs,\n which are accepted by some browsers. This allows a user to be redirected to an\n unsafe URL unexpectedly.\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d\n+(), django.contrib.comments, and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb\n URL. The security checks for these redirects (namely\n django.utils.http.is_safe_url()) did not correctly validate some malformed\n URLs, such as http:\\\\\\\\\\\\djangoproject.com, which are accepted by some browsers\n with more liberal URL parsing.\n To remedy this, the validation in is_safe_url() has been tightened to be able\n to handle and correctly validate these malformed URLs.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -46,16 +46,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bI_\bs_\bs_\bu_\be_\b:_\b _\bC_\ba_\bc_\bh_\be_\bs_\b _\bm_\ba_\by_\b _\bi_\bn_\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by_\b _\bb_\be_\b _\ba_\bl_\bl_\bo_\bw_\be_\bd_\b _\bt_\bo_\b _\bs_\bt_\bo_\br_\be_\b _\ba_\bn_\bd_\b _\bs_\be_\br_\bv_\be_\b _\bp_\br_\bi_\bv_\ba_\bt_\be\n _\bd_\ba_\bt_\ba\n o _\bI_\bs_\bs_\bu_\be_\b:_\b _\bM_\ba_\bl_\bf_\bo_\br_\bm_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs_\b _\bf_\br_\bo_\bm_\b _\bu_\bs_\be_\br_\b _\bi_\bn_\bp_\bu_\bt_\b _\bn_\bo_\bt_\b _\bc_\bo_\br_\br_\be_\bc_\bt_\bl_\by\n _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\be_\bd\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.6 release notes — Django 5.1.4 documentation\n+ Django 1.6.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -116,15 +117,15 @@\n requests without an intervening logout could result in the prior user\u2019s session\n being co-opted by the subsequent user. The middleware now logs the user out on\n a failed login attempt.

    \n \n
    \n

    Data leakage via query string manipulation in contrib.admin\u00b6

    \n

    In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like\n /admin/auth/user/?_popup=1&t=password and viewing the page\u2019s HTML allowed\n viewing the password hash of each user. While the admin requires users to have\n permissions to view the change form pages in the first place, this could leak\n data if you rely on users having access to view only certain fields on a model.

    \n

    To address the issue, an exception will now be raised if a to_field value\n that isn\u2019t a related field to a model that has been registered with the admin\n@@ -139,15 +140,15 @@\n

  • Prevented edge case where values of FK fields could be initialized with a\n wrong value when an inline model formset is created for a relationship\n defined to point to a field other than the PK (#13794).

  • \n
  • Restored pre_delete signals for GenericRelation cascade deletion\n (#22998).

  • \n
  • Fixed transaction handling when specifying non-default database in\n createcachetable and flush (#23089).

  • \n-
  • Fixed the \u201cORA-01843: not a valid month\u201d errors when using Unicode\n+

  • Fixed the \u00abORA-01843: not a valid month\u00bb errors when using Unicode\n with older versions of Oracle server (#20292).

  • \n
  • Restored bug fix for sending Unicode email with Python 2.6.5 and below\n (#19107).

  • \n
  • Prevented UnicodeDecodeError in runserver with non-UTF-8 and\n non-English locale (#23265).

  • \n
  • Fixed JavaScript errors while editing multi-geometry objects in the OpenLayers\n widget (#23137, #23293).

  • \n@@ -178,37 +179,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 2\b20\b0,\b, 2\b20\b01\b14\b4\n Django 1.6.6 fixes several security issues and bugs in 1.6.5.\n *\b**\b**\b**\b**\b* r\bre\bev\bve\ber\brs\bse\be(\b()\b) c\bco\bou\bul\bld\bd g\bge\ben\bne\ber\bra\bat\bte\be U\bUR\bRL\bLs\bs p\bpo\boi\bin\bnt\bti\bin\bng\bg t\bto\bo o\bot\bth\bhe\ber\br h\bho\bos\bst\bts\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In certain situations, URL reversing could generate scheme-relative URLs (URLs\n@@ -31,15 +31,15 @@\n *\b**\b**\b**\b**\b* R\bRe\bem\bmo\bot\bte\beU\bUs\bse\ber\brM\bMi\bid\bdd\bdl\ble\bew\bwa\bar\bre\be s\bse\bes\bss\bsi\bio\bon\bn h\bhi\bij\bja\bac\bck\bki\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When using the _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be and the RemoteUserBackend, a change to the\n REMOTE_USER header between requests without an intervening logout could result\n in the prior user\u2019s session being co-opted by the subsequent user. The\n middleware now logs the user out on a failed login attempt.\n *\b**\b**\b**\b**\b* D\bDa\bat\bta\ba l\ble\bea\bak\bka\bag\bge\be v\bvi\bia\ba q\bqu\bue\ber\bry\by s\bst\btr\bri\bin\bng\bg m\bma\ban\bni\bip\bpu\bul\bla\bat\bti\bio\bon\bn i\bin\bn c\bco\bon\bnt\btr\bri\bib\bb.\b.a\bad\bdm\bmi\bin\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In older versions of Django it was possible to reveal any field\u2019s data by\n-modifying the \u201cpopup\u201d and \u201cto_field\u201d parameters of the query string on an admin\n+modifying the \u00abpopup\u00bb and \u00abto_field\u00bb parameters of the query string on an admin\n change form page. For example, requesting a URL like /admin/auth/user/\n ?_popup=1&t=password and viewing the page\u2019s HTML allowed viewing the password\n hash of each user. While the admin requires users to have permissions to view\n the change form pages in the first place, this could leak data if you rely on\n users having access to view only certain fields on a model.\n To address the issue, an exception will now be raised if a to_field value that\n isn\u2019t a related field to a model that has been registered with the admin is\n@@ -50,15 +50,15 @@\n * Prevented edge case where values of FK fields could be initialized with a\n wrong value when an inline model formset is created for a relationship\n defined to point to a field other than the PK (_\b#_\b1_\b3_\b7_\b9_\b4).\n * Restored pre_delete signals for GenericRelation cascade deletion\n (_\b#_\b2_\b2_\b9_\b9_\b8).\n * Fixed transaction handling when specifying non-default database in\n createcachetable and flush (_\b#_\b2_\b3_\b0_\b8_\b9).\n- * Fixed the \u201cORA-01843: not a valid month\u201d errors when using Unicode with\n+ * Fixed the \u00abORA-01843: not a valid month\u00bb errors when using Unicode with\n older versions of Oracle server (_\b#_\b2_\b0_\b2_\b9_\b2).\n * Restored bug fix for sending Unicode email with Python 2.6.5 and below\n (_\b#_\b1_\b9_\b1_\b0_\b7).\n * Prevented UnicodeDecodeError in runserver with non-UTF-8 and non-English\n locale (_\b#_\b2_\b3_\b2_\b6_\b5).\n * Fixed JavaScript errors while editing multi-geometry objects in the\n OpenLayers widget (_\b#_\b2_\b3_\b1_\b3_\b7, _\b#_\b2_\b3_\b2_\b9_\b3).\n@@ -67,16 +67,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\br_\be_\bv_\be_\br_\bs_\be_\b(_\b)_\b _\bc_\bo_\bu_\bl_\bd_\b _\bg_\be_\bn_\be_\br_\ba_\bt_\be_\b _\bU_\bR_\bL_\bs_\b _\bp_\bo_\bi_\bn_\bt_\bi_\bn_\bg_\b _\bt_\bo_\b _\bo_\bt_\bh_\be_\br_\b _\bh_\bo_\bs_\bt_\bs\n o _\bF_\bi_\bl_\be_\b _\bu_\bp_\bl_\bo_\ba_\bd_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be\n o _\bR_\be_\bm_\bo_\bt_\be_\bU_\bs_\be_\br_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bh_\bi_\bj_\ba_\bc_\bk_\bi_\bn_\bg\n o _\bD_\ba_\bt_\ba_\b _\bl_\be_\ba_\bk_\ba_\bg_\be_\b _\bv_\bi_\ba_\b _\bq_\bu_\be_\br_\by_\b _\bs_\bt_\br_\bi_\bn_\bg_\b _\bm_\ba_\bn_\bi_\bp_\bu_\bl_\ba_\bt_\bi_\bo_\bn_\b _\bi_\bn_\b _\bc_\bo_\bn_\bt_\br_\bi_\bb_\b._\ba_\bd_\bm_\bi_\bn\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.7 release notes — Django 5.1.4 documentation\n+ Django 1.6.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -110,37 +111,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b14\b4\n Django 1.6.7 fixes several bugs in 1.6.6, including a regression related to a\n security fix in that release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed inherited and m2m fields to be referenced in the admin (_\b#_\b2_\b3_\b3_\b2_\b9).\n * Fixed a crash when using QuerySet.defer() with select_related() (_\b#_\b2_\b3_\b3_\b7_\b0).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.8 release notes — Django 5.1.4 documentation\n+ Django 1.6.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -108,37 +109,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.9 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.9 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,22 +1,22 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b22\b2,\b, 2\b20\b01\b14\b4\n Django 1.6.8 fixes a couple regressions in the 1.6.6 security release.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed related many-to-many fields to be referenced in the admin\n (_\b#_\b2_\b3_\b6_\b0_\b4).\n * Allowed inline and hidden references to admin fields (_\b#_\b2_\b3_\b4_\b3_\b1).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.9.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.9.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6.9 release notes — Django 5.1.4 documentation\n+ Django 1.6.9 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -109,37 +110,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.10 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.10 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,23 +1,23 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6.\b.9\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b2,\b, 2\b20\b01\b15\b5\n Django 1.6.9 fixes a regression in the 1.6.6 security release.\n Additionally, Django\u2019s vendored version of six, django.utils.six, has been\n upgraded to the latest release (1.9.0).\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a regression with dynamically generated inlines and allowed field\n references in the admin (_\b#_\b2_\b3_\b7_\b5_\b4).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.6 release notes — Django 5.1.4 documentation\n+ Django 1.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -76,15 +77,15 @@\n
    \n
    \n
    \n \n
    \n

    Django 1.6 release notes\u00b6

    \n
    \n-

    Note

    \n+

    Nota

    \n

    Dedicated to Malcolm Tredinnick

    \n

    On March 17, 2013, the Django project and the free software community lost\n a very dear friend and developer.

    \n

    Malcolm was a long-time contributor to Django, a model community member, a\n brilliant mind, and a friend. His contributions to Django \u2014 and to many other\n open source projects \u2014 are nearly impossible to enumerate. Many on the core\n Django team had their first patches reviewed by him; his mentorship enriched\n@@ -346,15 +347,15 @@\n

  • Added\n FormMixin.get_prefix\n (which returns\n FormMixin.prefix by\n default) to allow customizing the prefix of the\n form.

  • \n
  • Raw queries (Manager.raw() or cursor.execute()) can now use the\n-\u201cpyformat\u201d parameter style, where placeholders in the query are given as\n+\u00abpyformat\u00bb parameter style, where placeholders in the query are given as\n '%(name)s' and the parameters are passed as a dictionary rather than\n a list (except on SQLite). This has long been possible (but not officially\n supported) on MySQL and PostgreSQL, and is now also available on Oracle.

  • \n
  • The default iteration count for the PBKDF2 password hasher has been\n increased by 20%. This backwards compatible change will not affect\n existing passwords or users who have subclassed\n django.contrib.auth.hashers.PBKDF2PasswordHasher to change the\n@@ -362,15 +363,15 @@\n the new iteration count as necessary.

  • \n \n
    \n \n
    \n

    Backwards incompatible changes in 1.6\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In addition to the changes outlined in this section, be sure to review the\n deprecation plan for any features that\n have been removed. If you haven\u2019t updated your code within the\n deprecation timeline for a given feature, its removal may appear as a\n backwards incompatible change.

    \n
    \n
    \n@@ -551,15 +552,15 @@\n replace special characters in URLs used in\n assertRedirects() with their encoded\n versions.

    \n
    \n
    \n

    Storage of IP addresses in the comments app\u00b6

    \n

    The comments app now uses a\n-GenericIPAddressField for storing commenters\u2019 IP addresses, to support\n+GenericIPAddressField for storing commenters\u201d IP addresses, to support\n comments submitted from IPv6 addresses. Until now, it stored them in an\n IPAddressField, which is only meant to support IPv4. When saving a comment\n made from an IPv6 address, the address would be silently truncated on MySQL\n databases, and raise an exception on Oracle. You will need to change the\n column type in your database to benefit from this change.

    \n

    For MySQL, execute this query on your project\u2019s database:

    \n
    ALTER TABLE django_comments MODIFY ip_address VARCHAR(39);\n@@ -592,24 +593,24 @@\n 
    \n
    \n

    Help text of model form fields for ManyToManyField fields\u00b6

    \n

    HTML rendering of model form fields corresponding to\n ManyToManyField model fields used to get the\n hard-coded sentence:

    \n
    \n-

    Hold down \u201cControl\u201d, or \u201cCommand\u201d on a Mac, to select more than one.

    \n+

    Hold down \u00abControl\u00bb, or \u00abCommand\u00bb on a Mac, to select more than one.

    \n
    \n

    (or its translation to the active locale) imposed as the help legend shown along\n them if neither model nor form help_text attributes were specified by the\n user (or this string was appended to any help_text that was provided).

    \n

    Since this happened at the model layer, there was no way to prevent the text\n from appearing in cases where it wasn\u2019t applicable such as form fields that\n implement user interactions that don\u2019t involve a keyboard and/or a mouse.

    \n

    Starting with Django 1.6, as an ad-hoc temporary backward-compatibility\n-provision, the logic to add the \u201cHold down\u2026\u201d sentence has been moved to the\n+provision, the logic to add the \u00abHold down\u2026\u00bb sentence has been moved to the\n model form field layer and modified to add the text only when the associated\n widget is SelectMultiple or selected subclasses.

    \n

    The change can affect you in a backward incompatible way if you employ custom\n model form fields and/or widgets for ManyToManyField model fields whose UIs\n do rely on the automatic provision of the mentioned hard-coded sentence. These\n form field implementations need to adapt to the new scenario by providing their\n own handling of the help_text attribute.

    \n@@ -1193,37 +1194,37 @@\n \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.6.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.6.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.5.12 release notes

    \n+ title=\"capitolo successivo\">Django 1.5.12 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n-Note\n+Nota\n Dedicated to Malcolm Tredinnick\n On March 17, 2013, the Django project and the free software community lost a\n very dear friend and developer.\n Malcolm was a long-time contributor to Django, a model community member, a\n brilliant mind, and a friend. His contributions to Django \u2014 and to many other\n open source projects \u2014 are nearly impossible to enumerate. Many on the core\n Django team had their first patches reviewed by him; his mentorship enriched\n@@ -204,26 +204,26 @@\n _\br_\be_\bc_\bo_\bm_\bm_\be_\bn_\bd_\ba_\bt_\bi_\bo_\bn for raising a ValidationError.\n * _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn now preserves filters on the list view after creating, editing\n or deleting an object. It\u2019s possible to restore the previous behavior of\n clearing filters by setting the _\bp_\br_\be_\bs_\be_\br_\bv_\be_\b__\bf_\bi_\bl_\bt_\be_\br_\bs attribute to False.\n * Added _\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b._\bg_\be_\bt_\b__\bp_\br_\be_\bf_\bi_\bx (which returns _\bF_\bo_\br_\bm_\bM_\bi_\bx_\bi_\bn_\b._\bp_\br_\be_\bf_\bi_\bx by default) to\n allow customizing the _\bp_\br_\be_\bf_\bi_\bx of the form.\n * Raw queries (Manager.raw() or cursor.execute()) can now use the\n- \u201cpyformat\u201d parameter style, where placeholders in the query are given as\n+ \u00abpyformat\u00bb parameter style, where placeholders in the query are given as\n '%(name)s' and the parameters are passed as a dictionary rather than a\n list (except on SQLite). This has long been possible (but not officially\n supported) on MySQL and PostgreSQL, and is now also available on Oracle.\n * The default iteration count for the PBKDF2 password hasher has been\n increased by 20%. This backwards compatible change will not affect\n existing passwords or users who have subclassed\n django.contrib.auth.hashers.PBKDF2PasswordHasher to change the default\n value. Passwords _\bw_\bi_\bl_\bl_\b _\bb_\be_\b _\bu_\bp_\bg_\br_\ba_\bd_\be_\bd to use the new iteration count as\n necessary.\n *\b**\b**\b**\b**\b* B\bBa\bac\bck\bkw\bwa\bar\brd\bds\bs i\bin\bnc\bco\bom\bmp\bpa\bat\bti\bib\bbl\ble\be c\bch\bha\ban\bng\bge\bes\bs i\bin\bn 1\b1.\b.6\b6_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n-Warning\n+Avvertimento\n In addition to the changes outlined in this section, be sure to review the\n _\bd_\be_\bp_\br_\be_\bc_\ba_\bt_\bi_\bo_\bn_\b _\bp_\bl_\ba_\bn for any features that have been removed. If you haven\u2019t\n updated your code within the deprecation timeline for a given feature, its\n removal may appear as a backwards incompatible change.\n *\b**\b**\b**\b* N\bNe\bew\bw t\btr\bra\ban\bns\bsa\bac\bct\bti\bio\bon\bn m\bma\ban\bna\bag\bge\bem\bme\ben\bnt\bt m\bmo\bod\bde\bel\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* B\bBe\beh\bha\bav\bvi\bio\bor\br c\bch\bha\ban\bng\bge\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n Database-level autocommit is enabled by default in Django 1.6. While this\n@@ -345,15 +345,15 @@\n arguments before interpolating them in URL patterns. This bug is fixed in\n Django 1.6. If you worked around this bug by applying URL quoting before\n passing arguments to reverse(), this may result in double-quoting. If this\n happens, simply remove the URL quoting from your code. You will also have to\n replace special characters in URLs used in _\ba_\bs_\bs_\be_\br_\bt_\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bs_\b(_\b) with their encoded\n versions.\n *\b**\b**\b**\b* S\bSt\bto\bor\bra\bag\bge\be o\bof\bf I\bIP\bP a\bad\bdd\bdr\bre\bes\bss\bse\bes\bs i\bin\bn t\bth\bhe\be c\bco\bom\bmm\bme\ben\bnt\bts\bs a\bap\bpp\bp_\b?\b\u00b6 *\b**\b**\b**\b*\n-The comments app now uses a GenericIPAddressField for storing commenters\u2019 IP\n+The comments app now uses a GenericIPAddressField for storing commenters\u201d IP\n addresses, to support comments submitted from IPv6 addresses. Until now, it\n stored them in an IPAddressField, which is only meant to support IPv4. When\n saving a comment made from an IPv6 address, the address would be silently\n truncated on MySQL databases, and raise an exception on Oracle. You will need\n to change the column type in your database to benefit from this change.\n For MySQL, execute this query on your project\u2019s database:\n ALTER TABLE django_comments MODIFY ip_address VARCHAR(39);\n@@ -373,23 +373,23 @@\n \n # Parameters passed, non-placeholders have to be doubled\n cursor.execute(\"SELECT foo FROM bar WHERE baz = '30%%' and id = %s\", [self.id])\n SQLite users need to check and update such queries.\n *\b**\b**\b**\b* H\bHe\bel\blp\bp t\bte\bex\bxt\bt o\bof\bf m\bmo\bod\bde\bel\bl f\bfo\bor\brm\bm f\bfi\bie\bel\bld\bds\bs f\bfo\bor\br M\bMa\ban\bny\byT\bTo\boM\bMa\ban\bny\byF\bFi\bie\bel\bld\bd f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n HTML rendering of model form fields corresponding to _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd model\n fields used to get the hard-coded sentence:\n- H\bHo\bol\bld\bd d\bdo\bow\bwn\bn ?\b\u201cC\bCo\bon\bnt\btr\bro\bol\bl?\b\u201d,\b, o\bor\br ?\b\u201cC\bCo\bom\bmm\bma\ban\bnd\bd?\b\u201d o\bon\bn a\ba M\bMa\bac\bc,\b, t\bto\bo s\bse\bel\ble\bec\bct\bt m\bmo\bor\bre\be t\bth\bha\ban\bn o\bon\bne\be.\b.\n+ H\bHo\bol\bld\bd d\bdo\bow\bwn\bn ?\b\u00abC\bCo\bon\bnt\btr\bro\bol\bl?\b\u00bb,\b, o\bor\br ?\b\u00abC\bCo\bom\bmm\bma\ban\bnd\bd?\b\u00bb o\bon\bn a\ba M\bMa\bac\bc,\b, t\bto\bo s\bse\bel\ble\bec\bct\bt m\bmo\bor\bre\be t\bth\bha\ban\bn o\bon\bne\be.\b.\n (or its translation to the active locale) imposed as the help legend shown\n along them if neither _\bm_\bo_\bd_\be_\bl nor _\bf_\bo_\br_\bm help_text attributes were specified by the\n user (or this string was appended to any help_text that was provided).\n Since this happened at the model layer, there was no way to prevent the text\n from appearing in cases where it wasn\u2019t applicable such as form fields that\n implement user interactions that don\u2019t involve a keyboard and/or a mouse.\n Starting with Django 1.6, as an ad-hoc temporary backward-compatibility\n-provision, the logic to add the \u201cHold down\u2026\u201d sentence has been moved to the\n+provision, the logic to add the \u00abHold down\u2026\u00bb sentence has been moved to the\n model form field layer and modified to add the text only when the associated\n widget is _\bS_\be_\bl_\be_\bc_\bt_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be or selected subclasses.\n The change can affect you in a backward incompatible way if you employ custom\n model form fields and/or widgets for ManyToManyField model fields whose UIs do\n rely on the automatic provision of the mentioned hard-coded sentence. These\n form field implementations need to adapt to the new scenario by providing their\n own handling of the help_text attribute.\n@@ -831,16 +831,16 @@\n # _\bg_\be_\bt_\b__\b(_\ba_\bd_\bd_\b|_\bc_\bh_\ba_\bn_\bg_\be_\b|_\bd_\be_\bl_\be_\bt_\be_\b)_\b__\bp_\be_\br_\bm_\bi_\bs_\bs_\bi_\bo_\bn_\b _\bm_\bo_\bd_\be_\bl_\b _\b__\bm_\be_\bt_\ba_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs\n # _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\b__\bs_\be_\bt_\b _\ba_\bn_\bd_\b _\bs_\bi_\bm_\bi_\bl_\ba_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\bs_\b _\br_\be_\bn_\ba_\bm_\be_\bd_\b _\bt_\bo_\b _\bg_\be_\bt_\b__\bq_\bu_\be_\br_\by_\bs_\be_\bt\n # _\bs_\bh_\bo_\br_\bt_\bc_\bu_\bt_\b _\bv_\bi_\be_\bw_\b _\ba_\bn_\bd_\b _\bU_\bR_\bL_\bc_\bo_\bn_\bf\n # _\bM_\bo_\bd_\be_\bl_\bF_\bo_\br_\bm_\b _\bw_\bi_\bt_\bh_\bo_\bu_\bt_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\bo_\br_\b _\be_\bx_\bc_\bl_\bu_\bd_\be\n # _\bU_\bp_\bd_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\ba_\bn_\bd_\b _\bC_\br_\be_\ba_\bt_\be_\bV_\bi_\be_\bw_\b _\bw_\bi_\bt_\bh_\bo_\bu_\bt_\b _\be_\bx_\bp_\bl_\bi_\bc_\bi_\bt_\b _\bf_\bi_\be_\bl_\bd_\bs\n # _\bM_\bu_\bn_\bg_\bi_\bn_\bg_\b _\bo_\bf_\b _\bh_\be_\bl_\bp_\b _\bt_\be_\bx_\bt_\b _\bo_\bf_\b _\bm_\bo_\bd_\be_\bl_\b _\bf_\bo_\br_\bm_\b _\bf_\bi_\be_\bl_\bd_\bs_\b _\bf_\bo_\br_\b _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd\n _\bf_\bi_\be_\bl_\bd_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b6_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b5_\b._\b1_\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.1.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.1.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.1 release notes — Django 5.1.4 documentation\n+ Django 1.7.1 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -191,37 +192,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.2 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.2 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.1\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n O\bOc\bct\bto\bob\bbe\ber\br 2\b22\b2,\b, 2\b20\b01\b14\b4\n Django 1.7.1 fixes several bugs in 1.7.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Allowed related many-to-many fields to be referenced in the admin\n@@ -83,16 +83,16 @@\n * Fixed a regression when feeding the Django test client with an empty data\n string (_\b#_\b2_\b1_\b7_\b4_\b0).\n * Fixed a regression in _\bm_\ba_\bk_\be_\bm_\be_\bs_\bs_\ba_\bg_\be_\bs where static files were unexpectedly\n ignored (_\b#_\b2_\b3_\b5_\b8_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.10.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.10.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.10 release notes — Django 5.1.4 documentation\n+ Django 1.7.10 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,15 +85,15 @@\n
    \n

    Denial-of-service possibility in logout() view by filling session store\u00b6

    \n

    Previously, a session could be created when anonymously accessing the\n django.contrib.auth.views.logout() view (provided it wasn\u2019t decorated\n with login_required() as done in the\n admin). This could allow an attacker to easily create many new session records\n by sending repeated requests, potentially filling up the session store or\n-causing other users\u2019 session records to be evicted.

    \n+causing other users\u201d session records to be evicted.

    \n

    The SessionMiddleware has been\n modified to no longer create empty session records, including when\n SESSION_SAVE_EVERY_REQUEST is active.

    \n

    Additionally, the contrib.sessions.backends.base.SessionBase.flush() and\n cache_db.SessionStore.flush() methods have been modified to avoid creating\n a new empty session. Maintainers of third-party session backends should check\n if the same vulnerability is present in their backend and correct it if so.

    \n@@ -116,37 +117,37 @@\n
  • Denial-of-service possibility in logout() view by filling session store
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.11 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.11 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.9 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.9 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,33 +1,33 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.1\b10\b0 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n A\bAu\bug\bgu\bus\bst\bt 1\b18\b8,\b, 2\b20\b01\b15\b5\n Django 1.7.10 fixes a security issue in 1.7.9.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn l\blo\bog\bgo\bou\but\bt(\b()\b) v\bvi\bie\bew\bw b\bby\by f\bfi\bil\bll\bli\bin\bng\bg s\bse\bes\bss\bsi\bio\bon\bn s\bst\bto\bor\bre\be_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n Previously, a session could be created when anonymously accessing the\n django.contrib.auth.views.logout() view (provided it wasn\u2019t decorated with\n _\bl_\bo_\bg_\bi_\bn_\b__\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b(_\b) as done in the admin). This could allow an attacker to easily\n create many new session records by sending repeated requests, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.\n The _\bS_\be_\bs_\bs_\bi_\bo_\bn_\bM_\bi_\bd_\bd_\bl_\be_\bw_\ba_\br_\be has been modified to no longer create empty session\n records, including when _\bS_\bE_\bS_\bS_\bI_\bO_\bN_\b__\bS_\bA_\bV_\bE_\b__\bE_\bV_\bE_\bR_\bY_\b__\bR_\bE_\bQ_\bU_\bE_\bS_\bT is active.\n Additionally, the contrib.sessions.backends.base.SessionBase.flush() and\n cache_db.SessionStore.flush() methods have been modified to avoid creating a\n new empty session. Maintainers of third-party session backends should check if\n the same vulnerability is present in their backend and correct it if so.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bl_\bo_\bg_\bo_\bu_\bt_\b(_\b)_\b _\bv_\bi_\be_\bw_\b _\bb_\by_\b _\bf_\bi_\bl_\bl_\bi_\bn_\bg_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn\n _\bs_\bt_\bo_\br_\be\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.11.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.11.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.11 release notes — Django 5.1.4 documentation\n+ Django 1.7.11 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -119,37 +120,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.10 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.10 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.1\b11\b1 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n N\bNo\bov\bve\bem\bmb\bbe\ber\br 2\b24\b4,\b, 2\b20\b01\b15\b5\n Django 1.7.11 fixes a security issue and a data loss bug in 1.7.10.\n *\b**\b**\b**\b**\b* F\bFi\bix\bxe\bed\bd s\bse\bet\btt\bti\bin\bng\bgs\bs l\ble\bea\bak\bk p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by i\bin\bn d\bda\bat\bte\be t\bte\bem\bmp\bpl\bla\bat\bte\be f\bfi\bil\blt\bte\ber\br_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n If an application allows users to specify an unvalidated format for dates and\n@@ -16,16 +16,16 @@\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a data loss possibility with _\bP_\br_\be_\bf_\be_\bt_\bc_\bh if to_attr is set to a\n ManyToManyField (_\b#_\b2_\b5_\b6_\b9_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bF_\bi_\bx_\be_\bd_\b _\bs_\be_\bt_\bt_\bi_\bn_\bg_\bs_\b _\bl_\be_\ba_\bk_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bi_\bn_\b _\bd_\ba_\bt_\be_\b _\bt_\be_\bm_\bp_\bl_\ba_\bt_\be_\b _\bf_\bi_\bl_\bt_\be_\br\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.2.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.2.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.2 release notes — Django 5.1.4 documentation\n+ Django 1.7.2 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -156,15 +157,15 @@\n
  • Fixed index creation by the migration infrastructure, particularly when\n dealing with PostgreSQL specific {text|varchar}_pattern_ops indexes\n (#23954).

  • \n
  • Fixed bug in makemigrations that created broken migration files when\n dealing with multiple table inheritance and inheriting from more than one\n model (#23956).

  • \n
  • Fixed a crash when a MultiValueField has invalid data (#23674).

  • \n-
  • Fixed a crash in the admin when using \u201cSave as new\u201d and also deleting a\n+

  • Fixed a crash in the admin when using \u00abSave as new\u00bb and also deleting a\n related inline (#23857).

  • \n
  • Always converted related_name to text (Unicode), since that is required\n on Python 3 for interpolation. Removed conversion of related_name to text\n in migration deconstruction (#23455 and #23982).

  • \n
  • Enlarged the sizes of tablespaces which are created by default for testing\n on Oracle (the main tablespace was increased from 200M to 300M and the\n temporary tablespace from 100M to 150M). This was required to accommodate\n@@ -229,37 +230,37 @@\n

  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.3 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.3 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.1 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.1 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.2\b2 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b2,\b, 2\b20\b01\b15\b5\n Django 1.7.2 fixes several bugs in 1.7.1.\n Additionally, Django\u2019s vendored version of six, django.utils.six, has been\n upgraded to the latest release (1.9.0).\n@@ -67,15 +67,15 @@\n * Fixed index creation by the migration infrastructure, particularly when\n dealing with PostgreSQL specific {text|varchar}_pattern_ops indexes\n (_\b#_\b2_\b3_\b9_\b5_\b4).\n * Fixed bug in makemigrations that created broken migration files when\n dealing with multiple table inheritance and inheriting from more than one\n model (_\b#_\b2_\b3_\b9_\b5_\b6).\n * Fixed a crash when a MultiValueField has invalid data (_\b#_\b2_\b3_\b6_\b7_\b4).\n- * Fixed a crash in the admin when using \u201cSave as new\u201d and also deleting a\n+ * Fixed a crash in the admin when using \u00abSave as new\u00bb and also deleting a\n related inline (_\b#_\b2_\b3_\b8_\b5_\b7).\n * Always converted related_name to text (Unicode), since that is required\n on Python 3 for interpolation. Removed conversion of related_name to text\n in migration deconstruction (_\b#_\b2_\b3_\b4_\b5_\b5 and _\b#_\b2_\b3_\b9_\b8_\b2).\n * Enlarged the sizes of tablespaces which are created by default for\n testing on Oracle (the main tablespace was increased from 200M to 300M\n and the temporary tablespace from 100M to 150M). This was required to\n@@ -115,16 +115,16 @@\n * Fixed crash when ValidationError is initialized with a ValidationError\n that is initialized with a dictionary (_\b#_\b2_\b4_\b0_\b0_\b8).\n * Prevented a crash on apps without migrations when running migrate --list\n (_\b#_\b2_\b3_\b3_\b6_\b6).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.3.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.3.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.3 release notes — Django 5.1.4 documentation\n+ Django 1.7.3 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -102,15 +103,15 @@\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.

    \n \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip leading\n whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to\n provide safe redirect targets and put such a URL into a link, they could suffer\n from a XSS attack. This bug doesn\u2019t affect Django currently, since we only put\n this URL into the Location response header and browsers seem to ignore\n JavaScript there.

    \n@@ -177,37 +178,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.4 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.4 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.2 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.2 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.3\b3 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 1\b13\b3,\b, 2\b20\b01\b15\b5\n Django 1.7.3 fixes several security issues and bugs in 1.7.2.\n *\b**\b**\b**\b**\b* W\bWS\bSG\bGI\bI h\bhe\bea\bad\bde\ber\br s\bsp\bpo\boo\bof\bfi\bin\bng\bg v\bvi\bia\ba u\bun\bnd\bde\ber\brs\bsc\bco\bor\bre\be/\b/d\bda\bas\bsh\bh c\bco\bon\bnf\bfl\bla\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n When HTTP headers are placed into the WSGI environ, they are normalized by\n@@ -19,15 +19,15 @@\n In order to prevent such attacks, both Nginx and Apache 2.4+ strip all headers\n containing underscores from incoming requests by default. Django\u2019s built-in\n development server now does the same. Django\u2019s development server is not\n recommended for production use, but matching the behavior of common production\n servers reduces the surface area for behavior changes during deployment.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) didn\u2019t strip\n leading whitespace on the tested URL and as such considered URLs like\n \\njavascript:... safe. If a developer relied on is_safe_url() to provide safe\n redirect targets and put such a URL into a link, they could suffer from a XSS\n attack. This bug doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript there.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be a\bat\btt\bta\bac\bck\bk a\bag\bga\bai\bin\bns\bst\bt d\bdj\bja\ban\bng\bgo\bo.\b.v\bvi\bie\bew\bws\bs.\b.s\bst\bta\bat\bti\bic\bc.\b.s\bse\ber\brv\bve\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n@@ -64,16 +64,16 @@\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bW_\bS_\bG_\bI_\b _\bh_\be_\ba_\bd_\be_\br_\b _\bs_\bp_\bo_\bo_\bf_\bi_\bn_\bg_\b _\bv_\bi_\ba_\b _\bu_\bn_\bd_\be_\br_\bs_\bc_\bo_\br_\be_\b/_\bd_\ba_\bs_\bh_\b _\bc_\bo_\bn_\bf_\bl_\ba_\bt_\bi_\bo_\bn\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\ba_\bg_\ba_\bi_\bn_\bs_\bt_\b _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bv_\bi_\be_\bw_\bs_\b._\bs_\bt_\ba_\bt_\bi_\bc_\b._\bs_\be_\br_\bv_\be\n o _\bD_\ba_\bt_\ba_\bb_\ba_\bs_\be_\b _\bd_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bw_\bi_\bt_\bh_\b _\bM_\bo_\bd_\be_\bl_\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be_\bC_\bh_\bo_\bi_\bc_\be_\bF_\bi_\be_\bl_\bd\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b2_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.4.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.4.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.4 release notes — Django 5.1.4 documentation\n+ Django 1.7.4 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -116,37 +117,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.5 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.5 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.3 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.3 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.4\b4 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJa\ban\bnu\bua\bar\bry\by 2\b27\b7,\b, 2\b20\b01\b15\b5\n Django 1.7.4 fixes several bugs in 1.7.3.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Fixed a migration crash when unapplying contrib.contenttypes\u2019s or\n@@ -15,16 +15,16 @@\n certain circumstances (security fix regression, _\b#_\b2_\b4_\b1_\b9_\b3).\n * Fixed schema check for ManyToManyField to look for internal type instead\n of checking class instance, so you can write custom m2m-like fields with\n the same behavior. (_\b#_\b2_\b4_\b1_\b0_\b4).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b3_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.5.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.5.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.5 release notes — Django 5.1.4 documentation\n+ Django 1.7.5 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -117,37 +118,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.6 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.6 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.4 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.4 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.5\b5 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n F\bFe\beb\bbr\bru\bua\bar\bry\by 2\b25\b5,\b, 2\b20\b01\b15\b5\n Django 1.7.5 fixes several bugs in 1.7.4.\n *\b**\b**\b**\b**\b* B\bBu\bug\bgf\bfi\bix\bxe\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n * Reverted a fix that prevented a migration crash when unapplying\n@@ -16,16 +16,16 @@\n * Added the ability to set the isolation level on PostgreSQL with psycopg2\n \u2265 2.4.2 (_\b#_\b2_\b4_\b3_\b1_\b8). It was advertised as a new feature in Django 1.6 but it\n didn\u2019t work in practice.\n * Formats for the Azerbaijani locale (az) have been added.\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b4_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.6.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.6.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.6 release notes — Django 5.1.4 documentation\n+ Django 1.7.6 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -121,37 +122,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.7 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.7 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.5 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.5 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.6\b6 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 9\b9,\b, 2\b20\b01\b15\b5\n Django 1.7.6 fixes a security issue and several bugs in 1.7.5.\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd a\ban\bn X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba p\bpr\bro\bop\bpe\ber\brt\bti\bie\bes\bs i\bin\bn M\bMo\bod\bde\bel\blA\bAd\bdm\bmi\bin\bn.\b.r\bre\bea\bad\bdo\bon\bnl\bly\by_\b_f\bfi\bie\bel\bld\bds\bs_\b?\b\u00b6\n *\b**\b**\b**\b**\b*\n@@ -19,16 +19,16 @@\n * Fixed a bug that prevented migrations from adding a foreign key\n constraint when converting an existing field to a foreign key (_\b#_\b2_\b4_\b4_\b4_\b7).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\ba_\bn_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bp_\br_\bo_\bp_\be_\br_\bt_\bi_\be_\bs_\b _\bi_\bn\n _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\br_\be_\ba_\bd_\bo_\bn_\bl_\by_\b__\bf_\bi_\be_\bl_\bd_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b5_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.7 release notes — Django 5.1.4 documentation\n+ Django 1.7.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -96,15 +97,15 @@\n HTML safe. So NEVER mark safe the result of a strip_tags() call without\n escaping it first, for example with escape().

    \n \n
    \n

    Mitigated possible XSS attack via user-supplied redirect URLs\u00b6

    \n

    Django relies on user input in some cases (e.g.\n django.contrib.auth.views.login() and i18n)\n-to redirect the user to an \u201con success\u201d URL. The security checks for these\n+to redirect the user to an \u00abon success\u00bb URL. The security checks for these\n redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:...\n safe. This issue doesn\u2019t affect Django currently, since we only put this URL\n into the Location response header and browsers seem to ignore JavaScript\n there. Browsers we tested also treat URLs prefixed with control characters such\n as %08//example.com as relative paths so redirection to an unsafe target\n isn\u2019t a problem either.

    \n@@ -145,37 +146,37 @@\n
  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.8 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.8 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.6 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.6 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bar\brc\bch\bh 1\b18\b8,\b, 2\b20\b01\b15\b5\n Django 1.7.7 fixes several bugs and security issues in 1.7.6.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by w\bwi\bit\bth\bh s\bst\btr\bri\bip\bp_\b_t\bta\bag\bgs\bs(\b()\b)_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Last year _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b) was changed to work iteratively. The problem is that the\n@@ -14,15 +14,15 @@\n To remedy this issue, strip_tags() will now return the original input if it\n detects the length of the string it\u2019s processing increases. Remember that\n absolutely NO guarantee is provided about the results of strip_tags() being\n HTML safe. So NEVER mark safe the result of a strip_tags() call without\n escaping it first, for example with _\be_\bs_\bc_\ba_\bp_\be_\b(_\b).\n *\b**\b**\b**\b**\b* M\bMi\bit\bti\big\bga\bat\bte\bed\bd p\bpo\bos\bss\bsi\bib\bbl\ble\be X\bXS\bSS\bS a\bat\btt\bta\bac\bck\bk v\bvi\bia\ba u\bus\bse\ber\br-\b-s\bsu\bup\bpp\bpl\bli\bie\bed\bd r\bre\bed\bdi\bir\bre\bec\bct\bt U\bUR\bRL\bLs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Django relies on user input in some cases (e.g. django.contrib.auth.views.login\n-() and _\bi_\b1_\b8_\bn) to redirect the user to an \u201con success\u201d URL. The security checks\n+() and _\bi_\b1_\b8_\bn) to redirect the user to an \u00abon success\u00bb URL. The security checks\n for these redirects (namely django.utils.http.is_safe_url()) accepted URLs with\n leading control characters and so considered URLs like \\x08javascript:... safe.\n This issue doesn\u2019t affect Django currently, since we only put this URL into the\n Location response header and browsers seem to ignore JavaScript there. Browsers\n we tested also treat URLs prefixed with control characters such as %08//\n example.com as relative paths so redirection to an unsafe target isn\u2019t a\n problem either.\n@@ -38,16 +38,16 @@\n conflicts. When makemigrations --merge is called with verbosity=3 the\n migration file is written to stdout (_\b#_\b2_\b4_\b4_\b2_\b7).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bw_\bi_\bt_\bh_\b _\bs_\bt_\br_\bi_\bp_\b__\bt_\ba_\bg_\bs_\b(_\b)\n o _\bM_\bi_\bt_\bi_\bg_\ba_\bt_\be_\bd_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bl_\be_\b _\bX_\bS_\bS_\b _\ba_\bt_\bt_\ba_\bc_\bk_\b _\bv_\bi_\ba_\b _\bu_\bs_\be_\br_\b-_\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd_\b _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\b _\bU_\bR_\bL_\bs\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b6_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.8.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.8.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.8 release notes — Django 5.1.4 documentation\n+ Django 1.7.8 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -97,37 +98,37 @@\n \n \n
    \n \n
    \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.9 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.9 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.7 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.7 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.8\b8 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n M\bMa\bay\by 1\b1,\b, 2\b20\b01\b15\b5\n Django 1.7.8 fixes:\n * Database introspection with SQLite 3.8.9 (released April 8, 2015)\n (_\b#_\b2_\b4_\b6_\b3_\b7).\n * A database table name quoting regression in 1.7.2 (_\b#_\b2_\b4_\b6_\b0_\b5).\n * The loss of null/not null column properties during field alteration of\n MySQL databases (_\b#_\b2_\b4_\b5_\b9_\b5).\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b7_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.9.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.9.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7.9 release notes — Django 5.1.4 documentation\n+ Django 1.7.9 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -84,15 +85,15 @@\n
    \n

    Denial-of-service possibility by filling session store\u00b6

    \n

    In previous versions of Django, the session backends created a new empty record\n in the session storage anytime request.session was accessed and there was a\n session key provided in the request cookies that didn\u2019t already have a session\n record. This could allow an attacker to easily create many new session records\n simply by sending repeated requests with unknown session keys, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.

    \n

    The built-in session backends now create a session record only if the session\n is actually modified; empty session records are not created. Thus this\n potential DoS is now only possible if the site chooses to expose a\n session-modifying view to anonymous users.

    \n

    As each built-in session backend was fixed separately (rather than a fix in the\n core sessions framework), maintainers of third-party session backends should\n@@ -154,37 +155,37 @@\n

  • Bugfixes
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.10 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.10 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.7.8 release notes

    \n+ title=\"capitolo successivo\">Django 1.7.8 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7.\b.9\b9 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n J\bJu\bul\bly\by 8\b8,\b, 2\b20\b01\b15\b5\n Django 1.7.9 fixes several security issues and bugs in 1.7.8.\n *\b**\b**\b**\b**\b* D\bDe\ben\bni\bia\bal\bl-\b-o\bof\bf-\b-s\bse\ber\brv\bvi\bic\bce\be p\bpo\bos\bss\bsi\bib\bbi\bil\bli\bit\bty\by b\bby\by f\bfi\bil\bll\bli\bin\bng\bg s\bse\bes\bss\bsi\bio\bon\bn s\bst\bto\bor\bre\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n In previous versions of Django, the session backends created a new empty record\n in the session storage anytime request.session was accessed and there was a\n session key provided in the request cookies that didn\u2019t already have a session\n record. This could allow an attacker to easily create many new session records\n simply by sending repeated requests with unknown session keys, potentially\n-filling up the session store or causing other users\u2019 session records to be\n+filling up the session store or causing other users\u201d session records to be\n evicted.\n The built-in session backends now create a session record only if the session\n is actually modified; empty session records are not created. Thus this\n potential DoS is now only possible if the site chooses to expose a session-\n modifying view to anonymous users.\n As each built-in session backend was fixed separately (rather than a fix in the\n core sessions framework), maintainers of third-party session backends should\n@@ -46,16 +46,16 @@\n * Fixed SimpleTestCase.assertRaisesMessage() on Python 2.7.10 (_\b#_\b2_\b4_\b9_\b0_\b3).\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b9_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n o _\bD_\be_\bn_\bi_\ba_\bl_\b-_\bo_\bf_\b-_\bs_\be_\br_\bv_\bi_\bc_\be_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bb_\by_\b _\bf_\bi_\bl_\bl_\bi_\bn_\bg_\b _\bs_\be_\bs_\bs_\bi_\bo_\bn_\b _\bs_\bt_\bo_\br_\be\n o _\bH_\be_\ba_\bd_\be_\br_\b _\bi_\bn_\bj_\be_\bc_\bt_\bi_\bo_\bn_\b _\bp_\bo_\bs_\bs_\bi_\bb_\bi_\bl_\bi_\bt_\by_\b _\bs_\bi_\bn_\bc_\be_\b _\bv_\ba_\bl_\bi_\bd_\ba_\bt_\bo_\br_\bs_\b _\ba_\bc_\bc_\be_\bp_\bt_\b _\bn_\be_\bw_\bl_\bi_\bn_\be_\bs_\b _\bi_\bn\n _\bi_\bn_\bp_\bu_\bt\n o _\bB_\bu_\bg_\bf_\bi_\bx_\be_\bs\n-*\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo p\bpr\bre\bec\bce\bed\bde\ben\bnt\bte\be *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b1_\b0_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n+*\b**\b**\b* A\bAr\brg\bgo\bom\bme\ben\bnt\bto\bo s\bsu\buc\bcc\bce\bes\bss\bsi\biv\bvo\bo *\b**\b**\b*\n _\bD_\bj_\ba_\bn_\bg_\bo_\b _\b1_\b._\b7_\b._\b8_\b _\br_\be_\bl_\be_\ba_\bs_\be_\b _\bn_\bo_\bt_\be_\bs\n-*\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n-[q ][Go]\n+*\b**\b**\b**\b* R\bRi\bic\bce\ber\brc\bca\ba v\bve\bel\blo\boc\bce\be *\b**\b**\b**\b*\n+[q ][Vai]\n *\b**\b**\b**\b* L\bLa\bas\bst\bt u\bup\bpd\bda\bat\bte\be:\b: *\b**\b**\b**\b*\n-Dec 04, 2024\n+dic 04, 2024\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n"}]}, {"source1": "./usr/share/doc/python-django-doc/html/releases/1.7.html", "source2": "./usr/share/doc/python-django-doc/html/releases/1.7.html", "unified_diff": "@@ -1,22 +1,23 @@\n \n \n-\n+\n \n \n \n \n- Django 1.7 release notes — Django 5.1.4 documentation\n+ Django 1.7 release notes — Documentazione Django 5.1.4 \n \n \n- \n+ \n \n \n- \n- \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -53,15 +54,15 @@\n })(jQuery);\n \n \n \n
    \n
    \n
    \n-

    Django 5.1.4 documentation

    \n+

    Documentazione Django 5.1.4

    \n \n
    \n@@ -136,18 +137,18 @@\n ForeignKey or\n ManyToManyField to) apps with migrations.

    \n \n \n
    \n

    App-loading refactor\u00b6

    \n

    Historically, Django applications were tightly linked to models. A singleton\n-known as the \u201capp cache\u201d dealt with both installed applications and models.\n+known as the \u00abapp cache\u00bb dealt with both installed applications and models.\n The models module was used as an identifier for applications in many APIs.

    \n

    As the concept of Django applications matured, this\n-code showed some shortcomings. It has been refactored into an \u201capp registry\u201d\n+code showed some shortcomings. It has been refactored into an \u00abapp registry\u00bb\n where models modules no longer have a central role and where it\u2019s possible to\n attach configuration data to applications.

    \n

    Improvements thus far include:

    \n
      \n
    • Applications can run code at startup, before Django does anything else, with\n the ready() method of their configuration.

    • \n
    • Application labels are assigned correctly to models even when they\u2019re\n@@ -272,15 +273,15 @@\n select_related() from a prefetched\n relation, or prefetching the same relation multiple times with different\n querysets. See prefetch_related()\n for more details.

      \n
    \n
    \n

    Admin shortcuts support time zones\u00b6

    \n-

    The \u201ctoday\u201d and \u201cnow\u201d shortcuts next to date and time input widgets in the\n+

    The \u00abtoday\u00bb and \u00abnow\u00bb shortcuts next to date and time input widgets in the\n admin are now operating in the current time zone. Previously, they used the browser time zone,\n which could result in saving the wrong value when it didn\u2019t match the current\n time zone on the server.

    \n

    In addition, the widgets now display a help message when the browser and\n server time zone are different, to clarify how the value inserted in the field\n will be interpreted.

    \n
    \n@@ -328,15 +329,15 @@\n

    Form.add_error()\u00b6

    \n

    Previously there were two main patterns for handling errors in forms:

    \n
      \n
    • Raising a ValidationError from within certain\n functions (e.g. Field.clean(), Form.clean_<fieldname>(), or\n Form.clean() for non-field errors.)

    • \n
    • Fiddling with Form._errors when targeting a specific field in\n-Form.clean() or adding errors from outside of a \u201cclean\u201d method\n+Form.clean() or adding errors from outside of a \u00abclean\u00bb method\n (e.g. directly from a view).

    • \n
    \n

    Using the former pattern was straightforward since the form can guess from the\n context (i.e. which method raised the exception) where the errors belong and\n automatically process them. This remains the canonical way of adding errors\n when possible. However the latter was fiddly and error-prone, since the burden\n of handling edge cases fell on the user.

    \n@@ -404,15 +405,15 @@\n customize the value of ModelAdmin.fields.

    \n
  • In addition to the existing admin.site.register syntax, you can use the\n new register() decorator to register a\n ModelAdmin.

  • \n
  • You may specify ModelAdmin.list_display_links = None to disable\n links on the change list page grid.

  • \n
  • You may now specify ModelAdmin.view_on_site to control whether or not to\n-display the \u201cView on site\u201d link.

  • \n+display the \u00abView on site\u00bb link.

    \n
  • You can specify a descending ordering for a ModelAdmin.list_display value by prefixing the\n admin_order_field value with a hyphen.

  • \n
  • The ModelAdmin.get_changeform_initial_data() method may be\n overridden to define custom behavior for setting initial change form data.

  • \n \n \n
    \n@@ -544,15 +545,15 @@\n instance per thread. It supersedes django.core.cache.get_cache() which\n is now deprecated.

    \n
  • If you instantiate cache backends directly, be aware that they aren\u2019t\n thread-safe any more, as django.core.cache.caches now yields\n different instances per thread.

  • \n
  • Defining the TIMEOUT argument of the\n CACHES setting as None will set the cache keys as\n-\u201cnon-expiring\u201d by default. Previously, it was only possible to pass\n+\u00abnon-expiring\u00bb by default. Previously, it was only possible to pass\n timeout=None to the cache backend\u2019s set() method.

  • \n \n
    \n
    \n

    Cross Site Request Forgery\u00b6

    \n
      \n
    • The CSRF_COOKIE_AGE setting facilitates the use of session-based\n@@ -609,15 +610,15 @@\n buttons or checkboxes now include for and id attributes, respectively.\n Each radio button or checkbox includes an id_for_label attribute to\n output the element\u2019s ID.

    • \n
    • The <textarea> tags rendered by Textarea now\n include a maxlength attribute if the TextField\n model field has a max_length.

    • \n
    • Field.choices now allows you to\n-customize the \u201cempty choice\u201d label by including a tuple with an empty string\n+customize the \u00abempty choice\u00bb label by including a tuple with an empty string\n or None for the key and the custom label as the value. The default blank\n option "----------" will be omitted in this case.

    • \n
    • MultiValueField allows optional subfields by setting\n the require_all_fields argument to False. The required attribute\n for each individual field will be respected, and a new incomplete\n validation error will be raised when any required fields are empty.

    • \n
    • The clean() method on a form no longer needs to\n@@ -809,15 +810,15 @@\n

    \n \n
  • The time filter now accepts timezone-related format\n specifiers 'e', 'O' , 'T'\n and 'Z' and is able to digest time-zone-aware datetime instances performing the expected\n rendering.

  • \n
  • The cache tag will now try to use the cache called\n-\u201ctemplate_fragments\u201d if it exists and fall back to using the default cache\n+\u00abtemplate_fragments\u00bb if it exists and fall back to using the default cache\n otherwise. It also now accepts an optional using keyword argument to\n control which cache it uses.

  • \n
  • The new truncatechars_html filter truncates a string to be no\n longer than the specified number of characters, taking HTML into account.

  • \n \n
    \n
    \n@@ -882,15 +883,15 @@\n \n
    \n \n \n
    \n

    Backwards incompatible changes in 1.7\u00b6

    \n
    \n-

    Warning

    \n+

    Avvertimento

    \n

    In addition to the changes outlined in this section, be sure to review the\n deprecation plan for any features that\n have been removed. If you haven\u2019t updated your code within the\n deprecation timeline for a given feature, its removal may appear as a\n backwards incompatible change.

    \n
    \n
    \n@@ -1311,18 +1312,18 @@\n
  • When running tests on PostgreSQL, the USER will need read access\n to the built-in postgres database. This is in lieu of the previous\n behavior of connecting to the actual non-test database.

  • \n
  • As part of the System check framework, fields,\n models, and model managers all implement a check()\n method that is registered with the check framework. If you have an existing\n method called check() on one of these objects, you will need to rename it.

  • \n-
  • As noted above in the \u201cCache\u201d section of \u201cMinor Features\u201d, defining the\n+

  • As noted above in the \u00abCache\u00bb section of \u00abMinor Features\u00bb, defining the\n TIMEOUT argument of the\n CACHES setting as None will set the cache keys as\n-\u201cnon-expiring\u201d. Previously, with the memcache backend, a\n+\u00abnon-expiring\u00bb. Previously, with the memcache backend, a\n TIMEOUT of 0 would set non-expiring keys,\n but this was inconsistent with the set-and-expire (i.e. no caching) behavior\n of set("key", "value", timeout=0). If you want non-expiring keys,\n please update your settings to use None instead of 0 as the latter\n now designates set-and-expire in the settings as well.

  • \n
  • The sql* management commands now respect the allow_migrate() method\n of DATABASE_ROUTERS. If you have models synced to non-default\n@@ -1811,37 +1812,37 @@\n

  • Features removed in 1.7
  • \n \n \n \n \n
    \n
    \n-

    Previous topic

    \n+

    Argomento precedente

    \n

    Django 1.7.1 release notes

    \n+ title=\"capitolo precedente\">Django 1.7.1 release notes

    \n
    \n
    \n-

    Next topic

    \n+

    Argomento successivo

    \n

    Django 1.6.11 release notes

    \n+ title=\"capitolo successivo\">Django 1.6.11 release notes

    \n
    \n \n-

    Quick search

    \n+

    Ricerca veloce

    \n
    \n
    \n \n- \n+ \n \n
    \n
    \n \n
    \n
    \n

    Last update:

    \n-

    Dec 04, 2024

    \n+

    dic 04, 2024

    \n
    \n \n \n
    \n \n
    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n-*\b**\b**\b**\b**\b**\b* _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4_\b _\bd\bd_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b**\b**\b*\n+*\b**\b**\b**\b**\b**\b* _\bD\bD_\bo\bo_\bc\bc_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\ba\ba_\bz\bz_\bi\bi_\bo\bo_\bn\bn_\be\be_\b _\bD\bD_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b _\b5\b5_\b.\b._\b1\b1_\b.\b._\b4\b4 *\b**\b**\b**\b**\b**\b*\n _\bH_\bo_\bm_\be | _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bc_\bo_\bn_\bt_\be_\bn_\bt_\bs | _\bI_\bn_\bd_\be_\bx | _\bM_\bo_\bd_\bu_\bl_\be_\bs\n \u00ab _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs | _\bu_\bp | _\bn_\be_\bx_\bt \u00bb\n *\b**\b**\b**\b**\b**\b* D\bDj\bja\ban\bng\bgo\bo 1\b1.\b.7\b7 r\bre\bel\ble\bea\bas\bse\be n\bno\bot\bte\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b**\b*\n S\bSe\bep\bpt\bte\bem\bmb\bbe\ber\br 2\b2,\b, 2\b20\b01\b14\b4\n Welcome to Django 1.7!\n These release notes cover the _\bn_\be_\bw_\b _\bf_\be_\ba_\bt_\bu_\br_\be_\bs, as well as some _\bb_\ba_\bc_\bk_\bw_\ba_\br_\bd_\bs\n _\bi_\bn_\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bl_\be_\b _\bc_\bh_\ba_\bn_\bg_\be_\bs you\u2019ll want to be aware of when upgrading from Django 1.6\n@@ -47,18 +47,18 @@\n * Test rollback behavior is different for apps with migrations; in\n particular, Django will no longer emulate rollbacks on non-transactional\n databases or inside TransactionTestCase _\bu_\bn_\bl_\be_\bs_\bs_\b _\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc_\ba_\bl_\bl_\by_\b _\br_\be_\bq_\bu_\be_\bs_\bt_\be_\bd.\n * It is not advised to have apps without migrations depend on (have a\n _\bF_\bo_\br_\be_\bi_\bg_\bn_\bK_\be_\by or _\bM_\ba_\bn_\by_\bT_\bo_\bM_\ba_\bn_\by_\bF_\bi_\be_\bl_\bd to) apps with migrations.\n *\b**\b**\b**\b* A\bAp\bpp\bp-\b-l\blo\boa\bad\bdi\bin\bng\bg r\bre\bef\bfa\bac\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n Historically, Django applications were tightly linked to models. A singleton\n-known as the \u201capp cache\u201d dealt with both installed applications and models. The\n+known as the \u00abapp cache\u00bb dealt with both installed applications and models. The\n models module was used as an identifier for applications in many APIs.\n As the concept of _\bD_\bj_\ba_\bn_\bg_\bo_\b _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs matured, this code showed some\n-shortcomings. It has been refactored into an \u201capp registry\u201d where models\n+shortcomings. It has been refactored into an \u00abapp registry\u00bb where models\n modules no longer have a central role and where it\u2019s possible to attach\n configuration data to applications.\n Improvements thus far include:\n * Applications can run code at startup, before Django does anything else,\n with the _\br_\be_\ba_\bd_\by_\b(_\b) method of their configuration.\n * Application labels are assigned correctly to models even when they\u2019re\n defined outside of models.py. You don\u2019t have to set _\ba_\bp_\bp_\b__\bl_\ba_\bb_\be_\bl explicitly\n@@ -157,15 +157,15 @@\n The new _\bP_\br_\be_\bf_\be_\bt_\bc_\bh object allows customizing prefetch operations.\n You can specify the QuerySet used to traverse a given relation or customize the\n storage location of prefetch results.\n This enables things like filtering prefetched relations, calling _\bs_\be_\bl_\be_\bc_\bt_\b__\br_\be_\bl_\ba_\bt_\be_\bd\n _\b(_\b) from a prefetched relation, or prefetching the same relation multiple times\n with different querysets. See _\bp_\br_\be_\bf_\be_\bt_\bc_\bh_\b__\br_\be_\bl_\ba_\bt_\be_\bd_\b(_\b) for more details.\n *\b**\b**\b**\b* A\bAd\bdm\bmi\bin\bn s\bsh\bho\bor\brt\btc\bcu\but\bts\bs s\bsu\bup\bpp\bpo\bor\brt\bt t\bti\bim\bme\be z\bzo\bon\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n-The \u201ctoday\u201d and \u201cnow\u201d shortcuts next to date and time input widgets in the\n+The \u00abtoday\u00bb and \u00abnow\u00bb shortcuts next to date and time input widgets in the\n admin are now operating in the _\bc_\bu_\br_\br_\be_\bn_\bt_\b _\bt_\bi_\bm_\be_\b _\bz_\bo_\bn_\be. Previously, they used the\n browser time zone, which could result in saving the wrong value when it didn\u2019t\n match the current time zone on the server.\n In addition, the widgets now display a help message when the browser and server\n time zone are different, to clarify how the value inserted in the field will be\n interpreted.\n *\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg d\bda\bat\bta\bab\bba\bas\bse\be c\bcu\bur\brs\bso\bor\brs\bs a\bas\bs c\bco\bon\bnt\bte\bex\bxt\bt m\bma\ban\bna\bag\bge\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n@@ -199,15 +199,15 @@\n _\bc_\bu_\bs_\bt_\bo_\bm_\b _\bl_\bo_\bo_\bk_\bu_\bp_\bs documentation.\n *\b**\b**\b**\b* I\bIm\bmp\bpr\bro\bov\bve\bem\bme\ben\bnt\bts\bs t\bto\bo F\bFo\bor\brm\bm e\ber\brr\bro\bor\br h\bha\ban\bnd\bdl\bli\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b**\b*\n *\b**\b**\b* F\bFo\bor\brm\bm.\b.a\bad\bdd\bd_\b_e\ber\brr\bro\bor\br(\b()\b)_\b?\b\u00b6 *\b**\b**\b*\n Previously there were two main patterns for handling errors in forms:\n * Raising a _\bV_\ba_\bl_\bi_\bd_\ba_\bt_\bi_\bo_\bn_\bE_\br_\br_\bo_\br from within certain functions (e.g. Field.clean\n (), Form.clean_(), or Form.clean() for non-field errors.)\n * Fiddling with Form._errors when targeting a specific field in Form.clean\n- () or adding errors from outside of a \u201cclean\u201d method (e.g. directly from\n+ () or adding errors from outside of a \u00abclean\u00bb method (e.g. directly from\n a view).\n Using the former pattern was straightforward since the form can guess from the\n context (i.e. which method raised the exception) where the errors belong and\n automatically process them. This remains the canonical way of adding errors\n when possible. However the latter was fiddly and error-prone, since the burden\n of handling edge cases fell on the user.\n The new _\ba_\bd_\bd_\b__\be_\br_\br_\bo_\br_\b(_\b) method allows adding errors to specific form fields from\n@@ -257,15 +257,15 @@\n * The _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bg_\be_\bt_\b__\bf_\bi_\be_\bl_\bd_\bs_\b(_\b) method may be overridden to customize the\n value of _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bf_\bi_\be_\bl_\bd_\bs.\n * In addition to the existing admin.site.register syntax, you can use the\n new _\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b) decorator to register a _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn.\n * You may specify _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\bl_\bi_\bn_\bk_\bs = None to disable links on\n the change list page grid.\n * You may now specify _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bv_\bi_\be_\bw_\b__\bo_\bn_\b__\bs_\bi_\bt_\be to control whether or not to\n- display the \u201cView on site\u201d link.\n+ display the \u00abView on site\u00bb link.\n * You can specify a descending ordering for a _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bl_\bi_\bs_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by value\n by prefixing the admin_order_field value with a hyphen.\n * The _\bM_\bo_\bd_\be_\bl_\bA_\bd_\bm_\bi_\bn_\b._\bg_\be_\bt_\b__\bc_\bh_\ba_\bn_\bg_\be_\bf_\bo_\br_\bm_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bd_\ba_\bt_\ba_\b(_\b) method may be overridden to\n define custom behavior for setting initial change form data.\n *\b**\b**\b* _\bd\bd_\bj\bj_\ba\ba_\bn\bn_\bg\bg_\bo\bo_\b.\b._\bc\bc_\bo\bo_\bn\bn_\bt\bt_\br\br_\bi\bi_\bb\bb_\b.\b._\ba\ba_\bu\bu_\bt\bt_\bh\bh_\b?\b\u00b6 *\b**\b**\b*\n * Any **kwargs passed to _\be_\bm_\ba_\bi_\bl_\b__\bu_\bs_\be_\br_\b(_\b) are passed to the underlying\n _\bs_\be_\bn_\bd_\b__\bm_\ba_\bi_\bl_\b(_\b) call.\n@@ -337,15 +337,15 @@\n _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\bs. This dict-like object provides a different\n instance per thread. It supersedes django.core.cache.get_cache() which is\n now deprecated.\n * If you instantiate cache backends directly, be aware that they aren\u2019t\n thread-safe any more, as _\bd_\bj_\ba_\bn_\bg_\bo_\b._\bc_\bo_\br_\be_\b._\bc_\ba_\bc_\bh_\be_\b._\bc_\ba_\bc_\bh_\be_\bs now yields different\n instances per thread.\n * Defining the _\bT_\bI_\bM_\bE_\bO_\bU_\bT argument of the _\bC_\bA_\bC_\bH_\bE_\bS setting as None will set the\n- cache keys as \u201cnon-expiring\u201d by default. Previously, it was only possible\n+ cache keys as \u00abnon-expiring\u00bb by default. Previously, it was only possible\n to pass timeout=None to the cache backend\u2019s set() method.\n *\b**\b**\b* C\bCr\bro\bos\bss\bs S\bSi\bit\bte\be R\bRe\beq\bqu\bue\bes\bst\bt F\bFo\bor\brg\bge\ber\bry\by_\b?\b\u00b6 *\b**\b**\b*\n * The _\bC_\bS_\bR_\bF_\b__\bC_\bO_\bO_\bK_\bI_\bE_\b__\bA_\bG_\bE setting facilitates the use of session-based CSRF\n cookies.\n *\b**\b**\b* E\bEm\bma\bai\bil\bl_\b?\b\u00b6 *\b**\b**\b*\n * _\bs_\be_\bn_\bd_\b__\bm_\ba_\bi_\bl_\b(_\b) now accepts an html_message parameter for sending a multipart\n t\bte\bex\bxt\bt/\b/p\bpl\bla\bai\bin\bn and t\bte\bex\bxt\bt/\b/h\bht\btm\bml\bl email.\n@@ -375,15 +375,15 @@\n *\b**\b**\b* F\bFo\bor\brm\bms\bs_\b?\b\u00b6 *\b**\b**\b*\n * The