From 2cb1629a81a40c98a9c943e53ef7b978031bbd54 Mon Sep 17 00:00:00 2001 From: Esther Kleinhenz Date: Sat, 18 Aug 2018 18:30:57 +0200 Subject: [PATCH] reinstalled django because of problems with the migrations and installed taggit-template2 to list tags --- application/migrations/0001_initial.py | 7 +- .../migrations/0002_auto_20180818_1734.py | 35 + .../bootstrap/js/jquery.tagcanvas.min.js | 2280 +++ application/templates/base.html | 3 + application/templates/post_list.html | 16 +- mysite/settings.py | 1 + .../Django-2.0.6.dist-info/DESCRIPTION.rst | 45 - .../Django-2.0.6.dist-info/metadata.json | 1 - .../INSTALLER | 0 .../LICENSE.txt | 0 .../METADATA | 14 +- .../RECORD | 1401 +- .../WHEEL | 2 +- .../entry_points.txt | 0 .../top_level.txt | 0 .../site-packages/classytags/__init__.py | 1 + .../site-packages/classytags/arguments.py | 239 + .../site-packages/classytags/blocks.py | 45 + .../site-packages/classytags/compat.py | 13 + .../site-packages/classytags/core.py | 162 + .../site-packages/classytags/exceptions.py | 66 + .../site-packages/classytags/helpers.py | 104 + .../__init__.py => classytags/models.py} | 0 .../site-packages/classytags/parser.py | 207 + .../commands => classytags/test}/__init__.py | 0 .../classytags/test/context_managers.py | 56 + .../test/project}/__init__.py | 0 .../test/project/models.py} | 0 .../site-packages/classytags/tests.py | 1547 ++ .../site-packages/classytags/utils.py | 109 + .../site-packages/classytags/values.py | 110 + .../site-packages/django/__init__.py | 2 +- .../site-packages/django/apps/registry.py | 5 + .../site-packages/django/conf/__init__.py | 7 +- .../django/conf/global_settings.py | 10 +- .../conf/locale/az/LC_MESSAGES/django.mo | Bin 19457 -> 26359 bytes .../conf/locale/az/LC_MESSAGES/django.po | 108 +- .../conf/locale/cs/LC_MESSAGES/django.mo | Bin 27244 -> 28203 bytes .../conf/locale/cs/LC_MESSAGES/django.po | 45 +- .../conf/locale/da/LC_MESSAGES/django.mo | Bin 25678 -> 25950 bytes .../conf/locale/da/LC_MESSAGES/django.po | 20 +- .../conf/locale/de/LC_MESSAGES/django.mo | Bin 27098 -> 27131 bytes .../conf/locale/de/LC_MESSAGES/django.po | 44 +- .../conf/locale/dsb/LC_MESSAGES/django.mo | Bin 28398 -> 28658 bytes .../conf/locale/dsb/LC_MESSAGES/django.po | 20 +- .../conf/locale/en/LC_MESSAGES/django.po | 500 +- .../conf/locale/eo/LC_MESSAGES/django.mo | Bin 23484 -> 25987 bytes .../conf/locale/eo/LC_MESSAGES/django.po | 44 +- .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 26824 -> 27102 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 18 +- .../django/conf/locale/es_MX/formats.py | 2 +- .../conf/locale/fa/LC_MESSAGES/django.mo | Bin 26023 -> 28049 bytes .../conf/locale/fa/LC_MESSAGES/django.po | 83 +- .../conf/locale/fi/LC_MESSAGES/django.mo | Bin 23713 -> 25600 bytes .../conf/locale/fi/LC_MESSAGES/django.po | 49 +- .../conf/locale/fr/LC_MESSAGES/django.mo | Bin 27235 -> 27558 bytes .../conf/locale/fr/LC_MESSAGES/django.po | 24 +- .../conf/locale/gd/LC_MESSAGES/django.mo | Bin 29409 -> 29716 bytes .../conf/locale/gd/LC_MESSAGES/django.po | 22 +- .../conf/locale/hsb/LC_MESSAGES/django.mo | Bin 28149 -> 28410 bytes .../conf/locale/hsb/LC_MESSAGES/django.po | 20 +- .../conf/locale/hu/LC_MESSAGES/django.mo | Bin 26971 -> 27289 bytes .../conf/locale/hu/LC_MESSAGES/django.po | 26 +- .../django/conf/locale/hu/formats.py | 16 +- .../conf/locale/id/LC_MESSAGES/django.mo | Bin 25570 -> 25821 bytes .../conf/locale/id/LC_MESSAGES/django.po | 18 +- .../conf/locale/is/LC_MESSAGES/django.mo | Bin 24147 -> 24432 bytes .../conf/locale/is/LC_MESSAGES/django.po | 86 +- .../conf/locale/it/LC_MESSAGES/django.mo | Bin 26205 -> 26508 bytes .../conf/locale/it/LC_MESSAGES/django.po | 27 +- .../conf/locale/ja/LC_MESSAGES/django.mo | Bin 28695 -> 28999 bytes .../conf/locale/ja/LC_MESSAGES/django.po | 20 +- .../conf/locale/ko/LC_MESSAGES/django.mo | Bin 27093 -> 27371 bytes .../conf/locale/ko/LC_MESSAGES/django.po | 25 +- .../conf/locale/lt/LC_MESSAGES/django.mo | Bin 27423 -> 28474 bytes .../conf/locale/lt/LC_MESSAGES/django.po | 47 +- .../conf/locale/lv/LC_MESSAGES/django.mo | Bin 27053 -> 27341 bytes .../conf/locale/lv/LC_MESSAGES/django.po | 27 +- .../conf/locale/mn/LC_MESSAGES/django.mo | Bin 28307 -> 29053 bytes .../conf/locale/mn/LC_MESSAGES/django.po | 34 +- .../conf/locale/nb/LC_MESSAGES/django.mo | Bin 25567 -> 25864 bytes .../conf/locale/nb/LC_MESSAGES/django.po | 23 +- .../conf/locale/ne/LC_MESSAGES/django.mo | Bin 28709 -> 29534 bytes .../conf/locale/ne/LC_MESSAGES/django.po | 25 +- .../conf/locale/pl/LC_MESSAGES/django.mo | Bin 28479 -> 28748 bytes .../conf/locale/pl/LC_MESSAGES/django.po | 20 +- .../conf/locale/pt_BR/LC_MESSAGES/django.mo | Bin 25639 -> 26672 bytes .../conf/locale/pt_BR/LC_MESSAGES/django.po | 30 +- .../conf/locale/ro/LC_MESSAGES/django.mo | Bin 25242 -> 27406 bytes .../conf/locale/ro/LC_MESSAGES/django.po | 86 +- .../django/conf/locale/ro/formats.py | 24 +- .../conf/locale/ru/LC_MESSAGES/django.mo | Bin 36405 -> 36731 bytes .../conf/locale/ru/LC_MESSAGES/django.po | 26 +- .../conf/locale/sq/LC_MESSAGES/django.mo | Bin 26370 -> 26846 bytes .../conf/locale/sq/LC_MESSAGES/django.po | 25 +- .../conf/locale/sr/LC_MESSAGES/django.mo | Bin 32655 -> 32959 bytes .../conf/locale/sr/LC_MESSAGES/django.po | 18 +- .../conf/locale/th/LC_MESSAGES/django.mo | Bin 19036 -> 20155 bytes .../conf/locale/th/LC_MESSAGES/django.po | 41 +- .../conf/locale/tr/LC_MESSAGES/django.mo | Bin 26717 -> 27001 bytes .../conf/locale/tr/LC_MESSAGES/django.po | 20 +- .../conf/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 25008 -> 25134 bytes .../conf/locale/zh_Hans/LC_MESSAGES/django.po | 23 +- .../conf/project_template/manage.py-tpl | 4 +- .../project_template/project_name/wsgi.py-tpl | 2 +- .../django/contrib/admin/actions.py | 41 +- .../django/contrib/admin/apps.py | 1 + .../django/contrib/admin/checks.py | 201 +- .../django/contrib/admin/filters.py | 93 +- .../django/contrib/admin/forms.py | 4 +- .../django/contrib/admin/helpers.py | 63 +- .../admin/locale/cs/LC_MESSAGES/django.mo | Bin 16572 -> 17272 bytes .../admin/locale/cs/LC_MESSAGES/django.po | 70 +- .../admin/locale/cs/LC_MESSAGES/djangojs.mo | Bin 4819 -> 5053 bytes .../admin/locale/cs/LC_MESSAGES/djangojs.po | 48 +- .../admin/locale/da/LC_MESSAGES/django.mo | Bin 15961 -> 16428 bytes .../admin/locale/da/LC_MESSAGES/django.po | 63 +- .../admin/locale/da/LC_MESSAGES/djangojs.mo | Bin 4518 -> 4518 bytes .../admin/locale/da/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/dsb/LC_MESSAGES/django.mo | Bin 16835 -> 17347 bytes .../admin/locale/dsb/LC_MESSAGES/django.po | 64 +- .../admin/locale/dsb/LC_MESSAGES/djangojs.mo | Bin 5016 -> 5016 bytes .../admin/locale/dsb/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/en/LC_MESSAGES/django.po | 371 +- .../admin/locale/en/LC_MESSAGES/djangojs.po | 83 +- .../admin/locale/eo/LC_MESSAGES/django.mo | Bin 15869 -> 16318 bytes .../admin/locale/eo/LC_MESSAGES/django.po | 64 +- .../admin/locale/eo/LC_MESSAGES/djangojs.mo | Bin 4452 -> 4452 bytes .../admin/locale/eo/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/es_AR/LC_MESSAGES/django.mo | Bin 16955 -> 17445 bytes .../admin/locale/es_AR/LC_MESSAGES/django.po | 66 +- .../locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 4892 -> 4892 bytes .../locale/es_AR/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/fa/LC_MESSAGES/django.mo | Bin 19131 -> 19583 bytes .../admin/locale/fa/LC_MESSAGES/django.po | 70 +- .../admin/locale/fa/LC_MESSAGES/djangojs.mo | Bin 5068 -> 5267 bytes .../admin/locale/fa/LC_MESSAGES/djangojs.po | 39 +- .../admin/locale/fr/LC_MESSAGES/django.mo | Bin 17504 -> 18028 bytes .../admin/locale/fr/LC_MESSAGES/django.po | 64 +- .../admin/locale/fr/LC_MESSAGES/djangojs.mo | Bin 4735 -> 4735 bytes .../admin/locale/fr/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/gd/LC_MESSAGES/django.mo | Bin 18177 -> 18685 bytes .../admin/locale/gd/LC_MESSAGES/django.po | 60 +- .../admin/locale/gd/LC_MESSAGES/djangojs.mo | Bin 5304 -> 5304 bytes .../admin/locale/gd/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/hsb/LC_MESSAGES/django.mo | Bin 16584 -> 17091 bytes .../admin/locale/hsb/LC_MESSAGES/django.po | 58 +- .../admin/locale/hsb/LC_MESSAGES/djangojs.mo | Bin 5087 -> 5087 bytes .../admin/locale/hsb/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/hu/LC_MESSAGES/django.mo | Bin 16464 -> 17022 bytes .../admin/locale/hu/LC_MESSAGES/django.po | 63 +- .../admin/locale/hu/LC_MESSAGES/djangojs.mo | Bin 4524 -> 4524 bytes .../admin/locale/hu/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/id/LC_MESSAGES/django.mo | Bin 15684 -> 16194 bytes .../admin/locale/id/LC_MESSAGES/django.po | 66 +- .../admin/locale/id/LC_MESSAGES/djangojs.mo | Bin 4407 -> 4407 bytes .../admin/locale/id/LC_MESSAGES/djangojs.po | 34 +- .../admin/locale/is/LC_MESSAGES/django.mo | Bin 16223 -> 16612 bytes .../admin/locale/is/LC_MESSAGES/django.po | 62 +- .../admin/locale/is/LC_MESSAGES/djangojs.mo | Bin 4587 -> 4559 bytes .../admin/locale/is/LC_MESSAGES/djangojs.po | 67 +- .../admin/locale/it/LC_MESSAGES/django.mo | Bin 16441 -> 16958 bytes .../admin/locale/it/LC_MESSAGES/django.po | 68 +- .../admin/locale/it/LC_MESSAGES/djangojs.mo | Bin 4537 -> 4537 bytes .../admin/locale/it/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/ja/LC_MESSAGES/django.mo | Bin 17590 -> 18084 bytes .../admin/locale/ja/LC_MESSAGES/django.po | 58 +- .../admin/locale/ja/LC_MESSAGES/djangojs.mo | Bin 4688 -> 4688 bytes .../admin/locale/ja/LC_MESSAGES/djangojs.po | 34 +- .../admin/locale/ko/LC_MESSAGES/django.mo | Bin 17006 -> 17320 bytes .../admin/locale/ko/LC_MESSAGES/django.po | 63 +- .../admin/locale/ko/LC_MESSAGES/djangojs.mo | Bin 4493 -> 4493 bytes .../admin/locale/ko/LC_MESSAGES/djangojs.po | 34 +- .../admin/locale/lt/LC_MESSAGES/django.mo | Bin 16410 -> 16971 bytes .../admin/locale/lt/LC_MESSAGES/django.po | 72 +- .../admin/locale/lt/LC_MESSAGES/djangojs.mo | Bin 4934 -> 5183 bytes .../admin/locale/lt/LC_MESSAGES/djangojs.po | 64 +- .../admin/locale/lv/LC_MESSAGES/django.mo | Bin 16220 -> 16733 bytes .../admin/locale/lv/LC_MESSAGES/django.po | 67 +- .../admin/locale/lv/LC_MESSAGES/djangojs.mo | Bin 4908 -> 4903 bytes .../admin/locale/lv/LC_MESSAGES/djangojs.po | 36 +- .../admin/locale/mn/LC_MESSAGES/django.mo | Bin 20092 -> 20634 bytes .../admin/locale/mn/LC_MESSAGES/django.po | 64 +- .../admin/locale/mn/LC_MESSAGES/djangojs.mo | Bin 5215 -> 5193 bytes .../admin/locale/mn/LC_MESSAGES/djangojs.po | 42 +- .../admin/locale/nb/LC_MESSAGES/django.mo | Bin 15643 -> 16081 bytes .../admin/locale/nb/LC_MESSAGES/django.po | 60 +- .../admin/locale/nb/LC_MESSAGES/djangojs.mo | Bin 4375 -> 4375 bytes .../admin/locale/nb/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/pa/LC_MESSAGES/django.mo | Bin 10171 -> 10185 bytes .../admin/locale/pa/LC_MESSAGES/django.po | 61 +- .../admin/locale/pa/LC_MESSAGES/djangojs.mo | Bin 1207 -> 1207 bytes .../admin/locale/pa/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/pl/LC_MESSAGES/django.mo | Bin 16766 -> 17253 bytes .../admin/locale/pl/LC_MESSAGES/django.po | 62 +- .../admin/locale/pl/LC_MESSAGES/djangojs.mo | Bin 5124 -> 5124 bytes .../admin/locale/pl/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/pt_BR/LC_MESSAGES/django.mo | Bin 16398 -> 16911 bytes .../admin/locale/pt_BR/LC_MESSAGES/django.po | 69 +- .../locale/pt_BR/LC_MESSAGES/djangojs.mo | Bin 4619 -> 4619 bytes .../locale/pt_BR/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/ro/LC_MESSAGES/django.mo | Bin 16508 -> 17007 bytes .../admin/locale/ro/LC_MESSAGES/django.po | 67 +- .../admin/locale/ro/LC_MESSAGES/djangojs.mo | Bin 4711 -> 4686 bytes .../admin/locale/ro/LC_MESSAGES/djangojs.po | 47 +- .../admin/locale/ru/LC_MESSAGES/django.mo | Bin 21129 -> 21855 bytes .../admin/locale/ru/LC_MESSAGES/django.po | 69 +- .../admin/locale/ru/LC_MESSAGES/djangojs.mo | Bin 6564 -> 6560 bytes .../admin/locale/ru/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/sq/LC_MESSAGES/django.mo | Bin 16593 -> 16968 bytes .../admin/locale/sq/LC_MESSAGES/django.po | 60 +- .../admin/locale/sq/LC_MESSAGES/djangojs.mo | Bin 4590 -> 4590 bytes .../admin/locale/sq/LC_MESSAGES/djangojs.po | 38 +- .../admin/locale/sr/LC_MESSAGES/django.mo | Bin 14663 -> 21023 bytes .../admin/locale/sr/LC_MESSAGES/django.po | 118 +- .../admin/locale/sr/LC_MESSAGES/djangojs.mo | Bin 5221 -> 5221 bytes .../admin/locale/sr/LC_MESSAGES/djangojs.po | 32 +- .../admin/locale/th/LC_MESSAGES/django.mo | Bin 18775 -> 18986 bytes .../admin/locale/th/LC_MESSAGES/django.po | 62 +- .../admin/locale/th/LC_MESSAGES/djangojs.mo | Bin 5584 -> 6250 bytes .../admin/locale/th/LC_MESSAGES/djangojs.po | 42 +- .../admin/locale/tr/LC_MESSAGES/django.mo | Bin 16541 -> 17033 bytes .../admin/locale/tr/LC_MESSAGES/django.po | 60 +- .../admin/locale/tr/LC_MESSAGES/djangojs.mo | Bin 4547 -> 4547 bytes .../admin/locale/tr/LC_MESSAGES/djangojs.po | 38 +- .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 15164 -> 15361 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 62 +- .../locale/zh_Hans/LC_MESSAGES/djangojs.mo | Bin 4229 -> 4245 bytes .../locale/zh_Hans/LC_MESSAGES/djangojs.po | 38 +- .../contrib/admin/migrations/0001_initial.py | 47 + .../0002_logentry_remove_auto_add.py | 22 + .../0003_logentry_add_action_flag_choices.py | 20 + .../django/contrib/admin/models.py | 10 +- .../django/contrib/admin/options.py | 429 +- .../django/contrib/admin/sites.py | 71 +- .../contrib/admin/static/admin/css/base.css | 5 + .../contrib/admin/static/admin/css/forms.css | 19 +- .../admin/static/admin/css/responsive.css | 12 +- .../contrib/admin/static/admin/css/rtl.css | 4 +- .../admin/static/admin/img/icon-viewlink.svg | 3 + .../admin/static/admin/js/SelectFilter2.js | 4 +- .../contrib/admin/static/admin/js/actions.js | 12 +- .../admin/static/admin/js/actions.min.js | 11 +- .../admin/js/admin/DateTimeShortcuts.js | 2 +- .../admin/js/admin/RelatedObjectLookups.js | 4 +- .../contrib/admin/static/admin/js/cancel.js | 8 +- .../contrib/admin/static/admin/js/collapse.js | 2 +- .../admin/static/admin/js/collapse.min.js | 8 +- .../contrib/admin/static/admin/js/inlines.js | 21 +- .../admin/static/admin/js/inlines.min.js | 26 +- .../admin/static/admin/js/prepopulate.js | 4 +- .../admin/static/admin/js/prepopulate.min.js | 2 +- .../contrib/admin/static/admin/js/urlify.js | 20 +- .../{LICENSE-JQUERY.txt => LICENSE.txt} | 0 .../static/admin/js/vendor/jquery/jquery.js | 3782 ++-- .../admin/js/vendor/jquery/jquery.min.js | 6 +- .../{LICENSE-SELECT2.md => LICENSE.md} | 0 .../{LICENSE-XREGEXP.txt => LICENSE.txt} | 0 .../admin/templates/admin/actions.html | 8 + .../admin/auth/user/change_password.html | 8 +- .../contrib/admin/templates/admin/base.html | 12 +- .../admin/templates/admin/change_form.html | 14 +- .../admin/change_form_object_tools.html | 8 + .../admin/templates/admin/change_list.html | 13 +- .../admin/change_list_object_tools.html | 12 + .../admin/templates/admin/date_hierarchy.html | 8 +- .../templates/admin/delete_confirmation.html | 8 +- .../admin/delete_selected_confirmation.html | 8 +- .../templates/admin/edit_inline/stacked.html | 4 +- .../templates/admin/edit_inline/tabular.html | 6 +- .../templates/admin/includes/fieldset.html | 2 +- .../contrib/admin/templates/admin/index.html | 10 +- .../contrib/admin/templates/admin/login.html | 6 +- .../admin/templates/admin/pagination.html | 2 +- .../admin/related_widget_wrapper.html | 16 +- .../admin/templates/admin/search_form.html | 8 +- .../admin/templates/admin/submit_line.html | 11 +- .../admin/widgets/clearable_file_input.html | 6 +- .../admin/widgets/related_widget_wrapper.html | 6 +- .../admin/widgets/split_datetime.html | 2 +- .../admin/templates/admin/widgets/url.html | 2 +- .../registration/password_change_form.html | 4 +- .../registration/password_reset_confirm.html | 4 +- .../registration/password_reset_form.html | 4 +- .../contrib/admin/templatetags/admin_list.py | 104 +- .../admin/templatetags/admin_modify.py | 44 +- .../admin/templatetags/admin_static.py | 9 +- .../contrib/admin/templatetags/admin_urls.py | 4 +- .../django/contrib/admin/templatetags/base.py | 33 + .../django/contrib/admin/tests.py | 2 +- .../django/contrib/admin/utils.py | 66 +- .../contrib/admin/views/autocomplete.py | 2 +- .../django/contrib/admin/views/main.py | 114 +- .../django/contrib/admin/widgets.py | 73 +- .../admindocs/locale/ro/LC_MESSAGES/django.mo | Bin 6804 -> 6755 bytes .../admindocs/locale/ro/LC_MESSAGES/django.po | 7 +- .../admindocs/locale/sr/LC_MESSAGES/django.mo | Bin 2217 -> 3626 bytes .../admindocs/locale/sr/LC_MESSAGES/django.po | 49 +- .../admin_doc/template_filter_index.html | 4 +- .../admin_doc/template_tag_index.html | 4 +- .../templates/admin_doc/view_index.html | 2 +- .../django/contrib/admindocs/utils.py | 3 +- .../django/contrib/admindocs/views.py | 71 +- .../django/contrib/auth/__init__.py | 49 +- .../django/contrib/auth/admin.py | 8 +- .../site-packages/django/contrib/auth/apps.py | 5 +- .../django/contrib/auth/backends.py | 21 +- .../contrib/auth/common-passwords.txt.gz | Bin 3876 -> 82603 bytes .../django/contrib/auth/decorators.py | 2 +- .../django/contrib/auth/forms.py | 44 +- .../django/contrib/auth/hashers.py | 62 +- .../auth/locale/az/LC_MESSAGES/django.mo | Bin 5859 -> 7450 bytes .../auth/locale/az/LC_MESSAGES/django.po | 20 +- .../auth/locale/eo/LC_MESSAGES/django.mo | Bin 7354 -> 7353 bytes .../auth/locale/eo/LC_MESSAGES/django.po | 6 +- .../auth/locale/es_MX/LC_MESSAGES/django.mo | Bin 7514 -> 7860 bytes .../auth/locale/es_MX/LC_MESSAGES/django.po | 10 +- .../auth/locale/fa/LC_MESSAGES/django.mo | Bin 8263 -> 8963 bytes .../auth/locale/fa/LC_MESSAGES/django.po | 13 +- .../auth/locale/fi/LC_MESSAGES/django.mo | Bin 7195 -> 7514 bytes .../auth/locale/fi/LC_MESSAGES/django.po | 9 +- .../auth/locale/ro/LC_MESSAGES/django.mo | Bin 7919 -> 7961 bytes .../auth/locale/ro/LC_MESSAGES/django.po | 14 +- .../auth/locale/sk/LC_MESSAGES/django.mo | Bin 7651 -> 7838 bytes .../auth/locale/sk/LC_MESSAGES/django.po | 12 +- .../contrib/auth/management/__init__.py | 2 +- .../management/commands/createsuperuser.py | 9 +- .../contrib/auth/migrations/0001_initial.py | 104 + .../0002_alter_permission_name_max_length.py | 16 + .../0003_alter_user_email_max_length.py | 16 + .../0004_alter_user_username_opts.py | 23 + .../0005_alter_user_last_login_null.py | 16 + .../0006_require_contenttypes_0002.py | 14 + ...007_alter_validators_add_error_messages.py | 24 + .../0008_alter_user_username_max_length.py | 24 + .../0009_alter_user_last_name_max_length.py | 16 + .../django/contrib/auth/mixins.py | 4 +- .../django/contrib/auth/models.py | 7 +- .../contrib/auth/password_validation.py | 20 +- .../django/contrib/auth/tokens.py | 33 +- .../django/contrib/auth/views.py | 258 +- .../django/contrib/contenttypes/admin.py | 34 +- .../django/contrib/contenttypes/fields.py | 48 +- .../django/contrib/contenttypes/forms.py | 14 +- .../commands/remove_stale_contenttypes.py | 11 +- .../contenttypes/migrations/0001_initial.py | 34 + .../0002_remove_content_type_name.py | 39 + .../flatpages/locale/az/LC_MESSAGES/django.mo | Bin 2208 -> 2235 bytes .../flatpages/locale/az/LC_MESSAGES/django.po | 7 +- .../flatpages/migrations/0001_initial.py | 39 + .../flatpages/templatetags/flatpages.py | 3 +- .../site-packages/django/contrib/gis/apps.py | 3 +- .../contrib/gis/db/backends/base/adapter.py | 7 +- .../contrib/gis/db/backends/base/features.py | 2 +- .../gis/db/backends/base/operations.py | 5 +- .../gis/db/backends/mysql/introspection.py | 6 +- .../gis/db/backends/mysql/operations.py | 23 +- .../gis/db/backends/oracle/introspection.py | 6 +- .../gis/db/backends/oracle/operations.py | 6 +- .../gis/db/backends/postgis/adapter.py | 4 +- .../gis/db/backends/postgis/introspection.py | 32 +- .../gis/db/backends/postgis/operations.py | 6 +- .../gis/db/backends/postgis/pgraster.py | 18 +- .../gis/db/backends/spatialite/base.py | 3 +- .../gis/db/backends/spatialite/features.py | 7 - .../db/backends/spatialite/introspection.py | 32 +- .../gis/db/backends/spatialite/operations.py | 6 +- .../django/contrib/gis/db/models/fields.py | 20 +- .../django/contrib/gis/db/models/functions.py | 32 +- .../django/contrib/gis/db/models/lookups.py | 3 +- .../django/contrib/gis/db/models/proxy.py | 9 +- .../django/contrib/gis/forms/widgets.py | 14 +- .../django/contrib/gis/gdal/geometries.py | 12 +- .../django/contrib/gis/gdal/raster/band.py | 14 +- .../django/contrib/gis/gdal/raster/base.py | 2 +- .../django/contrib/gis/gdal/raster/source.py | 29 +- .../django/contrib/gis/geoip2/base.py | 33 +- .../django/contrib/gis/geoip2/resources.py | 4 +- .../django/contrib/gis/geos/geometry.py | 14 +- .../django/contrib/gis/geos/linestring.py | 17 +- .../django/contrib/gis/geos/polygon.py | 2 +- .../contrib/gis/geos/prototypes/coordseq.py | 2 +- .../django/contrib/gis/geos/prototypes/io.py | 6 +- .../contrib/gis/geos/prototypes/threadsafe.py | 7 +- .../contrib/gis/geos/prototypes/topology.py | 1 + .../gis/locale/az/LC_MESSAGES/django.mo | Bin 1211 -> 2013 bytes .../gis/locale/az/LC_MESSAGES/django.po | 24 +- .../gis/locale/my/LC_MESSAGES/django.mo | Bin 461 -> 525 bytes .../gis/locale/my/LC_MESSAGES/django.po | 19 +- .../gis/locale/sr/LC_MESSAGES/django.mo | Bin 1778 -> 2442 bytes .../gis/locale/sr/LC_MESSAGES/django.po | 13 +- .../contrib/gis/static/gis/js/OLMapWidget.js | 2 +- .../django/contrib/gis/utils/srs.py | 3 +- .../humanize/locale/cs/LC_MESSAGES/django.mo | Bin 4706 -> 6846 bytes .../humanize/locale/cs/LC_MESSAGES/django.po | 223 +- .../humanize/locale/da/LC_MESSAGES/django.mo | Bin 4108 -> 5339 bytes .../humanize/locale/da/LC_MESSAGES/django.po | 161 +- .../humanize/locale/de/LC_MESSAGES/django.mo | Bin 4152 -> 4669 bytes .../humanize/locale/de/LC_MESSAGES/django.po | 52 +- .../humanize/locale/dsb/LC_MESSAGES/django.mo | Bin 5467 -> 7036 bytes .../humanize/locale/dsb/LC_MESSAGES/django.po | 187 +- .../humanize/locale/en/LC_MESSAGES/django.po | 258 +- .../humanize/locale/eo/LC_MESSAGES/django.mo | Bin 4107 -> 5386 bytes .../humanize/locale/eo/LC_MESSAGES/django.po | 189 +- .../locale/es_AR/LC_MESSAGES/django.mo | Bin 4254 -> 5502 bytes .../locale/es_AR/LC_MESSAGES/django.po | 176 +- .../humanize/locale/fa/LC_MESSAGES/django.mo | Bin 3754 -> 5808 bytes .../humanize/locale/fa/LC_MESSAGES/django.po | 196 +- .../humanize/locale/fr/LC_MESSAGES/django.mo | Bin 4174 -> 5510 bytes .../humanize/locale/fr/LC_MESSAGES/django.po | 161 +- .../humanize/locale/gd/LC_MESSAGES/django.mo | Bin 5545 -> 7232 bytes .../humanize/locale/gd/LC_MESSAGES/django.po | 214 +- .../humanize/locale/hsb/LC_MESSAGES/django.mo | Bin 5530 -> 7146 bytes .../humanize/locale/hsb/LC_MESSAGES/django.po | 187 +- .../humanize/locale/hu/LC_MESSAGES/django.mo | Bin 4086 -> 5348 bytes .../humanize/locale/hu/LC_MESSAGES/django.po | 163 +- .../humanize/locale/id/LC_MESSAGES/django.mo | Bin 3553 -> 4665 bytes .../humanize/locale/id/LC_MESSAGES/django.po | 149 +- .../humanize/locale/is/LC_MESSAGES/django.mo | Bin 3586 -> 3805 bytes .../humanize/locale/is/LC_MESSAGES/django.po | 164 +- .../humanize/locale/it/LC_MESSAGES/django.mo | Bin 4690 -> 5981 bytes .../humanize/locale/it/LC_MESSAGES/django.po | 161 +- .../humanize/locale/ja/LC_MESSAGES/django.mo | Bin 3678 -> 4840 bytes .../humanize/locale/ja/LC_MESSAGES/django.po | 149 +- .../humanize/locale/ko/LC_MESSAGES/django.mo | Bin 3673 -> 3781 bytes .../humanize/locale/ko/LC_MESSAGES/django.po | 154 +- .../humanize/locale/lt/LC_MESSAGES/django.mo | Bin 5036 -> 7374 bytes .../humanize/locale/lt/LC_MESSAGES/django.po | 216 +- .../humanize/locale/lv/LC_MESSAGES/django.mo | Bin 4848 -> 6252 bytes .../humanize/locale/lv/LC_MESSAGES/django.po | 179 +- .../humanize/locale/nb/LC_MESSAGES/django.mo | Bin 4133 -> 5358 bytes .../humanize/locale/nb/LC_MESSAGES/django.po | 160 +- .../humanize/locale/pl/LC_MESSAGES/django.mo | Bin 5529 -> 7018 bytes .../humanize/locale/pl/LC_MESSAGES/django.po | 186 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 4209 -> 5425 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 162 +- .../humanize/locale/ro/LC_MESSAGES/django.mo | Bin 4809 -> 6229 bytes .../humanize/locale/ro/LC_MESSAGES/django.po | 248 +- .../humanize/locale/ru/LC_MESSAGES/django.mo | Bin 6887 -> 7859 bytes .../humanize/locale/ru/LC_MESSAGES/django.po | 187 +- .../humanize/locale/sq/LC_MESSAGES/django.mo | Bin 4126 -> 4912 bytes .../humanize/locale/sq/LC_MESSAGES/django.po | 159 +- .../humanize/locale/sr/LC_MESSAGES/django.mo | Bin 5680 -> 7246 bytes .../humanize/locale/sr/LC_MESSAGES/django.po | 171 +- .../humanize/locale/tr/LC_MESSAGES/django.mo | Bin 4109 -> 5304 bytes .../humanize/locale/tr/LC_MESSAGES/django.po | 160 +- .../contrib/humanize/templatetags/humanize.py | 66 +- .../django/contrib/messages/storage/cookie.py | 3 +- .../contrib/messages/storage/fallback.py | 5 +- .../django/contrib/messages/utils.py | 7 +- .../django/contrib/postgres/__init__.py | 1 + .../contrib/postgres/aggregates/__init__.py | 2 + .../contrib/postgres/aggregates/general.py | 63 + .../contrib/postgres/aggregates/statistics.py | 69 + .../django/contrib/postgres/apps.py | 35 + .../contrib/postgres/fields/__init__.py | 5 + .../django/contrib/postgres/fields/array.py | 303 + .../django/contrib/postgres/fields/citext.py | 24 + .../django/contrib/postgres/fields/hstore.py | 112 + .../django/contrib/postgres/fields/jsonb.py | 188 + .../django/contrib/postgres/fields/mixins.py | 29 + .../django/contrib/postgres/fields/ranges.py | 252 + .../django/contrib/postgres/fields/utils.py | 3 + .../django/contrib/postgres/forms/__init__.py | 4 + .../django/contrib/postgres/forms/array.py | 214 + .../django/contrib/postgres/forms/hstore.py | 58 + .../django/contrib/postgres/forms/jsonb.py | 62 + .../django/contrib/postgres/forms/ranges.py | 95 + .../django/contrib/postgres/functions.py | 11 + .../django/contrib/postgres/indexes.py | 100 + .../jinja2/postgres/widgets/split_array.html | 1 + .../postgres/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 4416 bytes .../postgres/locale/ar/LC_MESSAGES/django.po | 140 + .../postgres/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 4490 bytes .../postgres/locale/be/LC_MESSAGES/django.po | 132 + .../postgres/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 3439 bytes .../postgres/locale/bg/LC_MESSAGES/django.po | 119 + .../postgres/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 3167 bytes .../postgres/locale/ca/LC_MESSAGES/django.po | 120 + .../postgres/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 3686 bytes .../postgres/locale/cs/LC_MESSAGES/django.po | 129 + .../postgres/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 3167 bytes .../postgres/locale/da/LC_MESSAGES/django.po | 120 + .../postgres/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 3275 bytes .../postgres/locale/de/LC_MESSAGES/django.po | 117 + .../postgres/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 3853 bytes .../postgres/locale/dsb/LC_MESSAGES/django.po | 131 + .../postgres/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 3918 bytes .../postgres/locale/el/LC_MESSAGES/django.po | 120 + .../postgres/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../postgres/locale/en/LC_MESSAGES/django.po | 128 + .../postgres/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 3149 bytes .../postgres/locale/eo/LC_MESSAGES/django.po | 119 + .../postgres/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 3177 bytes .../postgres/locale/es/LC_MESSAGES/django.po | 122 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 3178 bytes .../locale/es_AR/LC_MESSAGES/django.po | 118 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 2903 bytes .../locale/es_CO/LC_MESSAGES/django.po | 122 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 882 bytes .../locale/es_MX/LC_MESSAGES/django.po | 108 + .../postgres/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 3081 bytes .../postgres/locale/et/LC_MESSAGES/django.po | 120 + .../postgres/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 3139 bytes .../postgres/locale/eu/LC_MESSAGES/django.po | 118 + .../postgres/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 3614 bytes .../postgres/locale/fa/LC_MESSAGES/django.po | 117 + .../postgres/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 3212 bytes .../postgres/locale/fi/LC_MESSAGES/django.po | 120 + .../postgres/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 3393 bytes .../postgres/locale/fr/LC_MESSAGES/django.po | 119 + .../postgres/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 3828 bytes .../postgres/locale/gd/LC_MESSAGES/django.po | 135 + .../postgres/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 722 bytes .../postgres/locale/gl/LC_MESSAGES/django.po | 108 + .../postgres/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 3496 bytes .../postgres/locale/he/LC_MESSAGES/django.po | 111 + .../postgres/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1217 bytes .../postgres/locale/hr/LC_MESSAGES/django.po | 112 + .../postgres/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 3767 bytes .../postgres/locale/hsb/LC_MESSAGES/django.po | 129 + .../postgres/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 3185 bytes .../postgres/locale/hu/LC_MESSAGES/django.po | 118 + .../postgres/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 758 bytes .../postgres/locale/ia/LC_MESSAGES/django.po | 108 + .../postgres/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 3035 bytes .../postgres/locale/id/LC_MESSAGES/django.po | 118 + .../postgres/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 3212 bytes .../postgres/locale/is/LC_MESSAGES/django.po | 118 + .../postgres/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 3243 bytes .../postgres/locale/it/LC_MESSAGES/django.po | 126 + .../postgres/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 3349 bytes .../postgres/locale/ja/LC_MESSAGES/django.po | 110 + .../postgres/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 767 bytes .../postgres/locale/ka/LC_MESSAGES/django.po | 106 + .../postgres/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 868 bytes .../postgres/locale/kk/LC_MESSAGES/django.po | 105 + .../postgres/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 3194 bytes .../postgres/locale/ko/LC_MESSAGES/django.po | 113 + .../postgres/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 3853 bytes .../postgres/locale/lt/LC_MESSAGES/django.po | 130 + .../postgres/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 3382 bytes .../postgres/locale/lv/LC_MESSAGES/django.po | 125 + .../postgres/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 3717 bytes .../postgres/locale/mk/LC_MESSAGES/django.po | 122 + .../postgres/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 3755 bytes .../postgres/locale/mn/LC_MESSAGES/django.po | 120 + .../postgres/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 3112 bytes .../postgres/locale/nb/LC_MESSAGES/django.po | 117 + .../postgres/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 934 bytes .../postgres/locale/ne/LC_MESSAGES/django.po | 106 + .../postgres/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 3243 bytes .../postgres/locale/nl/LC_MESSAGES/django.po | 121 + .../postgres/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 3734 bytes .../postgres/locale/pl/LC_MESSAGES/django.po | 136 + .../postgres/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 3136 bytes .../postgres/locale/pt/LC_MESSAGES/django.po | 117 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 3190 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 126 + .../postgres/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 3454 bytes .../postgres/locale/ro/LC_MESSAGES/django.po | 129 + .../postgres/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 5119 bytes .../postgres/locale/ru/LC_MESSAGES/django.po | 141 + .../postgres/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 3400 bytes .../postgres/locale/sk/LC_MESSAGES/django.po | 121 + .../postgres/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 3524 bytes .../postgres/locale/sl/LC_MESSAGES/django.po | 130 + .../postgres/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 3192 bytes .../postgres/locale/sq/LC_MESSAGES/django.po | 117 + .../postgres/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 4106 bytes .../postgres/locale/sr/LC_MESSAGES/django.po | 123 + .../postgres/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 2875 bytes .../postgres/locale/sv/LC_MESSAGES/django.po | 120 + .../postgres/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 3162 bytes .../postgres/locale/tr/LC_MESSAGES/django.po | 119 + .../postgres/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 4309 bytes .../postgres/locale/uk/LC_MESSAGES/django.po | 129 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 2854 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 108 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 2864 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 107 + .../django/contrib/postgres/lookups.py | 76 + .../django/contrib/postgres/operations.py | 77 + .../django/contrib/postgres/search.py | 219 + .../django/contrib/postgres/signals.py | 64 + .../postgres/widgets/split_array.html | 1 + .../django/contrib/postgres/utils.py | 29 + .../django/contrib/postgres/validators.py | 76 + .../redirects/locale/th/LC_MESSAGES/django.mo | Bin 1210 -> 1331 bytes .../redirects/locale/th/LC_MESSAGES/django.po | 9 +- .../redirects/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 592 bytes .../redirects/locale/uz/LC_MESSAGES/django.po | 45 + .../redirects/migrations/0001_initial.py | 40 + .../django/contrib/sessions/backends/base.py | 8 +- .../contrib/sessions/backends/cached_db.py | 23 +- .../django/contrib/sessions/backends/db.py | 10 +- .../django/contrib/sessions/backends/file.py | 18 +- .../sessions/locale/az/LC_MESSAGES/django.mo | Bin 700 -> 731 bytes .../sessions/locale/az/LC_MESSAGES/django.po | 9 +- .../sessions/locale/mn/LC_MESSAGES/django.mo | Bin 769 -> 784 bytes .../sessions/locale/mn/LC_MESSAGES/django.po | 8 +- .../sessions/locale/th/LC_MESSAGES/django.mo | Bin 757 -> 814 bytes .../sessions/locale/th/LC_MESSAGES/django.po | 7 +- .../sessions/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 744 bytes .../sessions/locale/uz/LC_MESSAGES/django.po | 35 + .../django/contrib/sessions/middleware.py | 5 +- .../sessions/migrations/0001_initial.py | 30 + .../sitemaps/management/commands/__init__.py | 0 .../sites/locale/az/LC_MESSAGES/django.mo | Bin 608 -> 773 bytes .../sites/locale/az/LC_MESSAGES/django.po | 9 +- .../sites/locale/th/LC_MESSAGES/django.mo | Bin 850 -> 898 bytes .../sites/locale/th/LC_MESSAGES/django.po | 8 +- .../sites/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 799 bytes .../sites/locale/uz/LC_MESSAGES/django.po | 35 + .../contrib/sites/migrations/0001_initial.py | 31 + .../migrations/0002_alter_domain_unique.py | 20 + .../django/contrib/staticfiles/handlers.py | 5 +- .../staticfiles/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/collectstatic.py | 9 +- .../django/contrib/staticfiles/storage.py | 11 +- .../staticfiles/templatetags/staticfiles.py | 17 +- .../django/contrib/staticfiles/utils.py | 7 +- .../django/core/cache/__init__.py | 3 +- .../django/core/cache/backends/base.py | 7 + .../django/core/cache/backends/db.py | 98 +- .../django/core/cache/backends/dummy.py | 15 +- .../django/core/cache/backends/filebased.py | 29 +- .../django/core/cache/backends/locmem.py | 105 +- .../django/core/cache/backends/memcached.py | 31 +- .../site-packages/django/core/cache/utils.py | 4 +- .../django/core/checks/registry.py | 6 +- .../django/core/checks/templates.py | 11 +- .../site-packages/django/core/files/base.py | 29 +- .../django/core/files/uploadedfile.py | 1 - .../django/core/files/uploadhandler.py | 5 +- .../django/core/handlers/base.py | 14 +- .../django/core/handlers/exception.py | 37 +- .../django/core/handlers/wsgi.py | 14 +- .../site-packages/django/core/mail/message.py | 45 +- .../django/core/management/__init__.py | 26 +- .../django/core/management/base.py | 111 +- .../django/core/management/color.py | 4 +- .../core/management/commands/__init__.py | 0 .../management/commands/compilemessages.py | 1 - .../management/commands/createcachetable.py | 2 +- .../core/management/commands/dumpdata.py | 2 +- .../core/management/commands/inspectdb.py | 47 +- .../core/management/commands/loaddata.py | 5 +- .../core/management/commands/makemessages.py | 15 +- .../management/commands/makemigrations.py | 26 +- .../core/management/commands/migrate.py | 7 +- .../core/management/commands/runserver.py | 3 - .../management/commands/squashmigrations.py | 2 +- .../django/core/management/commands/test.py | 3 - .../django/core/management/templates.py | 12 +- .../django/core/management/utils.py | 10 +- .../site-packages/django/core/paginator.py | 8 +- .../django/core/serializers/__init__.py | 6 +- .../django/core/serializers/base.py | 59 +- .../django/core/serializers/python.py | 49 +- .../django/core/serializers/xml_serializer.py | 2 +- .../django/core/servers/basehttp.py | 2 +- .../site-packages/django/core/signing.py | 9 +- .../site-packages/django/core/validators.py | 14 +- .../django/db/backends/base/base.py | 15 +- .../django/db/backends/base/creation.py | 4 +- .../django/db/backends/base/features.py | 51 +- .../django/db/backends/base/introspection.py | 41 +- .../django/db/backends/base/operations.py | 58 +- .../django/db/backends/base/schema.py | 41 +- .../django/db/backends/mysql/base.py | 107 +- .../django/db/backends/mysql/features.py | 26 +- .../django/db/backends/mysql/introspection.py | 56 +- .../django/db/backends/mysql/operations.py | 81 +- .../django/db/backends/mysql/schema.py | 12 +- .../django/db/backends/oracle/base.py | 41 +- .../django/db/backends/oracle/compiler.py | 62 - .../django/db/backends/oracle/creation.py | 150 +- .../django/db/backends/oracle/features.py | 1 - .../db/backends/oracle/introspection.py | 47 +- .../django/db/backends/oracle/operations.py | 50 +- .../django/db/backends/oracle/schema.py | 10 +- .../django/db/backends/oracle/utils.py | 1 + .../backends/postgresql}/__init__.py | 0 .../django/db/backends/postgresql/base.py | 279 + .../django/db/backends/postgresql/client.py | 71 + .../django/db/backends/postgresql/creation.py | 68 + .../django/db/backends/postgresql/features.py | 63 + .../db/backends/postgresql/introspection.py | 215 + .../db/backends/postgresql/operations.py | 275 + .../django/db/backends/postgresql/schema.py | 134 + .../django/db/backends/postgresql/utils.py | 7 + .../backends/postgresql_psycopg2/__init__.py | 9 + .../db/backends/postgresql_psycopg2/base.py | 1 + .../db/backends/postgresql_psycopg2/client.py | 1 + .../backends/postgresql_psycopg2/creation.py | 1 + .../backends/postgresql_psycopg2/features.py | 1 + .../postgresql_psycopg2/introspection.py | 1 + .../postgresql_psycopg2/operations.py | 1 + .../db/backends/postgresql_psycopg2/schema.py | 1 + .../db/backends/postgresql_psycopg2/utils.py | 1 + .../django/db/backends/sqlite3/base.py | 116 +- .../django/db/backends/sqlite3/creation.py | 21 +- .../django/db/backends/sqlite3/features.py | 11 +- .../db/backends/sqlite3/introspection.py | 72 +- .../django/db/backends/sqlite3/operations.py | 36 +- .../django/db/backends/sqlite3/schema.py | 12 +- .../site-packages/django/db/backends/utils.py | 2 +- .../django/db/migrations/autodetector.py | 1260 ++ .../django/db/migrations/exceptions.py | 54 + .../django/db/migrations/executor.py | 369 + .../django/db/migrations/graph.py | 382 + .../django/db/migrations/loader.py | 319 + .../django/db/migrations/migration.py | 193 + .../django/db/migrations/operations/base.py | 141 + .../django/db/migrations/operations/fields.py | 369 + .../django/db/migrations/operations/models.py | 824 + .../db/migrations/operations/special.py | 203 + .../django/db/migrations/operations/utils.py | 9 + .../django/db/migrations/optimizer.py | 61 + .../django/db/migrations/questioner.py | 238 + .../django/db/migrations/recorder.py | 80 + .../django/db/migrations/serializer.py | 354 + .../django/db/migrations/state.py | 601 + .../django/db/migrations/topological_sort.py | 32 + .../django/db/migrations/utils.py | 17 + .../django/db/migrations/writer.py | 296 + .../django/db/models/__init__.py | 32 +- .../django/db/models/aggregates.py | 31 +- .../site-packages/django/db/models/base.py | 155 +- .../django/db/models/deletion.py | 25 +- .../django/db/models/expressions.py | 48 +- .../django/db/models/fields/__init__.py | 447 +- .../django/db/models/fields/files.py | 45 +- .../django/db/models/fields/related.py | 77 +- .../db/models/fields/related_descriptors.py | 64 +- .../django/db/models/functions/__init__.py | 27 +- .../django/db/models/functions/base.py | 207 - .../django/db/models/functions/comparison.py | 91 + .../django/db/models/functions/datetime.py | 23 +- .../django/db/models/functions/text.py | 237 + .../site-packages/django/db/models/indexes.py | 12 +- .../site-packages/django/db/models/lookups.py | 60 +- .../site-packages/django/db/models/manager.py | 10 +- .../site-packages/django/db/models/options.py | 27 +- .../site-packages/django/db/models/query.py | 110 +- .../django/db/models/query_utils.py | 3 +- .../django/db/models/sql/compiler.py | 118 +- .../django/db/models/sql/constants.py | 10 - .../django/db/models/sql/query.py | 123 +- .../django/db/models/sql/subqueries.py | 2 +- .../django/db/models/sql/where.py | 1 + .../site-packages/django/db/utils.py | 4 +- .../django/dispatch/dispatcher.py | 15 +- .../site-packages/django/forms/boundfield.py | 42 +- .../site-packages/django/forms/fields.py | 36 +- .../site-packages/django/forms/forms.py | 38 +- .../site-packages/django/forms/formsets.py | 5 +- .../forms/widgets/clearable_file_input.html | 6 +- .../jinja2/django/forms/widgets/input.html | 2 +- .../django/forms/widgets/input_option.html | 2 +- .../site-packages/django/forms/models.py | 38 +- .../site-packages/django/forms/renderers.py | 6 +- .../forms/widgets/clearable_file_input.html | 6 +- .../templates/django/forms/widgets/input.html | 2 +- .../django/forms/widgets/input_option.html | 2 +- .../site-packages/django/forms/utils.py | 3 +- .../site-packages/django/forms/widgets.py | 74 +- .../site-packages/django/http/cookie.py | 18 +- .../django/http/multipartparser.py | 7 +- .../site-packages/django/http/request.py | 65 +- .../site-packages/django/http/response.py | 93 +- .../site-packages/django/middleware/cache.py | 4 + .../site-packages/django/middleware/common.py | 41 +- .../site-packages/django/middleware/csrf.py | 31 +- .../site-packages/django/middleware/http.py | 3 +- .../site-packages/django/middleware/locale.py | 3 +- .../django/middleware/security.py | 8 +- .../site-packages/django/shortcuts.py | 15 +- .../django/template/backends/base.py | 2 +- .../django/template/backends/utils.py | 2 +- .../site-packages/django/template/base.py | 74 +- .../site-packages/django/template/context.py | 14 +- .../django/template/defaultfilters.py | 61 +- .../django/template/defaulttags.py | 94 +- .../django/template/loader_tags.py | 66 +- .../django/template/loaders/cached.py | 3 +- .../site-packages/django/template/utils.py | 26 +- .../site-packages/django/templatetags/i18n.py | 69 +- .../site-packages/django/templatetags/l10n.py | 2 +- .../site-packages/django/test/client.py | 81 +- .../site-packages/django/test/html.py | 19 +- .../site-packages/django/test/runner.py | 25 +- .../site-packages/django/test/testcases.py | 83 +- .../site-packages/django/test/utils.py | 31 +- .../site-packages/django/urls/converters.py | 5 +- .../site-packages/django/urls/resolvers.py | 32 +- .../site-packages/django/utils/autoreload.py | 12 +- .../site-packages/django/utils/cache.py | 58 +- .../site-packages/django/utils/crypto.py | 3 +- .../django/utils/datastructures.py | 10 +- .../site-packages/django/utils/dateparse.py | 14 +- .../site-packages/django/utils/dates.py | 8 - .../django/utils/datetime_safe.py | 10 +- .../site-packages/django/utils/decorators.py | 118 +- .../site-packages/django/utils/deprecation.py | 8 +- .../site-packages/django/utils/duration.py | 4 + .../django/utils/feedgenerator.py | 51 +- .../site-packages/django/utils/formats.py | 3 +- .../site-packages/django/utils/functional.py | 12 +- .../site-packages/django/utils/html.py | 69 +- .../site-packages/django/utils/html_parser.py | 17 - .../site-packages/django/utils/http.py | 31 +- .../site-packages/django/utils/log.py | 43 +- .../django/utils/numberformat.py | 7 +- .../django/utils/regex_helper.py | 13 +- .../site-packages/django/utils/synch.py | 90 - .../site-packages/django/utils/text.py | 2 +- .../site-packages/django/utils/timesince.py | 40 +- .../site-packages/django/utils/timezone.py | 9 +- .../django/utils/translation/__init__.py | 46 +- .../django/utils/translation/template.py | 21 +- .../django/utils/translation/trans_null.py | 15 +- .../django/utils/translation/trans_real.py | 83 +- .../site-packages/django/utils/tree.py | 12 +- .../site-packages/django/utils/version.py | 10 + .../site-packages/django/views/debug.py | 6 +- .../django/views/decorators/http.py | 16 +- .../django/views/generic/base.py | 3 +- .../django/views/generic/dates.py | 4 +- .../django/views/generic/detail.py | 9 +- .../django/views/generic/edit.py | 2 +- .../django/views/generic/list.py | 10 +- .../site-packages/django/views/i18n.py | 24 +- .../site-packages/django/views/static.py | 34 +- .../DESCRIPTION.rst | 3 + .../INSTALLER | 0 .../METADATA | 28 + .../django_classy_tags-0.8.0.dist-info/RECORD | 39 + .../WHEEL | 12 +- .../metadata.json | 1 + .../top_level.txt | 1 + .../DESCRIPTION.rst | 45 + .../INSTALLER} | 0 .../LICENSE.txt | 27 + .../django_taggit-0.23.0.dist-info/METADATA | 74 + .../django_taggit-0.23.0.dist-info/RECORD | 59 + .../django_taggit-0.23.0.dist-info/WHEEL | 6 + .../metadata.json | 1 + .../top_level.txt | 1 + .../DESCRIPTION.rst | 241 + .../INSTALLER | 1 + .../LICENSE.txt | 28 + .../METADATA | 265 + .../RECORD | 37 + .../WHEEL | 6 + .../metadata.json | 1 + .../top_level.txt | 1 + .../site-packages/pip-10.0.1.dist-info/RECORD | 580 - .../pip-18.0.dist-info/INSTALLER | 1 + .../LICENSE.txt | 40 +- .../METADATA | 27 +- .../site-packages/pip-18.0.dist-info/RECORD | 582 + .../site-packages/pip-18.0.dist-info/WHEEL | 6 + .../entry_points.txt | 2 +- .../pip-18.0.dist-info/top_level.txt | 1 + .../python3.6/site-packages/pip/__init__.py | 2 +- .../python3.6/site-packages/pip/__main__.py | 38 +- .../site-packages/pip/_internal/__init__.py | 556 +- .../pip/_internal/basecommand.py | 647 +- .../site-packages/pip/_internal/baseparser.py | 480 +- .../site-packages/pip/_internal/build_env.py | 218 +- .../site-packages/pip/_internal/cache.py | 404 +- .../site-packages/pip/_internal/cmdoptions.py | 1228 +- .../pip/_internal/commands/__init__.py | 158 +- .../pip/_internal/commands/check.py | 83 +- .../pip/_internal/commands/completion.py | 188 +- .../pip/_internal/commands/configuration.py | 454 +- .../pip/_internal/commands/download.py | 469 +- .../pip/_internal/commands/freeze.py | 192 +- .../pip/_internal/commands/hash.py | 114 +- .../pip/_internal/commands/help.py | 72 +- .../pip/_internal/commands/install.py | 1018 +- .../pip/_internal/commands/list.py | 647 +- .../pip/_internal/commands/search.py | 270 +- .../pip/_internal/commands/show.py | 332 +- .../pip/_internal/commands/uninstall.py | 148 +- .../pip/_internal/commands/wheel.py | 362 +- .../site-packages/pip/_internal/compat.py | 470 +- .../pip/_internal/configuration.py | 758 +- .../site-packages/pip/_internal/download.py | 1843 +- .../site-packages/pip/_internal/exceptions.py | 498 +- .../site-packages/pip/_internal/index.py | 2244 +-- .../site-packages/pip/_internal/locations.py | 388 +- .../pip/_internal/models/__init__.py | 6 +- .../pip/_internal/models/index.py | 30 +- .../pip/_internal/operations/check.py | 254 +- .../pip/_internal/operations/freeze.py | 505 +- .../pip/_internal/operations/prepare.py | 735 +- .../site-packages/pip/_internal/pep425tags.py | 634 +- .../pip/_internal/req/__init__.py | 138 +- .../pip/_internal/req/req_file.py | 676 +- .../pip/_internal/req/req_install.py | 2257 +-- .../pip/_internal/req/req_set.py | 325 +- .../pip/_internal/req/req_tracker.py | 76 + .../pip/_internal/req/req_uninstall.py | 912 +- .../site-packages/pip/_internal/resolve.py | 707 +- .../pip/_internal/status_codes.py | 16 +- .../pip/_internal/utils/appdirs.py | 516 +- .../pip/_internal/utils/deprecation.py | 166 +- .../pip/_internal/utils/encoding.py | 66 +- .../pip/_internal/utils/filesystem.py | 56 +- .../pip/_internal/utils/glibc.py | 168 +- .../pip/_internal/utils/hashes.py | 188 +- .../pip/_internal/utils/logging.py | 357 +- .../site-packages/pip/_internal/utils/misc.py | 1750 +- .../pip/_internal/utils/outdated.py | 308 +- .../pip/_internal/utils/packaging.py | 140 +- .../pip/_internal/utils/setuptools_build.py | 16 +- .../pip/_internal/utils/temp_dir.py | 164 +- .../pip/_internal/utils/typing.py | 58 +- .../site-packages/pip/_internal/utils/ui.py | 842 +- .../pip/_internal/vcs/__init__.py | 974 +- .../site-packages/pip/_internal/vcs/bazaar.py | 223 +- .../site-packages/pip/_internal/vcs/git.py | 620 +- .../pip/_internal/vcs/mercurial.py | 207 +- .../pip/_internal/vcs/subversion.py | 525 +- .../site-packages/pip/_internal/wheel.py | 1644 +- .../site-packages/pip/_vendor/__init__.py | 219 +- .../site-packages/pip/_vendor/appdirs.py | 1208 +- .../pip/_vendor/cachecontrol/__init__.py | 22 +- .../pip/_vendor/cachecontrol/_cmd.py | 117 +- .../pip/_vendor/cachecontrol/adapter.py | 267 +- .../pip/_vendor/cachecontrol/cache.py | 78 +- .../_vendor/cachecontrol/caches/__init__.py | 4 +- .../_vendor/cachecontrol/caches/file_cache.py | 279 +- .../cachecontrol/caches/redis_cache.py | 76 +- .../pip/_vendor/cachecontrol/compat.py | 58 +- .../pip/_vendor/cachecontrol/controller.py | 740 +- .../pip/_vendor/cachecontrol/filewrapper.py | 158 +- .../pip/_vendor/cachecontrol/heuristics.py | 273 +- .../pip/_vendor/cachecontrol/serialize.py | 380 +- .../pip/_vendor/cachecontrol/wrapper.py | 56 +- .../pip/_vendor/certifi/__init__.py | 6 +- .../pip/_vendor/certifi/__main__.py | 4 +- .../pip/_vendor/certifi/cacert.pem | 33 - .../site-packages/pip/_vendor/certifi/core.py | 74 +- .../pip/_vendor/chardet/__init__.py | 78 +- .../pip/_vendor/chardet/big5freq.py | 772 +- .../pip/_vendor/chardet/big5prober.py | 94 +- .../pip/_vendor/chardet/chardistribution.py | 466 +- .../pip/_vendor/chardet/charsetgroupprober.py | 212 +- .../pip/_vendor/chardet/charsetprober.py | 290 +- .../pip/_vendor/chardet/cli/__init__.py | 2 +- .../pip/_vendor/chardet/cli/chardetect.py | 170 +- .../pip/_vendor/chardet/codingstatemachine.py | 176 +- .../pip/_vendor/chardet/compat.py | 68 +- .../pip/_vendor/chardet/cp949prober.py | 98 +- .../pip/_vendor/chardet/enums.py | 152 +- .../pip/_vendor/chardet/escprober.py | 202 +- .../pip/_vendor/chardet/escsm.py | 492 +- .../pip/_vendor/chardet/eucjpprober.py | 184 +- .../pip/_vendor/chardet/euckrfreq.py | 390 +- .../pip/_vendor/chardet/euckrprober.py | 94 +- .../pip/_vendor/chardet/euctwfreq.py | 774 +- .../pip/_vendor/chardet/euctwprober.py | 92 +- .../pip/_vendor/chardet/gb2312freq.py | 566 +- .../pip/_vendor/chardet/gb2312prober.py | 92 +- .../pip/_vendor/chardet/hebrewprober.py | 584 +- .../pip/_vendor/chardet/jisfreq.py | 650 +- .../pip/_vendor/chardet/jpcntx.py | 466 +- .../pip/_vendor/chardet/langbulgarianmodel.py | 456 +- .../pip/_vendor/chardet/langcyrillicmodel.py | 666 +- .../pip/_vendor/chardet/langgreekmodel.py | 450 +- .../pip/_vendor/chardet/langhebrewmodel.py | 400 +- .../pip/_vendor/chardet/langhungarianmodel.py | 450 +- .../pip/_vendor/chardet/langthaimodel.py | 398 +- .../pip/_vendor/chardet/langturkishmodel.py | 386 +- .../pip/_vendor/chardet/latin1prober.py | 290 +- .../pip/_vendor/chardet/mbcharsetprober.py | 182 +- .../pip/_vendor/chardet/mbcsgroupprober.py | 108 +- .../pip/_vendor/chardet/mbcssm.py | 1144 +- .../pip/_vendor/chardet/sbcharsetprober.py | 264 +- .../pip/_vendor/chardet/sbcsgroupprober.py | 146 +- .../pip/_vendor/chardet/sjisprober.py | 184 +- .../pip/_vendor/chardet/universaldetector.py | 572 +- .../pip/_vendor/chardet/utf8prober.py | 164 +- .../pip/_vendor/chardet/version.py | 18 +- .../pip/_vendor/colorama/__init__.py | 14 +- .../pip/_vendor/colorama/ansi.py | 204 +- .../pip/_vendor/colorama/ansitowin32.py | 472 +- .../pip/_vendor/colorama/initialise.py | 164 +- .../pip/_vendor/colorama/win32.py | 312 +- .../pip/_vendor/colorama/winterm.py | 324 +- .../pip/_vendor/distlib/__init__.py | 46 +- .../pip/_vendor/distlib/_backport/__init__.py | 12 +- .../pip/_vendor/distlib/_backport/misc.py | 82 +- .../pip/_vendor/distlib/_backport/shutil.py | 1522 +- .../_vendor/distlib/_backport/sysconfig.cfg | 168 +- .../_vendor/distlib/_backport/sysconfig.py | 1576 +- .../pip/_vendor/distlib/_backport/tarfile.py | 5214 ++--- .../pip/_vendor/distlib/compat.py | 2240 +-- .../pip/_vendor/distlib/database.py | 2672 +-- .../pip/_vendor/distlib/index.py | 1032 +- .../pip/_vendor/distlib/locators.py | 2584 +-- .../pip/_vendor/distlib/manifest.py | 786 +- .../pip/_vendor/distlib/markers.py | 262 +- .../pip/_vendor/distlib/metadata.py | 2182 +-- .../pip/_vendor/distlib/resources.py | 710 +- .../pip/_vendor/distlib/scripts.py | 830 +- .../site-packages/pip/_vendor/distlib/t32.exe | Bin .../site-packages/pip/_vendor/distlib/t64.exe | Bin .../site-packages/pip/_vendor/distlib/util.py | 3510 ++-- .../pip/_vendor/distlib/version.py | 1472 +- .../site-packages/pip/_vendor/distlib/w32.exe | Bin .../site-packages/pip/_vendor/distlib/w64.exe | Bin .../pip/_vendor/distlib/wheel.py | 1968 +- .../site-packages/pip/_vendor/distro.py | 2301 +-- .../pip/_vendor/html5lib/__init__.py | 70 +- .../pip/_vendor/html5lib/_ihatexml.py | 576 +- .../pip/_vendor/html5lib/_inputstream.py | 1846 +- .../pip/_vendor/html5lib/_tokenizer.py | 3442 ++-- .../pip/_vendor/html5lib/_trie/__init__.py | 28 +- .../pip/_vendor/html5lib/_trie/_base.py | 74 +- .../pip/_vendor/html5lib/_trie/datrie.py | 88 +- .../pip/_vendor/html5lib/_trie/py.py | 134 +- .../pip/_vendor/html5lib/_utils.py | 248 +- .../pip/_vendor/html5lib/constants.py | 5894 +++--- .../filters/alphabeticalattributes.py | 58 +- .../pip/_vendor/html5lib/filters/base.py | 24 +- .../html5lib/filters/inject_meta_charset.py | 146 +- .../pip/_vendor/html5lib/filters/lint.py | 186 +- .../_vendor/html5lib/filters/optionaltags.py | 414 +- .../pip/_vendor/html5lib/filters/sanitizer.py | 1792 +- .../_vendor/html5lib/filters/whitespace.py | 76 +- .../pip/_vendor/html5lib/html5parser.py | 5582 +++--- .../pip/_vendor/html5lib/serializer.py | 818 +- .../_vendor/html5lib/treeadapters/__init__.py | 60 +- .../_vendor/html5lib/treeadapters/genshi.py | 108 +- .../pip/_vendor/html5lib/treeadapters/sax.py | 100 +- .../_vendor/html5lib/treebuilders/__init__.py | 176 +- .../pip/_vendor/html5lib/treebuilders/base.py | 834 +- .../pip/_vendor/html5lib/treebuilders/dom.py | 472 +- .../_vendor/html5lib/treebuilders/etree.py | 680 +- .../html5lib/treebuilders/etree_lxml.py | 732 +- .../_vendor/html5lib/treewalkers/__init__.py | 308 +- .../pip/_vendor/html5lib/treewalkers/base.py | 504 +- .../pip/_vendor/html5lib/treewalkers/dom.py | 86 +- .../pip/_vendor/html5lib/treewalkers/etree.py | 260 +- .../html5lib/treewalkers/etree_lxml.py | 426 +- .../_vendor/html5lib/treewalkers/genshi.py | 138 +- .../pip/_vendor/idna/__init__.py | 4 +- .../site-packages/pip/_vendor/idna/codec.py | 236 +- .../site-packages/pip/_vendor/idna/compat.py | 24 +- .../site-packages/pip/_vendor/idna/core.py | 786 +- .../pip/_vendor/idna/idnadata.py | 3478 ++-- .../pip/_vendor/idna/intranges.py | 106 +- .../pip/_vendor/idna/package_data.py | 4 +- .../pip/_vendor/idna/uts46data.py | 15813 ++++++++-------- .../site-packages/pip/_vendor/ipaddress.py | 4838 ++--- .../pip/_vendor/lockfile/__init__.py | 694 +- .../pip/_vendor/lockfile/linklockfile.py | 146 +- .../pip/_vendor/lockfile/mkdirlockfile.py | 168 +- .../pip/_vendor/lockfile/pidlockfile.py | 380 +- .../pip/_vendor/lockfile/sqlitelockfile.py | 312 +- .../pip/_vendor/lockfile/symlinklockfile.py | 140 +- .../pip/_vendor/msgpack/__init__.py | 132 +- .../pip/_vendor/msgpack/_version.py | 2 +- .../pip/_vendor/msgpack/exceptions.py | 82 +- .../pip/_vendor/msgpack/fallback.py | 1954 +- .../pip/_vendor/packaging/__about__.py | 42 +- .../pip/_vendor/packaging/__init__.py | 28 +- .../pip/_vendor/packaging/_compat.py | 60 +- .../pip/_vendor/packaging/_structures.py | 140 +- .../pip/_vendor/packaging/markers.py | 602 +- .../pip/_vendor/packaging/requirements.py | 260 +- .../pip/_vendor/packaging/specifiers.py | 1548 +- .../pip/_vendor/packaging/utils.py | 126 +- .../pip/_vendor/packaging/version.py | 882 +- .../pip/_vendor/pkg_resources/__init__.py | 6257 +++--- .../pip/_vendor/pkg_resources/py31compat.py | 44 +- .../pip/_vendor/progress/__init__.py | 254 +- .../site-packages/pip/_vendor/progress/bar.py | 182 +- .../pip/_vendor/progress/counter.py | 96 +- .../pip/_vendor/progress/helpers.py | 182 +- .../pip/_vendor/progress/spinner.py | 88 +- .../site-packages/pip/_vendor/pyparsing.py | 11440 +++++------ .../pip/_vendor/pytoml/__init__.py | 6 +- .../site-packages/pip/_vendor/pytoml/core.py | 26 +- .../pip/_vendor/pytoml/parser.py | 748 +- .../pip/_vendor/pytoml/writer.py | 254 +- .../pip/_vendor/requests/__init__.py | 261 +- .../pip/_vendor/requests/__version__.py | 28 +- .../pip/_vendor/requests/_internal_utils.py | 84 +- .../pip/_vendor/requests/adapters.py | 1055 +- .../site-packages/pip/_vendor/requests/api.py | 304 +- .../pip/_vendor/requests/auth.py | 598 +- .../pip/_vendor/requests/certs.py | 36 +- .../pip/_vendor/requests/compat.py | 148 +- .../pip/_vendor/requests/cookies.py | 1088 +- .../pip/_vendor/requests/exceptions.py | 248 +- .../pip/_vendor/requests/help.py | 240 +- .../pip/_vendor/requests/hooks.py | 68 +- .../pip/_vendor/requests/models.py | 1900 +- .../pip/_vendor/requests/packages.py | 32 +- .../pip/_vendor/requests/sessions.py | 1478 +- .../pip/_vendor/requests/status_codes.py | 211 +- .../pip/_vendor/requests/structures.py | 208 +- .../pip/_vendor/requests/utils.py | 1880 +- .../site-packages/pip/_vendor/retrying.py | 534 +- .../site-packages/pip/_vendor/six.py | 1782 +- .../pip/_vendor/urllib3/__init__.py | 194 +- .../pip/_vendor/urllib3/_collections.py | 651 +- .../pip/_vendor/urllib3/connection.py | 776 +- .../pip/_vendor/urllib3/connectionpool.py | 1811 +- .../contrib/_securetransport/bindings.py | 1186 +- .../contrib/_securetransport/low_level.py | 689 +- .../pip/_vendor/urllib3/contrib/appengine.py | 601 +- .../pip/_vendor/urllib3/contrib/ntlmpool.py | 224 +- .../pip/_vendor/urllib3/contrib/pyopenssl.py | 912 +- .../urllib3/contrib/securetransport.py | 1614 +- .../pip/_vendor/urllib3/contrib/socks.py | 380 +- .../pip/_vendor/urllib3/exceptions.py | 492 +- .../pip/_vendor/urllib3/fields.py | 356 +- .../pip/_vendor/urllib3/filepost.py | 192 +- .../pip/_vendor/urllib3/packages/__init__.py | 10 +- .../urllib3/packages/backports/makefile.py | 106 +- .../_vendor/urllib3/packages/ordered_dict.py | 518 +- .../pip/_vendor/urllib3/packages/six.py | 1736 +- .../packages/ssl_match_hostname/__init__.py | 38 +- .../ssl_match_hostname/_implementation.py | 314 +- .../pip/_vendor/urllib3/poolmanager.py | 889 +- .../pip/_vendor/urllib3/request.py | 298 +- .../pip/_vendor/urllib3/response.py | 1302 +- .../pip/_vendor/urllib3/util/__init__.py | 108 +- .../pip/_vendor/urllib3/util/connection.py | 256 +- .../pip/_vendor/urllib3/util/queue.py | 21 + .../pip/_vendor/urllib3/util/request.py | 236 +- .../pip/_vendor/urllib3/util/response.py | 162 +- .../pip/_vendor/urllib3/util/retry.py | 812 +- .../pip/_vendor/urllib3/util/selectors.py | 581 - .../pip/_vendor/urllib3/util/ssl_.py | 737 +- .../pip/_vendor/urllib3/util/timeout.py | 484 +- .../pip/_vendor/urllib3/util/url.py | 460 +- .../pip/_vendor/urllib3/util/wait.py | 193 +- .../pip/_vendor/webencodings/__init__.py | 684 +- .../pip/_vendor/webencodings/labels.py | 462 +- .../pip/_vendor/webencodings/mklabels.py | 118 +- .../pip/_vendor/webencodings/tests.py | 306 +- .../_vendor/webencodings/x_user_defined.py | 650 +- .../site-packages/taggit/__init__.py | 3 + .../python3.6/site-packages/taggit/admin.py | 20 + .../python3.6/site-packages/taggit/apps.py | 7 + .../python3.6/site-packages/taggit/forms.py | 28 + .../taggit/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 1061 bytes .../taggit/locale/cs/LC_MESSAGES/django.po | 64 + .../taggit/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 1331 bytes .../taggit/locale/de/LC_MESSAGES/django.po | 67 + .../taggit/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 1294 bytes .../taggit/locale/el/LC_MESSAGES/django.po | 62 + .../taggit/locale/en/LC_MESSAGES/django.po | 68 + .../taggit/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 1322 bytes .../taggit/locale/eo/LC_MESSAGES/django.po | 67 + .../taggit/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 1078 bytes .../taggit/locale/es/LC_MESSAGES/django.po | 64 + .../taggit/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 847 bytes .../taggit/locale/he/LC_MESSAGES/django.po | 68 + .../taggit/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 1195 bytes .../taggit/locale/it/LC_MESSAGES/django.po | 70 + .../taggit/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 1437 bytes .../taggit/locale/ja/LC_MESSAGES/django.po | 67 + .../taggit/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 1278 bytes .../taggit/locale/nb/LC_MESSAGES/django.po | 72 + .../taggit/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 1217 bytes .../taggit/locale/nl/LC_MESSAGES/django.po | 63 + .../taggit/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 1064 bytes .../taggit/locale/pt_BR/LC_MESSAGES/django.po | 62 + .../taggit/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 1555 bytes .../taggit/locale/ru/LC_MESSAGES/django.po | 72 + .../taggit/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 1070 bytes .../taggit/locale/tr/LC_MESSAGES/django.po | 64 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 856 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 68 + .../site-packages/taggit/managers.py | 647 + .../taggit/migrations/0001_initial.py | 45 + .../migrations}/__init__.py | 0 .../python3.6/site-packages/taggit/models.py | 208 + .../python3.6/site-packages/taggit/utils.py | 147 + .../python3.6/site-packages/taggit/views.py | 51 + .../taggit_templatetags2/__init__.py | 20 + .../taggit_templatetags2/compat.py | 8 + .../taggit_templatetags2/models.py | 1 + .../taggit_templatetags2/settings.py | 25 + .../js/excanvas.compiled.js | 35 + .../taggit_templatetags2/js/excanvas.js | 924 + .../js/excanvas_license.txt | 202 + .../taggit_templatetags2/js/tagcanvas.js | 2163 +++ .../taggit_templatetags2/js/tagcanvas.min.js | 21 + .../taggit_templatetags2/tagcanvas_base.html | 12 + .../tagcanvas_include.html | 38 + .../tagcanvas_include_js.html | 14 + .../tagcanvas_include_js_static.html | 6 + .../taggit_templatetags2/tagcanvas_list.html | 15 + .../tagcanvas_list_item.html | 1 + .../tagcloud_include.html | 13 + .../taggit_templatetags2/taglist_include.html | 13 + .../templatetags}/__init__.py | 0 .../templatetags/taggit_templatetags2_tags.py | 224 + .../taggit_templatetags2/urls.py | 8 + .../taggit_templatetags2/views.py | 31 + thesisenv/pip-selfcheck.json | 2 +- 1212 files changed, 141299 insertions(+), 106234 deletions(-) create mode 100644 application/migrations/0002_auto_20180818_1734.py create mode 100644 application/static/bootstrap/js/jquery.tagcanvas.min.js delete mode 100644 thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/DESCRIPTION.rst delete mode 100644 thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/metadata.json rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/INSTALLER (100%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/LICENSE.txt (100%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/METADATA (93%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/RECORD (82%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/WHEEL (65%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/entry_points.txt (100%) rename thesisenv/lib/python3.6/site-packages/{Django-2.0.6.dist-info => Django-2.1.dist-info}/top_level.txt (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/arguments.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/blocks.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/compat.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/core.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/exceptions.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/helpers.py rename thesisenv/lib/python3.6/site-packages/{django/contrib/auth/management/commands/__init__.py => classytags/models.py} (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/parser.py rename thesisenv/lib/python3.6/site-packages/{django/contrib/contenttypes/management/commands => classytags/test}/__init__.py (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/test/context_managers.py rename thesisenv/lib/python3.6/site-packages/{django/contrib/gis/management => classytags/test/project}/__init__.py (100%) rename thesisenv/lib/python3.6/site-packages/{django/contrib/gis/management/commands/__init__.py => classytags/test/project/models.py} (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/tests.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/classytags/values.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg rename thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/{LICENSE-JQUERY.txt => LICENSE.txt} (100%) rename thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/select2/{LICENSE-SELECT2.md => LICENSE.md} (100%) rename thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/{LICENSE-XREGEXP.txt => LICENSE.txt} (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/admin/templatetags/base.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0002_alter_permission_name_max_length.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0003_alter_user_email_max_length.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0004_alter_user_username_opts.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0005_alter_user_last_login_null.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0006_require_contenttypes_0002.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0008_alter_user_username_max_length.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/contenttypes/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/contenttypes/migrations/0002_remove_content_type_name.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/flatpages/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/aggregates/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/aggregates/general.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/aggregates/statistics.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/apps.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/array.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/citext.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/hstore.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/jsonb.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/mixins.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/ranges.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/fields/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/forms/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/forms/array.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/forms/hstore.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/forms/jsonb.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/forms/ranges.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/functions.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/indexes.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/jinja2/postgres/widgets/split_array.html create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ar/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/be/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/be/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/bg/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ca/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/cs/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/da/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/da/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/de/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/de/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/el/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/el/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/en/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/en/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/eo/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/et/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/et/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/eu/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fa/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fi/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/fr/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/gd/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/gl/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/he/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/he/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hr/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/hu/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ia/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/id/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/id/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/is/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/is/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/it/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/it/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ja/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ka/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/kk/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ko/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/lt/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/lv/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/mk/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/mn/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/nb/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ne/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/nl/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pl/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pt/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ro/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/ru/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sk/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sl/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sq/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sr/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sr/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/sv/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/tr/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/uk/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/lookups.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/operations.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/search.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/signals.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/templates/postgres/widgets/split_array.html create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/postgres/validators.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/redirects/locale/uz/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/redirects/locale/uz/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/redirects/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sessions/locale/uz/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sessions/locale/uz/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sessions/migrations/0001_initial.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sitemaps/management/commands/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sites/locale/uz/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sites/locale/uz/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sites/migrations/0001_initial.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/sites/migrations/0002_alter_domain_unique.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/staticfiles/management/__init__.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/__init__.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/core/management/commands/__init__.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/oracle/compiler.py rename thesisenv/lib/python3.6/site-packages/django/{contrib/sessions/management => db/backends/postgresql}/__init__.py (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/base.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/client.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/creation.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/features.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/introspection.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/operations.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/schema.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/base.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/client.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/creation.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/features.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/introspection.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/operations.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/schema.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/backends/postgresql_psycopg2/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/autodetector.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/exceptions.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/executor.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/graph.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/loader.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/migration.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/operations/base.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/operations/fields.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/operations/models.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/operations/special.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/operations/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/optimizer.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/questioner.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/recorder.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/serializer.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/state.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/topological_sort.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/migrations/writer.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/db/models/functions/base.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/models/functions/comparison.py create mode 100644 thesisenv/lib/python3.6/site-packages/django/db/models/functions/text.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/utils/html_parser.py delete mode 100644 thesisenv/lib/python3.6/site-packages/django/utils/synch.py create mode 100644 thesisenv/lib/python3.6/site-packages/django_classy_tags-0.8.0.dist-info/DESCRIPTION.rst rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info => django_classy_tags-0.8.0.dist-info}/INSTALLER (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/django_classy_tags-0.8.0.dist-info/METADATA create mode 100644 thesisenv/lib/python3.6/site-packages/django_classy_tags-0.8.0.dist-info/RECORD rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info => django_classy_tags-0.8.0.dist-info}/WHEEL (67%) create mode 100644 thesisenv/lib/python3.6/site-packages/django_classy_tags-0.8.0.dist-info/metadata.json create mode 100644 thesisenv/lib/python3.6/site-packages/django_classy_tags-0.8.0.dist-info/top_level.txt create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/DESCRIPTION.rst rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info/top_level.txt => django_taggit-0.23.0.dist-info/INSTALLER} (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/LICENSE.txt create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/METADATA create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/RECORD create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/WHEEL create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/metadata.json create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit-0.23.0.dist-info/top_level.txt create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/DESCRIPTION.rst create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/INSTALLER create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/LICENSE.txt create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/METADATA create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/RECORD create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/WHEEL create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/metadata.json create mode 100644 thesisenv/lib/python3.6/site-packages/django_taggit_templatetags2-1.6.1.dist-info/top_level.txt delete mode 100644 thesisenv/lib/python3.6/site-packages/pip-10.0.1.dist-info/RECORD create mode 100644 thesisenv/lib/python3.6/site-packages/pip-18.0.dist-info/INSTALLER rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info => pip-18.0.dist-info}/LICENSE.txt (92%) rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info => pip-18.0.dist-info}/METADATA (70%) create mode 100644 thesisenv/lib/python3.6/site-packages/pip-18.0.dist-info/RECORD create mode 100644 thesisenv/lib/python3.6/site-packages/pip-18.0.dist-info/WHEEL rename thesisenv/lib/python3.6/site-packages/{pip-10.0.1.dist-info => pip-18.0.dist-info}/entry_points.txt (71%) create mode 100644 thesisenv/lib/python3.6/site-packages/pip-18.0.dist-info/top_level.txt create mode 100644 thesisenv/lib/python3.6/site-packages/pip/_internal/req/req_tracker.py mode change 100755 => 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/distlib/t32.exe mode change 100755 => 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/distlib/t64.exe mode change 100755 => 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/distlib/w32.exe mode change 100755 => 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/distlib/w64.exe create mode 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/urllib3/util/queue.py delete mode 100644 thesisenv/lib/python3.6/site-packages/pip/_vendor/urllib3/util/selectors.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/admin.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/apps.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/forms.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/cs/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/cs/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/de/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/de/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/el/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/el/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/en/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/eo/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/eo/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/es/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/es/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/he/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/he/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/it/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/it/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/ja/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/ja/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/nb/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/nb/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/nl/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/nl/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/ru/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/ru/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/tr/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/tr/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/managers.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/migrations/0001_initial.py rename thesisenv/lib/python3.6/site-packages/{django/contrib/sessions/management/commands => taggit/migrations}/__init__.py (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/models.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/utils.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit/views.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/__init__.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/compat.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/models.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/settings.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/static/taggit_templatetags2/js/excanvas.compiled.js create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/static/taggit_templatetags2/js/excanvas.js create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/static/taggit_templatetags2/js/excanvas_license.txt create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/static/taggit_templatetags2/js/tagcanvas.js create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/static/taggit_templatetags2/js/tagcanvas.min.js create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_base.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_include.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_include_js.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_include_js_static.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_list.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcanvas_list_item.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/tagcloud_include.html create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templates/taggit_templatetags2/taglist_include.html rename thesisenv/lib/python3.6/site-packages/{django/contrib/sitemaps/management => taggit_templatetags2/templatetags}/__init__.py (100%) create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/templatetags/taggit_templatetags2_tags.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/urls.py create mode 100644 thesisenv/lib/python3.6/site-packages/taggit_templatetags2/views.py diff --git a/application/migrations/0001_initial.py b/application/migrations/0001_initial.py index d47390b..4b94d50 100644 --- a/application/migrations/0001_initial.py +++ b/application/migrations/0001_initial.py @@ -1,10 +1,9 @@ -# Generated by Django 2.0.6 on 2018-08-15 16:15 +# Generated by Django 2.1 on 2018-08-18 15:34 from django.conf import settings from django.db import migrations, models import django.db.models.deletion import django.utils.timezone -import taggit.managers class Migration(migrations.Migration): @@ -13,7 +12,6 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('taggit', '0002_auto_20150616_2121'), ] operations = [ @@ -21,8 +19,6 @@ class Migration(migrations.Migration): name='CustomUser', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('mytags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( @@ -34,7 +30,6 @@ class Migration(migrations.Migration): ('created_date', models.DateTimeField(default=django.utils.timezone.now)), ('published_date', models.DateTimeField(blank=True, null=True)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), ], ), ] diff --git a/application/migrations/0002_auto_20180818_1734.py b/application/migrations/0002_auto_20180818_1734.py new file mode 100644 index 0000000..0e93e7b --- /dev/null +++ b/application/migrations/0002_auto_20180818_1734.py @@ -0,0 +1,35 @@ +# Generated by Django 2.1 on 2018-08-18 15:34 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import taggit.managers + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('taggit', '0001_initial'), + ('application', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddField( + model_name='post', + name='tags', + field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='customuser', + name='mytags', + field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='customuser', + name='user', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/application/static/bootstrap/js/jquery.tagcanvas.min.js b/application/static/bootstrap/js/jquery.tagcanvas.min.js new file mode 100644 index 0000000..0ed9f1d --- /dev/null +++ b/application/static/bootstrap/js/jquery.tagcanvas.min.js @@ -0,0 +1,2280 @@ +/** + * Copyright (C) 2010-2015 Graham Breach + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +/** + * jQuery.tagcanvas 2.9 + * For more information, please contact + */ +(function($){ + "use strict"; + var i, j, abs = Math.abs, sin = Math.sin, cos = Math.cos, max = Math.max, + min = Math.min, ceil = Math.ceil, sqrt = Math.sqrt, pow = Math.pow, + hexlookup3 = {}, hexlookup2 = {}, hexlookup1 = { + 0:"0,", 1:"17,", 2:"34,", 3:"51,", 4:"68,", 5:"85,", + 6:"102,", 7:"119,", 8:"136,", 9:"153,", a:"170,", A:"170,", + b:"187,", B:"187,", c:"204,", C:"204,", d:"221,", D:"221,", + e:"238,", E:"238,", f:"255,", F:"255," + }, Oproto, Tproto, TCproto, Mproto, Vproto, TSproto, TCVproto, + doc = document, ocanvas, handlers = {}; + for(i = 0; i < 256; ++i) { + j = i.toString(16); + if(i < 16) + j = '0' + j; + hexlookup2[j] = hexlookup2[j.toUpperCase()] = i.toString() + ','; + } + function Defined(d) { + return typeof d != 'undefined'; + } + function IsObject(o) { + return typeof o == 'object' && o != null; + } + function Clamp(v, mn, mx) { + return isNaN(v) ? mx : min(mx, max(mn, v)); + } + function Nop() { + return false; + } + function TimeNow() { + return new Date().valueOf(); + } + function SortList(l, f) { + var nl = [], tl = l.length, i; + for(i = 0; i < tl; ++i) + nl.push(l[i]); + nl.sort(f); + return nl; + } + function Shuffle(a) { + var i = a.length-1, t, p; + while(i) { + p = ~~(Math.random()*i); + t = a[i]; + a[i] = a[p]; + a[p] = t; + --i; + } + } + function Vector(x, y, z) { + this.x = x; + this.y = y; + this.z = z; + } + Vproto = Vector.prototype; + Vproto.length = function() { + return sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + }; + Vproto.dot = function(v) { + return this.x * v.x + this.y * v.y + this.z * v.z; + }; + Vproto.cross = function(v) { + var x = this.y * v.z - this.z * v.y, + y = this.z * v.x - this.x * v.z, + z = this.x * v.y - this.y * v.x; + return new Vector(x, y, z); + }; + Vproto.angle = function(v) { + var dot = this.dot(v), ac; + if(dot == 0) + return Math.PI / 2.0; + ac = dot / (this.length() * v.length()); + if(ac >= 1) + return 0; + if(ac <= -1) + return Math.PI; + return Math.acos(ac); + }; + Vproto.unit = function() { + var l = this.length(); + return new Vector(this.x / l, this.y / l, this.z / l); + }; + function MakeVector(lg, lt) { + lt = lt * Math.PI / 180; + lg = lg * Math.PI / 180; + var x = sin(lg) * cos(lt), y = -sin(lt), z = -cos(lg) * cos(lt); + return new Vector(x, y, z); + } + function Matrix(a) { + this[1] = {1: a[0], 2: a[1], 3: a[2]}; + this[2] = {1: a[3], 2: a[4], 3: a[5]}; + this[3] = {1: a[6], 2: a[7], 3: a[8]}; + } + Mproto = Matrix.prototype; + Matrix.Identity = function() { + return new Matrix([1,0,0, 0,1,0, 0,0,1]); + }; + Matrix.Rotation = function(angle, u) { + var sina = sin(angle), cosa = cos(angle), mcos = 1 - cosa; + return new Matrix([ + cosa + pow(u.x, 2) * mcos, u.x * u.y * mcos - u.z * sina, u.x * u.z * mcos + u.y * sina, + u.y * u.x * mcos + u.z * sina, cosa + pow(u.y, 2) * mcos, u.y * u.z * mcos - u.x * sina, + u.z * u.x * mcos - u.y * sina, u.z * u.y * mcos + u.x * sina, cosa + pow(u.z, 2) * mcos + ]); + } + Mproto.mul = function(m) { + var a = [], i, j, mmatrix = (m.xform ? 1 : 0); + for(i = 1; i <= 3; ++i) + for(j = 1; j <= 3; ++j) { + if(mmatrix) + a.push(this[i][1] * m[1][j] + + this[i][2] * m[2][j] + + this[i][3] * m[3][j]); + else + a.push(this[i][j] * m); + } + return new Matrix(a); + }; + Mproto.xform = function(p) { + var a = {}, x = p.x, y = p.y, z = p.z; + a.x = x * this[1][1] + y * this[2][1] + z * this[3][1]; + a.y = x * this[1][2] + y * this[2][2] + z * this[3][2]; + a.z = x * this[1][3] + y * this[2][3] + z * this[3][3]; + return a; + }; + function PointsOnSphere(n,xr,yr,zr,magic) { + var i, y, r, phi, pts = [], off = 2/n, inc; + inc = Math.PI * (3 - sqrt(5) + (parseFloat(magic) ? parseFloat(magic) : 0)); + for(i = 0; i < n; ++i) { + y = i * off - 1 + (off / 2); + r = sqrt(1 - y*y); + phi = i * inc; + pts.push([cos(phi) * r * xr, y * yr, sin(phi) * r * zr]); + } + return pts; + } + function Cylinder(n,o,xr,yr,zr,magic) { + var phi, pts = [], off = 2/n, inc, i, j, k, l; + inc = Math.PI * (3 - sqrt(5) + (parseFloat(magic) ? parseFloat(magic) : 0)); + for(i = 0; i < n; ++i) { + j = i * off - 1 + (off / 2); + phi = i * inc; + k = cos(phi); + l = sin(phi); + pts.push(o ? [j * xr, k * yr, l * zr] : [k * xr, j * yr, l * zr]); + } + return pts; + } + function Ring(o, n, xr, yr, zr, j) { + var phi, pts = [], inc = Math.PI * 2 / n, i, k, l; + for(i = 0; i < n; ++i) { + phi = i * inc; + k = cos(phi); + l = sin(phi); + pts.push(o ? [j * xr, k * yr, l * zr] : [k * xr, j * yr, l * zr]); + } + return pts; + } + function PointsOnCylinderV(n,xr,yr,zr,m) { return Cylinder(n, 0, xr, yr, zr, m) } + function PointsOnCylinderH(n,xr,yr,zr,m) { return Cylinder(n, 1, xr, yr, zr, m) } + function PointsOnRingV(n, xr, yr, zr, offset) { + offset = isNaN(offset) ? 0 : offset * 1; + return Ring(0, n, xr, yr, zr, offset); + } + function PointsOnRingH(n, xr, yr, zr, offset) { + offset = isNaN(offset) ? 0 : offset * 1; + return Ring(1, n, xr, yr, zr, offset); + } + function CentreImage(t) { + var i = new Image; + i.onload = function() { + var dx = i.width / 2, dy = i.height / 2; + t.centreFunc = function(c, w, h, cx, cy) { + c.setTransform(1, 0, 0, 1, 0, 0); + c.globalAlpha = 1; + c.drawImage(i, cx - dx, cy - dy); + }; + }; + i.src = t.centreImage; + } + function SetAlpha(c,a) { + var d = c, p1, p2, ae = (a*1).toPrecision(3) + ')'; + if(c[0] === '#') { + if(!hexlookup3[c]) + if(c.length === 4) + hexlookup3[c] = 'rgba(' + hexlookup1[c[1]] + hexlookup1[c[2]] + hexlookup1[c[3]]; + else + hexlookup3[c] = 'rgba(' + hexlookup2[c.substr(1,2)] + hexlookup2[c.substr(3,2)] + hexlookup2[c.substr(5,2)]; + d = hexlookup3[c] + ae; + } else if(c.substr(0,4) === 'rgb(' || c.substr(0,4) === 'hsl(') { + d = (c.replace('(','a(').replace(')', ',' + ae)); + } else if(c.substr(0,5) === 'rgba(' || c.substr(0,5) === 'hsla(') { + p1 = c.lastIndexOf(',') + 1, p2 = c.indexOf(')'); + a *= parseFloat(c.substring(p1,p2)); + d = c.substr(0,p1) + a.toPrecision(3) + ')'; + } + return d; + } + function NewCanvas(w,h) { + // if using excanvas, give up now + if(window.G_vmlCanvasManager) + return null; + var c = doc.createElement('canvas'); + c.width = w; + c.height = h; + return c; + } + // I think all browsers pass this test now... + function ShadowAlphaBroken() { + var cv = NewCanvas(3,3), c, i; + if(!cv) + return false; + c = cv.getContext('2d'); + c.strokeStyle = '#000'; + c.shadowColor = '#fff'; + c.shadowBlur = 3; + c.globalAlpha = 0; + c.strokeRect(2,2,2,2); + c.globalAlpha = 1; + i = c.getImageData(2,2,1,1); + cv = null; + return (i.data[0] > 0); + } + function SetGradient(c, l, o, g) { + var gd = c.createLinearGradient(0, 0, l, 0), i; + for(i in g) + gd.addColorStop(1 - i, g[i]); + c.fillStyle = gd; + c.fillRect(0, o, l, 1); + } + function FindGradientColour(tc, p, r) { + var l = 1024, h = 1, gl = tc.weightGradient, cv, c, i, d; + if(tc.gCanvas) { + c = tc.gCanvas.getContext('2d'); + h = tc.gCanvas.height; + } else { + if(IsObject(gl[0])) + h = gl.length; + else + gl = [gl]; + tc.gCanvas = cv = NewCanvas(l, h); + if(!cv) + return null; + c = cv.getContext('2d'); + for(i = 0; i < h; ++i) + SetGradient(c, l, i, gl[i]); + } + r = max(min(r || 0, h - 1), 0); + d = c.getImageData(~~((l - 1) * p), r, 1, 1).data; + return 'rgba(' + d[0] + ',' + d[1] + ',' + d[2] + ',' + (d[3]/255) + ')'; + } + function TextSet(ctxt, font, colour, strings, padx, pady, shadowColour, + shadowBlur, shadowOffsets, maxWidth, widths, align) { + var xo = padx + (shadowBlur || 0) + + (shadowOffsets.length && shadowOffsets[0] < 0 ? abs(shadowOffsets[0]) : 0), + yo = pady + (shadowBlur || 0) + + (shadowOffsets.length && shadowOffsets[1] < 0 ? abs(shadowOffsets[1]) : 0), i, xc; + ctxt.font = font; + ctxt.textBaseline = 'top'; + ctxt.fillStyle = colour; + shadowColour && (ctxt.shadowColor = shadowColour); + shadowBlur && (ctxt.shadowBlur = shadowBlur); + shadowOffsets.length && (ctxt.shadowOffsetX = shadowOffsets[0], + ctxt.shadowOffsetY = shadowOffsets[1]); + for(i = 0; i < strings.length; ++i) { + xc = 0; + if(widths) { + if('right' == align) { + xc = maxWidth - widths[i]; + } else if('centre' == align) { + xc = (maxWidth - widths[i]) / 2; + } + } + ctxt.fillText(strings[i], xo + xc, yo); + yo += parseInt(font); + } + } + function RRect(c, x, y, w, h, r, s) { + if(r) { + c.beginPath(); + c.moveTo(x, y + h - r); + c.arcTo(x, y, x + r, y, r); + c.arcTo(x + w, y, x + w, y + r, r); + c.arcTo(x + w, y + h, x + w - r, y + h, r); + c.arcTo(x, y + h, x, y + h - r, r); + c.closePath(); + c[s ? 'stroke' : 'fill'](); + } else { + c[s ? 'strokeRect' : 'fillRect'](x, y, w, h); + } + } + function TextCanvas(strings, font, w, h, maxWidth, stringWidths, align, valign, + scale) { + this.strings = strings; + this.font = font; + this.width = w; + this.height = h; + this.maxWidth = maxWidth; + this.stringWidths = stringWidths; + this.align = align; + this.valign = valign; + this.scale = scale; + } + TCVproto = TextCanvas.prototype; + TCVproto.SetImage = function(image, w, h, position, padding, align, valign, + scale) { + this.image = image; + this.iwidth = w * this.scale; + this.iheight = h * this.scale; + this.ipos = position; + this.ipad = padding * this.scale; + this.iscale = scale; + this.ialign = align; + this.ivalign = valign; + }; + TCVproto.Align = function(size, space, a) { + var pos = 0; + if(a == 'right' || a == 'bottom') + pos = space - size; + else if(a != 'left' && a != 'top') + pos = (space - size) / 2; + return pos; + }; + TCVproto.Create = function(colour, bgColour, bgOutline, bgOutlineThickness, + shadowColour, shadowBlur, shadowOffsets, padding, radius) { + var cv, cw, ch, c, x1, x2, y1, y2, offx, offy, ix, iy, iw, ih, rr, + sox = abs(shadowOffsets[0]), soy = abs(shadowOffsets[1]), shadowcv, shadowc; + padding = max(padding, sox + shadowBlur, soy + shadowBlur); + x1 = 2 * (padding + bgOutlineThickness); + y1 = 2 * (padding + bgOutlineThickness); + cw = this.width + x1; + ch = this.height + y1; + offx = offy = padding + bgOutlineThickness; + + if(this.image) { + ix = iy = padding + bgOutlineThickness; + iw = this.iwidth; + ih = this.iheight; + if(this.ipos == 'top' || this.ipos == 'bottom') { + if(iw < this.width) + ix += this.Align(iw, this.width, this.ialign); + else + offx += this.Align(this.width, iw, this.align); + if(this.ipos == 'top') + offy += ih + this.ipad; + else + iy += this.height + this.ipad; + cw = max(cw, iw + x1); + ch += ih + this.ipad; + } else { + if(ih < this.height) + iy += this.Align(ih, this.height, this.ivalign); + else + offy += this.Align(this.height, ih, this.valign); + if(this.ipos == 'right') + ix += this.width + this.ipad; + else + offx += iw + this.ipad; + cw += iw + this.ipad; + ch = max(ch, ih + y1); + } + } + + cv = NewCanvas(cw, ch); + if(!cv) + return null; + x1 = y1 = bgOutlineThickness / 2; + x2 = cw - bgOutlineThickness; + y2 = ch - bgOutlineThickness; + rr = min(radius, x2 / 2, y2 / 2); + c = cv.getContext('2d'); + if(bgColour) { + c.fillStyle = bgColour; + RRect(c, x1, y1, x2, y2, rr); + } + if(bgOutlineThickness) { + c.strokeStyle = bgOutline; + c.lineWidth = bgOutlineThickness; + RRect(c, x1, y1, x2, y2, rr, true); + } + if(shadowBlur || sox || soy) { + // use a transparent canvas to draw on + shadowcv = NewCanvas(cw, ch); + if(shadowcv) { + shadowc = c; + c = shadowcv.getContext('2d'); + } + } + + // don't use TextSet shadow support because it adds space for shadow + TextSet(c, this.font, colour, this.strings, offx, offy, 0, 0, [], + this.maxWidth, this.stringWidths, this.align); + + if(this.image) + c.drawImage(this.image, ix, iy, iw, ih); + + if(shadowc) { + // draw the text and image with the added shadow + c = shadowc; + shadowColour && (c.shadowColor = shadowColour); + shadowBlur && (c.shadowBlur = shadowBlur); + c.shadowOffsetX = shadowOffsets[0]; + c.shadowOffsetY = shadowOffsets[1]; + c.drawImage(shadowcv, 0, 0); + } + return cv; + }; + function ExpandImage(i, w, h) { + var cv = NewCanvas(w, h), c; + if(!cv) + return null; + c = cv.getContext('2d'); + c.drawImage(i, (w - i.width) / 2, (h - i.height) / 2); + return cv; + } + function ScaleImage(i, w, h) { + var cv = NewCanvas(w, h), c; + if(!cv) + return null; + c = cv.getContext('2d'); + c.drawImage(i, 0, 0, w, h); + return cv; + } + function AddBackgroundToImage(i, w, h, scale, colour, othickness, ocolour, + padding, radius, ofill) { + var cw = w + ((2 * padding) + othickness) * scale, + ch = h + ((2 * padding) + othickness) * scale, + cv = NewCanvas(cw, ch), c, x1, y1, x2, y2, ocanvas, cc, rr; + if(!cv) + return null; + othickness *= scale; + radius *= scale; + x1 = y1 = othickness / 2; + x2 = cw - othickness; + y2 = ch - othickness; + padding = (padding * scale) + x1; // add space for outline + c = cv.getContext('2d'); + rr = min(radius, x2 / 2, y2 / 2); + if(colour) { + c.fillStyle = colour; + RRect(c, x1, y1, x2, y2, rr); + } + if(othickness) { + c.strokeStyle = ocolour; + c.lineWidth = othickness; + RRect(c, x1, y1, x2, y2, rr, true); + } + + if(ofill) { + // use compositing to colour in the image and border + ocanvas = NewCanvas(cw, ch); + cc = ocanvas.getContext('2d'); + cc.drawImage(i, padding, padding, w, h); + cc.globalCompositeOperation = 'source-in'; + cc.fillStyle = ocolour; + cc.fillRect(0, 0, cw, ch); + cc.globalCompositeOperation = 'destination-over'; + cc.drawImage(cv, 0, 0); + cc.globalCompositeOperation = 'source-over'; + c.drawImage(ocanvas, 0, 0); + } else { + c.drawImage(i, padding, padding, i.width, i.height); + } + return {image: cv, width: cw / scale, height: ch / scale}; + } + /** + * Rounds off the corners of an image + */ + function RoundImage(i, r, iw, ih, s) { + var cv, c, r1 = parseFloat(r), l = max(iw, ih); + cv = NewCanvas(iw, ih); + if(!cv) + return null; + if(r.indexOf('%') > 0) + r1 = l * r1 / 100; + else + r1 = r1 * s; + c = cv.getContext('2d'); + c.globalCompositeOperation = 'source-over'; + c.fillStyle = '#fff'; + if(r1 >= l/2) { + r1 = min(iw,ih) / 2; + c.beginPath(); + c.moveTo(iw/2,ih/2); + c.arc(iw/2,ih/2,r1,0,2*Math.PI,false); + c.fill(); + c.closePath(); + } else { + r1 = min(iw/2,ih/2,r1); + RRect(c, 0, 0, iw, ih, r1, true); + c.fill(); + } + c.globalCompositeOperation = 'source-in'; + c.drawImage(i, 0, 0, iw, ih); + return cv; + } + /** + * Creates a new canvas containing the image and its shadow + * Returns an object containing the image and its dimensions at z=0 + */ + function AddShadowToImage(i, w, h, scale, sc, sb, so) { + var sw = abs(so[0]), sh = abs(so[1]), + cw = w + (sw > sb ? sw + sb : sb * 2) * scale, + ch = h + (sh > sb ? sh + sb : sb * 2) * scale, + xo = scale * ((sb || 0) + (so[0] < 0 ? sw : 0)), + yo = scale * ((sb || 0) + (so[1] < 0 ? sh : 0)), cv, c; + cv = NewCanvas(cw, ch); + if(!cv) + return null; + c = cv.getContext('2d'); + sc && (c.shadowColor = sc); + sb && (c.shadowBlur = sb * scale); + so && (c.shadowOffsetX = so[0] * scale, c.shadowOffsetY = so[1] * scale); + c.drawImage(i, xo, yo, w, h); + return {image: cv, width: cw / scale, height: ch / scale}; + } + function FindTextBoundingBox(s,f,ht) { + var w = parseInt(s.toString().length * ht), h = parseInt(ht * 2 * s.length), + cv = NewCanvas(w,h), c, idata, w1, h1, x, y, i, ex; + if(!cv) + return null; + c = cv.getContext('2d'); + c.fillStyle = '#000'; + c.fillRect(0,0,w,h); + TextSet(c,ht + 'px ' + f,'#fff',s,0,0,0,0,[],'centre') + + idata = c.getImageData(0,0,w,h); + w1 = idata.width; h1 = idata.height; + ex = { + min: { x: w1, y: h1 }, + max: { x: -1, y: -1 } + }; + for(y = 0; y < h1; ++y) { + for(x = 0; x < w1; ++x) { + i = (y * w1 + x) * 4; + if(idata.data[i+1] > 0) { + if(x < ex.min.x) ex.min.x = x; + if(x > ex.max.x) ex.max.x = x; + if(y < ex.min.y) ex.min.y = y; + if(y > ex.max.y) ex.max.y = y; + } + } + } + // device pixels might not be css pixels + if(w1 != w) { + ex.min.x *= (w / w1); + ex.max.x *= (w / w1); + } + if(h1 != h) { + ex.min.y *= (w / h1); + ex.max.y *= (w / h1); + } + + cv = null; + return ex; + } + function FixFont(f) { + return "'" + f.replace(/(\'|\")/g,'').replace(/\s*,\s*/g, "', '") + "'"; + } + function AddHandler(h,f,e) { + e = e || doc; + if(e.addEventListener) + e.addEventListener(h,f,false); + else + e.attachEvent('on' + h, f); + } + function RemoveHandler(h,f,e) { + e = e || doc; + if(e.removeEventListener) + e.removeEventListener(h, f); + else + e.detachEvent('on' + h, f); + } + function AddImage(i, o, t, tc) { + var s = tc.imageScale, mscale, ic, bc, oc, iw, ih; + // image not loaded, wait for image onload + if(!o.complete) + return AddHandler('load',function() { AddImage(i,o,t,tc); }, o); + if(!i.complete) + return AddHandler('load',function() { AddImage(i,o,t,tc); }, i); + + // Yes, this does look like nonsense, but it makes sure that both the + // width and height are actually set and not just calculated. This is + // required to keep proportional sizes when the images are hidden, so + // the images can be used again for another cloud. + o.width = o.width; + o.height = o.height; + + if(s) { + i.width = o.width * s; + i.height = o.height * s; + } + // the standard width of the image, with imageScale applied + t.iw = i.width; + t.ih = i.height; + if(tc.txtOpt) { + ic = i; + mscale = tc.zoomMax * tc.txtScale; + iw = t.iw * mscale; + ih = t.ih * mscale; + if(iw < o.naturalWidth || ih < o.naturalHeight) { + ic = ScaleImage(i, iw, ih); + if(ic) + t.fimage = ic; + } else { + iw = t.iw; + ih = t.ih; + mscale = 1; + } + if(parseFloat(tc.imageRadius)) + t.image = t.fimage = i = RoundImage(t.image, tc.imageRadius, iw, ih, mscale); + if(!t.HasText()) { + if(tc.shadow) { + ic = AddShadowToImage(t.image, iw, ih, mscale, tc.shadow, tc.shadowBlur, + tc.shadowOffset); + if(ic) { + t.fimage = ic.image; + t.w = ic.width; + t.h = ic.height; + } + } + if(tc.bgColour || tc.bgOutlineThickness) { + bc = tc.bgColour == 'tag' ? GetProperty(t.a, 'background-color') : + tc.bgColour; + oc = tc.bgOutline == 'tag' ? GetProperty(t.a, 'color') : + (tc.bgOutline || tc.textColour); + iw = t.fimage.width; + ih = t.fimage.height; + if(tc.outlineMethod == 'colour') { + // create the outline version first, using the current image state + ic = AddBackgroundToImage(t.fimage, iw, ih, mscale, bc, + tc.bgOutlineThickness, t.outline.colour, tc.padding, tc.bgRadius, 1); + if(ic) + t.oimage = ic.image; + } + ic = AddBackgroundToImage(t.fimage, iw, ih, mscale, bc, + tc.bgOutlineThickness, oc, tc.padding, tc.bgRadius); + if(ic) { + t.fimage = ic.image; + t.w = ic.width; + t.h = ic.height; + } + } + if(tc.outlineMethod == 'size') { + if(tc.outlineIncrease > 0) { + t.iw += 2 * tc.outlineIncrease; + t.ih += 2 * tc.outlineIncrease; + iw = mscale * t.iw; + ih = mscale * t.ih; + ic = ScaleImage(t.fimage, iw, ih); + t.oimage = ic; + t.fimage = ExpandImage(t.fimage, t.oimage.width, t.oimage.height); + } else { + iw = mscale * (t.iw + (2 * tc.outlineIncrease)); + ih = mscale * (t.ih + (2 * tc.outlineIncrease)); + ic = ScaleImage(t.fimage, iw, ih); + t.oimage = ExpandImage(ic, t.fimage.width, t.fimage.height); + } + } + } + } + t.Init(); + } + function GetProperty(e,p) { + var dv = doc.defaultView, pc = p.replace(/\-([a-z])/g,function(a){return a.charAt(1).toUpperCase()}); + return (dv && dv.getComputedStyle && dv.getComputedStyle(e,null).getPropertyValue(p)) || + (e.currentStyle && e.currentStyle[pc]); + } + function FindWeight(a, wFrom, tHeight) { + var w = 1, p; + if(wFrom) { + w = 1 * (a.getAttribute(wFrom) || tHeight); + } else if(p = GetProperty(a,'font-size')) { + w = (p.indexOf('px') > -1 && p.replace('px','') * 1) || + (p.indexOf('pt') > -1 && p.replace('pt','') * 1.25) || + p * 3.3; + } + return w; + } + function EventToCanvasId(e) { + return e.target && Defined(e.target.id) ? e.target.id : + e.srcElement.parentNode.id; + } + function EventXY(e, c) { + var xy, p, xmul = parseInt(GetProperty(c, 'width')) / c.width, + ymul = parseInt(GetProperty(c, 'height')) / c.height; + if(Defined(e.offsetX)) { + xy = {x: e.offsetX, y: e.offsetY}; + } else { + p = AbsPos(c.id); + if(Defined(e.changedTouches)) + e = e.changedTouches[0]; + if(e.pageX) + xy = {x: e.pageX - p.x, y: e.pageY - p.y}; + } + if(xy && xmul && ymul) { + xy.x /= xmul; + xy.y /= ymul; + } + return xy; + } + function MouseOut(e) { + var cv = e.target || e.fromElement.parentNode, tc = TagCanvas.tc[cv.id]; + if(tc) { + tc.mx = tc.my = -1; + tc.UnFreeze(); + tc.EndDrag(); + } + } + function MouseMove(e) { + var i, t = TagCanvas, tc, p, tg = EventToCanvasId(e); + for(i in t.tc) { + tc = t.tc[i]; + if(tc.tttimer) { + clearTimeout(tc.tttimer); + tc.tttimer = null; + } + } + if(tg && t.tc[tg]) { + tc = t.tc[tg]; + if(p = EventXY(e, tc.canvas)) { + tc.mx = p.x; + tc.my = p.y; + tc.Drag(e, p); + } + tc.drawn = 0; + } + } + function MouseDown(e) { + var t = TagCanvas, cb = doc.addEventListener ? 0 : 1, + tg = EventToCanvasId(e); + if(tg && e.button == cb && t.tc[tg]) { + t.tc[tg].BeginDrag(e); + } + } + function MouseUp(e) { + var t = TagCanvas, cb = doc.addEventListener ? 0 : 1, + tg = EventToCanvasId(e), tc; + if(tg && e.button == cb && t.tc[tg]) { + tc = t.tc[tg]; + MouseMove(e); + if(!tc.EndDrag() && !tc.touchState) + tc.Clicked(e); + } + } + function TouchDown(e) { + var tg = EventToCanvasId(e), tc = (tg && TagCanvas.tc[tg]), p; + if(tc && e.changedTouches) { + if(e.touches.length == 1 && tc.touchState == 0) { + tc.touchState = 1; + tc.BeginDrag(e); + if(p = EventXY(e, tc.canvas)) { + tc.mx = p.x; + tc.my = p.y; + tc.drawn = 0; + } + } else if(e.targetTouches.length == 2 && tc.pinchZoom) { + tc.touchState = 3; + tc.EndDrag(); + tc.BeginPinch(e); + } else { + tc.EndDrag(); + tc.EndPinch(); + tc.touchState = 0; + } + } + } + function TouchUp(e) { + var tg = EventToCanvasId(e), tc = (tg && TagCanvas.tc[tg]); + if(tc && e.changedTouches) { + switch(tc.touchState) { + case 1: + tc.Draw(); + tc.Clicked(); + break; + case 2: + tc.EndDrag(); + break; + case 3: + tc.EndPinch(); + } + tc.touchState = 0; + } + } + function TouchMove(e) { + var i, t = TagCanvas, tc, p, tg = EventToCanvasId(e); + for(i in t.tc) { + tc = t.tc[i]; + if(tc.tttimer) { + clearTimeout(tc.tttimer); + tc.tttimer = null; + } + } + tc = (tg && t.tc[tg]); + if(tc && e.changedTouches && tc.touchState) { + switch(tc.touchState) { + case 1: + case 2: + if(p = EventXY(e, tc.canvas)) { + tc.mx = p.x; + tc.my = p.y; + if(tc.Drag(e, p)) + tc.touchState = 2; + } + break; + case 3: + tc.Pinch(e); + } + tc.drawn = 0; + } + } + function MouseWheel(e) { + var t = TagCanvas, tg = EventToCanvasId(e); + if(tg && t.tc[tg]) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + t.tc[tg].Wheel((e.wheelDelta || e.detail) > 0); + } + } + function Scroll(e) { + var i, t = TagCanvas; + clearTimeout(t.scrollTimer); + for(i in t.tc) { + t.tc[i].Pause(); + } + t.scrollTimer = setTimeout(function() { + var i, t = TagCanvas; + for(i in t.tc) { + t.tc[i].Resume(); + } + }, t.scrollPause); + } + function DrawCanvas() { + DrawCanvasRAF(TimeNow()); + } + function DrawCanvasRAF(t) { + var tc = TagCanvas.tc, i; + TagCanvas.NextFrame(TagCanvas.interval); + t = t || TimeNow(); + for(i in tc) + tc[i].Draw(t); + } + function AbsPos(id) { + var e = doc.getElementById(id), r = e.getBoundingClientRect(), + dd = doc.documentElement, b = doc.body, w = window, + xs = w.pageXOffset || dd.scrollLeft, + ys = w.pageYOffset || dd.scrollTop, + xo = dd.clientLeft || b.clientLeft, + yo = dd.clientTop || b.clientTop; + return { x: r.left + xs - xo, y: r.top + ys - yo }; + } + function Project(tc,p1,sx,sy) { + var m = tc.radius * tc.z1 / (tc.z1 + tc.z2 + p1.z); + return { + x: p1.x * m * sx, + y: p1.y * m * sy, + z: p1.z, + w: (tc.z1 - p1.z) / tc.z2 + }; + } + /** + * @constructor + * for recursively splitting tag contents on
tags + */ + function TextSplitter(e) { + this.e = e; + this.br = 0; + this.line = []; + this.text = []; + this.original = e.innerText || e.textContent; + } + TSproto = TextSplitter.prototype; + TSproto.Empty = function() { + for(var i = 0; i < this.text.length; ++i) + if(this.text[i].length) + return false; + return true; + }; + TSproto.Lines = function(e) { + var r = e ? 1 : 0, cn, cl, i; + e = e || this.e; + cn = e.childNodes; + cl = cn.length; + + for(i = 0; i < cl; ++i) { + if(cn[i].nodeName == 'BR') { + this.text.push(this.line.join(' ')); + this.br = 1; + } else if(cn[i].nodeType == 3) { + if(this.br) { + this.line = [cn[i].nodeValue]; + this.br = 0; + } else { + this.line.push(cn[i].nodeValue); + } + } else { + this.Lines(cn[i]); + } + } + r || this.br || this.text.push(this.line.join(' ')); + return this.text; + }; + TSproto.SplitWidth = function(w, c, f, h) { + var i, j, words, text = []; + c.font = h + 'px ' + f; + for(i = 0; i < this.text.length; ++i) { + words = this.text[i].split(/\s+/); + this.line = [words[0]]; + for(j = 1; j < words.length; ++j) { + if(c.measureText(this.line.join(' ') + ' ' + words[j]).width > w) { + text.push(this.line.join(' ')); + this.line = [words[j]]; + } else { + this.line.push(words[j]); + } + } + text.push(this.line.join(' ')); + } + return this.text = text; + }; + /** + * @constructor + */ + function Outline(tc,t) { + this.ts = null; + this.tc = tc; + this.tag = t; + this.x = this.y = this.w = this.h = this.sc = 1; + this.z = 0; + this.pulse = 1; + this.pulsate = tc.pulsateTo < 1; + this.colour = tc.outlineColour; + this.adash = ~~tc.outlineDash; + this.agap = ~~tc.outlineDashSpace || this.adash; + this.aspeed = tc.outlineDashSpeed * 1; + if(this.colour == 'tag') + this.colour = GetProperty(t.a, 'color'); + else if(this.colour == 'tagbg') + this.colour = GetProperty(t.a, 'background-color'); + this.Draw = this.pulsate ? this.DrawPulsate : this.DrawSimple; + this.radius = tc.outlineRadius | 0; + this.SetMethod(tc.outlineMethod); + } + Oproto = Outline.prototype; + Oproto.SetMethod = function(om) { + var methods = { + block: ['PreDraw','DrawBlock'], + colour: ['PreDraw','DrawColour'], + outline: ['PostDraw','DrawOutline'], + classic: ['LastDraw','DrawOutline'], + size: ['PreDraw','DrawSize'], + none: ['LastDraw'] + }, funcs = methods[om] || methods.outline; + if(om == 'none') { + this.Draw = function() { return 1; } + } else { + this.drawFunc = this[funcs[1]]; + } + this[funcs[0]] = this.Draw; + }; + Oproto.Update = function(x,y,w,h,sc,z,xo,yo) { + var o = this.tc.outlineOffset, o2 = 2 * o; + this.x = sc * x + xo - o; + this.y = sc * y + yo - o; + this.w = sc * w + o2; + this.h = sc * h + o2; + this.sc = sc; // used to determine frontmost + this.z = z; + }; + Oproto.Ants = function(c) { + if(!this.adash) + return; + var l = this.adash, g = this.agap, s = this.aspeed, length = l + g, + l1 = 0, l2 = l, g1 = g, g2 = 0, seq = 0, ants; + if(s) { + seq = abs(s) * (TimeNow() - this.ts) / 50; + if(s < 0) + seq = 8.64e6 - seq; + s = ~~seq % length; + } + if(s) { + if(l >= s) { + l1 = l - s; + l2 = s; + } else { + g1 = length - s; + g2 = g - g1; + } + ants = [l1, g1, l2, g2]; + } else { + ants = [l,g]; + } + c.setLineDash(ants); + } + Oproto.DrawOutline = function(c,x,y,w,h,colour) { + var r = min(this.radius, h/2, w/2); + c.strokeStyle = colour; + this.Ants(c); + RRect(c, x, y, w, h, r, true); + }; + Oproto.DrawSize = function(c,x,y,w,h,colour,tag,x1,y1) { + var tw = tag.w, th = tag.h, m, i, sc; + if(this.pulsate) { + if(tag.image) + sc = (tag.image.height + this.tc.outlineIncrease) / tag.image.height; + else + sc = tag.oscale; + i = tag.fimage || tag.image; + m = 1 + ((sc - 1) * (1-this.pulse)); + tag.h *= m; + tag.w *= m; + } else { + i = tag.oimage; + } + tag.alpha = 1; + tag.Draw(c, x1, y1, i); + tag.h = th; + tag.w = tw; + return 1; + }; + Oproto.DrawColour = function(c,x,y,w,h,colour,tag,x1,y1) { + if(tag.oimage) { + if(this.pulse < 1) { + tag.alpha = 1 - pow(this.pulse, 2); + tag.Draw(c, x1, y1, tag.fimage); + tag.alpha = this.pulse; + } else { + tag.alpha = 1; + } + tag.Draw(c, x1, y1, tag.oimage); + return 1; + } + return this[tag.image ? 'DrawColourImage' : 'DrawColourText'](c,x,y,w,h,colour,tag,x1,y1); + }; + Oproto.DrawColourText = function(c,x,y,w,h,colour,tag,x1,y1) { + var normal = tag.colour; + tag.colour = colour; + tag.alpha = 1; + tag.Draw(c,x1,y1); + tag.colour = normal; + return 1; + }; + Oproto.DrawColourImage = function(c,x,y,w,h,colour,tag,x1,y1) { + var ccanvas = c.canvas, fx = ~~max(x,0), fy = ~~max(y,0), + fw = min(ccanvas.width - fx, w) + .5|0, fh = min(ccanvas.height - fy,h) + .5|0, cc; + if(ocanvas) + ocanvas.width = fw, ocanvas.height = fh; + else + ocanvas = NewCanvas(fw, fh); + if(!ocanvas) + return this.SetMethod('outline'); // if using IE and images, give up! + cc = ocanvas.getContext('2d'); + + cc.drawImage(ccanvas,fx,fy,fw,fh,0,0,fw,fh); + c.clearRect(fx,fy,fw,fh); + if(this.pulsate) { + tag.alpha = 1 - pow(this.pulse, 2); + } else { + tag.alpha = 1; + } + tag.Draw(c,x1,y1); + c.setTransform(1,0,0,1,0,0); + c.save(); + c.beginPath(); + c.rect(fx,fy,fw,fh); + c.clip(); + c.globalCompositeOperation = 'source-in'; + c.fillStyle = colour; + c.fillRect(fx,fy,fw,fh); + c.restore(); + c.globalAlpha = 1; + c.globalCompositeOperation = 'destination-over'; + c.drawImage(ocanvas,0,0,fw,fh,fx,fy,fw,fh); + c.globalCompositeOperation = 'source-over'; + return 1; + }; + Oproto.DrawBlock = function(c,x,y,w,h,colour) { + var r = min(this.radius, h/2, w/2); + c.fillStyle = colour; + RRect(c, x, y, w, h, r); + }; + Oproto.DrawSimple = function(c, tag, x1, y1, ga, useGa) { + var t = this.tc; + c.setTransform(1,0,0,1,0,0); + c.strokeStyle = this.colour; + c.lineWidth = t.outlineThickness; + c.shadowBlur = c.shadowOffsetX = c.shadowOffsetY = 0; + c.globalAlpha = useGa ? ga : 1; + return this.drawFunc(c,this.x,this.y,this.w,this.h,this.colour,tag,x1,y1); + }; + Oproto.DrawPulsate = function(c, tag, x1, y1) { + var diff = TimeNow() - this.ts, t = this.tc, + ga = t.pulsateTo + ((1 - t.pulsateTo) * + (0.5 + (cos(2 * Math.PI * diff / (1000 * t.pulsateTime)) / 2))); + this.pulse = ga = TagCanvas.Smooth(1,ga); + return this.DrawSimple(c, tag, x1, y1, ga, 1); + }; + Oproto.Active = function(c,x,y) { + var a = (x >= this.x && y >= this.y && + x <= this.x + this.w && y <= this.y + this.h); + if(a) { + this.ts = this.ts || TimeNow(); + } else { + this.ts = null; + } + return a; + }; + Oproto.PreDraw = Oproto.PostDraw = Oproto.LastDraw = Nop; + /** + * @constructor + */ + function Tag(tc, text, a, v, w, h, col, bcol, bradius, boutline, bothickness, + font, padding, original) { + this.tc = tc; + this.image = null; + this.text = text; + this.text_original = original; + this.line_widths = []; + this.title = a.title || null; + this.a = a; + this.position = new Vector(v[0], v[1], v[2]); + this.x = this.y = this.z = 0; + this.w = w; + this.h = h; + this.colour = col || tc.textColour; + this.bgColour = bcol || tc.bgColour; + this.bgRadius = bradius | 0; + this.bgOutline = boutline || this.colour; + this.bgOutlineThickness = bothickness | 0; + this.textFont = font || tc.textFont; + this.padding = padding | 0; + this.sc = this.alpha = 1; + this.weighted = !tc.weight; + this.outline = new Outline(tc,this); + } + Tproto = Tag.prototype; + Tproto.Init = function(e) { + var tc = this.tc; + this.textHeight = tc.textHeight; + if(this.HasText()) { + this.Measure(tc.ctxt,tc); + } else { + this.w = this.iw; + this.h = this.ih; + } + + this.SetShadowColour = tc.shadowAlpha ? this.SetShadowColourAlpha : this.SetShadowColourFixed; + this.SetDraw(tc); + }; + Tproto.Draw = Nop; + Tproto.HasText = function() { + return this.text && this.text[0].length > 0; + }; + Tproto.EqualTo = function(e) { + var i = e.getElementsByTagName('img'); + if(this.a.href != e.href) + return 0; + if(i.length) + return this.image.src == i[0].src; + return (e.innerText || e.textContent) == this.text_original; + }; + Tproto.SetImage = function(i) { + this.image = this.fimage = i; + }; + Tproto.SetDraw = function(t) { + this.Draw = this.fimage ? (t.ie > 7 ? this.DrawImageIE : this.DrawImage) : this.DrawText; + t.noSelect && (this.CheckActive = Nop); + }; + Tproto.MeasureText = function(c) { + var i, l = this.text.length, w = 0, wl; + for(i = 0; i < l; ++i) { + this.line_widths[i] = wl = c.measureText(this.text[i]).width; + w = max(w, wl); + } + return w; + }; + Tproto.Measure = function(c,t) { + var extents = FindTextBoundingBox(this.text, this.textFont, this.textHeight), + s, th, f, soff, cw, twidth, theight, img, tcv; + // add the gap at the top to the height to make equal gap at bottom + theight = extents ? extents.max.y + extents.min.y : this.textHeight; + c.font = this.font = this.textHeight + 'px ' + this.textFont; + twidth = this.MeasureText(c); + if(t.txtOpt) { + s = t.txtScale; + th = s * this.textHeight; + f = th + 'px ' + this.textFont; + soff = [s * t.shadowOffset[0], s * t.shadowOffset[1]]; + c.font = f; + cw = this.MeasureText(c); + tcv = new TextCanvas(this.text, f, cw + s, (s * theight) + s, cw, + this.line_widths, t.textAlign, t.textVAlign, s); + + if(this.image) + tcv.SetImage(this.image, this.iw, this.ih, t.imagePosition, t.imagePadding, + t.imageAlign, t.imageVAlign, t.imageScale); + + img = tcv.Create(this.colour, this.bgColour, this.bgOutline, + s * this.bgOutlineThickness, t.shadow, s * t.shadowBlur, soff, + s * this.padding, s * this.bgRadius); + + // add outline image using highlight colour + if(t.outlineMethod == 'colour') { + this.oimage = tcv.Create(this.outline.colour, this.bgColour, this.outline.colour, + s * this.bgOutlineThickness, t.shadow, s * t.shadowBlur, soff, + s * this.padding, s * this.bgRadius); + + } else if(t.outlineMethod == 'size') { + extents = FindTextBoundingBox(this.text, this.textFont, + this.textHeight + t.outlineIncrease); + th = extents.max.y + extents.min.y; + f = (s * (this.textHeight + t.outlineIncrease)) + 'px ' + this.textFont; + c.font = f; + cw = this.MeasureText(c); + + tcv = new TextCanvas(this.text, f, cw + s, (s * th) + s, cw, + this.line_widths, t.textAlign, t.textVAlign, s); + if(this.image) + tcv.SetImage(this.image, this.iw + t.outlineIncrease, + this.ih + t.outlineIncrease, t.imagePosition, t.imagePadding, + t.imageAlign, t.imageVAlign, t.imageScale); + + this.oimage = tcv.Create(this.colour, this.bgColour, this.bgOutline, + s * this.bgOutlineThickness, t.shadow, s * t.shadowBlur, soff, + s * this.padding, s * this.bgRadius); + + this.oscale = this.oimage.width / img.width; + if(t.outlineIncrease > 0) + img = ExpandImage(img, this.oimage.width, this.oimage.height); + else + this.oimage = ExpandImage(this.oimage, img.width, img.height); + } + if(img) { + this.fimage = img; + twidth = this.fimage.width / s; + theight = this.fimage.height / s; + } + this.SetDraw(t); + t.txtOpt = !!this.fimage; + } + this.h = theight; + this.w = twidth; + }; + Tproto.SetFont = function(f, c, bc, boc) { + this.textFont = f; + this.colour = c; + this.bgColour = bc; + this.bgOutline = boc; + this.Measure(this.tc.ctxt, this.tc); + }; + Tproto.SetWeight = function(w) { + var tc = this.tc, modes = tc.weightMode.split(/[, ]/), m, s, wl = w.length; + if(!this.HasText()) + return; + this.weighted = true; + for(s = 0; s < wl; ++s) { + m = modes[s] || 'size'; + if('both' == m) { + this.Weight(w[s], tc.ctxt, tc, 'size', tc.min_weight[s], + tc.max_weight[s], s); + this.Weight(w[s], tc.ctxt, tc, 'colour', tc.min_weight[s], + tc.max_weight[s], s); + } else { + this.Weight(w[s], tc.ctxt, tc, m, tc.min_weight[s], tc.max_weight[s], s); + } + } + this.Measure(tc.ctxt, tc); + }; + Tproto.Weight = function(w, c, t, m, wmin, wmax, wnum) { + w = isNaN(w) ? 1 : w; + var nweight = (w - wmin) / (wmax - wmin); + if('colour' == m) + this.colour = FindGradientColour(t, nweight, wnum); + else if('bgcolour' == m) + this.bgColour = FindGradientColour(t, nweight, wnum); + else if('bgoutline' == m) + this.bgOutline = FindGradientColour(t, nweight, wnum); + else if('outline' == m) + this.outline.colour = FindGradientColour(t, nweight, wnum); + else if('size' == m) { + if(t.weightSizeMin > 0 && t.weightSizeMax > t.weightSizeMin) { + this.textHeight = t.weightSize * + (t.weightSizeMin + (t.weightSizeMax - t.weightSizeMin) * nweight); + } else { + // min textHeight of 1 + this.textHeight = max(1, w * t.weightSize); + } + } + }; + Tproto.SetShadowColourFixed = function(c,s,a) { + c.shadowColor = s; + }; + Tproto.SetShadowColourAlpha = function(c,s,a) { + c.shadowColor = SetAlpha(s, a); + }; + Tproto.DrawText = function(c,xoff,yoff) { + var t = this.tc, x = this.x, y = this.y, s = this.sc, i, xl; + c.globalAlpha = this.alpha; + c.fillStyle = this.colour; + t.shadow && this.SetShadowColour(c,t.shadow,this.alpha); + c.font = this.font; + x += xoff / s; + y += (yoff / s) - (this.h / 2); + for(i = 0; i < this.text.length; ++i) { + xl = x; + if('right' == t.textAlign) { + xl += this.w / 2 - this.line_widths[i]; + } else if('centre' == t.textAlign) { + xl -= this.line_widths[i] / 2; + } else { + xl -= this.w / 2; + } + c.setTransform(s, 0, 0, s, s * xl, s * y); + c.fillText(this.text[i], 0, 0); + y += this.textHeight; + } + }; + Tproto.DrawImage = function(c,xoff,yoff,im) { + var x = this.x, y = this.y, s = this.sc, + i = im || this.fimage, w = this.w, h = this.h, a = this.alpha, + shadow = this.shadow; + c.globalAlpha = a; + shadow && this.SetShadowColour(c,shadow,a); + x += (xoff / s) - (w / 2); + y += (yoff / s) - (h / 2); + c.setTransform(s, 0, 0, s, s * x, s * y); + c.drawImage(i, 0, 0, w, h); + }; + Tproto.DrawImageIE = function(c,xoff,yoff) { + var i = this.fimage, s = this.sc, + w = i.width = this.w*s, h = i.height = this.h * s, + x = (this.x*s) + xoff - (w/2), y = (this.y*s) + yoff - (h/2); + c.setTransform(1,0,0,1,0,0); + c.globalAlpha = this.alpha; + c.drawImage(i, x, y); + }; + Tproto.Calc = function(m,a) { + var pp, t = this.tc, mnb = t.minBrightness, + mxb = t.maxBrightness, r = t.max_radius; + pp = m.xform(this.position); + this.xformed = pp; + pp = Project(t, pp, t.stretchX, t.stretchY); + this.x = pp.x; + this.y = pp.y; + this.z = pp.z; + this.sc = pp.w; + this.alpha = a * Clamp(mnb + (mxb - mnb) * (r - this.z) / (2 * r), 0, 1); + return this.xformed; + }; + Tproto.UpdateActive = function(c, xoff, yoff) { + var o = this.outline, w = this.w, h = this.h, + x = this.x - w/2, y = this.y - h/2; + o.Update(x, y, w, h, this.sc, this.z, xoff, yoff); + return o; + }; + Tproto.CheckActive = function(c,xoff,yoff) { + var t = this.tc, o = this.UpdateActive(c, xoff, yoff); + return o.Active(c, t.mx, t.my) ? o : null; + }; + Tproto.Clicked = function(e) { + var a = this.a, t = a.target, h = a.href, evt; + if(t != '' && t != '_self') { + if(self.frames[t]) { + self.frames[t].document.location = h; + } else{ + try { + if(top.frames[t]) { + top.frames[t].document.location = h; + return; + } + } catch(err) { + // different domain/port/protocol? + } + window.open(h, t); + } + return; + } + if(doc.createEvent) { + evt = doc.createEvent('MouseEvents'); + evt.initMouseEvent('click', 1, 1, window, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null); + if(!a.dispatchEvent(evt)) + return; + } else if(a.fireEvent) { + if(!a.fireEvent('onclick')) + return; + } + doc.location = h; + }; + /** + * @constructor + */ + function TagCanvas(cid,lctr,opt) { + var i, p, c = doc.getElementById(cid), cp = ['id','class','innerHTML'], raf; + + if(!c) throw 0; + if(Defined(window.G_vmlCanvasManager)) { + c = window.G_vmlCanvasManager.initElement(c); + this.ie = parseFloat(navigator.appVersion.split('MSIE')[1]); + } + if(c && (!c.getContext || !c.getContext('2d').fillText)) { + p = doc.createElement('DIV'); + for(i = 0; i < cp.length; ++i) + p[cp[i]] = c[cp[i]]; + c.parentNode.insertBefore(p,c); + c.parentNode.removeChild(c); + throw 0; + } + for(i in TagCanvas.options) + this[i] = opt && Defined(opt[i]) ? opt[i] : + (Defined(TagCanvas[i]) ? TagCanvas[i] : TagCanvas.options[i]); + + this.canvas = c; + this.ctxt = c.getContext('2d'); + this.z1 = 250 / max(this.depth, 0.001); + this.z2 = this.z1 / this.zoom; + this.radius = min(c.height, c.width) * 0.0075; // fits radius of 100 in canvas + this.max_radius = 100; + this.max_weight = []; + this.min_weight = []; + this.textFont = this.textFont && FixFont(this.textFont); + this.textHeight *= 1; + this.imageRadius = this.imageRadius.toString(); + this.pulsateTo = Clamp(this.pulsateTo, 0, 1); + this.minBrightness = Clamp(this.minBrightness, 0, 1); + this.maxBrightness = Clamp(this.maxBrightness, this.minBrightness, 1); + this.ctxt.textBaseline = 'top'; + this.lx = (this.lock + '').indexOf('x') + 1; + this.ly = (this.lock + '').indexOf('y') + 1; + this.frozen = this.dx = this.dy = this.fixedAnim = this.touchState = 0; + this.fixedAlpha = 1; + this.source = lctr || cid; + this.repeatTags = min(64, ~~this.repeatTags); + this.minTags = min(200, ~~this.minTags); + if(~~this.scrollPause > 0) + TagCanvas.scrollPause = ~~this.scrollPause; + else + this.scrollPause = 0; + if(this.minTags > 0 && this.repeatTags < 1 && (i = this.GetTags().length)) + this.repeatTags = ceil(this.minTags / i) - 1; + this.transform = Matrix.Identity(); + this.startTime = this.time = TimeNow(); + this.mx = this.my = -1; + this.centreImage && CentreImage(this); + this.Animate = this.dragControl ? this.AnimateDrag : this.AnimatePosition; + this.animTiming = (typeof TagCanvas[this.animTiming] == 'function' ? + TagCanvas[this.animTiming] : TagCanvas.Smooth); + if(this.shadowBlur || this.shadowOffset[0] || this.shadowOffset[1]) { + // let the browser translate "red" into "#ff0000" + this.ctxt.shadowColor = this.shadow; + this.shadow = this.ctxt.shadowColor; + this.shadowAlpha = ShadowAlphaBroken(); + } else { + delete this.shadow; + } + this.Load(); + if(lctr && this.hideTags) { + (function(t) { + if(TagCanvas.loaded) + t.HideTags(); + else + AddHandler('load', function() { t.HideTags(); }, window); + })(this); + } + + this.yaw = this.initial ? this.initial[0] * this.maxSpeed : 0; + this.pitch = this.initial ? this.initial[1] * this.maxSpeed : 0; + if(this.tooltip) { + this.ctitle = c.title; + c.title = ''; + if(this.tooltip == 'native') { + this.Tooltip = this.TooltipNative; + } else { + this.Tooltip = this.TooltipDiv; + if(!this.ttdiv) { + this.ttdiv = doc.createElement('div'); + this.ttdiv.className = this.tooltipClass; + this.ttdiv.style.position = 'absolute'; + this.ttdiv.style.zIndex = c.style.zIndex + 1; + AddHandler('mouseover',function(e){e.target.style.display='none';},this.ttdiv); + doc.body.appendChild(this.ttdiv); + } + } + } else { + this.Tooltip = this.TooltipNone; + } + if(!this.noMouse && !handlers[cid]) { + handlers[cid] = [ + ['mousemove', MouseMove], + ['mouseout', MouseOut], + ['mouseup', MouseUp], + ['touchstart', TouchDown], + ['touchend', TouchUp], + ['touchcancel', TouchUp], + ['touchmove', TouchMove] + ]; + if(this.dragControl) { + handlers[cid].push(['mousedown', MouseDown]); + handlers[cid].push(['selectstart', Nop]); + } + if(this.wheelZoom) { + handlers[cid].push(['mousewheel', MouseWheel]); + handlers[cid].push(['DOMMouseScroll', MouseWheel]); + } + if(this.scrollPause) { + handlers[cid].push(['scroll', Scroll, window]); + } + for(i = 0; i < handlers[cid].length; ++i) { + p = handlers[cid][i]; + AddHandler(p[0], p[1], p[2] ? p[2] : c); + } + } + if(!TagCanvas.started) { + raf = window.requestAnimationFrame = window.requestAnimationFrame || + window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || + window.msRequestAnimationFrame; + TagCanvas.NextFrame = raf ? TagCanvas.NextFrameRAF : + TagCanvas.NextFrameTimeout; + TagCanvas.interval = this.interval; + TagCanvas.NextFrame(this.interval); + TagCanvas.started = 1; + } + } + TCproto = TagCanvas.prototype; + TCproto.SourceElements = function() { + if(doc.querySelectorAll) + return doc.querySelectorAll('#' + this.source); + return [doc.getElementById(this.source)]; + }; + TCproto.HideTags = function() { + var el = this.SourceElements(), i; + for(i = 0; i < el.length; ++i) + el[i].style.display = 'none'; + }; + TCproto.GetTags = function() { + var el = this.SourceElements(), etl, tl = [], i, j, k; + for(k = 0; k <= this.repeatTags; ++k) { + for(i = 0; i < el.length; ++i) { + etl = el[i].getElementsByTagName('a'); + for(j = 0; j < etl.length; ++j) { + tl.push(etl[j]); + } + } + } + return tl; + }; + TCproto.Message = function(text) { + var tl = [], i, p, tc = text.split(''), a, t, x, z; + for(i = 0; i < tc.length; ++i) { + if(tc[i] != ' ') { + p = i - tc.length / 2; + a = doc.createElement('A'); + a.href = '#'; + a.innerText = tc[i]; + x = 100 * sin(p / 9); + z = -100 * cos(p / 9); + t = new Tag(this, tc[i], a, [x,0,z], 2, 18, '#000', '#fff', 0, 0, 0, + 'monospace', 2, tc[i]); + t.Init(); + tl.push(t); + } + } + return tl; + }; + TCproto.CreateTag = function(e) { + var im, i, t, txt, ts, font, bc, boc, p = [0, 0, 0]; + if('text' != this.imageMode) { + im = e.getElementsByTagName('img'); + if(im.length) { + i = new Image; + i.src = im[0].src; + + if(!this.imageMode) { + t = new Tag(this, "", e, p, 0, 0); + t.SetImage(i); + //t.Init(); + AddImage(i, im[0], t, this); + return t; + } + } + } + if('image' != this.imageMode) { + ts = new TextSplitter(e); + txt = ts.Lines(); + if(!ts.Empty()) { + font = this.textFont || FixFont(GetProperty(e,'font-family')); + if(this.splitWidth) + txt = ts.SplitWidth(this.splitWidth, this.ctxt, font, this.textHeight); + + bc = this.bgColour == 'tag' ? GetProperty(e, 'background-color') : + this.bgColour; + boc = this.bgOutline == 'tag' ? GetProperty(e, 'color') : this.bgOutline; + } else { + ts = null; + } + } + if(ts || i) { + t = new Tag(this, txt, e, p, 2, this.textHeight + 2, + this.textColour || GetProperty(e,'color'), bc, this.bgRadius, + boc, this.bgOutlineThickness, font, this.padding, ts && ts.original); + if(i) { + t.SetImage(i); + AddImage(i, im[0], t, this); + } else { + t.Init(); + } + return t; + } + }; + TCproto.UpdateTag = function(t, a) { + var colour = this.textColour || GetProperty(a, 'color'), + font = this.textFont || FixFont(GetProperty(a, 'font-family')), + bc = this.bgColour == 'tag' ? GetProperty(a, 'background-color') : + this.bgColour, boc = this.bgOutline == 'tag' ? GetProperty(a, 'color') : + this.bgOutline; + t.a = a; + t.title = a.title; + if(t.colour != colour || t.textFont != font || t.bgColour != bc || + t.bgOutline != boc) + t.SetFont(font, colour, bc, boc); + }; + TCproto.Weight = function(tl) { + var ll = tl.length, w, i, s, weights = [], valid, + wfrom = this.weightFrom ? this.weightFrom.split(/[, ]/) : [null], + wl = wfrom.length; + for(i = 0; i < ll; ++i) { + weights[i] = []; + for(s = 0; s < wl; ++s) { + w = FindWeight(tl[i].a, wfrom[s], this.textHeight); + if(!this.max_weight[s] || w > this.max_weight[s]) + this.max_weight[s] = w; + if(!this.min_weight[s] || w < this.min_weight[s]) + this.min_weight[s] = w; + weights[i][s] = w; + } + } + for(s = 0; s < wl; ++s) { + if(this.max_weight[s] > this.min_weight[s]) + valid = 1; + } + if(valid) { + for(i = 0; i < ll; ++i) { + tl[i].SetWeight(weights[i]); + } + } + }; + TCproto.Load = function() { + var tl = this.GetTags(), taglist = [], shape, t, + shapeArgs, rx, ry, rz, vl, i, tagmap = [], pfuncs = { + sphere: PointsOnSphere, + vcylinder: PointsOnCylinderV, + hcylinder: PointsOnCylinderH, + vring: PointsOnRingV, + hring: PointsOnRingH + }; + + if(tl.length) { + tagmap.length = tl.length; + for(i = 0; i < tl.length; ++i) + tagmap[i] = i; + this.shuffleTags && Shuffle(tagmap); + rx = 100 * this.radiusX; + ry = 100 * this.radiusY; + rz = 100 * this.radiusZ; + this.max_radius = max(rx, max(ry, rz)); + + for(i = 0; i < tl.length; ++i) { + t = this.CreateTag(tl[tagmap[i]]); + if(t) + taglist.push(t); + } + this.weight && this.Weight(taglist, true); + + if(this.shapeArgs) { + this.shapeArgs[0] = taglist.length; + } else { + shapeArgs = this.shape.toString().split(/[(),]/); + shape = shapeArgs.shift(); + if(typeof window[shape] === 'function') + this.shape = window[shape]; + else + this.shape = pfuncs[shape] || pfuncs.sphere; + this.shapeArgs = [taglist.length, rx, ry, rz].concat(shapeArgs); + } + vl = this.shape.apply(this, this.shapeArgs); + this.listLength = taglist.length; + for(i = 0; i < taglist.length; ++i) + taglist[i].position = new Vector(vl[i][0], vl[i][1], vl[i][2]); + } + if(this.noTagsMessage && !taglist.length) { + i = (this.imageMode && this.imageMode != 'both' ? this.imageMode + ' ': ''); + taglist = this.Message('No ' + i + 'tags'); + } + this.taglist = taglist; + }; + TCproto.Update = function() { + var tl = this.GetTags(), newlist = [], + taglist = this.taglist, found, + added = [], removed = [], vl, ol, nl, i, j; + + if(!this.shapeArgs) + return this.Load(); + + if(tl.length) { + nl = this.listLength = tl.length; + ol = taglist.length; + + // copy existing list, populate "removed" + for(i = 0; i < ol; ++i) { + newlist.push(taglist[i]); + removed.push(i); + } + + // find added and removed tags + for(i = 0; i < nl; ++i) { + for(j = 0, found = 0; j < ol; ++j) { + if(taglist[j].EqualTo(tl[i])) { + this.UpdateTag(newlist[j], tl[i]); + found = removed[j] = -1; + } + } + if(!found) + added.push(i); + } + + // clean out found tags from removed list + for(i = 0, j = 0; i < ol; ++i) { + if(removed[j] == -1) + removed.splice(j,1); + else + ++j; + } + + // insert new tags in gaps where old tags removed + if(removed.length) { + Shuffle(removed); + while(removed.length && added.length) { + i = removed.shift(); + j = added.shift(); + newlist[i] = this.CreateTag(tl[j]); + } + + // remove any more (in reverse order) + removed.sort(function(a,b) {return a-b}); + while(removed.length) { + newlist.splice(removed.pop(), 1); + } + } + + // add any extra tags + j = newlist.length / (added.length + 1); + i = 0; + while(added.length) { + newlist.splice(ceil(++i * j), 0, this.CreateTag(tl[added.shift()])); + } + + // assign correct positions to tags + this.shapeArgs[0] = nl = newlist.length; + vl = this.shape.apply(this, this.shapeArgs); + for(i = 0; i < nl; ++i) + newlist[i].position = new Vector(vl[i][0], vl[i][1], vl[i][2]); + + // reweight tags + this.weight && this.Weight(newlist); + } + this.taglist = newlist; + }; + TCproto.SetShadow = function(c) { + c.shadowBlur = this.shadowBlur; + c.shadowOffsetX = this.shadowOffset[0]; + c.shadowOffsetY = this.shadowOffset[1]; + }; + TCproto.Draw = function(t) { + if(this.paused) + return; + var cv = this.canvas, cw = cv.width, ch = cv.height, max_sc = 0, + tdelta = (t - this.time) * TagCanvas.interval / 1000, + x = cw / 2 + this.offsetX, y = ch / 2 + this.offsetY, c = this.ctxt, + active, a, i, aindex = -1, tl = this.taglist, l = tl.length, + frontsel = this.frontSelect, centreDrawn = (this.centreFunc == Nop), fixed; + this.time = t; + if(this.frozen && this.drawn) + return this.Animate(cw,ch,tdelta); + fixed = this.AnimateFixed(); + c.setTransform(1,0,0,1,0,0); + for(i = 0; i < l; ++i) + tl[i].Calc(this.transform, this.fixedAlpha); + tl = SortList(tl, function(a,b) {return b.z-a.z}); + + if(fixed && this.fixedAnim.active) { + active = this.fixedAnim.tag.UpdateActive(c, x, y); + } else { + this.active = null; + for(i = 0; i < l; ++i) { + a = this.mx >= 0 && this.my >= 0 && this.taglist[i].CheckActive(c, x, y); + if(a && a.sc > max_sc && (!frontsel || a.z <= 0)) { + active = a; + aindex = i; + active.tag = this.taglist[i]; + max_sc = a.sc; + } + } + this.active = active; + } + + this.txtOpt || (this.shadow && this.SetShadow(c)); + c.clearRect(0,0,cw,ch); + for(i = 0; i < l; ++i) { + if(!centreDrawn && tl[i].z <= 0) { + // run the centreFunc if the next tag is at the front + try { this.centreFunc(c, cw, ch, x, y); } + catch(e) { + alert(e); + // don't run it again + this.centreFunc = Nop; + } + centreDrawn = true; + } + + if(!(active && active.tag == tl[i] && active.PreDraw(c, tl[i], x, y))) + tl[i].Draw(c, x, y); + active && active.tag == tl[i] && active.PostDraw(c); + } + if(this.freezeActive && active) { + this.Freeze(); + } else { + this.UnFreeze(); + this.drawn = (l == this.listLength); + } + if(this.fixedCallback) { + this.fixedCallback(this,this.fixedCallbackTag); + this.fixedCallback = null; + } + fixed || this.Animate(cw, ch, tdelta); + active && active.LastDraw(c); + cv.style.cursor = active ? this.activeCursor : ''; + this.Tooltip(active,this.taglist[aindex]); + }; + TCproto.TooltipNone = function() { }; + TCproto.TooltipNative = function(active,tag) { + if(active) + this.canvas.title = tag && tag.title ? tag.title : ''; + else + this.canvas.title = this.ctitle; + }; + TCproto.SetTTDiv = function(title, tag) { + var tc = this, s = tc.ttdiv.style; + if(title != tc.ttdiv.innerHTML) + s.display = 'none'; + tc.ttdiv.innerHTML = title; + tag && (tag.title = tc.ttdiv.innerHTML); + if(s.display == 'none' && ! tc.tttimer) { + tc.tttimer = setTimeout(function() { + var p = AbsPos(tc.canvas.id); + s.display = 'block'; + s.left = p.x + tc.mx + 'px'; + s.top = p.y + tc.my + 24 + 'px'; + tc.tttimer = null; + }, tc.tooltipDelay); + } + }; + TCproto.TooltipDiv = function(active,tag) { + if(active && tag && tag.title) { + this.SetTTDiv(tag.title, tag); + } else if(!active && this.mx != -1 && this.my != -1 && this.ctitle.length) { + this.SetTTDiv(this.ctitle); + } else { + this.ttdiv.style.display = 'none'; + } + }; + TCproto.Transform = function(tc, p, y) { + if(p || y) { + var sp = sin(p), cp = cos(p), sy = sin(y), cy = cos(y), + ym = new Matrix([cy,0,sy, 0,1,0, -sy,0,cy]), + pm = new Matrix([1,0,0, 0,cp,-sp, 0,sp,cp]); + tc.transform = tc.transform.mul(ym.mul(pm)); + } + }; + TCproto.AnimateFixed = function() { + var fa, t1, angle, m, d; + if(this.fadeIn) { + t1 = TimeNow() - this.startTime; + if(t1 >= this.fadeIn) { + this.fadeIn = 0; + this.fixedAlpha = 1; + } else { + this.fixedAlpha = t1 / this.fadeIn; + } + } + if(this.fixedAnim) { + if(!this.fixedAnim.transform) + this.fixedAnim.transform = this.transform; + fa = this.fixedAnim, t1 = TimeNow() - fa.t0, angle = fa.angle, + m, d = this.animTiming(fa.t, t1); + this.transform = fa.transform; + if(t1 >= fa.t) { + this.fixedCallbackTag = fa.tag; + this.fixedCallback = fa.cb; + this.fixedAnim = this.yaw = this.pitch = 0; + } else { + angle *= d; + } + m = Matrix.Rotation(angle, fa.axis); + this.transform = this.transform.mul(m); + return (this.fixedAnim != 0); + } + return false; + }; + TCproto.AnimatePosition = function(w, h, t) { + var tc = this, x = tc.mx, y = tc.my, s, r; + if(!tc.frozen && x >= 0 && y >= 0 && x < w && y < h) { + s = tc.maxSpeed, r = tc.reverse ? -1 : 1; + tc.lx || (tc.yaw = ((x * 2 * s / w) - s) * r * t); + tc.ly || (tc.pitch = ((y * 2 * s / h) - s) * -r * t); + tc.initial = null; + } else if(!tc.initial) { + if(tc.frozen && !tc.freezeDecel) + tc.yaw = tc.pitch = 0; + else + tc.Decel(tc); + } + this.Transform(tc, tc.pitch, tc.yaw); + }; + TCproto.AnimateDrag = function(w, h, t) { + var tc = this, rs = 100 * t * tc.maxSpeed / tc.max_radius / tc.zoom; + if(tc.dx || tc.dy) { + tc.lx || (tc.yaw = tc.dx * rs / tc.stretchX); + tc.ly || (tc.pitch = tc.dy * -rs / tc.stretchY); + tc.dx = tc.dy = 0; + tc.initial = null; + } else if(!tc.initial) { + tc.Decel(tc); + } + this.Transform(tc, tc.pitch, tc.yaw); + }; + TCproto.Freeze = function() { + if(!this.frozen) { + this.preFreeze = [this.yaw, this.pitch]; + this.frozen = 1; + this.drawn = 0; + } + }; + TCproto.UnFreeze = function() { + if(this.frozen) { + this.yaw = this.preFreeze[0]; + this.pitch = this.preFreeze[1]; + this.frozen = 0; + } + }; + TCproto.Decel = function(tc) { + var s = tc.minSpeed, ay = abs(tc.yaw), ap = abs(tc.pitch); + if(!tc.lx && ay > s) + tc.yaw = ay > tc.z0 ? tc.yaw * tc.decel : 0; + if(!tc.ly && ap > s) + tc.pitch = ap > tc.z0 ? tc.pitch * tc.decel : 0; + }; + TCproto.Zoom = function(r) { + this.z2 = this.z1 * (1/r); + this.drawn = 0; + }; + TCproto.Clicked = function(e) { + var a = this.active; + try { + if(a && a.tag) + if(this.clickToFront === false || this.clickToFront === null) + a.tag.Clicked(e); + else + this.TagToFront(a.tag, this.clickToFront, function() { + a.tag.Clicked(e); + }, true); + } catch(ex) { + } + }; + TCproto.Wheel = function(i) { + var z = this.zoom + this.zoomStep * (i ? 1 : -1); + this.zoom = min(this.zoomMax,max(this.zoomMin,z)); + this.Zoom(this.zoom); + }; + TCproto.BeginDrag = function(e) { + this.down = EventXY(e, this.canvas); + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + }; + TCproto.Drag = function(e, p) { + if(this.dragControl && this.down) { + var t2 = this.dragThreshold * this.dragThreshold, + dx = p.x - this.down.x, dy = p.y - this.down.y; + if(this.dragging || dx * dx + dy * dy > t2) { + this.dx = dx; + this.dy = dy; + this.dragging = 1; + this.down = p; + } + } + return this.dragging; + }; + TCproto.EndDrag = function() { + var res = this.dragging; + this.dragging = this.down = null; + return res; + }; + function PinchDistance(e) { + var t1 = e.targetTouches[0], t2 = e.targetTouches[1]; + return sqrt(pow(t2.pageX - t1.pageX, 2) + pow(t2.pageY - t1.pageY, 2)); + } + TCproto.BeginPinch = function(e) { + this.pinched = [PinchDistance(e), this.zoom]; + e.preventDefault && e.preventDefault(); + }; + TCproto.Pinch = function(e) { + var z, d, p = this.pinched; + if(!p) + return; + d = PinchDistance(e); + z = p[1] * d / p[0]; + this.zoom = min(this.zoomMax,max(this.zoomMin,z)); + this.Zoom(this.zoom); + }; + TCproto.EndPinch = function(e) { + this.pinched = null; + }; + TCproto.Pause = function() { this.paused = true; }; + TCproto.Resume = function() { this.paused = false; }; + TCproto.SetSpeed = function(i) { + this.initial = i; + this.yaw = i[0] * this.maxSpeed; + this.pitch = i[1] * this.maxSpeed; + }; + TCproto.FindTag = function(t) { + if(!Defined(t)) + return null; + Defined(t.index) && (t = t.index); + if(!IsObject(t)) + return this.taglist[t]; + var srch, tgt, i; + if(Defined(t.id)) + srch = 'id', tgt = t.id; + else if(Defined(t.text)) + srch = 'innerText', tgt = t.text; + + for(i = 0; i < this.taglist.length; ++i) + if(this.taglist[i].a[srch] == tgt) + return this.taglist[i]; + }; + TCproto.RotateTag = function(tag, lt, lg, time, callback, active) { + var t = tag.Calc(this.transform, 1), v1 = new Vector(t.x, t.y, t.z), + v2 = MakeVector(lg, lt), angle = v1.angle(v2), u = v1.cross(v2).unit(); + if(angle == 0) { + this.fixedCallbackTag = tag; + this.fixedCallback = callback; + } else { + this.fixedAnim = { + angle: -angle, + axis: u, + t: time, + t0: TimeNow(), + cb: callback, + tag: tag, + active: active + }; + } + }; + TCproto.TagToFront = function(tag, time, callback, active) { + this.RotateTag(tag, 0, 0, time, callback, active); + }; + TagCanvas.Start = function(id,l,o) { + TagCanvas.Delete(id); + TagCanvas.tc[id] = new TagCanvas(id,l,o); + }; + function tccall(f,id) { + TagCanvas.tc[id] && TagCanvas.tc[id][f](); + } + TagCanvas.Linear = function(t, t0) { return t0 / t; } + TagCanvas.Smooth = function(t, t0) { return 0.5 - cos(t0 * Math.PI / t) / 2; } + TagCanvas.Pause = function(id) { tccall('Pause',id); }; + TagCanvas.Resume = function(id) { tccall('Resume',id); }; + TagCanvas.Reload = function(id) { tccall('Load',id); }; + TagCanvas.Update = function(id) { tccall('Update',id); }; + TagCanvas.SetSpeed = function(id, speed) { + if(IsObject(speed) && TagCanvas.tc[id] && + !isNaN(speed[0]) && !isNaN(speed[1])) { + TagCanvas.tc[id].SetSpeed(speed); + return true; + } + return false; + }; + TagCanvas.TagToFront = function(id, options) { + if(!IsObject(options)) + return false; + options.lat = options.lng = 0; + return TagCanvas.RotateTag(id, options); + }; + TagCanvas.RotateTag = function(id, options) { + if(IsObject(options) && TagCanvas.tc[id]) { + if(isNaN(options.time)) + options.time = 500; + var tt = TagCanvas.tc[id].FindTag(options); + if(tt) { + TagCanvas.tc[id].RotateTag(tt, options.lat, options.lng, + options.time, options.callback, options.active); + return true; + } + } + return false; + }; + TagCanvas.Delete = function(id) { + var i, c; + if(handlers[id]) { + c = doc.getElementById(id); + if(c) { + for(i = 0; i < handlers[id].length; ++i) + RemoveHandler(handlers[id][i][0], handlers[id][i][1], c); + } + } + delete handlers[id]; + delete TagCanvas.tc[id]; + }; + TagCanvas.NextFrameRAF = function() { + requestAnimationFrame(DrawCanvasRAF); + }; + TagCanvas.NextFrameTimeout = function(iv) { + setTimeout(DrawCanvas, iv); + }; + TagCanvas.tc = {}; + TagCanvas.options = { + z1: 20000, + z2: 20000, + z0: 0.0002, + freezeActive: false, + freezeDecel: false, + activeCursor: 'pointer', + pulsateTo: 1, + pulsateTime: 3, + reverse: false, + depth: 0.5, + maxSpeed: 0.05, + minSpeed: 0, + decel: 0.95, + interval: 20, + minBrightness: 0.1, + maxBrightness: 1, + outlineColour: '#ffff99', + outlineThickness: 2, + outlineOffset: 5, + outlineMethod: 'outline', + outlineRadius: 0, + textColour: '#ff99ff', + textHeight: 15, + textFont: 'Helvetica, Arial, sans-serif', + shadow: '#000', + shadowBlur: 0, + shadowOffset: [0,0], + initial: null, + hideTags: true, + zoom: 1, + weight: false, + weightMode: 'size', + weightFrom: null, + weightSize: 1, + weightSizeMin: null, + weightSizeMax: null, + weightGradient: {0:'#f00', 0.33:'#ff0', 0.66:'#0f0', 1:'#00f'}, + txtOpt: true, + txtScale: 2, + frontSelect: false, + wheelZoom: true, + zoomMin: 0.3, + zoomMax: 3, + zoomStep: 0.05, + shape: 'sphere', + lock: null, + tooltip: null, + tooltipDelay: 300, + tooltipClass: 'tctooltip', + radiusX: 1, + radiusY: 1, + radiusZ: 1, + stretchX: 1, + stretchY: 1, + offsetX: 0, + offsetY: 0, + shuffleTags: false, + noSelect: false, + noMouse: false, + imageScale: 1, + paused: false, + dragControl: false, + dragThreshold: 4, + centreFunc: Nop, + splitWidth: 0, + animTiming: 'Smooth', + clickToFront: false, + fadeIn: 0, + padding: 0, + bgColour: null, + bgRadius: 0, + bgOutline: null, + bgOutlineThickness: 0, + outlineIncrease: 4, + textAlign: 'centre', + textVAlign: 'middle', + imageMode: null, + imagePosition: null, + imagePadding: 2, + imageAlign: 'centre', + imageVAlign: 'middle', + noTagsMessage: true, + centreImage: null, + pinchZoom: false, + repeatTags: 0, + minTags: 0, + imageRadius: 0, + scrollPause: false, + outlineDash: 0, + outlineDashSpace: 0, + outlineDashSpeed: 1 + }; + for(i in TagCanvas.options) TagCanvas[i] = TagCanvas.options[i]; + window.TagCanvas = TagCanvas; + jQuery.fn.tagcanvas = function(options, lctr) { + var fn = { + pause: function() { + $(this).each(function() { tccall('Pause',$(this)[0].id); }); + }, + resume: function() { + $(this).each(function() { tccall('Resume',$(this)[0].id); }); + }, + reload: function() { + $(this).each(function() { tccall('Load',$(this)[0].id); }); + }, + update: function() { + $(this).each(function() { tccall('Update',$(this)[0].id); }); + }, + tagtofront: function() { + $(this).each(function() { TagCanvas.TagToFront($(this)[0].id, lctr); }); + }, + rotatetag: function() { + $(this).each(function() { TagCanvas.RotateTag($(this)[0].id, lctr); }); + }, + 'delete': function() { + $(this).each(function() { TagCanvas.Delete($(this)[0].id); }); + }, + setspeed: function() { + $(this).each(function() { TagCanvas.SetSpeed($(this)[0].id, lctr); }); + } + }; + if(typeof options == 'string' && fn[options]) { + fn[options].apply(this); + return this; + } else { + TagCanvas.jquery = 1; + $(this).each(function() { TagCanvas.Start($(this)[0].id, lctr, options); }); + return TagCanvas.started; + } + }; + + // set a flag for when the window has loaded + AddHandler('load',function(){TagCanvas.loaded=1},window); + })(jQuery); \ No newline at end of file diff --git a/application/templates/base.html b/application/templates/base.html index 91958df..003ca2d 100644 --- a/application/templates/base.html +++ b/application/templates/base.html @@ -8,6 +8,8 @@ {% block title %}Seitenname{% endblock %} + {% include "taggit_templatetags2/tagcanvas_include_js_static.html" %} + {% include_tagcanvas 'tag-cloud' 'width px' 'height px' 'post_list.html' 'application' %} @@ -90,6 +92,7 @@ + diff --git a/application/templates/post_list.html b/application/templates/post_list.html index 0ba5587..ec323db 100644 --- a/application/templates/post_list.html +++ b/application/templates/post_list.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} {% block content %} {% for post in posts %} +{% extends 'base.html' %} {% block content %} {% for post in posts %} {% load taggit_templatetags2_tags %}
{{ post.published_date }} @@ -8,7 +8,7 @@

{{ post.text|linebreaks }}

- {% for tag in post.tags.all %} + {% for tag in post.tags.all %} {{ tag.name }}, {% endfor %}

@@ -17,4 +17,14 @@

-{% endfor %} {% endblock %} \ No newline at end of file +{% endfor %} +{% get_tagcloud as tags for 'application' %} +
+
    + {% for tag in tags %} +
  • {{tag}} ({{tag.num_times}})
  • + {% endfor %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/mysite/settings.py b/mysite/settings.py index cf98f33..78bbed9 100644 --- a/mysite/settings.py +++ b/mysite/settings.py @@ -45,6 +45,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'application', 'taggit', + 'taggit_templatetags2', ] MIDDLEWARE = [ diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/DESCRIPTION.rst b/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/DESCRIPTION.rst deleted file mode 100644 index c810a02..0000000 --- a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,45 +0,0 @@ -Django is a high-level Python Web framework that encourages rapid development -and clean, pragmatic design. Thanks for checking it out. - -All documentation is in the "``docs``" directory and online at -https://docs.djangoproject.com/en/stable/. If you're just getting started, -here's how we recommend you read the docs: - -* First, read ``docs/intro/install.txt`` for instructions on installing Django. - -* Next, work through the tutorials in order (``docs/intro/tutorial01.txt``, - ``docs/intro/tutorial02.txt``, etc.). - -* If you want to set up an actual deployment server, read - ``docs/howto/deployment/index.txt`` for instructions. - -* You'll probably want to read through the topical guides (in ``docs/topics``) - next; from there you can jump to the HOWTOs (in ``docs/howto``) for specific - problems, and check out the reference (``docs/ref``) for gory details. - -* See ``docs/README`` for instructions on building an HTML version of the docs. - -Docs are updated rigorously. If you find any problems in the docs, or think -they should be clarified in any way, please take 30 seconds to fill out a -ticket here: https://code.djangoproject.com/newticket - -To get more help: - -* Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang out - there. Read the archives at https://botbot.me/freenode/django/. - -* Join the django-users mailing list, or read the archives, at - https://groups.google.com/group/django-users. - -To contribute to Django: - -* Check out https://docs.djangoproject.com/en/dev/internals/contributing/ for - information about getting involved. - -To run Django's test suite: - -* Follow the instructions in the "Unit tests" section of - ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at - https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests - - diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/metadata.json b/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/metadata.json deleted file mode 100644 index 2bd9b8d..0000000 --- a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules"], "description_content_type": "UNKNOWN", "extensions": {"python.commands": {"wrap_console": {"django-admin": "django.core.management:execute_from_command_line"}}, "python.details": {"contacts": [{"email": "foundation@djangoproject.com", "name": "Django Software Foundation", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://www.djangoproject.com/"}}, "python.exports": {"console_scripts": {"django-admin": "django.core.management:execute_from_command_line"}}}, "extras": ["argon2", "bcrypt"], "generator": "bdist_wheel (0.30.0)", "license": "BSD", "metadata_version": "2.0", "name": "Django", "project_url": "Documentation, https://docs.djangoproject.com/", "requires_python": ">=3.4", "run_requires": [{"extra": "argon2", "requires": ["argon2-cffi (>=16.1.0)"]}, {"extra": "bcrypt", "requires": ["bcrypt"]}, {"requires": ["pytz"]}], "summary": "A high-level Python Web framework that encourages rapid development and clean, pragmatic design.", "version": "2.0.6"} \ No newline at end of file diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/INSTALLER b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/INSTALLER similarity index 100% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/INSTALLER rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/INSTALLER diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/LICENSE.txt b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/LICENSE.txt similarity index 100% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/LICENSE.txt rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/LICENSE.txt diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/METADATA b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/METADATA similarity index 93% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/METADATA rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/METADATA index 2d9fce1..0f65ea1 100644 --- a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/METADATA +++ b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.0 +Metadata-Version: 2.1 Name: Django -Version: 2.0.6 +Version: 2.1 Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design. Home-page: https://www.djangoproject.com/ Author: Django Software Foundation @@ -10,7 +10,6 @@ Project-URL: Documentation, https://docs.djangoproject.com/ Project-URL: Funding, https://www.djangoproject.com/fundraising/ Project-URL: Source, https://github.com/django/django Project-URL: Tracker, https://code.djangoproject.com/ -Description-Content-Type: UNKNOWN Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Web Environment @@ -20,16 +19,18 @@ Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content Classifier: Topic :: Internet :: WWW/HTTP :: WSGI Classifier: Topic :: Software Development :: Libraries :: Application Frameworks Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.4 +Requires-Python: >=3.5 +Provides-Extra: argon2 +Provides-Extra: bcrypt Requires-Dist: pytz Provides-Extra: argon2 Requires-Dist: argon2-cffi (>=16.1.0); extra == 'argon2' @@ -64,7 +65,8 @@ ticket here: https://code.djangoproject.com/newticket To get more help: * Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang out - there. Read the archives at https://botbot.me/freenode/django/. + there. Read the archives at https://botbot.me/freenode/django/. See + https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're new to IRC. * Join the django-users mailing list, or read the archives, at https://groups.google.com/group/django-users. diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/RECORD b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/RECORD similarity index 82% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/RECORD rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/RECORD index d0923a7..bc02537 100644 --- a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/RECORD +++ b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/RECORD @@ -1,21 +1,19 @@ ../../../bin/django-admin.py,sha256=OOv0QKYqhDD2O4X3HQx3gFFQ-CC7hSLnWuzZnQXeiiA,115 -Django-2.0.6.dist-info/DESCRIPTION.rst,sha256=NuT5TeUtyz-nHLVm7XKxzTHE7a4pr2mUagKOwr2Y39c,1856 -Django-2.0.6.dist-info/LICENSE.txt,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 -Django-2.0.6.dist-info/METADATA,sha256=d0FbE-K1tZ0ACGH9SNcL3FDrVzC-0GsK2fXaO4hyqKc,3495 -Django-2.0.6.dist-info/RECORD,, -Django-2.0.6.dist-info/WHEEL,sha256=8Lm45v9gcYRm70DrgFGVe4WsUtUMi1_0Tso1hqPGMjA,92 -Django-2.0.6.dist-info/entry_points.txt,sha256=daYW_s0r8Z5eiRi_bNU6vodHqVUXQWzm-DHFOQHTV2Q,83 -Django-2.0.6.dist-info/metadata.json,sha256=8WPyvSjB0-G4AepSx6HCTi7xIH_c6SQM6CYcfXSZ7sU,1789 -Django-2.0.6.dist-info/top_level.txt,sha256=V_goijg9tfO20ox_7os6CcnPvmBavbxu46LpJiNLwjA,7 -django/__init__.py,sha256=st-FmvEsU-DJ-114qWA76p7z1Wsi0Suowmc4h5Q11NU,799 +Django-2.1.dist-info/LICENSE.txt,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 +Django-2.1.dist-info/METADATA,sha256=zCFRO2T3RUVshBb8Xea56ZJJ2okC685Hm6vyqvyyMaQ,3586 +Django-2.1.dist-info/RECORD,, +Django-2.1.dist-info/WHEEL,sha256=NzFAKnL7g-U64xnS1s5e3mJnxKpOTeOtlXdFwS9yNXI,92 +Django-2.1.dist-info/entry_points.txt,sha256=daYW_s0r8Z5eiRi_bNU6vodHqVUXQWzm-DHFOQHTV2Q,83 +Django-2.1.dist-info/top_level.txt,sha256=V_goijg9tfO20ox_7os6CcnPvmBavbxu46LpJiNLwjA,7 +django/__init__.py,sha256=N1ZnquwnyyeLBx5h2B3BRvzcZwHX8ulLUWKQTFEt3kk,799 django/__main__.py,sha256=9a5To1vQXqf2Jg_eh8nLvIc0GXmDjEXv4jE1QZEqBFk,211 -django/shortcuts.py,sha256=QJjkaXsj7FAt81SNxwee9mv4FmIFJtWx4Zi5B_9AbgQ,5577 +django/shortcuts.py,sha256=MA8fTTdbsz58DZV7_aD7ateNi9H_dYwobxHMAevyf94,5588 django/apps/__init__.py,sha256=t0F4yceU4SbybMeWBvpuE6RsGaENmQCVbNSdSuXiEMs,90 django/apps/config.py,sha256=meyWjXLt0qgPfqM14KGaWsZakbga-wuHXsu2gkHyQ-s,8047 -django/apps/registry.py,sha256=rvRxqCTbLRjxxqPcV5Sm2D5D7rmtFyzuDbBEKU4z5xk,17220 +django/apps/registry.py,sha256=Wy9qpGecWZFSf38hnekcdIoh3QNl2WUw2IHDkF-ysGY,17470 django/bin/django-admin.py,sha256=FWxg_nmLPNGqXwSMw0QvZsKNQsiVBHrSsNfgALIXqQ0,128 -django/conf/__init__.py,sha256=mFe5TxmoKTgqXEDRjqLOhwBQPz-TNEjQQakBcpVzkbY,7437 -django/conf/global_settings.py,sha256=QMugwAHe6GGHqpxV9M8eKhn_iLlRSnpymfIsYhc3zgw,22040 +django/conf/__init__.py,sha256=B6lGrTxbKIzI7v8Fo3DEtfcg3N6cbuO5BePtuOodJfI,7469 +django/conf/global_settings.py,sha256=H2oEivtGk5k2-yaWRlQfN3F9xMpXVoRPUThEGOXPlWc,21949 django/conf/app_template/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/app_template/admin.py-tpl,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63 django/conf/app_template/apps.py-tpl,sha256=lZ1k1B3K5ntPWSn-CSd0cvDuijeoQE43wztE0tXyeMQ,114 @@ -34,8 +32,8 @@ django/conf/locale/ast/LC_MESSAGES/django.mo,sha256=kmN-K4eQG_EvU565NnThO5qSkfcI django/conf/locale/ast/LC_MESSAGES/django.po,sha256=WnsaXWzvgTohaW7h5L6H5FG7QM8y5FifzB3GaahFLQY,23619 django/conf/locale/az/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/az/formats.py,sha256=qAxKv_-_ubsfH4qdtvvgCqDirBh9TnuemaLzdC5D5-s,1189 -django/conf/locale/az/LC_MESSAGES/django.mo,sha256=FrJmdBMwFu2tX12djk8B_QfPQKwwL7Zkyx-K6Ua-6RA,19457 -django/conf/locale/az/LC_MESSAGES/django.po,sha256=ZyqOTC22KTFhIKGWXqBtxExu8cMA-x8Ir34Oph3R_hw,24955 +django/conf/locale/az/LC_MESSAGES/django.mo,sha256=qgKIvWOsZgrws_y5_LeQ6lBrpg34xjfKWba8kgnpvuA,26359 +django/conf/locale/az/LC_MESSAGES/django.po,sha256=064CQ_GY3I6QV3PIfDc27Puo9-dQatwcFGI1QEw5Ky0,28395 django/conf/locale/be/LC_MESSAGES/django.mo,sha256=E-Qz-U_GunEhxGnOSbb93aKkY2-QWJkd5OwjYTgiiI4,34765 django/conf/locale/be/LC_MESSAGES/django.po,sha256=sHrLo3kO2dzfmlV743CH9KELtgRbXroQg-qcnJgAa_c,37039 django/conf/locale/bg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 @@ -58,24 +56,24 @@ django/conf/locale/ca/LC_MESSAGES/django.mo,sha256=h7GJelxKdhaHwVo7tsVhBfnkOOiN6 django/conf/locale/ca/LC_MESSAGES/django.po,sha256=343ow5vc51Tlljd1wuJGJyDT2M1eKBsKUWAnCOVW47g,26986 django/conf/locale/cs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/cs/formats.py,sha256=tlbaEQ994P6Bj-UliXagMW4Yu1D_neGspDOaQLL5HlU,1635 -django/conf/locale/cs/LC_MESSAGES/django.mo,sha256=_tyVOKWllAydQdoAGGskfz44moFiDwAtSKYgMC0M44c,27244 -django/conf/locale/cs/LC_MESSAGES/django.po,sha256=leS_OtX7EDSbzkCpr_knAq2X9qv4BZ8XvunUVY0mXSE,29431 +django/conf/locale/cs/LC_MESSAGES/django.mo,sha256=a1wHc5-JaZhKKJYHTwxdquLSYRFzDTprP7fFYCopxK4,28203 +django/conf/locale/cs/LC_MESSAGES/django.po,sha256=ZgT2rDSQdzS7cHBFQRCnEdcvU1eYj_Ql1VnEg5FeUPI,30632 django/conf/locale/cy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/cy/formats.py,sha256=WKp8F3IiISrgxXItSpIB1c0a8xFY8CsEzqXMQRYbsPQ,1755 django/conf/locale/cy/LC_MESSAGES/django.mo,sha256=CJL04VXl3vjRWff93fzWDLeEJPw_Il7G5YzjCHdZZok,22280 django/conf/locale/cy/LC_MESSAGES/django.po,sha256=C14r9gUOnCV5fNb4YZ-NN-fnLlZl1xHBP3H0tu-LgRk,27045 django/conf/locale/da/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/da/formats.py,sha256=YQaL8Y3H0AOPvJzxwiDXwtqrbY0EyHNGtfMu4BGha0Y,939 -django/conf/locale/da/LC_MESSAGES/django.mo,sha256=TmTYD1aOV7PmaGrUIbIwjeqqrQgQNjKedS3NxpqRC2U,25678 -django/conf/locale/da/LC_MESSAGES/django.po,sha256=QaQqyb-gpl6QMcPn8rtD8iYI5JyTis8JG9W_K9KyfOU,27723 +django/conf/locale/da/LC_MESSAGES/django.mo,sha256=MXX8re-4Luse-QeCJXSLmcmXD7wCM4sSceqW5fc9lS8,25950 +django/conf/locale/da/LC_MESSAGES/django.po,sha256=KeD60dPA_wXlTHI9QDiBDDSlfaKzL_zgSgGtbq8Hyrw,28039 django/conf/locale/de/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/de/formats.py,sha256=yPGP3kCbQCU0VY3P-Kuxx2yl7eWFMsMtGu5xzDdr6jo,1033 -django/conf/locale/de/LC_MESSAGES/django.mo,sha256=b6y542k7Nq5UxezQr9fZzciSW4s46wYqTwL7B-suGgg,27098 -django/conf/locale/de/LC_MESSAGES/django.po,sha256=2QIe6vGtkh8a-L0nY_sL_wO_nBJ8-MgEuylz0hPPpfs,29126 +django/conf/locale/de/LC_MESSAGES/django.mo,sha256=1RE6CWFy2UhRLh-cbYaonePyLk0Y1izQMTcxljtLP8Q,27131 +django/conf/locale/de/LC_MESSAGES/django.po,sha256=ra5FD3L3gyj9Jrc605Qd-xJTP3SHmxXJN7tbk5PdlZU,29417 django/conf/locale/de_CH/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/de_CH/formats.py,sha256=a6uQQxZrtRAd_8GesmMEjWa-quvjBq3gJ5Ka17sy1yM,1377 -django/conf/locale/dsb/LC_MESSAGES/django.mo,sha256=raMTVS7gVWyNPMl3w-nkNpJ7T6IYIhTiS7ynxGhyiLY,28398 -django/conf/locale/dsb/LC_MESSAGES/django.po,sha256=q0riWNA5IQxizAtGahGHeTl6SUwweOCGD8EXyLaHM_8,30587 +django/conf/locale/dsb/LC_MESSAGES/django.mo,sha256=a8aOMeBAiDKD28th2H1UeXNsZW9dBwy-jczy7S7sxkM,28658 +django/conf/locale/dsb/LC_MESSAGES/django.po,sha256=XTFOpSoSdVO0qSOTQ2T3bgfpSowQ_t7gOglfl3S1W54,30891 django/conf/locale/el/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/el/formats.py,sha256=0WF_ISbYSN0NtPuOk1sFsYITCPb3IG2jEaAxVSXLaqU,1385 django/conf/locale/el/LC_MESSAGES/django.mo,sha256=qjPNmi81vdMnfgpvNVjv6QI2CslBIlMq9dKKaT17D3k,32036 @@ -83,7 +81,7 @@ django/conf/locale/el/LC_MESSAGES/django.po,sha256=AiuSDxNIfaeItrzgk46v88hfwdEqb django/conf/locale/en/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/en/formats.py,sha256=HImytl2xU0ui_bdhmp6GZWLqfHIRf_1iidtajlfgh7g,1748 django/conf/locale/en/LC_MESSAGES/django.mo,sha256=mVpSj1AoAdDdW3zPZIg5ZDsDbkSUQUMACg_BbWHGFig,356 -django/conf/locale/en/LC_MESSAGES/django.po,sha256=WROjQo_CcfZJGOtsH-Ep0CTxXdMWYrzNhD9IXMcoa30,28066 +django/conf/locale/en/LC_MESSAGES/django.po,sha256=5CvSHAp3eXOJbPSqRgUf9hsHext2mOT4HykywLqvEhs,28372 django/conf/locale/en_AU/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/en_AU/formats.py,sha256=TnVSM6iUeAMqyfDNLnjGKwBiziVA7gwvokERm549Zzw,2050 django/conf/locale/en_AU/LC_MESSAGES/django.mo,sha256=vx8-wkZxPq-WseGghwXuLAK5MdDsRScKnrgBATVarwc,16288 @@ -94,22 +92,22 @@ django/conf/locale/en_GB/LC_MESSAGES/django.mo,sha256=whAV7H3YTMcdt-gFyKY5naykTa django/conf/locale/en_GB/LC_MESSAGES/django.po,sha256=vpqOmBh0ccf7P5-lcwFgxUhCJw35BWi39aALjmEa5nY,22060 django/conf/locale/eo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/eo/formats.py,sha256=rNeBMpv6p-eJSzdZvTyGuDDDIm3xY7FKsEpeyFZ05p0,2268 -django/conf/locale/eo/LC_MESSAGES/django.mo,sha256=Cny_cw42oJGl_piAIKptaEwark0ExSpRp0ILqgpxYvg,23484 -django/conf/locale/eo/LC_MESSAGES/django.po,sha256=ZhItCrUGbrSYmHYwcnbvcRPo6-BgqupFvRpPhXFEa9s,26780 +django/conf/locale/eo/LC_MESSAGES/django.mo,sha256=ZXtLDzsZue742yLN-FUW4-eQeSqSpzHykT5ktbXPIK4,25987 +django/conf/locale/eo/LC_MESSAGES/django.po,sha256=y2xBy27_lKHWCH4EkKw_aXo-UYPyfbAnFW6jce8Ah30,28117 django/conf/locale/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/es/formats.py,sha256=xks_4TjYTSGyz9cIYaE8OM3wbueP3ooM2QTsqNPOMF8,947 django/conf/locale/es/LC_MESSAGES/django.mo,sha256=6Ky02Z4XSO36xG1qVcJ1e8Pi44EM6xGGbkzoOyozzS8,26351 django/conf/locale/es/LC_MESSAGES/django.po,sha256=aNH_N2BZmk8ysiPgD_AQcPPoZ7npDsbiFVPITX8UDfg,29080 django/conf/locale/es_AR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/es_AR/formats.py,sha256=vhHFN4lkzOQARRXhgt5s8M7ITTLZMMLVwbjby-Y_UEk,933 -django/conf/locale/es_AR/LC_MESSAGES/django.mo,sha256=PnnKHPCCvrZ8A0jppS_AqMECxrAosQgjb58M0qY6-BI,26824 -django/conf/locale/es_AR/LC_MESSAGES/django.po,sha256=5_DV6HciuleRIhUUbVVh6Y94hQOZO2sCkxd7eNXpDo4,28730 +django/conf/locale/es_AR/LC_MESSAGES/django.mo,sha256=ciEXInlEYqONclof_HUW06Mgp77or7nCIa5hvtVezdw,27102 +django/conf/locale/es_AR/LC_MESSAGES/django.po,sha256=ev7Oj1UkvLUzkPCOpY3cfZvjzBwJAfZMzTBY_O6NxVs,29052 django/conf/locale/es_CO/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/es_CO/formats.py,sha256=kvTsKSaK7oDWK6a-SeO3V3e__64SjtDBMWoq0ouVDJ4,700 django/conf/locale/es_CO/LC_MESSAGES/django.mo,sha256=bXSa4kJtVu9xeQOFgP7RTfirJgEynWk4R32KSKjEezM,22791 django/conf/locale/es_CO/LC_MESSAGES/django.po,sha256=8X_pdt0Amtvbw3AZUE_fKMy20ItYR-zS1caqnHxKjIE,26533 django/conf/locale/es_MX/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_MX/formats.py,sha256=vrMMOSU8lh48jeVc1y69jdgSSI-AFLXp5-UbmH7zT0w,824 +django/conf/locale/es_MX/formats.py,sha256=tny9CPrJJV5qRJ_myuiQ8fMfg3fnNtv3q6aOSxLdK0E,799 django/conf/locale/es_MX/LC_MESSAGES/django.mo,sha256=0WYdCPgyC0XpF8to_bbyw__IRA5LGj8izt8DoCH1m6I,15095 django/conf/locale/es_MX/LC_MESSAGES/django.po,sha256=rwJvZGP-6uQX1bvQSW4pVE4y4dfriVZOCfkWRzC9QBI,23042 django/conf/locale/es_NI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 @@ -128,16 +126,16 @@ django/conf/locale/eu/LC_MESSAGES/django.mo,sha256=bH7DIgqi-tCWvWs2z7KyFxsndRFHR django/conf/locale/eu/LC_MESSAGES/django.po,sha256=UbhLFHjW-nFTQjXdzD8G6EzSTZfeWtRVBX4LlEQ9fKc,28134 django/conf/locale/fa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/fa/formats.py,sha256=sZyCeIQAo6HCtKr5t6W6y8Ll_Y5Yh0zXuy9qz5CaUz8,720 -django/conf/locale/fa/LC_MESSAGES/django.mo,sha256=q4Eww63ggp2Zj0Ski_GCnnURIUu9_Y6EofPfpw6lDM8,26023 -django/conf/locale/fa/LC_MESSAGES/django.po,sha256=BU_qdBlidEoBDUJRoBgzO85HF90s5ehfWLgJEpwC1Pc,29571 +django/conf/locale/fa/LC_MESSAGES/django.mo,sha256=AHXeAiBQZHQlqt7EyZ5HN9zCQYBQdcIWN0kyo9w9IX4,28049 +django/conf/locale/fa/LC_MESSAGES/django.po,sha256=i7V164NzbBtFajSXWgixvYRsL1zcHldY0jcV2ENfz2E,31463 django/conf/locale/fi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/fi/formats.py,sha256=bZW36V91AaMAp_xJURr2FWfEFGUnts7MBE3euHF8De0,1323 -django/conf/locale/fi/LC_MESSAGES/django.mo,sha256=5b6NAxHFOuETT9c5_XoLhy-q4bgubXo1HLpY_rYZ-08,23713 -django/conf/locale/fi/LC_MESSAGES/django.po,sha256=hdp0Z724jce_5FPmczkqnZ7mBVSt9Efaa8ldEfynNOs,27016 +django/conf/locale/fi/LC_MESSAGES/django.mo,sha256=bZYDwGGF7NHVu5-9POxWNjniTHKxHUdNQPgsQy6XZd0,25600 +django/conf/locale/fi/LC_MESSAGES/django.po,sha256=VzG-5J_WM6iZTUEYt8Os2bxIfgFunaRebtg6B8keT0M,28098 django/conf/locale/fr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/fr/formats.py,sha256=S3BK2FbOdZdUUsPp8IHMb4GpDm_ctIIE1z4ZX3L7F1I,1387 -django/conf/locale/fr/LC_MESSAGES/django.mo,sha256=x_IT_zrxvWvvPvii4RI21VR-GqUodZRKad00NnOhOKw,27235 -django/conf/locale/fr/LC_MESSAGES/django.po,sha256=AI2wbCH2n1HKqnD5x4I1YBQqCoGTZQRG4MtZ8o-YSD8,29318 +django/conf/locale/fr/LC_MESSAGES/django.mo,sha256=jpNS0EhjAy6qJvLVfC_tK8yPZn9yGdfOoQ7gIyDJzJw,27558 +django/conf/locale/fr/LC_MESSAGES/django.po,sha256=29jN8nCqYmF6NbV78rJbpp357YLktwAqSPMAOLxdQAQ,29690 django/conf/locale/fy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/fy/formats.py,sha256=-wHp-HFUatmTEgGiQ7ekCMFMB8jpAQD4UC4mmhjRTL8,656 django/conf/locale/fy/LC_MESSAGES/django.mo,sha256=N13eBeS5pewXpx3yIAwiqB8ISjw-J2ku99dncOnz_lY,2525 @@ -148,8 +146,8 @@ django/conf/locale/ga/LC_MESSAGES/django.mo,sha256=Iw1dcW6tAoIFBgjFAWyfXH7lXz__f django/conf/locale/ga/LC_MESSAGES/django.po,sha256=Adp1JYadvckm_A4nlXZGM-hPAz_8bcdNw08BlEQNorQ,24000 django/conf/locale/gd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/gd/formats.py,sha256=4H_tXzwJIVIn9uxvszCWP9clNzY1dtCA9NC42JhvnBs,713 -django/conf/locale/gd/LC_MESSAGES/django.mo,sha256=CZ8l9P68RnGriRwFwq9zYZKAtomBej5OPw2hxSvMe9A,29409 -django/conf/locale/gd/LC_MESSAGES/django.po,sha256=V_jU770O0WkLt0eTOhlamk6seUSrVF5m2dnmN9o2NNs,31733 +django/conf/locale/gd/LC_MESSAGES/django.mo,sha256=6smT7_jkJK2oQTbvfi-crzN6nD5mX6LAlDduSUOd75A,29716 +django/conf/locale/gd/LC_MESSAGES/django.po,sha256=Y9d4Ry4CqmzIBgqrdAf3aoCVs6MuJxzEilxRROTsiYU,32089 django/conf/locale/gl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/gl/formats.py,sha256=BIDA50C9zjxUG7c-yFrdhxs0ROEP9OtJGCmCJDVtMbQ,755 django/conf/locale/gl/LC_MESSAGES/django.mo,sha256=sNVgEfEr_q6kth4MHJvBOZ34H-LkrkiFfjBsfmKA9fc,15342 @@ -166,32 +164,32 @@ django/conf/locale/hr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h django/conf/locale/hr/formats.py,sha256=VYQw5JpFK4GKOB9LhVcUSLprU7_66QP1JBu2XWss4L0,2039 django/conf/locale/hr/LC_MESSAGES/django.mo,sha256=Y5qAfjbubIQDJIbkJzw7tfzUsuIlEYUlsvGfvEYiFP8,24409 django/conf/locale/hr/LC_MESSAGES/django.po,sha256=iOHjAFvvu8OiBeh2IukSFXEkL-Uqr_dDEKKCAlvGtjo,28207 -django/conf/locale/hsb/LC_MESSAGES/django.mo,sha256=AB79njTDjO3ToclPozUN8j9bzzzuLF0Q99L_a6sIKfE,28149 -django/conf/locale/hsb/LC_MESSAGES/django.po,sha256=Hpt_bUavtGZtvNaJRcXllPNn7F011YjcRBzimr9Bm0s,30317 +django/conf/locale/hsb/LC_MESSAGES/django.mo,sha256=YZje1fqTOsgpBDmrGNPykntPniRt96-w4ResIi7yENI,28410 +django/conf/locale/hsb/LC_MESSAGES/django.po,sha256=-49l6dFHtSYlj2U8oJFe2vsxEYM9UmzDwqpE1rxgFyI,30622 django/conf/locale/hu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hu/formats.py,sha256=WSlkhX-1FPj0NuP_a_XmlCADrJZIRZ-xGmDhJ7M5O8w,1050 -django/conf/locale/hu/LC_MESSAGES/django.mo,sha256=b_P30VSZRI-9QTc8AqTk6qucg_axzcLHGebh3sFTwFU,26971 -django/conf/locale/hu/LC_MESSAGES/django.po,sha256=TUAoYIGuZlX45dkxIu-Yo-drlhn0otTLwN7WQvIfgfo,29023 +django/conf/locale/hu/formats.py,sha256=EP88XNWKZmuu94IPM_M_4vGK_E7AroAp4Tug7WEAV-k,1050 +django/conf/locale/hu/LC_MESSAGES/django.mo,sha256=95ZHZfPbsNNW0cx03YbPeNonIKfuyk7gikr97guOyJ8,27289 +django/conf/locale/hu/LC_MESSAGES/django.po,sha256=BW3mUi6smu9J9D0js_0d24XG4bmxsT-Es6mm2q8jy8s,29437 django/conf/locale/ia/LC_MESSAGES/django.mo,sha256=uctHDWY1qKSlNlcdaEGswjWkPYy3BDJawUbAfEddk4Y,23125 django/conf/locale/ia/LC_MESSAGES/django.po,sha256=ckopqh_kKLtaJC9upyGY4hh9NSkF-iHsZOm9sur4-A4,26641 django/conf/locale/id/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/id/formats.py,sha256=uwSpqmGF6Pyy3cnYEgyNH5m6ttoXNC_pofpbjqoAO_I,2068 -django/conf/locale/id/LC_MESSAGES/django.mo,sha256=LquE-13wxeTtSB_dlrw1yS_ISIRVgPs8Hc4jCiO6f64,25570 -django/conf/locale/id/LC_MESSAGES/django.po,sha256=ZYz5TdaWOlRz2ATG0I0hiL0OBVESgYCqIQSYBK1vJ_M,27495 +django/conf/locale/id/LC_MESSAGES/django.mo,sha256=J_mRvhqhpInzAdT9Gc5MgBzZLyfwIFzZvm9c2f_lIgU,25821 +django/conf/locale/id/LC_MESSAGES/django.po,sha256=w1JA3InkyVSaGdaDHK-UKLtDA79e-Z0sCN36p2O292g,27790 django/conf/locale/io/LC_MESSAGES/django.mo,sha256=1PUSoRgjcrjc8OHIvkjAAh0xtSkSaafGZuO6SYkx5CY,14965 django/conf/locale/io/LC_MESSAGES/django.po,sha256=aURK_SeTtqM8ko_kI_AM5jWyqKAb1iuqNvOKQ1GQ0SE,22892 django/conf/locale/is/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/is/formats.py,sha256=-OxThHQAWwCVrfVLDAkstCQUfaAHpbJhRPQlqZO_wGo,686 -django/conf/locale/is/LC_MESSAGES/django.mo,sha256=AvZcNA6n03-Rmw-EfkKGyhoOVvL3gankv6ejIp36-x8,24147 -django/conf/locale/is/LC_MESSAGES/django.po,sha256=kCl05ojMd_bNrU8pY-c-MynWqwvAX1EGjaHZ3_KXtlg,27444 +django/conf/locale/is/LC_MESSAGES/django.mo,sha256=WfIyHRukYAZE9PpWO_GERy5SFJJhBC8OorC0LswKeSs,24432 +django/conf/locale/is/LC_MESSAGES/django.po,sha256=ngP1mv25CJ29S7Mhx8EX7XANww71Ay-peyfQa1Pfs-U,27814 django/conf/locale/it/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/it/formats.py,sha256=coYr_ErN7oALN5ciqpRQcnb-xr3DFxjFpUSvaaoRhS8,2012 -django/conf/locale/it/LC_MESSAGES/django.mo,sha256=bxZBTLEDM9eaLX0rWzkFZNxpjbj14JH5ffm-SpYBPnA,26205 -django/conf/locale/it/LC_MESSAGES/django.po,sha256=9tNPsF-8oMThT1PHqUWloj6jVtXoDlCdQqsQnKHpGjc,28559 +django/conf/locale/it/LC_MESSAGES/django.mo,sha256=pj0tQeeDpyaZj2WnfnYj1kpf0MMgkfWY-oRkWCJjELE,26508 +django/conf/locale/it/LC_MESSAGES/django.po,sha256=ot0D2i1gIb17rtgNG4YBps-5hstTorFEPGdje2A8lOo,28999 django/conf/locale/ja/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/ja/formats.py,sha256=O84swETmvV3yxAifRl5iTADyg-ivY5rcXvtQz2B4rrI,727 -django/conf/locale/ja/LC_MESSAGES/django.mo,sha256=T-oPAFQxOIHVwFKexDJCjxd1FFY7og9xm6a5miD-c9I,28695 -django/conf/locale/ja/LC_MESSAGES/django.po,sha256=6u1bLwRfprLajk4Nlj_Me-7chvJH00YjfVHEoN2JqLE,30478 +django/conf/locale/ja/LC_MESSAGES/django.mo,sha256=UmE-yWFuBgvZLFabyOKrHFaRJcROXZq0QZ-3Zoy_pa4,28999 +django/conf/locale/ja/LC_MESSAGES/django.po,sha256=_ZMLkBHDxEMaFTTf-W-0IaA1BVBSY6SSxn6w1gWfiDk,30826 django/conf/locale/ka/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/ka/formats.py,sha256=dxWVYJ3XpryXgl8Kzp1he0AbIMNtvJStaGmmdFJim-E,2113 django/conf/locale/ka/LC_MESSAGES/django.mo,sha256=QaAqOu78WJU2RBnimMvT12_PkmNccLd4uqAGGrvRHnc,24781 @@ -210,18 +208,18 @@ django/conf/locale/kn/LC_MESSAGES/django.mo,sha256=Q0Wq7NKSYt5JqDWuV3gi4EPtqe-p3 django/conf/locale/kn/LC_MESSAGES/django.po,sha256=unXArg6NUEnyrEP8TYdeVK8CBtFzPJkianlfPgmzUzE,28177 django/conf/locale/ko/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/ko/formats.py,sha256=5-5Ht40mgk0covYgNoqZNi0yX1ldjC5VIGsZLb6CF9E,2253 -django/conf/locale/ko/LC_MESSAGES/django.mo,sha256=9E2l0RcKrs_ZaDEWDsv_xmzInDNqcTJ_-siiZ1zMVNc,27093 -django/conf/locale/ko/LC_MESSAGES/django.po,sha256=R3v5em2G224D6MWLdYf8EoNnapXOsEb9FBPPzWTJikY,29166 +django/conf/locale/ko/LC_MESSAGES/django.mo,sha256=DP4ZJcTdVmWz2nq2FMcpiPHgi-pKW5Pyi9VqzC0Es7o,27371 +django/conf/locale/ko/LC_MESSAGES/django.po,sha256=b3LIremps3MYWkBgfy1YpNNdi6IaXcrWBfkPUhIlpfg,29522 django/conf/locale/lb/LC_MESSAGES/django.mo,sha256=3JKBA-zIROxVEJFv8eoUKrVoRFjbY9bBk16jQF7Wp3s,8069 django/conf/locale/lb/LC_MESSAGES/django.po,sha256=v1_uBQpRI8fT88whqpah66AmaJG_uIX65_sRZEN2LPg,20131 django/conf/locale/lt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/lt/formats.py,sha256=ZLmKWFgKwrHeDeTO6fPyRLjgxkU3QCK3f0LxnYhLvqg,1763 -django/conf/locale/lt/LC_MESSAGES/django.mo,sha256=V3qoIhgP8Sj1aPGvEP-D0lwMi8OF42PIirx7zePsOOU,27423 -django/conf/locale/lt/LC_MESSAGES/django.po,sha256=zh4hyHuZOKDDZTMn9vx2EOPF_o0McIGhuYPc5uK6RIQ,29764 +django/conf/locale/lt/LC_MESSAGES/django.mo,sha256=vt9ywzFZA3qpW27RQX4RNzGOfLEYMc4SIokLzcygXMU,28474 +django/conf/locale/lt/LC_MESSAGES/django.po,sha256=Zyne10AK1a7lVzFrzlThc0f3MCnof4yWa3ad1rvuUwo,31063 django/conf/locale/lv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/lv/formats.py,sha256=Q42-XZ5aWtfoKhKuf07148Ir6-UrjaWNNeA8erBtlCE,1839 -django/conf/locale/lv/LC_MESSAGES/django.mo,sha256=o2J-ee00K12HBrTBAyn5CR2ImNc80IDNcDYntCsn5FI,27053 -django/conf/locale/lv/LC_MESSAGES/django.po,sha256=jruwNoz7JtEopvE85vskQTpOIK7hyIUZwyWZPQ7itLA,29309 +django/conf/locale/lv/LC_MESSAGES/django.mo,sha256=42wFu858fZrXiAfEZeP7KLhy_oE7oS2o7z3clp0_HLk,27341 +django/conf/locale/lv/LC_MESSAGES/django.po,sha256=YtT0Quf6eo6x8kaqmENN-gj0jMP4ELHqu92fE_04z1w,29692 django/conf/locale/mk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/mk/formats.py,sha256=DJVFqbqW7dq6GPzh_MSRQvQAicBtVUwRHX8RSLgqpFg,1675 django/conf/locale/mk/LC_MESSAGES/django.mo,sha256=GqcYWwCPmQZeBa9sxroK0LQYqlpwE9CPc088bpmv2Kg,29431 @@ -232,18 +230,18 @@ django/conf/locale/ml/LC_MESSAGES/django.mo,sha256=UcQSpkAl4anGotopGvF5ddOhz0Jln django/conf/locale/ml/LC_MESSAGES/django.po,sha256=aQeFRGiFB7vke7NuGuO7rZ2GuL94rZ_tqpfY-_U38a8,33211 django/conf/locale/mn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/mn/formats.py,sha256=EbTyiGTOXJdZxUwleItvk_CwK5MMl9R0pGniEUL-7HY,674 -django/conf/locale/mn/LC_MESSAGES/django.mo,sha256=bFbhqo-Lte1fQ3iGwZEv0qkUWtOBSwoHS7lC1rvyBAE,28307 -django/conf/locale/mn/LC_MESSAGES/django.po,sha256=6USi6rWqq6JwpZeLfaZqx9XqunL6oVuD7KOrHDSvPAU,31516 +django/conf/locale/mn/LC_MESSAGES/django.mo,sha256=qFWZ8GctVnj_NsCrxKJ4bMYvf_QzHGZ02gq72m34oGo,29053 +django/conf/locale/mn/LC_MESSAGES/django.po,sha256=iw7SMrWcn6MMx4eGxBL4DMKNpwClq-3XEFBxhAOiiNg,32124 django/conf/locale/mr/LC_MESSAGES/django.mo,sha256=Jy_VbHVKhgNj9MSmdLv3ouVYXYjJ_JFTn8_zmYoYcyg,1652 django/conf/locale/mr/LC_MESSAGES/django.po,sha256=yyPm1I1uqXG8VkS6yTrwECvi6p07RRep5h9iXx_v7eQ,18910 django/conf/locale/my/LC_MESSAGES/django.mo,sha256=5pYLrTOipARNLlpG5dp0VZYJUQNqdt0vK2blo1x6keg,2650 django/conf/locale/my/LC_MESSAGES/django.po,sha256=IVACCaTwYgAANqlcrthvSLFK9zvlOLhJTFRWCRBm11U,19193 django/conf/locale/nb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/nb/formats.py,sha256=y7XWPhuOv7QkDBvx4qkwehmqRpqwLzn75FWn-25mvcc,1699 -django/conf/locale/nb/LC_MESSAGES/django.mo,sha256=49Oyc61QoCTz-VU5mH5ifESqWtLI39edLfvh_9nlFyU,25567 -django/conf/locale/nb/LC_MESSAGES/django.po,sha256=Fx88KqyJjJOdDlv0zEvj8bhDN9OQScnQfpOVl4QK5UE,27704 -django/conf/locale/ne/LC_MESSAGES/django.mo,sha256=cQ335J_BiC02DNE3nbNHeVJJ9_gfi_zjx9YYu3TCCgM,28709 -django/conf/locale/ne/LC_MESSAGES/django.po,sha256=z3C0JHerC0EaV8Z96LmCZ2HcKpTzIpTus8hJwGxMGuI,33321 +django/conf/locale/nb/LC_MESSAGES/django.mo,sha256=t1hwjC-lQCwiXqGx2GPt24GhSPjgPM926oL9_nROpfI,25864 +django/conf/locale/nb/LC_MESSAGES/django.po,sha256=KMEemFfTGYZNDUhMkTImffL6_jSVE1gEFbcpbTtClSc,28052 +django/conf/locale/ne/LC_MESSAGES/django.mo,sha256=Mefu6vqxKyh9UvJ2M3aBHoAMa01TfDkjX4cdH0LZw5s,29534 +django/conf/locale/ne/LC_MESSAGES/django.po,sha256=Nidb1o65Z_L0RN5CJIH13qi1VUH6OjQtSE1exAaVTvo,33968 django/conf/locale/nl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/nl/formats.py,sha256=zpsypiDhFuZzGidyQYWPoeMwrL4cEsGqdZGTu4BdaAs,4405 django/conf/locale/nl/LC_MESSAGES/django.mo,sha256=GjOycm_b8DrWGSq-_OWTMoRuhxOcW_PnxdmOc7k17oY,23480 @@ -258,24 +256,24 @@ django/conf/locale/pa/LC_MESSAGES/django.mo,sha256=MZHSQcl584TTogQpYXzE1o_AqfZlw django/conf/locale/pa/LC_MESSAGES/django.po,sha256=-mzScJHrkxIMp4tbbd8NA1EG6V2_pail2PYhaJ8FWxU,22591 django/conf/locale/pl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/pl/formats.py,sha256=l_l0TfQ4pXGC3HmhhzKyYagS6i9CJTaOcUZvT4zU4PY,1080 -django/conf/locale/pl/LC_MESSAGES/django.mo,sha256=dN8bOqb66JrTC_zMaz_ZpTefLYiVWRIQ8lwf22LakFM,28479 -django/conf/locale/pl/LC_MESSAGES/django.po,sha256=zkrDK1Q5CXUSyL3NoDkrAsXNMN7hWnXv4la0XQPZ7hc,31707 +django/conf/locale/pl/LC_MESSAGES/django.mo,sha256=5NgP4TfiO7UUxc72AX-ooimAxgQPweldGSBFfJpQyeo,28748 +django/conf/locale/pl/LC_MESSAGES/django.po,sha256=c63XOUXG3zKDUqsqDt2w7D0qPuWJk276YT6Jq6engZ4,32020 django/conf/locale/pt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/pt/formats.py,sha256=VULz9oqB_gAJKfl6vsblpUzHwX3bYJXC4STqRcObJLg,1650 django/conf/locale/pt/LC_MESSAGES/django.mo,sha256=sn4p2gmHihkh2p30YOdcmuQbYomVgD8igFWR-ptN-78,26222 django/conf/locale/pt/LC_MESSAGES/django.po,sha256=9n3qfFngx6h2a69O91et9c97peQL6DeV7QhGT5J7mrY,28362 django/conf/locale/pt_BR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/pt_BR/formats.py,sha256=qRqGFjJ1lXCpRxj-UZ8Rxe4BKPe66ZN2ZZ6KblVTBig,1367 -django/conf/locale/pt_BR/LC_MESSAGES/django.mo,sha256=l-gLW0mKPtwMhWEFdF5SU6_OfdBsmjHXpspCn1X0ewg,25639 -django/conf/locale/pt_BR/LC_MESSAGES/django.po,sha256=YcLVLWR9juH0uRXsSqGCzUZm_RqQ7A31juOwQL_Cu0w,28689 +django/conf/locale/pt_BR/LC_MESSAGES/django.mo,sha256=O-eOlqg72imPc3qjl76IIU6eRSH8zj3VWEV7a8pSvRU,26672 +django/conf/locale/pt_BR/LC_MESSAGES/django.po,sha256=t583SpEmYUE3AEPh0PJ5XKOYLKpyojV3ouo1hADWIHE,29505 django/conf/locale/ro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ro/formats.py,sha256=3Ej_afExYIcmvjTEOtSxjVSZHU9DWaaS0Wiudra4Ocs,706 -django/conf/locale/ro/LC_MESSAGES/django.mo,sha256=rkiNnX7zQ3XwXKyjwKQFqvGr_WWgBCibBZLr0JhLf60,25242 -django/conf/locale/ro/LC_MESSAGES/django.po,sha256=XhoaELTVw03ielW4W90t3dcj8I9rfyjGQC7lUWQhLis,28511 +django/conf/locale/ro/formats.py,sha256=mclDAoPKn-vxMzAHPqQn-JTtzy9uzw6e8jHrgDEP4Ho,926 +django/conf/locale/ro/LC_MESSAGES/django.mo,sha256=TDItYrrMjQIVNRV-XJ-xbVRliVXEf6hK06IqBxoqI70,27406 +django/conf/locale/ro/LC_MESSAGES/django.po,sha256=h0Kh0sZqk-FNwwSTk_qugsh-At5INIb-MDlZY1Bj_Eg,29787 django/conf/locale/ru/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/ru/formats.py,sha256=xH12699iN_1SB_SeBILcMZNTS51PqVzZmNfoTO_9K5A,1200 -django/conf/locale/ru/LC_MESSAGES/django.mo,sha256=t096A5Zdo6liOlniDFIsMS1P1Kb9eKBaCLVMHLhA7Vg,36405 -django/conf/locale/ru/LC_MESSAGES/django.po,sha256=kY9CgOu4AJe7SSdrrISmg88xxXjyND17UP-aPKT6njI,39288 +django/conf/locale/ru/LC_MESSAGES/django.mo,sha256=ay3NXBB3zNc9V1vo3aD1e5yHWVdOwX2ijkcxA9Ss0Jg,36731 +django/conf/locale/ru/LC_MESSAGES/django.po,sha256=aqHNhpDKk7RMnX2b6aRo2Y6fJX6Jv1V5RdaxnyyLffE,39666 django/conf/locale/sk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/sk/formats.py,sha256=ptsIRV-fDQlK4vPtzjwjbdY8mbcnPYYvjZaUOkK2C98,1106 django/conf/locale/sk/LC_MESSAGES/django.mo,sha256=DhiNeWP0ogWyQfprgOoH9utiNYyehFWN_Ly6wvul_dI,27016 @@ -286,12 +284,12 @@ django/conf/locale/sl/LC_MESSAGES/django.mo,sha256=RnfBB1TUFbQl6Ux4fN2A06zGOQf6i django/conf/locale/sl/LC_MESSAGES/django.po,sha256=4xZ8TsVvDP1ex0ADRKhQOWLLeWJmEnLjh0q8JGL1k5A,30074 django/conf/locale/sq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/sq/formats.py,sha256=z_d_y6d46eL14p3WPaFxzB2zfF_YJNF1V4SF612VFJE,686 -django/conf/locale/sq/LC_MESSAGES/django.mo,sha256=QqpQtbQQISl4isaXmsVkMJW2qa75i6fztcsxY4l8np4,26370 -django/conf/locale/sq/LC_MESSAGES/django.po,sha256=fcud0pDHA_9X0EC6dtVpggH5zxs9RKlCD0tQZAINOgA,28477 +django/conf/locale/sq/LC_MESSAGES/django.mo,sha256=byp8FChY_oqrLWGgtixpkxbFJSobDtGkQh4eS4_PmS0,26846 +django/conf/locale/sq/LC_MESSAGES/django.po,sha256=jItXLe8NUiY3iegE9P_9Gk9tkkeuChpYL3KW2Mc0UGE,28889 django/conf/locale/sr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/sr/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 -django/conf/locale/sr/LC_MESSAGES/django.mo,sha256=UOq3yU_W21d7wBrhhT9heEblO9AtE2NXktW9HStZfKE,32655 -django/conf/locale/sr/LC_MESSAGES/django.po,sha256=RdWI34X1Y6PzlvIDOd_vFhHSqlRNHQjLgikrqfeaCgk,34700 +django/conf/locale/sr/LC_MESSAGES/django.mo,sha256=FMlHNyxZhQemW_iOtfsr-LrO1DgvwXaFqtn2Uzg3fMo,32959 +django/conf/locale/sr/LC_MESSAGES/django.po,sha256=FBYFSAYfOGpLrZfx6wWvm7yKwv0RzKv_IXq89MrKJmg,35048 django/conf/locale/sr_Latn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/sr_Latn/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 django/conf/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=ZPxsx5ss8kBzJ3uJi3kht-_y2a2nsELUZ3Q3W4__14c,13331 @@ -312,12 +310,12 @@ django/conf/locale/te/LC_MESSAGES/django.mo,sha256=h0T8JGVo0EzGXSbwDVWulpVs0PLJM django/conf/locale/te/LC_MESSAGES/django.po,sha256=G0x90aGtPjtouO99ZQMN9Nf-YW83d_qxMSc-7CrwhX4,24597 django/conf/locale/th/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/th/formats.py,sha256=TCP0rCaS7vFlhSfOIXbaBxQ6LeJfOsSSpNwufd7FZUg,1070 -django/conf/locale/th/LC_MESSAGES/django.mo,sha256=6EW5yaTtSlrZts7qo4LL5rgx1qQcSx7h2v6R-YzA0sw,19036 -django/conf/locale/th/LC_MESSAGES/django.po,sha256=37RzmfwXH2sn5LxHSCjDCS4ICdZtDJ7Oe1yJ2FwtXeI,27292 +django/conf/locale/th/LC_MESSAGES/django.mo,sha256=Sn7J8bolyiK25-sCKvKHKosEQy2I07XNTLYSUD3zoG8,20155 +django/conf/locale/th/LC_MESSAGES/django.po,sha256=t7Rqy36VExXTYNYnDwhrNq7QElZZw1hRFw7JPgSAizw,28144 django/conf/locale/tr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/tr/formats.py,sha256=Z6ZDt8-hgzX_NZbvc_npFYSGw6C_j7OKcV4ZQHBUyuc,1074 -django/conf/locale/tr/LC_MESSAGES/django.mo,sha256=wswgnofQ13cMjPoiCXZs-9RP4z7kWyoiHHYu9Sd-V2g,26717 -django/conf/locale/tr/LC_MESSAGES/django.po,sha256=ZfZY3EmypbB7moctzNCoez5-LivPK1lbBi40eEBdm70,28942 +django/conf/locale/tr/LC_MESSAGES/django.mo,sha256=Gb1B-wDO_ykDG1Aj_N_6sZ2HwLP-ba3K7DfOkwdZQZ8,27001 +django/conf/locale/tr/LC_MESSAGES/django.po,sha256=yKLTZLP0R4z0Hx6KZBh46Ni75-vROfX8ei1TTCsDSBY,29270 django/conf/locale/tt/LC_MESSAGES/django.mo,sha256=2YqPqclnPPiORixIWcuw2Ne-w_LzYjLsV3o1Ye1AQwo,15352 django/conf/locale/tt/LC_MESSAGES/django.po,sha256=o4_JxmlTXHAEoSx6vHxiKiZP1va_aRT5kFxIjXZcjSI,24745 django/conf/locale/udm/LC_MESSAGES/django.mo,sha256=eeu0nDatoybuYCF6z3hXG4XA1rs6FgX2x9d8r8cYc4Q,13564 @@ -334,36 +332,36 @@ django/conf/locale/vi/LC_MESSAGES/django.mo,sha256=MDt-w99IwQWBwpqjtPagMXe6UlMGa django/conf/locale/vi/LC_MESSAGES/django.po,sha256=BJ50rmwgIa1K52YOcQ9AidcKx1h_Edw5rS-TDylAqUw,25483 django/conf/locale/zh_Hans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/zh_Hans/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 -django/conf/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=krj9N5VCZitX9ClD5Qyb64hjV7vlfLFza5p-kIIr0Yw,25008 -django/conf/locale/zh_Hans/LC_MESSAGES/django.po,sha256=w5az8MPEo16sjvQX3u8cfF4KLg78sUxQUTEqUJWMDTU,27256 +django/conf/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=jKDd10YVqMEnM34XpS2OGcIKBvxsrWS06h6-bAFqP_0,25134 +django/conf/locale/zh_Hans/LC_MESSAGES/django.po,sha256=gkJNQbr8uYYU0okHwp6J4WHrX0udk9A-4Hr17w51ojM,27557 django/conf/locale/zh_Hant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/locale/zh_Hant/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 django/conf/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=TEn43zMlXUa9XjkqvXOS98GB77ZNFl3IraNO1zppM1U,24865 django/conf/locale/zh_Hant/LC_MESSAGES/django.po,sha256=XZABm4NMgxZEz3rfhu256fsk9D-kcHpBcgBbt-zbP-U,26676 -django/conf/project_template/manage.py-tpl,sha256=L9sKzlpvlJtysHenCAVoERXvXFvUn_FtfNApKHC4PQM,550 +django/conf/project_template/manage.py-tpl,sha256=8ga8MYnkPY1UhvF2eGcrdvXjB0u34nNoT8jDgLt5USs,550 django/conf/project_template/project_name/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/conf/project_template/project_name/settings.py-tpl,sha256=4JwYHW6nbDUufEkQOQjOY08slnLMETQAJ9dqr4PjsmU,3210 django/conf/project_template/project_name/urls.py-tpl,sha256=vrokVPIRgYajr3Osw2_D1gCndrJ-waGU3tkpnzhWync,775 -django/conf/project_template/project_name/wsgi.py-tpl,sha256=YlvOJDVlRT5GdECwWEpeK8i6gRsliG3sLQog8cYPsC8,428 +django/conf/project_template/project_name/wsgi.py-tpl,sha256=OCfjjCsdEeXPkJgFIrMml_FURt7msovNUPnjzb401fs,428 django/conf/urls/__init__.py,sha256=Lp9Zc17tRy3bVwULxq1_8qBloXbgmqiQiIzzbqkqDSk,402 django/conf/urls/i18n.py,sha256=TG_09WedGtcOhijJtDxxcQkcOU15Dikq0NkLGVvwvCI,1184 django/conf/urls/static.py,sha256=3Hr170gzVpmIOsHUQOpgG16LE6nG_U5L8kSoSiNKeFQ,844 django/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/admin/__init__.py,sha256=K5IZ6J5ujshspna6ubTvpFfTBjU7p8EhsbvW6G7fMwY,1243 -django/contrib/admin/actions.py,sha256=MFwZgt4qFQvwrm_AP2FIg3cGxuIlEfpYVE4T9x2tbL0,3207 -django/contrib/admin/apps.py,sha256=IKXRyRFIiWUmwm0-wigmpAE-iEHH_XqNl6FRSmEZfXQ,708 -django/contrib/admin/checks.py,sha256=YQgseIL_rhM8HF6QjKyJY1j1peMXHVybePHTR82aA1I,41793 +django/contrib/admin/actions.py,sha256=S7p0NpRADNwhPidrN3rKN_LCJaFCKHXX9wcJyVpplsw,3018 +django/contrib/admin/apps.py,sha256=p0EKbVZEU82JyEKrGA5lIY6uPCWgJGzyJM_kij-Juvg,766 +django/contrib/admin/checks.py,sha256=KLEvOfP5yYoSE4CU6nNT36XQj9wUhVsw2DIbKDEEkH4,42748 django/contrib/admin/decorators.py,sha256=jQS6FQ2PxaqGYTYNa4jdx-qSVPV9Uf5bRhbC9PF0BMM,969 django/contrib/admin/exceptions.py,sha256=lWAupa8HTBROgZbDeYS1n_vOl_85dcmPhDwz0-Ke1ug,331 -django/contrib/admin/filters.py,sha256=3iKFsSTchtIsz4Zo9vtcs-voWwxTG1YjRo_Pc2nk4BQ,17821 -django/contrib/admin/forms.py,sha256=Ft6mb1iOIb3zXBRakRipI6TB_7d6D_mSrGQ9olj7k2k,934 -django/contrib/admin/helpers.py,sha256=ORpSrYvcLw8MOAfN_Q3rE0dcP3k6R8Op6XSbLVuOONc,14309 -django/contrib/admin/models.py,sha256=ALiXbQuBrWgN8ZKFFNK0JWV9YGLzmzuFh6GUhoIQSIw,5454 -django/contrib/admin/options.py,sha256=3AgS7N8UtwepcNRq44kbzEyTSw-1EFH9lbIehDYS_tI,84867 -django/contrib/admin/sites.py,sha256=SD4gdJ3Qa5OfJ0xC1VtykAbID40DokIduHbD7-_7kmk,20011 -django/contrib/admin/tests.py,sha256=Y7_BrWS4T7vMc7lW5ba5I4uBlEC5OgAaslLb_90NYNM,7307 -django/contrib/admin/utils.py,sha256=-ljhmigMpLkEJ-qFXND5Eemw3e4u6Ad0TvIKmuMdsQo,18493 -django/contrib/admin/widgets.py,sha256=EC3bawDyBb5HLPwelCk9vr31cXAGM35HrVEImDjRb9E,17719 +django/contrib/admin/filters.py,sha256=NDeO7wUW7ZT6Qgx7cxkwDrGdUHKSo0LMr7N43HNibiU,17240 +django/contrib/admin/forms.py,sha256=hDFBqCKLLp8_ea0T0gshsgUHw0RgUtNoHCp3Q5fkOhA,1001 +django/contrib/admin/helpers.py,sha256=sobOgHhRY19iSnPEAoHHKDMuUmbB4iona6niZD_psSc,15123 +django/contrib/admin/models.py,sha256=Csgo9rlRqVutDYH7PI1cPuNrwTg9pdueVgRKe7QFreI,5609 +django/contrib/admin/options.py,sha256=0bBR7HoDXRqRp11hKsN_Bf1iOtkb1Os5awVQ2phT7Jg,91683 +django/contrib/admin/sites.py,sha256=7krEzGhhAdYIjr9ez2GQ-30B-vPi5m-JkuUJIfkPYo8,20470 +django/contrib/admin/tests.py,sha256=eO-iV08qo6zrNuPibtb5hrQyByq20VDk0pjWSLYTXFE,7301 +django/contrib/admin/utils.py,sha256=hcTDUtmiTScW-LfBDt6jB1OyDGoUR5RN7f4qlkripIU,18394 +django/contrib/admin/widgets.py,sha256=zEUZLwGRV4tSt7ibQToE0BI2MIJWHLOVCJEwkAIf_zw,17009 django/contrib/admin/locale/af/LC_MESSAGES/django.mo,sha256=sbS-86l1kVvdcIV7n0xHqcy6iL14Ktnym0CifEkrEd4,9372 django/contrib/admin/locale/af/LC_MESSAGES/django.po,sha256=vNkvN5lbhg5iRk42-5rlR0zqQpsraIXXsc7Ke9kO0z0,14280 django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo,sha256=GDKkp7mc4LaMwT_Eli1rPLCwo75R4htvXfyCLWRvJdw,1158 @@ -406,34 +404,34 @@ django/contrib/admin/locale/ca/LC_MESSAGES/django.mo,sha256=gQ-g3OzRpyqae7U8BLAP django/contrib/admin/locale/ca/LC_MESSAGES/django.po,sha256=txJB9CZNOXBvLMZteXPodWku5aiDu0hyW4F2u_XHOng,17942 django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo,sha256=jQuQQAoB-_hggWhGXDFhk71xu70rKF0GqHN-DjR9o-c,4560 django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po,sha256=Mfn1tgpuhe05MBQShhMoJDZ7L5Nn2p1jFy_jYIt0H0g,5098 -django/contrib/admin/locale/cs/LC_MESSAGES/django.mo,sha256=BEM-fRNY0w99W0GE7X9G09dySM3Qgzf9CwA2ufKrkSE,16572 -django/contrib/admin/locale/cs/LC_MESSAGES/django.po,sha256=uVKGJgKc23jUIQ4_vIlhy6d0ZwsnlwNnPx5bgaSpaYM,18026 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo,sha256=BvxuAQ-ndFx2opXSg8FUhBLfOs1DBAdL5rweypbNuUU,4819 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po,sha256=YOnd2RyXmM8-K2OgVVubcXuy-St7FesLrRUb7mXVEdI,5393 +django/contrib/admin/locale/cs/LC_MESSAGES/django.mo,sha256=i0S22WKq3pUEovUn5NPpkq7k9C73fyPvARmOtfAqCAQ,17272 +django/contrib/admin/locale/cs/LC_MESSAGES/django.po,sha256=RSqLicnUEw3WTnMksi5H5lgcfE33yQoCK9SyeE66gZ0,18786 +django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo,sha256=K9lJ7JQ2BmIxZuZDIlCfMkIo6pvormd3wYIoPxMH8VU,5053 +django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po,sha256=FWiaxDEWDMQjkm5j2CidZoRx8RqbWdmTCd-EHZE6gUo,5666 django/contrib/admin/locale/cy/LC_MESSAGES/django.mo,sha256=7ifUyqraN1n0hbyTVb_UjRIG1jdn1HcwehugHBiQvHs,12521 django/contrib/admin/locale/cy/LC_MESSAGES/django.po,sha256=bS_gUoKklZwd3Vs0YlRTt24-k5ure5ObTu-b5nB5qCA,15918 django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo,sha256=fOCA1fXEmJw_QaXEISLkuBhaMnEmP1ssP9lhqdCCC3c,3801 django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po,sha256=OVcS-3tlMJS_T58qnZbWLGczHwFyAjbuWr35YwuxAVM,5082 -django/contrib/admin/locale/da/LC_MESSAGES/django.mo,sha256=_u56MXv-Dh5k-0QHZImE3Ds3VTky6sVa1iDD3_omR5U,15961 -django/contrib/admin/locale/da/LC_MESSAGES/django.po,sha256=U7PqDwHI5VaX7wiHdKvmGQTwKzGuYry-UeQSk55DQCk,17343 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo,sha256=_2EDOsYDt9p-b5L-SAPRXOD2CtrUbgqPrS9cYmoIbtM,4518 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po,sha256=zw_JfNVAMhMOgYVCl-ZNMjch4ui4mmUucLBtqbwXHBc,5120 +django/contrib/admin/locale/da/LC_MESSAGES/django.mo,sha256=f7RNGrdfDyu3GtGequ0X54m-ssuUHESQAHFPqmCpcYU,16428 +django/contrib/admin/locale/da/LC_MESSAGES/django.po,sha256=sSm3V_QMeJu5PZZF7IKz8ULM70uaAzemrYCHXgaUmxI,17834 +django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo,sha256=_K0UgjdfnYyLtno5ibSDtwCNz_4Ak4NASvKMd-2rhP4,4518 +django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po,sha256=KUXicxZHf8rLPKBE64HjMQVB4n3U0hxKGGw_a6Oah3w,5120 django/contrib/admin/locale/de/LC_MESSAGES/django.mo,sha256=hyMoYk3p3PM18E6CzbhwRuUpnVU4vjwjnsrHT9P0R2o,16793 django/contrib/admin/locale/de/LC_MESSAGES/django.po,sha256=4sDSiyev5dDjId1T2IuUvXle7YeETy5FINeMiczEVhI,18192 django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo,sha256=_aUsqSeIo9dHAiy6daB-BLselNy7tuPUEf7kVCgEByM,4602 django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po,sha256=ilCflt4q60Rr1D9wEPNpZQMvJO1R7udNsRgZiml3PdI,5068 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo,sha256=sG9r565jG5n98DOZ1zDr8fViR-j7CCcBlgxhftCPCNM,16835 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.po,sha256=cMR5KtWeMqKRQOP6IYT_nr0kGfSmYIWeJJ92DiXH9Gg,18071 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo,sha256=Bl1Tcn0LYM6ZunclcgjvXXLAdezS3SXU-9IGZ0hvbPw,5016 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po,sha256=aK07LLjObo3lQfVMj6GmR4THIkKFODAQz7iZ99spzJA,5490 +django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo,sha256=uPeXW7UCEoN6nkVIKYXHMnBanRxtU6yZlaM_NGWnCwo,17347 +django/contrib/admin/locale/dsb/LC_MESSAGES/django.po,sha256=Qg6UpwInVPy4Vj62vj81jqoRbN8S222t4eBZMJVrYyc,18604 +django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo,sha256=dXeUPn56ZlRRGbBeHaG6YIwou46k0mu00FU7HCX1ou8,5016 +django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po,sha256=TGt8DJWrQ5Qs0SgJjjjeDmwZTGTPEBgeDFRvUhrrMRA,5490 django/contrib/admin/locale/el/LC_MESSAGES/django.mo,sha256=JY7lZREod67l_l1XFlAAEVdscW878SJSo7EUSR65zo8,22536 django/contrib/admin/locale/el/LC_MESSAGES/django.po,sha256=6yqiFfL07fjR_P31kWlS1LANHzDMFPh2j2aUUXQQcdc,24100 django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo,sha256=vfha6S1wDTxgteeprHdCY6j1SnSWDdbC67aoks7TVFw,5888 django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po,sha256=GJQytMIHNrJeWWnpaoGud4M6aiJCtJ7csyXzmfS6GZs,6560 django/contrib/admin/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/django.po,sha256=bJ9vJyvU1p21jk5-aCdWdoOX8mQGev0heavhj_q3bgA,22308 +django/contrib/admin/locale/en/LC_MESSAGES/django.po,sha256=IFmFIAGdGhVbqmyy8Rl65kW3JYKTumVKy0TapGN8FO8,23722 django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po,sha256=Ktbb5PuFfGQarYm7GVnzqqJulz7Bpa3fcfuqD7pXMKI,6555 +django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po,sha256=02sibdoGO77DCuqCRr_w9-4wd50f-TK1m-TFZ7vVf5o,6601 django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo,sha256=DVjhYEbArfdAQLuE0YAG99eWxa9_eNEz2o9A6X6MrEY,2894 django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po,sha256=CO7AV-NmmmwnXyBIybSfNZLdXiavphWsd9LNZQNqDL4,11800 django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo,sha256=LWNYXUicANYZeiNx4mb6pFpjnsaggPTxTBCbNKxPtFw,1714 @@ -442,18 +440,18 @@ django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo,sha256=F4L7ZjQkHdiMTPlhK django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po,sha256=SbpW4kc3NmETWmfwmEzv-c46iXM1g-InxuHt7nlT26s,14840 django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo,sha256=hW325c2HlYIIdvNE308c935_IaDu7_qeP-NlwPnklhQ,3147 django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po,sha256=Ol5j1-BLbtSIDgbcC0o7tg_uHImcjJQmkA4-kSmZY9o,4581 -django/contrib/admin/locale/eo/LC_MESSAGES/django.mo,sha256=r7x8dVw5s6lukzHaK_5lcGF_e2roMddky9HeHJ2oVaQ,15869 -django/contrib/admin/locale/eo/LC_MESSAGES/django.po,sha256=bmvCQTJumI6vVRpKKiH2v9JBMIAXxtOeISP_Z1KusKc,17369 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo,sha256=QwYzm1KkoyCZ2YwrkXUUCOT2qnFCcyetCCa4U1Z1c_A,4452 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po,sha256=8czUc1ju9YopCCqr5RMIIOwmolJTSBFWZsN-FhrIcnI,5040 +django/contrib/admin/locale/eo/LC_MESSAGES/django.mo,sha256=kIV8K9z42HsMi59c8Qp5VzXJutHlwI6JPDvUc22tRzg,16318 +django/contrib/admin/locale/eo/LC_MESSAGES/django.po,sha256=K9FTzzo4LgbktXejLRXvYOunYPBcvpsP6q42JyODu-c,17839 +django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo,sha256=I1Ue345qSHPmJpX4yiYgomQ8vMgshRt1S1D_ZVJWf7g,4452 +django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po,sha256=BdSRWCYCDxLxtbcPSfRdAMGoTRWOWaxRGpdCIm-3HA0,5040 django/contrib/admin/locale/es/LC_MESSAGES/django.mo,sha256=Rbe3xIQLcfJ2wqvXuNkRqxruYe2NbeiaZ8bw04nn5IE,16810 django/contrib/admin/locale/es/LC_MESSAGES/django.po,sha256=5R2fAMPaLooJBsx35H-VyhHlOqNyQHF2fEuHKPoEaRo,18682 django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo,sha256=44RpmIC1vT7OGz4ubSAzoiU8OysfLsnueZcIqdF6gjQ,4627 django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po,sha256=t2Jn5RZo7e-UzqVwgBAejuBceWCidWjXvd--cWEq6rI,5302 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo,sha256=sWkRtdW090y-8rC8Q0kOR8AEr_Z5Y4kxcUD_Tm9RDkA,16955 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po,sha256=qI3MouJlakkdZgC_V7sxMiv54am09-1ublI8o5RYoFY,18242 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo,sha256=lqWxSD90JLBg2ei316TPHGNTgwWyzl9u0-Zy7aQ5WFI,4892 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po,sha256=qZJMi1DsBy2tl2MMo322wTjaO0yb0n5ALzc1tK4SZQM,5350 +django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo,sha256=h7b5NymKgGuSKz_d5ffumW2drAU5wvurkTEBb7FBiZI,17445 +django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po,sha256=mmkt5IrM8rAvwRUpn8BBxou-vbzDIFW1mE0H_TGIZIA,18753 +django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo,sha256=am2ZkZFNC_7L7aNKc6imVX-7aY5QK1E26AIe75eEyTU,4892 +django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po,sha256=DB0e4M6Y5sUdEAvByhGA2nhScOnBZx40SManaAWvpyo,5350 django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo,sha256=0k8kSiwIawYCa-Lao0uetNPLUzd4m_me3tCAVBvgcSw,15156 django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po,sha256=4T_syIsVY-nyvn5gEAtfN-ejPrJSUpNT2dmzufxaBsE,17782 django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo,sha256=PLS10KgX10kxyy7MUkiyLjqhMzRgkAFGPmzugx9AGfs,3895 @@ -474,18 +472,18 @@ django/contrib/admin/locale/eu/LC_MESSAGES/django.mo,sha256=ctSeJLgjy2FeKVwAGxer django/contrib/admin/locale/eu/LC_MESSAGES/django.po,sha256=AAm15QBeFLRDHeG3Rrfqh5Gl1wXPEzQ4vlBa3E8cIag,17308 django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo,sha256=bZHiuTFj8MNrO3AntBAY5iUhmCa6LSluGLYw504RKWg,4522 django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po,sha256=eMpM70UTWIiCDigCgYVOZ9JKQ2IidYZxYcUWunvG8js,5051 -django/contrib/admin/locale/fa/LC_MESSAGES/django.mo,sha256=SDTXAM7LYcv8d5cGoSyVdU5vvRNt619p8MD3EW0eOho,19131 -django/contrib/admin/locale/fa/LC_MESSAGES/django.po,sha256=zwzLWBUq_aHJuKCfKU4KolI4pYrENet8Rj12A4och3k,20529 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo,sha256=nvG_i8FrtkTPLpZqCkEYSaVJFiRPYLosBhc1s-FsgnI,5068 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po,sha256=XVI2k0cGr-1iqrDL8-k-vbgmPQJm3DH58cw_O5cR04s,5680 +django/contrib/admin/locale/fa/LC_MESSAGES/django.mo,sha256=ucSWfToadRGLeQEzyhiMJ7tiS1Czt_oLvWwWKTWxTHg,19583 +django/contrib/admin/locale/fa/LC_MESSAGES/django.po,sha256=Kn52WDnbxxrJnd4cHxObkzu-nrXaXR21JlYgDRF8q-c,21237 +django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo,sha256=VXKiFMQnm3YrvanPhoV24y3O_y4BQe8DaXLa6bDiuQQ,5267 +django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po,sha256=4PJhPH1EiAMiiQo2W0g_jiXp6p7g7FYT973T80rhVng,5915 django/contrib/admin/locale/fi/LC_MESSAGES/django.mo,sha256=tkuQsXPqB0dpG_PKYvssN-rTbQ-VP3bswgrckqJ9wfM,15923 django/contrib/admin/locale/fi/LC_MESSAGES/django.po,sha256=aaVMgWFnz5ysorFBieY-vG7dDJN0wiEeUL-3tYxot2I,17217 django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo,sha256=ez7WTtE6OE878kSxqXniDOQY-wdURYEfxYQXBQJTVpg,4561 django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po,sha256=rquknGvUFlWNLcrOc1wwhAPn63PZA48qBN8oWiINiQ0,5045 -django/contrib/admin/locale/fr/LC_MESSAGES/django.mo,sha256=7Fne4TDRamUndHqhY5mhqfCIk4brV1tcx_ruEPFFRWo,17504 -django/contrib/admin/locale/fr/LC_MESSAGES/django.po,sha256=TMycKKdYQQsgU3ltPm-A2uPUIYgjBl__N20SIeTdvPk,18792 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo,sha256=1pABUr752ITt14MXm6yqZjU7lWcQ2ZYeymqnQOZqthU,4735 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po,sha256=Z2rPIY8xryfJqAYan2K5Rc0NOZTKTh80BvuWJav-Atg,5228 +django/contrib/admin/locale/fr/LC_MESSAGES/django.mo,sha256=fRCoDnyFhkaDHVyhQp1mwgWRztqZWipvDt5UKbuokuI,18028 +django/contrib/admin/locale/fr/LC_MESSAGES/django.po,sha256=FQvETa2bfIo2QZf1GxdCBXm3LUeg0Mz8vSVnsEuce6w,19337 +django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo,sha256=KewGnfKOxbAlC7VgPnSkNM-5ASAHw36d_HdKBt06ecw,4735 +django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po,sha256=xa0hANFCx2bR98OHtpYWny5ggyJhzX2C01umaCxqqQE,5228 django/contrib/admin/locale/fy/LC_MESSAGES/django.mo,sha256=mWnHXGJUtiewo1F0bsuJCE_YBh7-Ak9gjTpwjOAv-HI,476 django/contrib/admin/locale/fy/LC_MESSAGES/django.po,sha256=oSKEF_DInUC42Xzhw9HiTobJjE2fLNI1VE5_p6rqnCE,10499 django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 @@ -494,10 +492,10 @@ django/contrib/admin/locale/ga/LC_MESSAGES/django.mo,sha256=wMM857oxSd8c182lYD2W django/contrib/admin/locale/ga/LC_MESSAGES/django.po,sha256=cGFmkA6XOhXyKycmoF_KbTHAgFDjx7fbF9LWwJXH7BM,16798 django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo,sha256=fa2MlEm3XUig1C3X26u_kZzPKcUGR-Uy5jfwG6RQIJ4,4379 django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po,sha256=ixvu6pm3asTKvHisWdcZ6YMb3fjsKOEnHZGG5g3l-tw,5725 -django/contrib/admin/locale/gd/LC_MESSAGES/django.mo,sha256=DMWU4a5b5M1rwDXYq_ZLWUVBRAqx0WX3GtUA79-e4yI,18177 -django/contrib/admin/locale/gd/LC_MESSAGES/django.po,sha256=J0nOji3Q30AYcCNEjh6EP_J_u2Y8G53SEhlRchQNTlY,19476 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo,sha256=uZigxSJ1bBQhvhVMAyp7R4-JlZE14b3mu3hCcnwMjMQ,5304 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po,sha256=7x7qPCf9WcLBrmJ5uFbp4-9b8QsdYisoAlTVdtXmqYw,5809 +django/contrib/admin/locale/gd/LC_MESSAGES/django.mo,sha256=5D_bPlVaOxjWUAddUHgltyfItGzTcI1LcvWF_KQyVTk,18685 +django/contrib/admin/locale/gd/LC_MESSAGES/django.po,sha256=MSWiN5WA9ffzb1DjSAyvi3xXrUx6gGs71wcN4K9fi7c,20005 +django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo,sha256=GwtvzwSO_lE6yHEdZLNl3Vzxk0E8KAjhJyIn6aSyc0s,5304 +django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po,sha256=RJv2lrB2UamHczIbCzzLBnEWodMLqgNX9ihofmL6XRo,5809 django/contrib/admin/locale/gl/LC_MESSAGES/django.mo,sha256=_9JW7LdCw2on4M1oz3Iyl_VMrhrw_0oVIQl4h_rCX6g,13246 django/contrib/admin/locale/gl/LC_MESSAGES/django.po,sha256=xqdcVwIX5zPxq471crW0yxcOYcbZVaRwKiKx-MAGiqk,16436 django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo,sha256=YkT7l3U9ffSGqXmu6S41Ex0r7tbK-0BKH5lS6O8PAGs,3279 @@ -514,38 +512,38 @@ django/contrib/admin/locale/hr/LC_MESSAGES/django.mo,sha256=s9m770GwDohk1TS2u2Ka django/contrib/admin/locale/hr/LC_MESSAGES/django.po,sha256=Wfn3w39GHvKVV32DvmdfCdaghVxsstnxaGPokFkIFnw,17040 django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo,sha256=rhZ3Jr6ItrGzeBqJUrHGeTamc3bgJmoMjasV9s0rmtQ,3360 django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po,sha256=otuJ1-VmP-MVS1hEeBFbatdweeasHYAVUpLmJ7eE5p0,4870 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo,sha256=Hqf74Da0l2w6xVBew1-j3C9L-evR0rA3wcXcyqmAZ70,16584 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.po,sha256=23265vZGcTehU9hwEGY4WndjIMwVteaPyk2zxpGW16g,17796 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo,sha256=t0FSFpoVBOf8tzw3EmKAaML5lcJJJRPIfTucfBj0zIU,5087 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po,sha256=xrPdmcc1o1ZDMbTPvnNk84vsBPB7P2atlBK0e0RWyJ4,5564 -django/contrib/admin/locale/hu/LC_MESSAGES/django.mo,sha256=Zuhq5Tj-9a7_yFQGeSXNk-LSIUYeOvjBubLtOxm_-5k,16464 -django/contrib/admin/locale/hu/LC_MESSAGES/django.po,sha256=v-LWAj-ZX4YT9EMUnwPXheUbRN08_oahKigBDTtU8dI,17891 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo,sha256=71Dhytp7dJplmQzc9MHLTh0k-Fvy1gdeQwi9oafg1wg,4524 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po,sha256=bYu4XVz6wmeVfrY2PFxjeaR_RObBsAYQ-yzWxdMgmIo,5105 +django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo,sha256=UOVBsCOpUQiZuYVxwDQ_aGwSpdx_YE2C0SAWOTxkIXs,17091 +django/contrib/admin/locale/hsb/LC_MESSAGES/django.po,sha256=5M64Gz6RoAYTKD9kspFvKPeupjGyoXEIZqOj4RQGTDI,18324 +django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo,sha256=w_gJCnB7aw68UzYwwMPmBaj5pHpXRx6AQgFdQkKsgZ4,5087 +django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po,sha256=t4S38sEiNXswarvPUFKzP4rms0AfQgydGv7W4qIa9eQ,5564 +django/contrib/admin/locale/hu/LC_MESSAGES/django.mo,sha256=G5S-eCg2Eg54D3M9Y-UgXl5fke7wATDhJFkTIYeasAI,17022 +django/contrib/admin/locale/hu/LC_MESSAGES/django.po,sha256=g74pZDEzDqK4U6KBh5Tv4UtaxbGCVprcF0SR-ePHyzg,18525 +django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo,sha256=l3pXOmu379TYVMwPD-6rT4YtBff_MQPtbzfKz1C-jzY,4524 +django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po,sha256=fVI0wNWgfHJ68cM9RgQgdQ_2KpaZRMDfNeSiXjJ5Dlg,5105 django/contrib/admin/locale/ia/LC_MESSAGES/django.mo,sha256=SRKlr8RqW8FQhzMsXdA9HNqttO3hc0xf4QdQJd4Dy8c,11278 django/contrib/admin/locale/ia/LC_MESSAGES/django.po,sha256=pBQLQsMinRNh0UzIHBy3qEW0etUWMhFALu4-h-woFyE,15337 django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo,sha256=28MiqUf-0-p3PIaongqgPQp2F3D54MLAujPslVACAls,3177 django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po,sha256=CauoEc8Fiowa8k6K-f9N8fQDle40qsgtXdNPDHBiudQ,4567 -django/contrib/admin/locale/id/LC_MESSAGES/django.mo,sha256=oqb4tMeB8Vz1TmHmeutmzxcFKdWSJKtN8tLVzxkDnUs,15684 -django/contrib/admin/locale/id/LC_MESSAGES/django.po,sha256=5EVJPBbM4YYV6WG9yaNb9cM-bPAhb0Fa0RXNGShYpww,17162 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo,sha256=_FT2WXJ4inRZDlWJe2iaU0idpJdBiE7Ecd1IcghrsH0,4407 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po,sha256=9FYLgVUUXqgYSndWDNilL0een9UTRIzzM3DY4or-SGM,4915 +django/contrib/admin/locale/id/LC_MESSAGES/django.mo,sha256=k24VPyY4M6lvgFDcWPZrotxH1JWNUPHsnDzAKUD9Kow,16194 +django/contrib/admin/locale/id/LC_MESSAGES/django.po,sha256=1aMRs9XS2J9DFD3gMRZ2pZoo3zWAaPXG5T3GjBEGx4k,17693 +django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo,sha256=IsrbImLKoye0KHfaJ1ddPh2TXtvcuoq5aRskTAUwRhE,4407 +django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po,sha256=o7zQcSD2QkF_DVwHOKS4jxZi7atLPsQQIoG_szM4xFg,4915 django/contrib/admin/locale/io/LC_MESSAGES/django.mo,sha256=URiYZQZpROBedC-AkpVo0q3Tz78VfkmwN1W7j6jYpMo,12624 django/contrib/admin/locale/io/LC_MESSAGES/django.po,sha256=y0WXY7v_9ff-ZbFasj33loG-xWlFO8ttvCB6YPyF7FQ,15562 django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po,sha256=WLh40q6yDs-8ZG1hpz6kfMQDXuUzOZa7cqtEPDywxG4,2852 -django/contrib/admin/locale/is/LC_MESSAGES/django.mo,sha256=W-t3UPqpOhi4hWJVaISNGfppMIX47zJUkAP5vOKPezo,16223 -django/contrib/admin/locale/is/LC_MESSAGES/django.po,sha256=FH_HTXGBIkBO2tqPdIZoruNfPMDChqTlocxNF9yQubA,17530 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo,sha256=q2W800Di3ibCO32xisxqpO8GHwTB9bEYBfXgYXgb87k,4587 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po,sha256=C_hcOfRSmZtA9vTuaT9X5btk_z61SKcaDbF86yDfgks,5122 -django/contrib/admin/locale/it/LC_MESSAGES/django.mo,sha256=Px0LhGU8va1jCIcZFr-1iYkKJO3TSvAKutXD66jK4OA,16441 -django/contrib/admin/locale/it/LC_MESSAGES/django.po,sha256=EA8sEhnHNDlzO68oAvWsqnYBXbMi6A0Piv8aP8zyK0M,18020 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo,sha256=P2wm_9ihqu1t1T3epDhlCia-OhwYNtTcfpAbOdjpElI,4537 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po,sha256=-cvn4xW3LgMTeLu7Zcurz_ezUOmc4NQNkCeseZdMTyU,5171 -django/contrib/admin/locale/ja/LC_MESSAGES/django.mo,sha256=XFhPX8zpz6GeYaXDKUyw1GTWfqDHO-DyT2MWP7qoD1o,17590 -django/contrib/admin/locale/ja/LC_MESSAGES/django.po,sha256=5dCIRF_yMYy5BmLu795IoJhBYlEF_qFIZ6gcEug65ss,18895 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo,sha256=Eki83Z0uecO6oyRrvVdCEMmctehw62HHRaoznf4sKtg,4688 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po,sha256=5_AkaIMOx1h-mcr1C3m-JoSiIRx754BN6Qw-e8RFQ1E,5098 +django/contrib/admin/locale/is/LC_MESSAGES/django.mo,sha256=l5W_xfT2bzyN5EZMI7w1NcCoMEZBWMvzRm0Zu791PB8,16612 +django/contrib/admin/locale/is/LC_MESSAGES/django.po,sha256=5KOS2Mudn9uOi2bjdnvrNbPl82HGfYCuza1bS6cfL1E,18016 +django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo,sha256=H7vMdlTEejHg-lYjxS11mVa4o7alXMxcAIfsxrM0gpc,4559 +django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po,sha256=AU39DyYbiu8fMzJhL9cVFc2bfqKcm2Si6HHGGtbewpw,5109 +django/contrib/admin/locale/it/LC_MESSAGES/django.mo,sha256=1s4s7n0KZBAUyNOrW9D1gNYPWusC2vmJb4IS4x-EXCQ,16958 +django/contrib/admin/locale/it/LC_MESSAGES/django.po,sha256=Yp3RnV6rRaJpbXaavGSF_ljef_zpZNTq3hx5OO4Plrw,18649 +django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo,sha256=QHgE9TmlziDuR3XooAHLhp6fAYrBHj7JkZGwZMeutQM,4537 +django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po,sha256=5VcM_25w9a2d_H57l24q5mJUXMlhLF0WjuAdiWOG2MI,5171 +django/contrib/admin/locale/ja/LC_MESSAGES/django.mo,sha256=NNgMzwHWDgZAjqptETxkRAhhbpN0zHIlc3gdXdIqD30,18084 +django/contrib/admin/locale/ja/LC_MESSAGES/django.po,sha256=vH-AnF5yMowgIvFNN5qtdnHCghT0CEeRqD-6XptAcdw,19410 +django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo,sha256=e1psnvl2PWI9RpwDRY0UV5cqn_jhz_ms6OlKUQnEBt0,4688 +django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po,sha256=5-4GlF-p7REuRaMvRGBTuTMJW6slZLqdR-UrEEEJjtA,5098 django/contrib/admin/locale/ka/LC_MESSAGES/django.mo,sha256=WtCZkU5d5VsUCboXo7GO8mXCq3Z4Z-2zp3Sj4j1aqk4,20248 django/contrib/admin/locale/ka/LC_MESSAGES/django.po,sha256=GQutjRKrVbWLlHYeX5FUT-sLXh3zsskQSIDbQsqpKmk,23236 django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo,sha256=7XSBdq-DMWfyGmAHJnwNaexOevuitsNiPDifnbUU19o,5199 @@ -566,22 +564,22 @@ django/contrib/admin/locale/kn/LC_MESSAGES/django.mo,sha256=955iPq05ru6tm_iPFVMe django/contrib/admin/locale/kn/LC_MESSAGES/django.po,sha256=xMGtsVCItMTs18xdFQHELdVZKCwTNNyKfb8n1ARcFws,16053 django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo,sha256=dHzxizjDQWiZeRfBqnVFcK1yk1-M5p1KOfQ1ya9TMVU,1872 django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po,sha256=MqRj6ozyr1e9-qNORUTJXNahe6SL3ee3OveSm3efV4g,4214 -django/contrib/admin/locale/ko/LC_MESSAGES/django.mo,sha256=HGwZQLyvo7ZwhhapTwI04leRIA1B5_g-JR5SmRaWTo8,17006 -django/contrib/admin/locale/ko/LC_MESSAGES/django.po,sha256=cZ7N1sxBgJtL52SaB3pC-9kzEkglcVp9zi3oOmRqLME,18444 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo,sha256=ejjPHM0HjXBXfsyFGyxAnzj7K296EK7kgxhMhT8-9wA,4493 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po,sha256=R4ruBO7896mDe8ksU8iIwVjZM_6OB0dohAaek0Srkbg,5029 +django/contrib/admin/locale/ko/LC_MESSAGES/django.mo,sha256=gE-N_BIWeg7KZ-v3ZHHWC5tyVu7O3Y6vRA2QZ31MfNw,17320 +django/contrib/admin/locale/ko/LC_MESSAGES/django.po,sha256=ERmk5FVOMSgB7w7nVCXB2kBMzoEUOD4VpLTePrqjsv4,18935 +django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo,sha256=ziL3F4ymY5DChHli3ZJqvkOz1YLzDgDbLl_mL3meomY,4493 +django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po,sha256=0oGHxYVwtQEz0sTPE1DoksK-LRTQOyuLzcT2tqcU15U,5029 django/contrib/admin/locale/lb/LC_MESSAGES/django.mo,sha256=8GGM2sYG6GQTQwQFJ7lbg7w32SvqgSzNRZIUi9dIe6M,913 django/contrib/admin/locale/lb/LC_MESSAGES/django.po,sha256=PZ3sL-HvghnlIdrdPovNJP6wDrdDMSYp_M1ok6dodrw,11078 django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po,sha256=fiMelo6K0_RITx8b9k26X1R86Ck2daQXm86FLJpzt20,2862 -django/contrib/admin/locale/lt/LC_MESSAGES/django.mo,sha256=bYiOprxWo54Uky70hmTIzjiSTqfWarP57-KUOWjy7eo,16410 -django/contrib/admin/locale/lt/LC_MESSAGES/django.po,sha256=sARv8FpCWC2oQskLGebVYI56v9shcPScbMHONJXyaD0,17835 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo,sha256=ixKwmi59zj8oVCzxFYjXVRE3_EKQFdS7fZYrtngIDtU,4934 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po,sha256=Zzq-hPaQUe3r7WMOWAuoTITVUkTtkDnYwShy5vogaAE,5570 -django/contrib/admin/locale/lv/LC_MESSAGES/django.mo,sha256=xD7Wvz9_Yn-PoqyhsQid1fv0IO7irGTiQ3V7w4rYuPU,16220 -django/contrib/admin/locale/lv/LC_MESSAGES/django.po,sha256=z_tyZSi-D7zSEV-keRnvlKARqgmJzp6Dl497PcKUJPo,17595 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo,sha256=fPfAqPJxqmFRYSPlLch8eBKfXwZ7jTPBlcs3-LXMu7k,4908 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po,sha256=pAwBGRKZVtF0I0XqlrO_UMo7WWd_P0WgLOunzGJQaYA,5428 +django/contrib/admin/locale/lt/LC_MESSAGES/django.mo,sha256=rDL3odIwP-sh_nVmSe_mj9vF9svmZA77QozjD-pqBfs,16971 +django/contrib/admin/locale/lt/LC_MESSAGES/django.po,sha256=6PTFk40aM6eaxxvyMB8jVh42TOl9DpbF8ekDXy6ud_E,18540 +django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo,sha256=vZtnYQupzdTjVHnWrtjkC2QKNpsca5yrpb4SDuFx0_0,5183 +django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po,sha256=dMjFClA0mh5g0aNFTyHC8nbYxwmFD0-j-7gCKD8NFnw,5864 +django/contrib/admin/locale/lv/LC_MESSAGES/django.mo,sha256=phzWiD6Ulz7wXPU-FaYdNPvcOYQlR5eBuMfiCal2CSU,16733 +django/contrib/admin/locale/lv/LC_MESSAGES/django.po,sha256=uiyqhUFie4O3vJMBdS9LmhPgM6jw3-tQwkGn-jxipCs,18165 +django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo,sha256=eZAxtfdIDk07LhKgbWG0nAdHLn88mmWXbFX9ZvPPZdo,4903 +django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po,sha256=xCNNC4beYfhQWx8iC-qS8Hx7J5BGi2O2zq7Y2tQ96J4,5418 django/contrib/admin/locale/mk/LC_MESSAGES/django.mo,sha256=luKonZA7H7yeCILl4BWXsYn_BncPzYy7_sfCWq7vlI4,20661 django/contrib/admin/locale/mk/LC_MESSAGES/django.po,sha256=LyznsrasvV6Rtq7X6NnIrdZESGo_PlhISShHrCTbDgc,22056 django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo,sha256=ZyQQ49zqs8GiS73XBaSd5l3Rh3vOA0glMpX98GH6nhU,5633 @@ -590,10 +588,10 @@ django/contrib/admin/locale/ml/LC_MESSAGES/django.mo,sha256=RzG1Bu5fVUe0yagKxq5P django/contrib/admin/locale/ml/LC_MESSAGES/django.po,sha256=w1xncysUEfTk6owbX6_2PMAH5emG_DMBOsshmc_64So,24562 django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo,sha256=ALD2ba1V37Xo9mWShD9KNr7iE3F30nytEbHnP1gxz8o,6362 django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po,sha256=Fa_b2gBa-JJkxGrJhdQ-T0QigGLeHnu8lhhmdqKiq6s,7607 -django/contrib/admin/locale/mn/LC_MESSAGES/django.mo,sha256=ew8-JvbkDihdAdNh9bC17H7BL0qw6ETwGWIg2EdXWDs,20092 -django/contrib/admin/locale/mn/LC_MESSAGES/django.po,sha256=18g6zBpC4sQ5ZbbKhsdsMdEUYr0ylV3KbCyFuoKF02c,21513 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo,sha256=p4vwkVWIQWCbz-YzN--75wMlhZw-UFAEyJLBOjHgMCM,5215 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po,sha256=6Bqlo2zHRu3RVQP2QGPVZVNP1aPHalBcKaoouHVU8y8,5761 +django/contrib/admin/locale/mn/LC_MESSAGES/django.mo,sha256=Kz3fA7eU9qx3XNeEaSieD_UxSRTylT9N-DFSEed4DZw,20634 +django/contrib/admin/locale/mn/LC_MESSAGES/django.po,sha256=KjENqF1KADrxfGJk07MDcULbMHQr8G2BPfNa0ejkMxM,22059 +django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo,sha256=TlPEpGeVo8QfvNIK3AJ85Qkpyt0u575ftmELZF9XevU,5193 +django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po,sha256=4cc_PXqXeYNxFUL70FTOjYC8jjqwt9REzYqwuzbv83E,5717 django/contrib/admin/locale/mr/LC_MESSAGES/django.mo,sha256=UAxGnGliid2PTx6SMgIuHVfbCcqVvcwC4FQUWtDuSTc,468 django/contrib/admin/locale/mr/LC_MESSAGES/django.po,sha256=TNARpu8Pfmu9fGOLUP0bRwqqDdyFmlh9rWjFspboTyc,10491 django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 @@ -602,10 +600,10 @@ django/contrib/admin/locale/my/LC_MESSAGES/django.mo,sha256=xvlgM0vdYxZuA7kPQR7L django/contrib/admin/locale/my/LC_MESSAGES/django.po,sha256=zdUCYcyq2-vKudkYvFcjk95YUtbMDDSKQHCysmQ-Pvc,12522 django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo,sha256=1fS9FfWi8b9NJKm3DBKETmuffsrTX-_OHo9fkCCXzpg,3268 django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po,sha256=-z1j108uoswi9YZfh3vSIswLXu1iUKgDXNdZNEA0yrA,5062 -django/contrib/admin/locale/nb/LC_MESSAGES/django.mo,sha256=IroGpA0_OpPSHjw8llcKD7XoPMqtLLPcYtyiUTQXG6k,15643 -django/contrib/admin/locale/nb/LC_MESSAGES/django.po,sha256=U_vdIdGmmEvivVU2Z5ZgZwvdsjM31d9zjZl6clc4bx0,17068 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo,sha256=VSt2qyv3IsyongCj9VUuceksd2L7X8uluPJMeGgfOIo,4375 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po,sha256=NJ1EcuXD8LEuLwe_FbOe1NEgAoAi-v2qljCiYrxhA9M,4915 +django/contrib/admin/locale/nb/LC_MESSAGES/django.mo,sha256=5juAkhBHZ840DUdEOfyLLEw84bcM2vfzeLqrDq_PL4Y,16081 +django/contrib/admin/locale/nb/LC_MESSAGES/django.po,sha256=xJxWqd6bSBIWXnQAVhZb8Dl3K6jUH-MUNcINQsVspCg,17532 +django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo,sha256=M9-bGaylF_ZgF9PN_IcNSlwmJASh9UCp-XTt70OI-GE,4375 +django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po,sha256=RfP3ay2dJ7jIVoOw923KR9yJUGKs6SBQiiprgB-rFJ0,4915 django/contrib/admin/locale/ne/LC_MESSAGES/django.mo,sha256=vkGnGxQFgLe9TFxEalAj-wLa0mos4ylG24clOGzRWr8,15710 django/contrib/admin/locale/ne/LC_MESSAGES/django.po,sha256=qWDifq6NZdeyYS2uM7OFuypxeWCmBkCZBKhVEOAvd5g,19569 django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo,sha256=mJdtpLT9k4vDbN9fk2fOeiy4q720B3pLD3OjLbAjmUI,5362 @@ -622,30 +620,30 @@ django/contrib/admin/locale/os/LC_MESSAGES/django.mo,sha256=c51PwfOeLU2YcVNEEPCK django/contrib/admin/locale/os/LC_MESSAGES/django.po,sha256=yugDw7iziHto6s6ATNDK4yuG6FN6yJUvYKhrGxvKmcY,18188 django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo,sha256=0gMkAyO4Zi85e9qRuMYmxm6JV98WvyRffOKbBVJ_fLQ,3806 django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po,sha256=skiTlhgUEN8uKk7ihl2z-Rxr1ZXqu5qV4wB4q9qXVq0,5208 -django/contrib/admin/locale/pa/LC_MESSAGES/django.mo,sha256=XRkVFMMBuHA86K16qlN5X2c1DliD-hUwFIB9NIbhPXk,10171 -django/contrib/admin/locale/pa/LC_MESSAGES/django.po,sha256=XTZMIuOCZRC7aG-iRSokjDy9f126VV63S6TLX0sKrOA,16093 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo,sha256=lwkcLUw3N-uFwqP2p1sZzaMVeXUGIMPDO-IPoYnalGo,1207 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po,sha256=7BYA76FmHAJVe_GRt2fIYei57Sk3B7G_qHy-lrCUxgs,3717 -django/contrib/admin/locale/pl/LC_MESSAGES/django.mo,sha256=SvX2PwbwwzhbsX6VE3S11KV8sA4Ue51Ams1kA-62mRY,16766 -django/contrib/admin/locale/pl/LC_MESSAGES/django.po,sha256=2PTMAAsRkpkHwtxuLAoGtdQcPlSg7eBBqMHvG1QyFA0,18475 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo,sha256=ec1TSIUAbti7sn1vEkF_JwsAKtJw7AQ_P_QgyAq8R38,5124 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po,sha256=u0KYrSzRQm49ZVcLqocF0bJjzL8fQXjR5dHtrdWvYhc,5885 +django/contrib/admin/locale/pa/LC_MESSAGES/django.mo,sha256=n31qIjOVaJRpib4VU4EHZRua3tBnBM6t_ukH9Aj37GM,10185 +django/contrib/admin/locale/pa/LC_MESSAGES/django.po,sha256=MR6ZOTypay-qCvafn0J0rZF06rOsWz771CLDD1qvISE,16446 +django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo,sha256=vdEMaVBuJtK1bnECgbqd_dS06PcmN7cgdv0hKGH5UKA,1207 +django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po,sha256=xU8tchSEH3MCLFSu4-71oVCR8pliKmILqFevM13IQ5M,3717 +django/contrib/admin/locale/pl/LC_MESSAGES/django.mo,sha256=PzeZA_7rF6LK5_4Z1tRTi_svh8NhBlJ7js8b8uMwtvY,17253 +django/contrib/admin/locale/pl/LC_MESSAGES/django.po,sha256=loRzKv8syWaknj1l8y_Z48UoeP5Y86BrAayiuItTySg,18983 +django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo,sha256=ZiNB7VjkxpIcu3B7r4slW0IsBwWZl_yzp8-ZFG2nRGE,5124 +django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po,sha256=OqqgTzcE2BNomqFOZlPvGf1IBIz3CaiNeen1VFm_hPE,5885 django/contrib/admin/locale/pt/LC_MESSAGES/django.mo,sha256=kJQFBZeg8oTQySbwGEA2U5KX-SD4jSNDTQKqNkwADJM,16612 django/contrib/admin/locale/pt/LC_MESSAGES/django.po,sha256=tkaISKw8FWa0AWjwqyGJO8h_HQRy_-NjOAHezoOFynk,18021 django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo,sha256=D6-8QwX6lsACkEcYXq1tK_4W2q_NMc6g5lZQJDZRFHw,4579 django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po,sha256=__a9WBgO_o0suf2xvMhyRk_Wkg2tfqNHmJOM5YF86sk,5118 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5LfoCVXCKPB0YoxVvijk6viVmNH6DOjQT0LdSV3wTPI,16398 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po,sha256=pHFIJArrkTV8TTp90h7J-Irf3wLjA4zhXxoXValg8X4,18246 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo,sha256=wOoG2N8JrONQDPsXZ0LstCOUwL0Dtkrg5tv5LUfdLPQ,4619 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po,sha256=VGvet4lDdbvOiWQiXEJzZncw5KpeiK6vPITwmIiwLXU,5256 -django/contrib/admin/locale/ro/LC_MESSAGES/django.mo,sha256=i9xCmjjK89RDyZbv4byzzXp10n-XzwsLpFrkNcpmKD8,16508 -django/contrib/admin/locale/ro/LC_MESSAGES/django.po,sha256=KXM5hrWJOmXe0uJ8hAcnAyubdFmfiHGqQD4TlDiVIB4,17936 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo,sha256=ecZWK29CdeMH21OfOuv0dZ9907hWu_1gUsUeDxRJd-c,4711 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po,sha256=2Vm36kASBB8RlNTWV3xnLkl06qGbPex4zJeXKV1ihCc,5388 -django/contrib/admin/locale/ru/LC_MESSAGES/django.mo,sha256=UUsVqTtdz3RrPeo3zNTpyfzj6q9X6akrEW_iiYhTMM8,21129 -django/contrib/admin/locale/ru/LC_MESSAGES/django.po,sha256=2aSRrHBP4Is4ROggjZmEXkb3AhWadFbBJBfAkwTslXo,22684 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo,sha256=aKfi6-U6lHDVoCT0vnr5u02POMb2ZZq6RBWkYM3ZTGs,6564 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po,sha256=qJElbC05QixcTmPe4_QN_p0UiiXxVXRMXEK8ZsTYS58,7372 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo,sha256=9SjRP63e3DFvKYmIWSFxfw1qNDLXyxJzpWrN0LKYOU0,16911 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po,sha256=S247yIhy-lidXtm8kgwlZ3qcaLYkCFVjkfkYuYvA1OE,18927 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo,sha256=a7KPhFtcwVa7PX1XK1cgF3HOOcRSkT-XYSiRCFyFQFQ,4619 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po,sha256=ENE4HAsUNcYJq2KvLrfBOLuxr1chEyEi39OSlaQU98g,5256 +django/contrib/admin/locale/ro/LC_MESSAGES/django.mo,sha256=YNh8StWxKDKJy7eKPaMZHa84t_qcrLN2tEIZXWtF--0,17007 +django/contrib/admin/locale/ro/LC_MESSAGES/django.po,sha256=TSYX9GoNiVodku9mWCmNga7JKdypQKzifqc8Ur9GbD8,18480 +django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo,sha256=pb_H0zmtdSjvpacoMnLZuZy3B2PSeUGteL6-MoldLpg,4686 +django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po,sha256=OlT5yOHT3MK7M0ZXy467gJfsqNSLgUlUnXqQBhfHy3I,5387 +django/contrib/admin/locale/ru/LC_MESSAGES/django.mo,sha256=9msu1WFKZYYCuUgQ1xqoPPrWiXzwxb7AB_RWgp0ziKE,21855 +django/contrib/admin/locale/ru/LC_MESSAGES/django.po,sha256=Hh-delLL1x6psW5AkXQc7Tnm8diEhvYvCj6THWZoHmI,23489 +django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo,sha256=LnAupy3FSz9zH6axWnvh1wtW27O5e8N6Apl5jFeFj0k,6560 +django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po,sha256=BMFEVFmYedhcRprutX1VBnoD6OuC79hExVt-h4Ep-ng,7360 django/contrib/admin/locale/sk/LC_MESSAGES/django.mo,sha256=qfJ6iSOPH215iuk7dGbbbkYFbDTFr3DgXTH5PKyakX0,16405 django/contrib/admin/locale/sk/LC_MESSAGES/django.po,sha256=_efzcdpl-KkRFglILyRBp2lXLu1jAnoeWjFHRmE4vio,17792 django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo,sha256=FIrWSjWt0qRGLmjt3wODBr4Dm9rfGGJNo_aQomRlL9w,4551 @@ -654,14 +652,14 @@ django/contrib/admin/locale/sl/LC_MESSAGES/django.mo,sha256=iqcg1DYwwDVacRAKJ3QR django/contrib/admin/locale/sl/LC_MESSAGES/django.po,sha256=VeIJDh1PojyUy-4AdPcVezbQ-XVWqp04vFE_u3KU2tU,17508 django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo,sha256=0jqGv5lgcfyxh9pdnB0Nt7e0bF2G0nO-iVWJjKwyZqI,4724 django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po,sha256=1DEs7obfCCf-hNM2nIkMizcRcq1KoLBvngMaXLlozUo,5269 -django/contrib/admin/locale/sq/LC_MESSAGES/django.mo,sha256=mz4DGjNy67A6s3gbYuWSrjeGyQgZ29HjEQ22c7oq3HA,16593 -django/contrib/admin/locale/sq/LC_MESSAGES/django.po,sha256=1TlVYvPiB1UztB-fEAcw0iTs0rzd2NrBKH4XXv7-eq0,17876 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo,sha256=Kke8CoU6tgem52SEYXyN-GD31iE0X2DtXljgEx2u5Dc,4590 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po,sha256=Xr0i6Ru0KgO1fmXHJbF_8_QC6mCVU8lKKNDB0lQWVdU,5052 -django/contrib/admin/locale/sr/LC_MESSAGES/django.mo,sha256=xcPq0tHEmWuHzjORFiHXqJoRMd2ztq9ZQklkEadB_6c,14663 -django/contrib/admin/locale/sr/LC_MESSAGES/django.po,sha256=BmZiFbw8Wbv3YY-m7JFyEB0PVyGH71MaAe5lGwJWvCQ,18499 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo,sha256=_xxpc37j4ea5rfzTNLfmkF1BTea7rc5ZIfAwlS1xMgs,5221 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po,sha256=qcjIyqk-3c1qzuRdo0NVjLK-C-hLXvQvehAKUQhhsfs,5729 +django/contrib/admin/locale/sq/LC_MESSAGES/django.mo,sha256=et_qX5zIJSoOAFcH699rBgtV9MDTsFOR-3WBQqBkNY8,16968 +django/contrib/admin/locale/sq/LC_MESSAGES/django.po,sha256=C75jomu3faOUK6UJHrdZLHWvlZ2_-qhlrccbQ8tjAT4,18345 +django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo,sha256=Y8QxQzzoGCTZ61b1Y9OSbPosunTPmRv3fGa1anV6vTg,4590 +django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po,sha256=LbSmumf9GglYFGM60mFvPFoEayWFVL72rPJ1WUYO_d8,5052 +django/contrib/admin/locale/sr/LC_MESSAGES/django.mo,sha256=QBVRQ_QV1q00MPi6FN5ZGW9IeGht2LWyHnFtUsWBiZw,21023 +django/contrib/admin/locale/sr/LC_MESSAGES/django.po,sha256=TOvO7b7bUJ6-qPnspH5I9uAhzvudnMP6zzynJtE39Rw,22337 +django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo,sha256=No_O4m32WrmnovKZ7CgusTPZOiMRDvMusQNS9FAg_pg,5221 +django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po,sha256=lj1TZE6I5YK0KUBD7ZVGMLV97sYwlIIwZjC5WQyxSyE,5729 django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=MCdPPbt_Rob5o-oiXrrh04yJdpzj1_LH2u6iNQrUZ0U,11339 django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po,sha256=z7Kmej61JawIMlGVei9SznO_yzgijWZ5P-YZDNZQGxI,15457 django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo,sha256=Q9Z-L--PCpPQkbqm2JmNX0jGQt42RVX9I7LdQLEgoQQ,2978 @@ -682,14 +680,14 @@ django/contrib/admin/locale/te/LC_MESSAGES/django.mo,sha256=aIAG0Ey4154R2wa-vNe2 django/contrib/admin/locale/te/LC_MESSAGES/django.po,sha256=-zJYrDNmIs5fp37VsG4EAOVefgbBNl75c-Pp3RGBDAM,16941 django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo,sha256=VozLzWQwrY-USvin5XyVPtUUKEmCr0dxaWC6J14BReo,1362 django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po,sha256=HI8IfXqJf4I6i-XZB8ELGyp5ZNr-oi5hW9h7n_8XSaQ,3919 -django/contrib/admin/locale/th/LC_MESSAGES/django.mo,sha256=3M_F_61KZCpwDW59j69WocWl5BvdOP2kP0ghqjWuvtU,18775 -django/contrib/admin/locale/th/LC_MESSAGES/django.po,sha256=L2VnfVan4tJ0Lafv0Mc7oVNy2HG6l2tlwDaetLCpByY,21693 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo,sha256=Pf2RPgOPysCBvi_5dA73rGrrfs6E4fwtQslrJ0C1-0E,5584 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po,sha256=dJWCRdd48kZYyhWcOrqqrBIrFKnZt5BL4Dj0pLH-vYk,6386 -django/contrib/admin/locale/tr/LC_MESSAGES/django.mo,sha256=AMH9iJeDnFNroamlplOgstt5LCDMLYaQHf11ZeHaZGA,16541 -django/contrib/admin/locale/tr/LC_MESSAGES/django.po,sha256=l554XQjF1bObdqocEkUUEOd83PS_Evs6on3YdLnzZXQ,18065 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo,sha256=_UZ4Vl3iMn2jr69RdNsamDcQUi8Z40gb_cXGM6v7htM,4547 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po,sha256=DH2pZ5OEc8jhW3gzRvq9E_Z6pUA7yayyikszK86MBYg,5070 +django/contrib/admin/locale/th/LC_MESSAGES/django.mo,sha256=7X6-Mgf5QiBV7xbcl_rwxyNF63v3zKAAAVqjFO6c8gg,18986 +django/contrib/admin/locale/th/LC_MESSAGES/django.po,sha256=bt87Nyr9UXksedki4Hlr3pPF4V1shsBAlBp583vmzEI,22157 +django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo,sha256=ukj5tyDor9COi5BT9oRLucO2wVTI6jZWclOM-wNpXHM,6250 +django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po,sha256=3L5VU3BNcmfiqzrAWK0tvRRVOtgR8Ceg9YIxL54RGBc,6771 +django/contrib/admin/locale/tr/LC_MESSAGES/django.mo,sha256=5H-SFTLfhEWTpBiZjWVlWKTpkIlpe18ZlxvtOEvx00A,17033 +django/contrib/admin/locale/tr/LC_MESSAGES/django.po,sha256=u0o1F6t9s05Y1N0l1-u-3PmnMmwKlX_0x0S14RjGJkI,18578 +django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo,sha256=1kem0Biv2nHRWs89KfqJew6Vk-uxsFiBV7Do7NB5ykE,4547 +django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po,sha256=ctZld3zOFwulpBGoE26KbbQxeaaZmbwLSWbERrNeKhs,5070 django/contrib/admin/locale/tt/LC_MESSAGES/django.mo,sha256=ObJ8zwVLhFsS6XZK_36AkNRCeznoJJwLTMh4_LLGPAA,12952 django/contrib/admin/locale/tt/LC_MESSAGES/django.po,sha256=VDjg5nDrLqRGXpxCyQudEC_n-6kTCIYsOl3izt1Eblc,17329 django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo,sha256=Sz5qnMHWfLXjaCIHxQNrwac4c0w4oeAAQubn5R7KL84,2607 @@ -710,27 +708,28 @@ django/contrib/admin/locale/vi/LC_MESSAGES/django.mo,sha256=jl3bBXOh26m8Egaw3N8V django/contrib/admin/locale/vi/LC_MESSAGES/django.po,sha256=eDAYTe4FiiMZO3dzMFu_3qNqYDC7s1gXRUeBSOePIrQ,17618 django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo,sha256=M_wqHg1NO-I7xfY-mMZ29BqUAqGzlizgJ3_DIGBWOUc,3733 django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po,sha256=d3YtQhNuCqtfMO3u5-6zoNhhGBNYkoUhTrxz7I3PRkQ,5018 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=Ym2hB8IIiAqx6v8ZmVYCy7f0sQkblv-kCeYHDO7Ffdk,15164 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po,sha256=NrQDcOmkMemKSUJG5AfjNuyt3fCNMpw128I9RfGyy0M,16806 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo,sha256=LqYixSP4KAwCMcKNMpU3v-v-Ck66YjpDQYf9V_PtUNA,4229 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po,sha256=n9Idwm6fJ4e1JGsT5ptjoJwu6Qp-gBzG1RE58O4NHhI,4950 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=od1Nkt8dg8gAQIwh1LpD2uBhw7yH8hmYc6f6YlBaaL8,15361 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po,sha256=gNcLxC9d2y7z-3ZfuShVgpaJ59LBfztrrFPp66zy08Q,17291 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo,sha256=ypJV8qNOfp5NDdC4bciIoSST2txTnQZWFJD0bIUNd78,4245 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po,sha256=p48E5tOcZbks7JipYsUOg3FWuG_6mP2wSWJeb5otzHQ,4982 django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=kEKX-cQPRFCNkiqNs1BnyzEvJQF-EzA814ASnYPFMsw,15152 django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po,sha256=iH3w7Xt_MelkZefKi8F0yAWN6QGdQCJBz8VaFY4maUg,16531 django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo,sha256=yFwS8aTJUAG5lN4tYLCxx-FLfTsiOxXrCEhlIA-9vcs,4230 django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po,sha256=C4Yk5yuYcmaovVs_CS8YFYY2iS4RGi0oNaUpTm7akeU,4724 django/contrib/admin/migrations/0001_initial.py,sha256=0p5TjterT80FOrCxhO7YqZPag-xnyRin_mQ01Qj579o,1893 django/contrib/admin/migrations/0002_logentry_remove_auto_add.py,sha256=_7XFWubtQ7NG0eQ02MqtxXQmjBmYc6Od5rwcAiT1aCs,554 +django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py,sha256=UCS9mPrkhZ5YL_9RMSrgA7uWDTzvLzqSLq_LSXVXimM,539 django/contrib/admin/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/admin/static/admin/css/autocomplete.css,sha256=MGqRzeZ1idtUnRM7MnEHw7ClmOVe_Uo7SdLoudapNMU,8440 -django/contrib/admin/static/admin/css/base.css,sha256=Pplnc9jKFUDyZvspY9dqhhACUvR33cf4Lp0DkK6zEdA,16106 +django/contrib/admin/static/admin/css/base.css,sha256=CuAW_3Ywwtu8i5qSPm3XaRlPJAKCoqWPKl-w7w7Ihpo,16225 django/contrib/admin/static/admin/css/changelists.css,sha256=z-w-H416nJzM01ysLRhynHH-4zyjtkoDlzRPFDARX6U,6170 django/contrib/admin/static/admin/css/dashboard.css,sha256=M_duSlzrcec1HXMWlLXJQkFw4m6v2dgB3PRaJlWQo14,412 django/contrib/admin/static/admin/css/fonts.css,sha256=SnBl3KjeUZqRmZw3F0iNm1YpqFhjrNC_fNN0H2TkuYc,423 -django/contrib/admin/static/admin/css/forms.css,sha256=NtSdGKiwEksxVFU-0XeP8Ijv69Zp9sMGYrZqYTh9_s8,8173 +django/contrib/admin/static/admin/css/forms.css,sha256=F33IkdQ8H5uoOOaaGAEEgfPqwFdBzSrCJsHfZsdV6eM,8505 django/contrib/admin/static/admin/css/login.css,sha256=lHpzTw50VkxttDANxGiCnANx46B8HaROciU_sRHbTRs,1203 -django/contrib/admin/static/admin/css/responsive.css,sha256=UAMABM7h5rRZ8FocJw4bfx36Q5XtIDm4ddXN8lMC4SQ,17894 +django/contrib/admin/static/admin/css/responsive.css,sha256=nleMgEuyzRdoXUVvd0d6A4L6ETRa6SaZZv7_VqkvfHw,17976 django/contrib/admin/static/admin/css/responsive_rtl.css,sha256=kdXYUgMd5uXiLthyjc1pv4VXCu9Wy8Mxk1q_f8eQNz0,1859 -django/contrib/admin/static/admin/css/rtl.css,sha256=4FQYhqc4pttIAS0ealmRFrEIwirPs7v9YK3f7DxqTEQ,3731 +django/contrib/admin/static/admin/css/rtl.css,sha256=q3xhmDu5q1eDSw1zQNC16g-imFBXsLmmziCeoH-Al1I,3741 django/contrib/admin/static/admin/css/widgets.css,sha256=FbxIKiGYkWjZwRMm5A_Qv-kKrhsPnfzhsF1j28eSqnA,10340 django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 django/contrib/admin/static/admin/css/vendor/select2/select2.css,sha256=xqxV4FDj5tslOz6MV13pdnXgf63lJwViadn__ciKmIs,17604 @@ -752,6 +751,7 @@ django/contrib/admin/static/admin/img/icon-deletelink.svg,sha256=06XOHo5y59UfNBt django/contrib/admin/static/admin/img/icon-no.svg,sha256=QqBaTrrp3KhYJxLYB5E-0cn_s4A_Y8PImYdWjfQSM-c,560 django/contrib/admin/static/admin/img/icon-unknown-alt.svg,sha256=LyL9oJtR0U49kGHYKMxmmm1vAw3qsfXR7uzZH76sZ_g,655 django/contrib/admin/static/admin/img/icon-unknown.svg,sha256=ePcXlyi7cob_IcJOpZ66uiymyFgMPHl8p9iEn_eE3fc,655 +django/contrib/admin/static/admin/img/icon-viewlink.svg,sha256=NL7fcy7mQOQ91sRzxoVRLfzWzXBRU59cFANOrGOwWM0,581 django/contrib/admin/static/admin/img/icon-yes.svg,sha256=_H4JqLywJ-NxoPLqSqk9aGJcxEdZwtSFua1TuI9kIcM,436 django/contrib/admin/static/admin/img/inline-delete.svg,sha256=Ni1z8eDYBOveVDqtoaGyEMWG5Mdnt9dniiuBWTlnr5Y,560 django/contrib/admin/static/admin/img/search.svg,sha256=HgvLPNT7FfgYvmbt1Al1yhXgmzYHzMg8BuDLnU9qpMU,458 @@ -762,31 +762,31 @@ django/contrib/admin/static/admin/img/tooltag-arrowright.svg,sha256=GIAqy_4Oor9c django/contrib/admin/static/admin/img/gis/move_vertex_off.svg,sha256=ou-ppUNyy5QZCKFYlcrzGBwEEiTDX5mmJvM8rpwC5DM,1129 django/contrib/admin/static/admin/img/gis/move_vertex_on.svg,sha256=DgmcezWDms_3VhgqgYUGn-RGFHyScBP0MeX8PwHy_nE,1129 django/contrib/admin/static/admin/js/SelectBox.js,sha256=xB_jbdmwUFitjqFcGankTIkhcTGaluR9rmBoVy0w4fg,5755 -django/contrib/admin/static/admin/js/SelectFilter2.js,sha256=haJFnUq97-Uat1iVigFh9y0ssqTcIjKjba8NbHkv5fA,12680 -django/contrib/admin/static/admin/js/actions.js,sha256=PveOc3V1J5uCsTIgKlujfaZjXgXh_grkxGNgZUuPV_4,6502 -django/contrib/admin/static/admin/js/actions.min.js,sha256=5yXpKSwzdlPdUsxCu_yrYTa68mJuNyD5Pzs6kbaSeiI,3161 +django/contrib/admin/static/admin/js/SelectFilter2.js,sha256=27G5NolBoqNgsL3jdYvaoLEB3jY7Yll09fBVbXUW_l0,12712 +django/contrib/admin/static/admin/js/actions.js,sha256=u1AAP9rHBwoBjXvZKDzVMBzmzt5GO6ZPHL0szMHSmEc,6538 +django/contrib/admin/static/admin/js/actions.min.js,sha256=wqvSFm3FGV8KnCfsA2XgxsJM7-QhBT4kLAMFKnCBMrY,3195 django/contrib/admin/static/admin/js/autocomplete.js,sha256=LgImTP2VTEaJKqxBqvJKRa-mfenZBjeVg7LnHetaxQU,1124 django/contrib/admin/static/admin/js/calendar.js,sha256=8ej_F8SBtoFhNmmoLwONpyVwOJHd5JBWUMe1mwgxpwE,7777 -django/contrib/admin/static/admin/js/cancel.js,sha256=A9TJZ9Ih6xWf-3ETNJXwXYgzCRu6BlMQhncwS6KWiSk,204 +django/contrib/admin/static/admin/js/cancel.js,sha256=iS0oLbvEb4rtR1QdEhB7OFh_DOlXvrmtB3TTbcELaVI,410 django/contrib/admin/static/admin/js/change_form.js,sha256=J-beGDyqR6uyb3iW_OI9Yo0ZFrfwJVqNFFDeL7-njqA,712 -django/contrib/admin/static/admin/js/collapse.js,sha256=089NhKcy5cbhzScg6vWEfoXxItzFpxVsYYJ2C7KMQUE,1151 -django/contrib/admin/static/admin/js/collapse.min.js,sha256=2ouFB9PV4qb6btAYqFc-mMUc651Jq4ZPVXJ7AaF_ZTY,1634 +django/contrib/admin/static/admin/js/collapse.js,sha256=cAKzs45XLeR0iZNQALKGo4-BeBmh_KTFahVkeJV1XrY,1157 +django/contrib/admin/static/admin/js/collapse.min.js,sha256=vpayHk1rd7rF0ISUqN91Kk6XdMGiCjsyp7keP-CheWk,1685 django/contrib/admin/static/admin/js/core.js,sha256=9XcoubW_oyev18M3x8f82mYQ7S2IyL75jZmu4XaIdBo,7134 -django/contrib/admin/static/admin/js/inlines.js,sha256=l9QepZOAUgZ9rEJ-OcR_3Lh3JQtsza9H8y3k0CLBvqE,13673 -django/contrib/admin/static/admin/js/inlines.min.js,sha256=rQt0u9jd1SyYaNhQWb34UHBxRMctRmtIT1O7WMJK3Rc,5824 +django/contrib/admin/static/admin/js/inlines.js,sha256=FdPdsyKEe40OV-7WTzdIqq0zAW1IAlUDFpcG50aor40,13813 +django/contrib/admin/static/admin/js/inlines.min.js,sha256=7hU_NQKXczvSsYBNL_ClcRgP-b8o1TzOzgocZuXI8Ao,5864 django/contrib/admin/static/admin/js/jquery.init.js,sha256=Gr-yEd61wY6uBDMhOaVq-amfciz7EZhMvJfai_WxrHE,363 django/contrib/admin/static/admin/js/popup_response.js,sha256=7XyHe9SDYkB8OMxF7fhL6N5l4Oxf-gXqzGlpPK63tcc,569 -django/contrib/admin/static/admin/js/prepopulate.js,sha256=PCNwmurilcnTH8ve8QXdAM0rHHWvLIaCU6HEnyRKJyg,1538 -django/contrib/admin/static/admin/js/prepopulate.min.js,sha256=pVBz-2RAxr0d6ebCNjkfOEiUXtd9f6Ppwtl7HOHw2Pk,372 +django/contrib/admin/static/admin/js/prepopulate.js,sha256=jBV6-T9KNi-JCczRf_bOkA9tjjWpIYbXxRhG_vNbadc,1530 +django/contrib/admin/static/admin/js/prepopulate.min.js,sha256=j3KNblf8i0JjoV5w5HAd4vEDogZ421xolYqGrzdSC9o,379 django/contrib/admin/static/admin/js/prepopulate_init.js,sha256=uD3_ZoYfJ62mcSgqzHfePA3Y5jaOBjxn7SU0LuYFgEE,495 django/contrib/admin/static/admin/js/timeparse.js,sha256=oVk0xpGmRjS0V2sMsjGulzMSNDvIr1gQ6_fpivvh_kQ,2984 -django/contrib/admin/static/admin/js/urlify.js,sha256=58xpviBrxcL0ojOn0tAyAUfcqMCcA74qQZtpJ7_gN9c,8729 -django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js,sha256=R2WRhH2444LARslaEB01MB8MyLh_XnRvuUJiVvnAYV0,20283 -django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js,sha256=GEruiyMhTd6Q5pX-C5z3z0Xv4BMcpGFKuonaAYuSW0A,6897 -django/contrib/admin/static/admin/js/vendor/jquery/LICENSE-JQUERY.txt,sha256=GIg3JQapSjFSu38FkC7Wm4cW4HUcvoWPb0YdP5LxKfU,1282 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.js,sha256=laXWtGydpwqJ8JA-X9x2miwmaiKhn8tVmOVEigRNtP4,258648 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js,sha256=a23g1Nt4dtEYOj7bR-vTu7-T8VP13humZFBJNIYoEJo,85659 -django/contrib/admin/static/admin/js/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 +django/contrib/admin/static/admin/js/urlify.js,sha256=SIz0W49xYFdPL9idWm5IB6ROvVWtpw6juZUUYysFcXA,8972 +django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js,sha256=gBa9k-UaYxOf1CsmygyymXdeH7Il_eMU14gUsVn4o9o,20281 +django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js,sha256=9LIqZywmXGzPkc8sRJEmAsYzScCMZDM_xZrjtIjuPyE,6918 +django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt,sha256=GIg3JQapSjFSu38FkC7Wm4cW4HUcvoWPb0YdP5LxKfU,1282 +django/contrib/admin/static/admin/js/vendor/jquery/jquery.js,sha256=2Kok7MbOyxpgUVvAk_HJ2jigOSYS2auK4Pfzbm7uH60,271751 +django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js,sha256=FgpCb_KJQlLNfOu91ta32o_NMZxltwRo8QtmkMRdAu8,86927 +django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 django/contrib/admin/static/admin/js/vendor/select2/select2.full.js,sha256=nwWu44AW64pJgDdb4wY7wcWkfUPTfBgwjHkIsnBFUE4,161832 django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js,sha256=FJuLxhiJiX-5Qgs0c2JYLIyJ5i0o4ccg6DQ6zgitCYY,75005 django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js,sha256=fgVH5qCYQqvtWwa8MGiOx4VSKCg5d_BkMbaknNoncWw,887 @@ -836,69 +836,72 @@ django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js,sha256=LsPBQ5q5xi django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js,sha256=ZWpJDPBtRbDJ3YyQ4Z02Le6BRnN0gRxSAoFzYqFE7Nw,801 django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js,sha256=J4dFzbG57aghBD5x1PmkURHSi5y6AytiJgcl9iq-3z0,769 django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js,sha256=zqyrNXby3B33G7De41AQ-OFpy-Cgi3vTXZm_-IGnsXY,708 -django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE-XREGEXP.txt,sha256=tyAi9RwLIDwjSrjyBhtyJIkgOHWM469_UzZTr1MmRys,1103 +django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt,sha256=tyAi9RwLIDwjSrjyBhtyJIkgOHWM469_UzZTr1MmRys,1103 django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js,sha256=TjYx21bQgQXDFTdvSqSUh7S8TkYRjT4L4X-SlWNR8CE,128820 django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js,sha256=E-Plu9EZfyt0PJCSYrCkHuPquVVj9V7g7jQklIOgGDU,62474 django/contrib/admin/templates/admin/404.html,sha256=o528Ro8Q0JMgd7mtszp8nl1ADHNA12AyclVdmGQnYGc,268 django/contrib/admin/templates/admin/500.html,sha256=AUIdN7Ka_1KRAGzvo1GvwAHCSJNIbo8oNSF07cMKcj4,527 -django/contrib/admin/templates/admin/actions.html,sha256=FQYsvoJrq949UZHjL1j65Ne_gnSHmMMbgSfUhE-1ciM,1012 +django/contrib/admin/templates/admin/actions.html,sha256=dLU-S_iMBWkrzc1LRJd3TKViD8lhHoGkl3ok8u4F-TI,1200 django/contrib/admin/templates/admin/app_index.html,sha256=BSJsWtgum_H2hCxcb2xe-XJozbVOVpUBN_KTe8pcRts,385 -django/contrib/admin/templates/admin/base.html,sha256=oK_cRQ70cxqj0vFdKS0EulJeGPrnJ_ODnjcKZfy6uLA,3668 +django/contrib/admin/templates/admin/base.html,sha256=2H2owQZumUnSZL6O80Z-wYYWKtUE1lwz4xQcBWKVmJ8,3656 django/contrib/admin/templates/admin/base_site.html,sha256=1v0vGrcN4FNEIF_VBiQE6yf2HPdkKhag2_v0AUsaGmM,316 -django/contrib/admin/templates/admin/change_form.html,sha256=Ta-hNbm9cOOU4ht4OpFaYW5r19mtgWn4jJC79gRB5vY,3356 -django/contrib/admin/templates/admin/change_list.html,sha256=zoB-LaxqWYhG4ftnYmjm7K1EqBr4nXlU-dG4nOnueBc,3253 +django/contrib/admin/templates/admin/change_form.html,sha256=E-zUkd_ONrRG2BwHE9kHexGmKbzLhOIq16YYlgapMnE,3043 +django/contrib/admin/templates/admin/change_form_object_tools.html,sha256=jrTmQiU24E7srnWpjTkKABohw9LNoMevSqKSoS4GrqQ,395 +django/contrib/admin/templates/admin/change_list.html,sha256=-8f03b4Bm7GgFoA5TPEfq76vk_5bQ8clg6V2wa4-68c,2916 +django/contrib/admin/templates/admin/change_list_object_tools.html,sha256=7usDFjSpWHUv3m4mjtRPOqgoY_heo3950PJvgvLCaC8,370 django/contrib/admin/templates/admin/change_list_results.html,sha256=jZ9lN7EYWsG9Gt7_4eA-HjXHic46v-Dl-e61ruSFWVE,1553 -django/contrib/admin/templates/admin/date_hierarchy.html,sha256=uW1_ZMd-7biE28Ix2pQiY1lTvRX1VjyZhUkp-IHA0NI,372 -django/contrib/admin/templates/admin/delete_confirmation.html,sha256=-TrukS8C9205zRv63WI7s9WOa0-O42_jsClKCE_SgSA,2405 -django/contrib/admin/templates/admin/delete_selected_confirmation.html,sha256=856nsJUtL_3yArQAFdJFKI2WCiV8Z3VoLd8F8TUCy7s,2320 +django/contrib/admin/templates/admin/date_hierarchy.html,sha256=I9Nj9WJb3JM_9ZBHrg4xIFku_a59U-KoqO5yuSaqVJQ,518 +django/contrib/admin/templates/admin/delete_confirmation.html,sha256=yomrRPvVB5SORbn38IGiApTvv75RUke4hHZHoBPOH8Y,2397 +django/contrib/admin/templates/admin/delete_selected_confirmation.html,sha256=BPRdmt4BerVSQnzI4wQzbTUYLYWIRdFp0TJukKTypUI,2312 django/contrib/admin/templates/admin/filter.html,sha256=A59SgwTTgEf2iYjV0IiDIixSZ7yCu1Fs66n0Vguu-NI,330 -django/contrib/admin/templates/admin/index.html,sha256=lwKJMWsD4tdmZRUeutXWAqUWch-DmFZAJh3dwEnH-Ek,2983 +django/contrib/admin/templates/admin/index.html,sha256=JkWPzNip--iek76cnSycjo3GIa1dpWOHt-2C6uyu4t8,3181 django/contrib/admin/templates/admin/invalid_setup.html,sha256=58ugkYPi6FHmS--y77fhLAdUr4PyrtGwTg6-hm0_Xxg,437 -django/contrib/admin/templates/admin/login.html,sha256=l5s6CMlDeZ7_9nea9JAarSO8ECJ7JgKyrpdfpYxXjKc,1876 +django/contrib/admin/templates/admin/login.html,sha256=-lORxVDc8VDNcfuKzMqIgJTL5bPttOnJC2TznlfbtFE,1870 django/contrib/admin/templates/admin/object_history.html,sha256=tjE0pTYaSM43e8QxjNabL2FmrB5wPKm8V3jpuziwPdI,1444 -django/contrib/admin/templates/admin/pagination.html,sha256=h5ZgDSNezRlvz22KhtaRY-3GCnEe8AjRcjCfEktVgWA,554 +django/contrib/admin/templates/admin/pagination.html,sha256=T4ssv7ALQ776tE6NKMGFmYLfoBhi4ZeMya_Up91889A,553 django/contrib/admin/templates/admin/popup_response.html,sha256=DDlE_fEKHsGvPcSRy4zFAw_czr3hcCj6YcKRXBNfQEM,358 django/contrib/admin/templates/admin/prepopulated_fields_js.html,sha256=Q3QxBgVvxePpiz502FjSHOS3szSlHkvUQoPe8sF1YDs,245 -django/contrib/admin/templates/admin/related_widget_wrapper.html,sha256=0xA6-N9cO3ED4W397pwjvjbj5ZS5yhZjeqe89Ri6VHs,1397 -django/contrib/admin/templates/admin/search_form.html,sha256=umCPvMnvXX_BlHs_296pKniVn7Ycg-nKk3nKwrwNAQc,1027 -django/contrib/admin/templates/admin/submit_line.html,sha256=CvdFFZBKfGcspS2MgJbmmDCwcHv9hG9NPBxJ_MzY530,790 +django/contrib/admin/templates/admin/related_widget_wrapper.html,sha256=3jqcYPEkg0RPIUEZyrSQgZox3gJrK010s4JcDz23H-w,1747 +django/contrib/admin/templates/admin/search_form.html,sha256=Qq_vEbQup3hzfbuCmS8pyCfzMdnm_9NUZ5iJHfLl7_M,1020 +django/contrib/admin/templates/admin/submit_line.html,sha256=lhAkdi8jxWb31Gp8rcB1nmSNQRZ9Z8p-Fb64KhA-McM,1011 django/contrib/admin/templates/admin/auth/user/add_form.html,sha256=pMsoxDLGJDzjIkcMmKdTYEnUzZ1ESEhBeDLCW17XN5k,310 -django/contrib/admin/templates/admin/auth/user/change_password.html,sha256=a3gZLx4MfgZJrj_fllruwyfy293mmMmVqjcvmsA5dIc,2347 -django/contrib/admin/templates/admin/edit_inline/stacked.html,sha256=fn7GWmIBXEj3ShZ7zzfsQvNzYk5v_tZtzy1C7rWVqAI,2092 -django/contrib/admin/templates/admin/edit_inline/tabular.html,sha256=AZ8eO6PNTKrrRZaaGrhWNbcublSExIKyvz3eJoeOy7c,3897 -django/contrib/admin/templates/admin/includes/fieldset.html,sha256=-_S9dzsEGnmo10xioe7v833gY3tGHBIphzOJ_8rM1fM,1788 +django/contrib/admin/templates/admin/auth/user/change_password.html,sha256=qQhT2rSRdZK-VJ3Tc4H8gtAcWKh-Rsj2E7YWmEw5Hss,2339 +django/contrib/admin/templates/admin/edit_inline/stacked.html,sha256=4yfe8v7tzB88_MXpsB-mp18taqWi5M-GaikLjbJWgBA,2312 +django/contrib/admin/templates/admin/edit_inline/tabular.html,sha256=gCnIpi3zHttMhmVxX4w4THQSH0aEPko7F8aXguEd7xE,4115 +django/contrib/admin/templates/admin/includes/fieldset.html,sha256=DgcBbVUfkho33IMZGEg42Xr9P5y3ZAefFzqkxf74v1Q,1787 django/contrib/admin/templates/admin/includes/object_delete_summary.html,sha256=i_I2BADSutoccAxARIwbP4VRlDHsag-llDOi3kjcoXw,188 -django/contrib/admin/templates/admin/widgets/clearable_file_input.html,sha256=xmlmv2ioEI6ozk5KbzBjC75SNKuYlO07EzjANQ8tH4w,574 +django/contrib/admin/templates/admin/widgets/clearable_file_input.html,sha256=w6Lx3NII4fh2e6BNbJ-VahriO8FA9aOB7opUalGZPjs,568 django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html,sha256=0-PzMOEe3KSRVOBeivruUc8nJRcziIqWO-DyU8pvgEE,346 django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html,sha256=w18JMKnPKrw6QyqIXBcdPs3YJlTRtHK5HGxj0lVkMlY,54 django/contrib/admin/templates/admin/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html,sha256=QBovkKbXrGTBy7DzbWQ3Q16WihHW8txvWgV6vdumbnw,1406 -django/contrib/admin/templates/admin/widgets/split_datetime.html,sha256=ORI1EM3mf4g49PgEE6GWTpVnXdRpKP-0dPtLCbDEHQ0,240 -django/contrib/admin/templates/admin/widgets/url.html,sha256=HDc93YIZhUNe-2gXKLt4SFwrap_wE68aaJXY5JcXCVs,226 +django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html,sha256=LB6CD5b5CCko8ZuMEc4m013mexwSJ_7UeCVbV1dPE2Q,1403 +django/contrib/admin/templates/admin/widgets/split_datetime.html,sha256=BQ9XNv3eqtvNqZZGW38VBM2Nan-5PBxokbo2Fm_wwCQ,238 +django/contrib/admin/templates/admin/widgets/url.html,sha256=n7hasq2PF_tyddvbYjBQLWtohSFeMubXej9WQ-HgJPM,224 django/contrib/admin/templates/registration/logged_out.html,sha256=9NdzlTMq7QQpj2ftUqZ7FPeHDv0KYbjETF8qMJVGGqI,374 django/contrib/admin/templates/registration/password_change_done.html,sha256=ldLa6UAVgn_FiKQ9TkO2EZraTBZx1URJrRGOn-_VZJs,671 -django/contrib/admin/templates/registration/password_change_form.html,sha256=W8eYpuusNCZ6EZRkT--QWyXR5rHDienElsw-cMDjB1w,2050 +django/contrib/admin/templates/registration/password_change_form.html,sha256=Q1-5p82B7oFkbFocUSBaelomL4u8NIadxzgbY3fE70I,2046 django/contrib/admin/templates/registration/password_reset_complete.html,sha256=RD0DbFybLTVfHtkU4yN7HG3YXY-xs_BLVgl3vSB7czU,505 -django/contrib/admin/templates/registration/password_reset_confirm.html,sha256=oEDhtdzhrmIc9BhaAgaxvw0qBcpI4I_BQLt5GE8teXI,1373 +django/contrib/admin/templates/registration/password_reset_confirm.html,sha256=a1jISSwO_3OkJD1-Q_20Sv4oB8NhEcn7dcQBcm9ipI8,1369 django/contrib/admin/templates/registration/password_reset_done.html,sha256=ofGCzPs--2mOPLlGcTbZJAoZQkEpfwFb5reLxaKq12g,669 django/contrib/admin/templates/registration/password_reset_email.html,sha256=d_NtuuiWTS9AZu6qObmp-lux0UkUCdA9ZUIUKyYJeHE,582 -django/contrib/admin/templates/registration/password_reset_form.html,sha256=b-wxQ_mk7FtqeJ6KQcXbEeXlMWCaiNGafj-7dPeHfDg,970 +django/contrib/admin/templates/registration/password_reset_form.html,sha256=NGW3MhDnsD3bmrLEhEtJuMaHByN79uUTyr0QJXP20Pg,966 django/contrib/admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/templatetags/admin_list.py,sha256=6yW09uGViJQ-yLdvoql3q7JnXKdDD408M4l7jeucTjk,16860 -django/contrib/admin/templatetags/admin_modify.py,sha256=uQy-5HqVSeZWnfH98AjGmjIR6oR1rm9Yt71xQYieMhk,3004 -django/contrib/admin/templatetags/admin_static.py,sha256=yDOpxEP2OK0N0e4-wbVd2vepUUmgGPJ7-SYxAE0rJ_4,304 -django/contrib/admin/templatetags/admin_urls.py,sha256=19YZ6jO3NIhyyfHvmBU2UWCJpkxCILIWbXRB7SWPZiQ,1773 +django/contrib/admin/templatetags/admin_list.py,sha256=WLKl2F2C9gNpeE51-FuWHW0iQlFdOB4BGl2JKNrVULY,17934 +django/contrib/admin/templatetags/admin_modify.py,sha256=yr73KRXuizBIiKrSsgf8jatziGrUTMF7vwfm4mHlAcg,4222 +django/contrib/admin/templatetags/admin_static.py,sha256=WQitV4udeLfD8B36sRJn7QqncP0KWc5a8A83LsIOIeU,399 +django/contrib/admin/templatetags/admin_urls.py,sha256=b_RxDLR7yLBTMe-_ylzO-m0R3ITq3ZP_pnddRyM_Nos,1791 +django/contrib/admin/templatetags/base.py,sha256=54mdDPyCnaMS4N0WNgZBJakx_e1204CNSn68vaLP5Bg,1321 django/contrib/admin/templatetags/log.py,sha256=mxV6mvfVJo0qRCelkjRBNWfrurLABhZvGQlcp5Bn4IU,2079 django/contrib/admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/views/autocomplete.py,sha256=7uZSnvQ1GPdYx6zDEJjCoqIqng8piIzrSmlIPjOJADM,1964 +django/contrib/admin/views/autocomplete.py,sha256=vfLa2YPZNRSHlbZXVNnlpBtTwLtY-GQ1yvvCd8D1fHY,1962 django/contrib/admin/views/decorators.py,sha256=J4wYcyaFr_-xY1ANl6QF4cFhOupRvjjmBotN0FshVYg,658 -django/contrib/admin/views/main.py,sha256=9NsN36bB79iNYywLeN5FueTjts1FLgeEETMcKuFl2Fk,16874 +django/contrib/admin/views/main.py,sha256=CYG8JKwD5_xO6uwEn4wF0UrEn0dVBGmaJwkScdLDJKY,18758 django/contrib/admindocs/__init__.py,sha256=oY-eBzAOwpf5g222-vlH5BWHpDzpkj_DW7_XGDj7zgI,69 django/contrib/admindocs/apps.py,sha256=rV3aWVevgI6o8_9WY0yQ62O5CSMRRZrVwZFt1gpfKk0,216 django/contrib/admindocs/middleware.py,sha256=AZpS3DbqX7jhGl3Va1ylGl7IXrRS-5xaBiDA8CLEyT0,1302 django/contrib/admindocs/urls.py,sha256=zdHaV60yJMjuLqO9xU0H-j7hz1PmSsepEWZA2GH-eI0,1310 -django/contrib/admindocs/utils.py,sha256=uCldAlwItBGadCVKDM19YsmHErFIsyybJSmeIBdgsmI,8148 -django/contrib/admindocs/views.py,sha256=7TFapBsBwQjwKtwm8cokpoA5KzGVu9yK-O-Uqwb90RU,16883 +django/contrib/admindocs/utils.py,sha256=1HMZDqdx3Oor3D22cjjsAZ3OkHFXAWjVa3eSPYUwF5c,8140 +django/contrib/admindocs/views.py,sha256=hBQtYZSVaFznVlVw42nuSksRQ9uqbKsd4HQTLdZNRAs,16657 django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo,sha256=GFydi1uBAAkOzJP0FXBCbQFNzX9jK7xqXNsiK7JsOwM,705 django/contrib/admindocs/locale/af/LC_MESSAGES/django.po,sha256=7nIsCfz1HabA8oPvLBqaofdN8nlFYRi3roXxDpUe_Hs,4680 django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo,sha256=IoUExlNwqSYql6zMAuXcFt0cmkjMc_i0fb0qp7cBQlA,7286 @@ -1035,8 +1038,8 @@ django/contrib/admindocs/locale/pt/LC_MESSAGES/django.mo,sha256=WcXhSlbGdJgVMvyd django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po,sha256=J98Hxa-ApyzRevBwcAldK9bRYbkn5DFw3Z5P7SMEwx0,7191 django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.mo,sha256=7R52AIZM0NjoASXDmNLzv4x1fePtn9Fj3HJy3iSOsz4,6601 django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po,sha256=gIraoQfr6DLWV418adqzym7untmC4fN42WT6X057_A4,7404 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo,sha256=OahWPVuzae_CG3hTXkqycHG97TIIfkS4hnVe8SXQ_cg,6804 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po,sha256=tgjbrXGCnM5K-vDsAMLO46G6AMPijNz-0Y0hQgctX0I,7416 +django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo,sha256=wEimPgw2SwK1LDEuAc1cw9LBO-a09LZrR0b6qcpyxXk,6755 +django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po,sha256=SOA9H817U6hntoqJ5Bf5PAEXr1tMwcuG5yWE29KL4Qc,7391 django/contrib/admindocs/locale/ru/LC_MESSAGES/django.mo,sha256=m6sfSIxFI5WJjxdSXZvDcm9A1xIxXJD2r5-UdeIbdlc,8569 django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po,sha256=i0xEq4zScDKrmRJODgIewx_kUMkmeIPxPNE42Vw9AsI,9226 django/contrib/admindocs/locale/sk/LC_MESSAGES/django.mo,sha256=_hYfHHwypg7psErP-3c2TY2xITIxaLaAfNofrfoboTA,6637 @@ -1045,8 +1048,8 @@ django/contrib/admindocs/locale/sl/LC_MESSAGES/django.mo,sha256=FMg_s9ZpeRD42OsS django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po,sha256=JWO_WZAwBpXw-4FoB7rkWXGhi9aEVq1tH2fOC69rcgg,7105 django/contrib/admindocs/locale/sq/LC_MESSAGES/django.mo,sha256=lbUhjyQWbGARQ6BggqWH1tO6kNi5lMwu-523mC9JCMA,6565 django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po,sha256=ZA_o7xIUMTVYadovn4Yxl7W54nGzPnIBjkrL66V8pAE,7081 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo,sha256=GnfckcHcuOaXYY1wNmI6VQmGjPX3dpnhgtANIdz8NrE,2217 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po,sha256=bYCdRzdUTTmg-UYF-IWSHvA1H0g7C0T2Z3wrWbLwGkw,5425 +django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo,sha256=dIYe3zKZm5rSbSJpUrPfnGJ9rngfgKOS1e7keuduBrQ,3626 +django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po,sha256=B5G2emovHpUp6iZKQArfdtpFaVOBb0SGt_apV6WBHdQ,6051 django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=au90IT43VR162L2jEsYqhRpso2dvOjpCPSCFiglokTc,1932 django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po,sha256=tJ4tHLJj0tDaVZba3WIkI0kg95_jEYWTmqXD0rFb6T8,5140 django/contrib/admindocs/locale/sv/LC_MESSAGES/django.mo,sha256=cxjvRWC4s9h6TWzY4OE6pec3wh9gbMI_cpKNcfi3RSI,5661 @@ -1081,30 +1084,30 @@ django/contrib/admindocs/templates/admin_doc/missing_docutils.html,sha256=LA8fyI django/contrib/admindocs/templates/admin_doc/model_detail.html,sha256=OfrSMc1vE_qItQrHO6GBBkwlhOQKex03ogvJJSyr2Jg,1824 django/contrib/admindocs/templates/admin_doc/model_index.html,sha256=ow10WgNZUa6fUCp23ZmvR-kVdYUL29i3HBJ_iwlezfw,1322 django/contrib/admindocs/templates/admin_doc/template_detail.html,sha256=xN-QihBsDVvpAI3C219Q__FMijnxw8j-wevYkk_mxMQ,995 -django/contrib/admindocs/templates/admin_doc/template_filter_index.html,sha256=PAzC_vpGSddmcza2UXWRuoSkhd0YVYiK_EEtP3eWJQo,1751 -django/contrib/admindocs/templates/admin_doc/template_tag_index.html,sha256=hmLoj_nh53MVJdnqrrlIg36rgSXj4k0IlimMSsQQmVE,1707 +django/contrib/admindocs/templates/admin_doc/template_filter_index.html,sha256=QB9_QWIvHCGACzOo6yPOZtKIoKsJM8XLVgWhb5nJxmc,1747 +django/contrib/admindocs/templates/admin_doc/template_tag_index.html,sha256=rAyUTvECyomyB9u2er8oJE_FIMbQOd1auABqEHIupzE,1703 django/contrib/admindocs/templates/admin_doc/view_detail.html,sha256=4mNkUt1_Q8ZGsvsZ1XMirPWNzJyptYMXZVIdPo9UVMc,896 -django/contrib/admindocs/templates/admin_doc/view_index.html,sha256=McuormWD-bVpIiSbnRvy09A-AURhMJeEhy9YX-kbzfs,1684 -django/contrib/auth/__init__.py,sha256=ADkkXnZcCe1qdMn77UgkgKnxZLTjk6gYocI5ZvEcpDE,9206 -django/contrib/auth/admin.py,sha256=5ibrsi934r3-9V7KhSYDm-59mcIaCm6jOXZ2AFTFwHg,8682 -django/contrib/auth/apps.py,sha256=fJNu_-e4MK2zPm9EvUfMBVrW9rw74zsiYih4SmhufW4,956 -django/contrib/auth/backends.py,sha256=_P9ZSQ0NeMFMuRdCsTuXSbnpVFdSQnm7nAZmtv4I06g,6684 +django/contrib/admindocs/templates/admin_doc/view_index.html,sha256=ewSVys3o1hzMjKmHJFZHqBdASsJnV6BJDlvnRuAMrs4,1682 +django/contrib/auth/__init__.py,sha256=BR69jz0xC6a1r7qyMur4YG5eoB9-4snK-TSQvJWxYB0,7986 +django/contrib/auth/admin.py,sha256=lx1fyuJr5c_cLJFk_liJzE49OXrtRRDOI9gZquVOSoE,8617 +django/contrib/auth/apps.py,sha256=NGdy1h4yrogCn9YZOkhnO7LcVFHZAS60j-Bb7-Rz17A,1168 +django/contrib/auth/backends.py,sha256=vXUCfFSGDzVfjx_kh593dZ27W43oI1b0pTk2OBdZ4_4,6554 django/contrib/auth/base_user.py,sha256=GYzu5MFX4qA9SkBUnviWDChne6A-PiRKuOzsMdUgLAQ,4457 django/contrib/auth/checks.py,sha256=eml6rKyw4rEIHxBJUcqChUdvfEh69Monyjkm9FDTOoY,6355 -django/contrib/auth/common-passwords.txt.gz,sha256=EQsJeKUVEhNdKz_y83Tyip8sTs6R2eIKEAZpfmI66LE,3876 +django/contrib/auth/common-passwords.txt.gz,sha256=K_D9bh_oBpZTCTQ1Xs9WAHNLx5yb336v-lscUBnudZM,82603 django/contrib/auth/context_processors.py,sha256=Vb91feuKV9a3BBgR0hrrGmZvVPw0JyYgeA_mRX9QK1c,1822 -django/contrib/auth/decorators.py,sha256=m7U2K7FSMimPdRQd6ozp_asje5srCBmNnvlxh7wfqek,2893 -django/contrib/auth/forms.py,sha256=Op7cZFagwd45v0ZCC9l13xNPLUosJ-2PAlOmT0vcZgQ,15003 -django/contrib/auth/hashers.py,sha256=rq942WSDgrRntTMeGpdYxtP6Z16ADGXFqgeKP8nnHG0,22132 +django/contrib/auth/decorators.py,sha256=2iowUAGrkZBzaX_Wf0UkUbd0po00UCxtdFQxXj1HIyo,2892 +django/contrib/auth/forms.py,sha256=IJar5OMlj0bKH0CBtCu8uqzBs8g53VTK_KMQEfbJJmw,15041 +django/contrib/auth/hashers.py,sha256=Fmehjs9HFiQELka5fwLgc5ucWdMdpq47LClKZA5qmKY,22084 django/contrib/auth/middleware.py,sha256=ihtkwdqyINaDDix1w3WKE9GayaGABY88j6drV0mHGDs,5399 -django/contrib/auth/mixins.py,sha256=NE4XTW5ooDIkFynB7bYvPmn2nZ4rfmf1No7oSmXCVOE,3809 -django/contrib/auth/models.py,sha256=cNiEZ8zgI9rDGsc4mKqMC9d0NECuoemroE7Dcabn71E,14263 -django/contrib/auth/password_validation.py,sha256=QNm-95BUKXU3naaKGtF9666EU2FTyoKHAPmSyZ3Ar8s,7464 +django/contrib/auth/mixins.py,sha256=qdnrUp7L9WTCVimH1ULAoZcsaO5g6_2iE_pT4dea0dY,3846 +django/contrib/auth/models.py,sha256=iJXKjq7FSkQPHrs2OiP1vVxBdm9d8kRBJSBbAqKjHlI,14198 +django/contrib/auth/password_validation.py,sha256=FaatKafryOghnW8MWRN0G7bdHPgCmUFidSmJN3xaEL8,7504 django/contrib/auth/signals.py,sha256=_QNYY-RzkwTvY3FRo01AW1S-D9l8lVb3ebt6F1GBfMU,227 -django/contrib/auth/tokens.py,sha256=YFS_0l8A2Fpdm0BR9vmRgMjPmdchgEWgPXfmux7XcPo,2823 +django/contrib/auth/tokens.py,sha256=c6J7cD5SceyWjmIbwh9he7iaIWaVK27sgrkWjGmRezs,3556 django/contrib/auth/urls.py,sha256=6M54eTFdCFEqW0pzzKND4R5-8S9JrzoPcaVt0qA3JXc,1054 django/contrib/auth/validators.py,sha256=AXlNhfwEd2sonzVAsitbBvKLnBc9CqdGuAmjUB8mEPM,685 -django/contrib/auth/views.py,sha256=VZXwVKKWRcPlBRJCw8WzBroQcz6X8Zq2dkRUf8S-0Wo,22536 +django/contrib/auth/views.py,sha256=aX2frKj1DrVCs-kSusIWUIaqffzXWWXdA5oD77fXRPw,13410 django/contrib/auth/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/auth/handlers/modwsgi.py,sha256=h0T065RiZwMAh3ai2IMeiEQdzmWK62qah7WmOlou6CI,1298 django/contrib/auth/locale/af/LC_MESSAGES/django.mo,sha256=35F25KM8TCmA0iGFdN_v_SI-3BExezOffEgr_urb06Y,649 @@ -1113,8 +1116,8 @@ django/contrib/auth/locale/ar/LC_MESSAGES/django.mo,sha256=lw7pjDDz5lRnSE6bvyGjd django/contrib/auth/locale/ar/LC_MESSAGES/django.po,sha256=3RZUD_C65heRnHppLoljc8REA_l1Df-vJ5rvhjEPr-g,9762 django/contrib/auth/locale/ast/LC_MESSAGES/django.mo,sha256=Pt3gYY3j8Eroo4lAEmf-LR6u9U56mpE3vqLhjR4Uq-o,2250 django/contrib/auth/locale/ast/LC_MESSAGES/django.po,sha256=Kiq4s8d1HnYpo3DQGlgUl3bOkxmgGW8CvGp9AbryRk8,5440 -django/contrib/auth/locale/az/LC_MESSAGES/django.mo,sha256=ljzBNGFBc9lV1K2goFd5o2GZf1T46_zCYylYRiKr9eE,5859 -django/contrib/auth/locale/az/LC_MESSAGES/django.po,sha256=hMBPuh7FKj4JPV-i45h44r_6ctuRNQCGq1e61bzYOJY,6828 +django/contrib/auth/locale/az/LC_MESSAGES/django.mo,sha256=oE-fzJ6uz7Tdhs-8V9C65I-x1AakaxYR1rR8H1XqmQk,7450 +django/contrib/auth/locale/az/LC_MESSAGES/django.po,sha256=YnDzQ-iinkAcbYm_F7MHaj5-dEyVyiXtTZ_yS0IL7Kc,7691 django/contrib/auth/locale/be/LC_MESSAGES/django.mo,sha256=YmJ7Gh14qYbk1OTHXqR4GEVdHcxGRHnpgf7xqzUKCR8,10008 django/contrib/auth/locale/be/LC_MESSAGES/django.po,sha256=vPm5UJWEbhpoAslJhfvHyeTw6MGAfkrvSMd3EbnnmGk,10285 django/contrib/auth/locale/bg/LC_MESSAGES/django.mo,sha256=ZwwXfAeWM92GObhxU6zzGu36KJUpkGOuEeprRMu5mZc,8751 @@ -1145,26 +1148,26 @@ django/contrib/auth/locale/en_AU/LC_MESSAGES/django.mo,sha256=74v8gY8VcSrDgsPDaI django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po,sha256=lg-LFEeZXxGsNNZ656ePDvAAncjuy0LKuQxUFvQCUJk,5921 django/contrib/auth/locale/en_GB/LC_MESSAGES/django.mo,sha256=p57gDaYVvgEk1x80Hq4Pn2SZbsp9ly3XrJ5Ttlt2yOE,3179 django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po,sha256=-yDflw5-81VOlyqkmLJN17FRuwDrhYXItFUJwx2aqpE,5787 -django/contrib/auth/locale/eo/LC_MESSAGES/django.mo,sha256=MVVvy0lE75e5wJt4jUdmW3UTOlCT1xTTFfct2bvgj9k,7354 -django/contrib/auth/locale/eo/LC_MESSAGES/django.po,sha256=UzFI6GpwaWHsW-eNDcKOxLSJki566WWfXdlKa54g_qQ,7623 +django/contrib/auth/locale/eo/LC_MESSAGES/django.mo,sha256=Rzc9Tv3hZjjf68hHQFu0YVNpZBBZzLr_m7Rgor58SlU,7353 +django/contrib/auth/locale/eo/LC_MESSAGES/django.po,sha256=YE2VeRqJmrWNSyHRn1TVAueV0cghx_az8X2hqkEG7kc,7622 django/contrib/auth/locale/es/LC_MESSAGES/django.mo,sha256=fu-Qpqz4XyYu1_irM742YYT4KUFa2niDZuVo1bbXpTM,7766 django/contrib/auth/locale/es/LC_MESSAGES/django.po,sha256=U3C1QK5ZVLREVepW6oLVnD3hBNhdlv7ZrjzzMyDLcY4,8427 django/contrib/auth/locale/es_AR/LC_MESSAGES/django.mo,sha256=DnK67G_cBQ62T8FzOeT9UAe5dkYOOYo__cUoCRAcv8w,7920 django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po,sha256=vcwNz5PSwMs5vOIFR-xN4ZIjYfzTOAmiYTJHAFFDaxU,8146 django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo,sha256=K5VaKTyeV_WoKsLR1x8ZG4VQmk3azj6ZM8Phqjs81So,6529 django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po,sha256=qJywTaYi7TmeMB1sjwsiwG8GXtxAOaOX0voj7lLVZRw,7703 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo,sha256=B5WKjfMrvFMcj7xi7-0BsH-G_KhGvTcSycyzjQGC2WA,7514 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po,sha256=Dsj4cZ0E2KsZphTh3zgJjy45CgWwj85O1QmMmPaJYAA,7936 +django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo,sha256=WUwyvMgNFfKTRfzP4hExhNVMsZ0pee_ZT0p5mwMsu3E,7860 +django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po,sha256=K-QHks0l3VP9R2LXsgcPcSIvRYlYQ7zNIkekMHr2_4o,8166 django/contrib/auth/locale/es_VE/LC_MESSAGES/django.mo,sha256=GwpZytNHtK7Y9dqQKDiVi4SfA1AtPlk824_k7awqrdI,7415 django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po,sha256=G3mSCo_XGRUfOAKUeP_UNfWVzDPpbQrVYQt8Hv3VZVM,7824 django/contrib/auth/locale/et/LC_MESSAGES/django.mo,sha256=DgY1GY3M_oBtdW692gk2RxcrGMiy7Eqdg2mD0iHsNVo,7432 django/contrib/auth/locale/et/LC_MESSAGES/django.po,sha256=Wvqd4XplrtEA2dXg1SLGFgWcchkh3gPHgj8cOovQ3XU,7842 django/contrib/auth/locale/eu/LC_MESSAGES/django.mo,sha256=K0AoFJGJJSnD1IzYqCY9qB4HZHwx-F7QaDTAGehyo7w,7396 django/contrib/auth/locale/eu/LC_MESSAGES/django.po,sha256=y9BAASQYTTYfoTKWFVQUYs5-zPlminfJ6C5ZORD6g-s,7749 -django/contrib/auth/locale/fa/LC_MESSAGES/django.mo,sha256=I82T66B_dQGhcrQkJFNA8wB1nGmqFCTo2XLQzzvD-bA,8263 -django/contrib/auth/locale/fa/LC_MESSAGES/django.po,sha256=nxq_eDjLj3fBZpKW5UYFCGOMdgSMztHrUIRE1plBrlI,8733 -django/contrib/auth/locale/fi/LC_MESSAGES/django.mo,sha256=xjjxjOsXyJ4is_tTXHdiA46lKK_-23F9qMTPn5ivF20,7195 -django/contrib/auth/locale/fi/LC_MESSAGES/django.po,sha256=AFYR_nqn9iYHL8OgxF1WQD3IrifkNjLGL2aK4TF_l94,7650 +django/contrib/auth/locale/fa/LC_MESSAGES/django.mo,sha256=7oQ_0XxUniTEDAGKLXODgouH80NdkDANKBQ749gLkok,8963 +django/contrib/auth/locale/fa/LC_MESSAGES/django.po,sha256=OUGU1vy0hLFb8Bv8V6gykbOB9Qw2Gk1MVMR7aHXS4FU,9362 +django/contrib/auth/locale/fi/LC_MESSAGES/django.mo,sha256=g8UTplFBR9rPuglnruZtE0Vo6tkhDhqbSlc1eh0DSFE,7514 +django/contrib/auth/locale/fi/LC_MESSAGES/django.po,sha256=1znv9S6mls8uwk6AVt8pYkYEG9Qr7TnHNOwL8rB6b-A,7824 django/contrib/auth/locale/fr/LC_MESSAGES/django.mo,sha256=U1cycgOoKsx65naJRvcEa0qaI40olHZpH2I7IKluStM,8116 django/contrib/auth/locale/fr/LC_MESSAGES/django.po,sha256=Dap58AsfuLC7Z4tWpoZzoUAP2Sz_wxRB7aUiGPHBSCA,8451 django/contrib/auth/locale/fy/LC_MESSAGES/django.mo,sha256=95N-77SHF0AzQEer5LuBKu5n5oWf3pbH6_hQGvDrlP4,476 @@ -1243,12 +1246,12 @@ django/contrib/auth/locale/pt/LC_MESSAGES/django.mo,sha256=oyKCSXRo55UiO3-JKcodM django/contrib/auth/locale/pt/LC_MESSAGES/django.po,sha256=tEazw0kctJ3BaP21IblsMhno6qooOGW54zwende522Q,8128 django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.mo,sha256=Laj_VAYZZX8xYAKcYotpIvPLTECd6tRQS3RjQJuO9MU,7564 django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po,sha256=AaOc5jr5L7JwCOukc9WOWZNQvTHiMPopqQy-herWno0,8386 -django/contrib/auth/locale/ro/LC_MESSAGES/django.mo,sha256=MmEf0Jj3dpKtDS4afiJKU-1guA2_kXIG6XXjWAOfONM,7919 -django/contrib/auth/locale/ro/LC_MESSAGES/django.po,sha256=QR-qOr1NHNkDmwHme_ePI7_236c9_Ha6Kgnf-cHJ9yQ,8356 +django/contrib/auth/locale/ro/LC_MESSAGES/django.mo,sha256=ltOJP8BImDO1eVPQ_iA4UtZm4pMfLI3HsgRKiY_Gtx8,7961 +django/contrib/auth/locale/ro/LC_MESSAGES/django.po,sha256=NHHwZ8qVGgLkBXT_r2y13ZJiWNJ2kFI20-qaZChco5o,8398 django/contrib/auth/locale/ru/LC_MESSAGES/django.mo,sha256=tfK9L7EYNZd9d1k_EGQrDcr8ruUGJ1JbRJ3-TvJ6cR8,10482 django/contrib/auth/locale/ru/LC_MESSAGES/django.po,sha256=nQnaxPKmCJ6N2VVJzNDNt6oeqwSxG0lfY60DSDotJ94,10959 -django/contrib/auth/locale/sk/LC_MESSAGES/django.mo,sha256=shT_E4LFHMuUSjvTtFtaTFfFREhuTS8FjFhje5ZF5yo,7651 -django/contrib/auth/locale/sk/LC_MESSAGES/django.po,sha256=aanpDooZWeV-wuByaJ6TB-Qa7fpjc-bshcpM_qgcRrU,7977 +django/contrib/auth/locale/sk/LC_MESSAGES/django.mo,sha256=hJ_ep7FCbG4DVZawMfx4GjOPcJc4ruFSki8bkYn2l2Y,7838 +django/contrib/auth/locale/sk/LC_MESSAGES/django.po,sha256=NOYdZ3dv3Vtl-5vOwJH26Rthl-5nn4JrXgnm3i-d0bY,8199 django/contrib/auth/locale/sl/LC_MESSAGES/django.mo,sha256=UAzD5UAqHBdiCMIPjZdouGt14xoHuo5EXDctNSDTEJk,7552 django/contrib/auth/locale/sl/LC_MESSAGES/django.po,sha256=tUqZLZJegGLteWOQiDwFRUGayBB2j9qATmL6SMgEhb8,7943 django/contrib/auth/locale/sq/LC_MESSAGES/django.mo,sha256=Nrfoks9rpAdeYtAvbd78imw20YrBQLbqXezC28GG5Xg,7846 @@ -1283,10 +1286,9 @@ django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=hYIfJ_om6DZb1kQ- django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po,sha256=wSUPMbtI7XdTzoUYjzkAoXEMFSt4nI41FmoH2Xx-q6A,7273 django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=Pnc78tGkY9-ZH6HaQBl4NQ6-ITp8Mt103ZoCvm65Lr4,6759 django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po,sha256=4N7kl30QCVVL5f3CkD7tKOd2SxP6owmBjxsPooUalzM,7130 -django/contrib/auth/management/__init__.py,sha256=ubESj2X1ZwPmRdesZtlTfE4_v14RfqUTCaXOmCfr1GE,4601 -django/contrib/auth/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/auth/management/__init__.py,sha256=rA1UYePcdVEoI0DCnrx6Sz2yd_mtYpwxDc-FR0yij4M,4609 django/contrib/auth/management/commands/changepassword.py,sha256=GHKZIJ2YBzQW4SvqezkjTPj-W7VwNFD1wokko9rFQFI,2581 -django/contrib/auth/management/commands/createsuperuser.py,sha256=be_zrcb9NXycAYTafDW2nTgb8t8ZiS6X1Hx8DNHYEqo,8531 +django/contrib/auth/management/commands/createsuperuser.py,sha256=0y6kMV_35Vq4Vv-IV7wc234Vg6WU9WUGy80wlxsz0p4,8809 django/contrib/auth/migrations/0001_initial.py,sha256=bz7B12K5Ovs0aiXfZGMEbVtWAeV05JyLKDGyMrhCd_c,4960 django/contrib/auth/migrations/0002_alter_permission_name_max_length.py,sha256=xSlhMiUbrVCPMOwmwVNAUgYjZih3t-ieALNm7rQ1OI0,347 django/contrib/auth/migrations/0003_alter_user_email_max_length.py,sha256=bPcpCTPAJV2NgrwEa6WFfxkhbPmj5J-EqU1HM3RXtq0,389 @@ -1300,11 +1302,11 @@ django/contrib/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5 django/contrib/auth/templates/auth/widgets/read_only_password_hash.html,sha256=cMrG-iMsrVQ6Qd6T_Xz21b6WIWhXxaIwgNDW2NpDpuM,185 django/contrib/auth/templates/registration/password_reset_subject.txt,sha256=j8rO05woNdwv8-_F6EMy6FTZGMf-Dp9usdUJXSZHs7Q,124 django/contrib/contenttypes/__init__.py,sha256=OVcoCHYF9hFs-AnFfg2tjmdetuqx9-Zhi9pdGPAgwH4,75 -django/contrib/contenttypes/admin.py,sha256=ktSb2Pj0gFwoxA-gkvSn19l-0qy4WFSFfYYTGYwe7HM,5212 +django/contrib/contenttypes/admin.py,sha256=QeElFtZgIUzCWa1QfLhb9rpb-XZSY-xalx-RNAN5CoQ,5104 django/contrib/contenttypes/apps.py,sha256=lVmnJW7DgIc42uc0V5vZL8qxnsnVijQmgelhs3nybIE,797 django/contrib/contenttypes/checks.py,sha256=ooW997jE1y5goWgO3dzc7tfJt5Z4tJPWRRSG1P1-AcU,1234 -django/contrib/contenttypes/fields.py,sha256=X-VUW7-3ynJvafPujw0pkAgU6xsfONIfiCttw7rTkn8,26607 -django/contrib/contenttypes/forms.py,sha256=9Lk374J-AHUP1P97oTnbTqQrU_Z0NcsqBsILzYco1pU,3557 +django/contrib/contenttypes/fields.py,sha256=3M5XslVL4ersM46S3njBxZxbpiuFeDaG5XnXFBfL8HA,26302 +django/contrib/contenttypes/forms.py,sha256=95tGX_F2KkIjoBTFQcdvraypLz6Fj3LdCLOHx-8gCrQ,3615 django/contrib/contenttypes/models.py,sha256=QX-nY08YMDN5cUqKNFf6G0IVFs9oIeKa8hOIl5jkTjE,6491 django/contrib/contenttypes/views.py,sha256=2IwvlE6KGhDUJMGTFkY6iXShu_jpATDM-kQcc3MDpLU,3634 django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 @@ -1482,8 +1484,7 @@ django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po,sha256=bJp1GCxJ django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=fPIlKpeLGhOtsbLsJOef5d5Y8jCyT9hFiOfZ1v9yFTQ,1083 django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po,sha256=Jwtnwk0R2c2Kh7KUg0t0GKjQrMO48YUNntbCT6dIHAM,1329 django/contrib/contenttypes/management/__init__.py,sha256=KKf4YWuuvUAOf5l2Xn5zEIR4WHA8vKQ5R5paVfYAPeM,4857 -django/contrib/contenttypes/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py,sha256=2YgWYGPx8YQPbXuyE_iLNUwvPTczlKTSyNlOqAqFCxg,3340 +django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py,sha256=AcUR1Q9_lR_BzouiqiINqe34jZqNsVaKbahnbr9T7RY,3315 django/contrib/contenttypes/migrations/0001_initial.py,sha256=o3bVVr-O_eUNiloAC1z-JIHDoCJQ4ifdA-6DhdVUrp8,1157 django/contrib/contenttypes/migrations/0002_remove_content_type_name.py,sha256=4h1AUWSWAvwfEMAaopJZce-yNj1AVpCYFAk2E-Ur-wM,1103 django/contrib/contenttypes/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 @@ -1502,8 +1503,8 @@ django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo,sha256=G1GCOfhvPoJA5XpI django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po,sha256=ZypIMRzRQA72sV4lVB8RVUtLjcmbqhow97-e20R02uk,2732 django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo,sha256=4SEsEE2hIZJwQUNs8jDgN6qVynnUYJUIE4w-usHKA6M,924 django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po,sha256=5UlyS59bVo1lccM6ZgdYSgHe9NLt_WeOdXX-swLKubU,1746 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo,sha256=sJvplYk3-3shfvnTKzCiCEQGbCa_aFLatZZHtop_4FI,2208 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.po,sha256=Pn2wkV8ks1JO7GJwsfH1VilE4vS6u6Xd0IC2qaKYPwA,2452 +django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo,sha256=_7vXhoLm5K8LuzkNOXK-D0DIP0XFF-EcDM0DPF-BZjI,2235 +django/contrib/flatpages/locale/az/LC_MESSAGES/django.po,sha256=HDo3gW0Pz4L3KZkVJMbFfFKrgMTjXuPAtgBMArsR78I,2496 django/contrib/flatpages/locale/be/LC_MESSAGES/django.mo,sha256=N1snVmwE9oa2Hi_77quF7DhOFJwFNdv07x6pSXF_hKE,2801 django/contrib/flatpages/locale/be/LC_MESSAGES/django.po,sha256=4iBnHyRJ1XkixqUWrmxfMlmKsqyZYhMb3zsI0aLIJwY,2933 django/contrib/flatpages/locale/bg/LC_MESSAGES/django.mo,sha256=p3RZmS9PAqdlAmbc7UswSoG0t1eeuXYDp1WZ3mWfFow,2569 @@ -1673,9 +1674,9 @@ django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po,sha256=GtvYArHRgiE django/contrib/flatpages/migrations/0001_initial.py,sha256=dLSlPpjfc6jMKhxYPsw6yKohxn4ejRXVOJ1VyJf12r4,1710 django/contrib/flatpages/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/flatpages/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/templatetags/flatpages.py,sha256=AH29WWZNLWH2B2GMt7cHoN9-Bmxn5k1w9Qi48Uhn-kc,3576 +django/contrib/flatpages/templatetags/flatpages.py,sha256=q0wsGQqXHhSCH4_UR-wHkj_pJsxBOo_liODBT_BZcTc,3561 django/contrib/gis/__init__.py,sha256=GTSQJbKqQkNiljWZylYy_ofRICJeqIkfqmnC9ZdxZ2I,57 -django/contrib/gis/apps.py,sha256=wEquhS1IKyUphVzs9QL4J-94onezMkC5tK_WkrUEa3o,396 +django/contrib/gis/apps.py,sha256=YkIbEk4rWlbN0zZru2uewGsLzqWsMDl7yqA4g_5pT10,341 django/contrib/gis/feeds.py,sha256=vCYhNC7qRvPIPGLw8GnAqi-c1SCwQJlwuBtZ36n7LSY,5733 django/contrib/gis/geometry.py,sha256=sTXZdh3D1UGGDBP-WZ2jvLUVstcJ_2Kn1_PlKJshNDo,677 django/contrib/gis/measure.py,sha256=BLWTkDMMunvaN9lR8QDujmKOxUyhBQKy10Auo0npDaQ,11948 @@ -1689,54 +1690,54 @@ django/contrib/gis/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h django/contrib/gis/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/gis/db/backends/utils.py,sha256=y4q0N0oDplot6dZQIFnjGPqVsTiGyLTmEMt5-xj-2b4,784 django/contrib/gis/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/base/adapter.py,sha256=gzUjdM_lU9pBK3NlrX_Fx1W96TT1cYJdWZjhV7eQZ4s,482 -django/contrib/gis/db/backends/base/features.py,sha256=F4Xhc-OSHsV-IjB2PbcU_DcVmRITXYnOe2xgXOj_iHo,3406 +django/contrib/gis/db/backends/base/adapter.py,sha256=zBcccriBRK9JowhREgLKirkWllHzir0Hw3BkC3koAZs,481 +django/contrib/gis/db/backends/base/features.py,sha256=hz9h_D5BD39M1-uGviOISrPfsCH7ELJL1MYM0HiREyQ,3402 django/contrib/gis/db/backends/base/models.py,sha256=vkDweNsExmKWkHNSae9G6P-fT-SMdIgHZ85i31ihXg0,3962 -django/contrib/gis/db/backends/base/operations.py,sha256=v3jyAGBz8oqtShYzvoYLa8oyWjmKcwl-HQB-usnPT8w,6321 +django/contrib/gis/db/backends/base/operations.py,sha256=I69Yyv0EIBl0GXVfdTqMEqXBBclaj1ZTLcB2QPXGaiw,6363 django/contrib/gis/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/gis/db/backends/mysql/base.py,sha256=rz8tnvXJlY4V6liWxYshuxQE-uTNuKSBogCz_GtXoaY,507 django/contrib/gis/db/backends/mysql/features.py,sha256=zyl131i6rwEqn3prTzMMOgy7AuUfcCCNx4lKj9YmXQ4,756 -django/contrib/gis/db/backends/mysql/introspection.py,sha256=-Ff3nDRI7Rz3Cc33UlD0TgajjNH5rde9u0SKTMwuAUw,1771 -django/contrib/gis/db/backends/mysql/operations.py,sha256=RRD37VSAMHbVoBfU7TA1LI_9x4Wox8Yw_Cw0Evj3tnE,4077 +django/contrib/gis/db/backends/mysql/introspection.py,sha256=_efDbLNzL7BeO7YWJ8siq11pApGAnLZiqGQ-rnZOFLM,1720 +django/contrib/gis/db/backends/mysql/operations.py,sha256=frP6_EgUWNDYTHUh0AhQKWd9g39urFxgOuzvt4Gr_pc,3664 django/contrib/gis/db/backends/mysql/schema.py,sha256=I8eJcKXqiyv15ATHLs5qVsHfWDE07lf0_-iaNdGv0ew,2890 django/contrib/gis/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/gis/db/backends/oracle/adapter.py,sha256=y9ewCXAoQZ4iXCHzf_bsRwSXpCHdK9HJyUZy_1AiA40,1872 django/contrib/gis/db/backends/oracle/base.py,sha256=NQYlEvE4ioobvMd7u2WC7vMtDiRq_KtilGprD6qfJCo,516 django/contrib/gis/db/backends/oracle/features.py,sha256=lHjxvF4bQqlv8VQGgXhCNrfnDgbUUm6GwjYeva4HKMc,420 -django/contrib/gis/db/backends/oracle/introspection.py,sha256=NrjdXhbXbEtYEYQfohbBlxD1pMlhmcW44S_z_ZL09Ns,1839 +django/contrib/gis/db/backends/oracle/introspection.py,sha256=0mikP0QbOsM4Fm2hHXU9iWv23ds13UXXcuzgFkhRxDs,1788 django/contrib/gis/db/backends/oracle/models.py,sha256=qn2TayTuC67MD7gEZo954DKa5ddB9CNS4rTkXkdXo8E,2084 -django/contrib/gis/db/backends/oracle/operations.py,sha256=wMg1U6JAJga-n_16Ht-CCsngxi4I2xnozNao8ye25oE,8269 +django/contrib/gis/db/backends/oracle/operations.py,sha256=qmFi5i0YtYA5sh-q5bq4htMZuRVil9bEoBn_n829m8Q,8287 django/contrib/gis/db/backends/oracle/schema.py,sha256=wnb56CJ9Er40E4Yw7RK1hOOYZAHRJJFbNGNK9E9IHRk,3916 django/contrib/gis/db/backends/postgis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/postgis/adapter.py,sha256=Qa1z5H2p2iDegEmuQDH_yUR8sbmYvg1S51F7BArng7g,2154 +django/contrib/gis/db/backends/postgis/adapter.py,sha256=jDa5X2uIj6qRpgJ8DUfEkWBZETMifyxqDtnkA73kUu8,2117 django/contrib/gis/db/backends/postgis/base.py,sha256=sFCNoMHRzd-a_MRc9hv-tyVHEODmGveyIopbP6CTPCg,937 django/contrib/gis/db/backends/postgis/const.py,sha256=a536866Z3EPWtcjYUXewOe0QjyfFIhxRTk_tFmRu1NA,1484 django/contrib/gis/db/backends/postgis/features.py,sha256=iBZqX6o1YBrmw5pSUYeft-ga6FGa05J-9ADFNsRtLgk,422 -django/contrib/gis/db/backends/postgis/introspection.py,sha256=EMl6H0OOQzzKLMKDOuMQXwaxo6S0JMQ4WRmynFcmxEA,5410 +django/contrib/gis/db/backends/postgis/introspection.py,sha256=I5Kf14nZKew-NWFAPo-rRkJ85Qg_NDNEEwByEH9xrcA,4388 django/contrib/gis/db/backends/postgis/models.py,sha256=EE3RLh8ywcJ7NAYhPAQbORChwsgntssvDqXkLxDGR2A,1962 -django/contrib/gis/db/backends/postgis/operations.py,sha256=r0RfufIz-seq2JPpzdiz_lEy5Jrw9wYrL9dMbkpnPqA,15946 -django/contrib/gis/db/backends/postgis/pgraster.py,sha256=xo7S1sR_xaaUGCZOcZlNriSLb_Rw7yTkPHgcy-9o7Xo,4586 +django/contrib/gis/db/backends/postgis/operations.py,sha256=8EZGVc1g-3Z16BOGfJ6VCGQ692g6Zl2-IAliQPQYzio,16069 +django/contrib/gis/db/backends/postgis/pgraster.py,sha256=_XKNfncFbEPgeiHCfkZmQv8rjnCNN0r90pa4DZSOW00,4444 django/contrib/gis/db/backends/postgis/schema.py,sha256=8OLvoGWRnm8WNhVzfd_4hk58I_IErPMdvswL2D4DG2I,2647 django/contrib/gis/db/backends/spatialite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/gis/db/backends/spatialite/adapter.py,sha256=y74p_UEgLtoYjNZEi72mwcJOh_b-MzJ7sZd68WJXBiY,317 -django/contrib/gis/db/backends/spatialite/base.py,sha256=UeWmlPtr1VUZgogPV-S-poAds4hgcGcrAhIBzery3f4,2875 +django/contrib/gis/db/backends/spatialite/base.py,sha256=RtSD7_XWsjbOzNwQGs4hPaTeYKgINJeM8p2nWOwBg70,2769 django/contrib/gis/db/backends/spatialite/client.py,sha256=NsqD2vAnfjqn_FbQnCQeAqbGyZf9oa6gl7EPsMTPf8c,138 -django/contrib/gis/db/backends/spatialite/features.py,sha256=UcNZz6Pn5ULxxafA35EqapaopfrG1A77LDfadKUuwX0,783 -django/contrib/gis/db/backends/spatialite/introspection.py,sha256=hfvLrbpXfCJaEHnajPR4UNS69bHL_WGvQi6s0vYsy0A,3169 +django/contrib/gis/db/backends/spatialite/features.py,sha256=HeeWFDRGxkgfTQ_ryzEKzRxJPnf5BJVs0ifYs8SEIXU,449 +django/contrib/gis/db/backends/spatialite/introspection.py,sha256=CvQfKqV-pOR7S21XYKLKvnV5pys3F5X2SxI0hPpUqiQ,3054 django/contrib/gis/db/backends/spatialite/models.py,sha256=Im-NSbDbUMjvZgZpABrOMuKqmygbcKxTZv0k1YZf1gE,1890 -django/contrib/gis/db/backends/spatialite/operations.py,sha256=nnET48MGuG6ZP2YUVJaVYvlEtdNbm-MTjvuCPIO-BGY,8309 +django/contrib/gis/db/backends/spatialite/operations.py,sha256=Cdn6JFUgdBYaMxyT6AOuOl318PwZn-AnETfYkFkRumw,8247 django/contrib/gis/db/backends/spatialite/schema.py,sha256=WLvCcCOqdTcBmsjaBNt15YwVzE05vXzQVvfGva6q1Xo,6838 django/contrib/gis/db/models/__init__.py,sha256=BR3kQAefIv4O1NksiVCUShwlSO4OCNoUGan6dCRGIyU,817 django/contrib/gis/db/models/aggregates.py,sha256=6pu08PWnXFhFe2yWOoaBKVk87pcIm5LSKSlIlM3hJ24,2583 -django/contrib/gis/db/models/fields.py,sha256=dXgNMhVzzoqMxrTv8lOb-7yxBVX-jr1CzxzuKk9gRFQ,13514 -django/contrib/gis/db/models/functions.py,sha256=1mpm9lPWFUmZoF1EsFYKQJlYPql6R8n5TiDG7R6giJo,16264 -django/contrib/gis/db/models/lookups.py,sha256=vmQVxVe62O0hcTIsd-03bQl2R7JdwYx6Fzz4MMKa7g8,10878 -django/contrib/gis/db/models/proxy.py,sha256=F_y7gVePcxpywNxMMEzS0A_t4LCbkhfrOllQZ0ZDPgU,3172 +django/contrib/gis/db/models/fields.py,sha256=BuSdf3KDBsGti8fnCG_HP54I_JqyU_1nfccYjfVGmcU,13496 +django/contrib/gis/db/models/functions.py,sha256=d9CkzZHx56U4n9GxIO1kqdmg9LSKNucAJGieNqZCkqU,16627 +django/contrib/gis/db/models/lookups.py,sha256=yleGLXa0oLkYrH4QgFV3d5zgzgmCpU2DIi3J_Th2DmQ,10849 +django/contrib/gis/db/models/proxy.py,sha256=uO-35A6mMrritgzfrZvDfEe2w7TX9BsnhYJ7KMjvilI,3163 django/contrib/gis/db/models/sql/__init__.py,sha256=oYJYL-5DAO-DIcpIQ7Jmeq_cuKapRB83V1KLVIs_5iU,139 django/contrib/gis/db/models/sql/conversion.py,sha256=gG1mTUWb33YK_Uf1ZJRg5MRhkCTLtgajD3xxi7thODA,2400 django/contrib/gis/forms/__init__.py,sha256=fREam1OSkDWr9ugUMNZMFn8Y9TufpRCn3Glj14DTMbQ,298 django/contrib/gis/forms/fields.py,sha256=1BTX2i2tqpLEIGjnjhZwmlpuYPH_v6a84PixcXOcxKA,4314 -django/contrib/gis/forms/widgets.py,sha256=-5N3m4ilhs0HjNmYWwqF4WiJtt07X0swU_lyn1wPIBw,3851 +django/contrib/gis/forms/widgets.py,sha256=J8EMJkmHrGkZVqf6ktIwZbO8lYmg63CJQbUYILVsVNc,3739 django/contrib/gis/gdal/LICENSE,sha256=VwoEWoNyts1qAOMOuv6OPo38Cn_j1O8sxfFtQZ62Ous,1526 django/contrib/gis/gdal/__init__.py,sha256=Zs9bOGm9RStYhhlWCnqRNChJG4K_oWDPRXYylplur1Q,1760 django/contrib/gis/gdal/base.py,sha256=yymyL0vZRMBfiFUzrehvaeaunIxMH5ucGjPRfKj-rAo,181 @@ -1746,7 +1747,7 @@ django/contrib/gis/gdal/envelope.py,sha256=ZsX4QPtg60yVl5MMjc_mbolnbA0lWWV-85ZW4 django/contrib/gis/gdal/error.py,sha256=WNtvm0k-Msbo5pW2rO1_5fDvLRqoF8D5ka9UC6hfclM,1575 django/contrib/gis/gdal/feature.py,sha256=41qBdM1bVmKh4W-5QO6-3mrEbyL-1lCEGgclsOIJAzg,3927 django/contrib/gis/gdal/field.py,sha256=64_BJ1SyJXqByVPiQB2HU6_5KiPSe2IE-5Wq4heKbEo,6699 -django/contrib/gis/gdal/geometries.py,sha256=tvtVLuW-W23tlp-rGGj4Fx6aNqFNxDqr2hAlAjdjO2Y,24515 +django/contrib/gis/gdal/geometries.py,sha256=QKkhyVWx3fwJt-lIw7cjzOPjIg7cC56AXlkyHXR5ZvI,24357 django/contrib/gis/gdal/geomtype.py,sha256=wV9vW9lalMtMSEja161xMdZVqmaf6rR-PC2GdzeIwMs,3175 django/contrib/gis/gdal/layer.py,sha256=NeFb78T4O8KBuAUfMdR2t-tK5UO4GCCSGd3ZY5Temyo,8537 django/contrib/gis/gdal/libgdal.py,sha256=H0sugVJuTEPvjJZ2S3SUjZOs_9yn4Yq5FDYV4UNOEhw,3612 @@ -1759,13 +1760,13 @@ django/contrib/gis/gdal/prototypes/geom.py,sha256=ELRO7bR8RxO3HIuxtitr06yhsG4DxY django/contrib/gis/gdal/prototypes/raster.py,sha256=aXOXg3B_NcFt4AoX6sDSr0u_yEvhWPF2D00qhxCFnzc,5763 django/contrib/gis/gdal/prototypes/srs.py,sha256=yzAqWOFjP626Kovwd1HOlJuWcT3kuLCFq_PCVNN7Gaw,3540 django/contrib/gis/gdal/raster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/gdal/raster/band.py,sha256=jGoWznyK-4MYElT3KpuUTyWjGmv_Eou_c76BqBXMMR4,8304 -django/contrib/gis/gdal/raster/base.py,sha256=VJk16KfArc2SbTjRK3iLuFmzXW1B7VUSctG0Jc6m4Vg,3014 +django/contrib/gis/gdal/raster/band.py,sha256=xY3OCQzLIgHTJSYghDdmpV7ZW7aHEW4w_Z5kd4fI9TA,8249 +django/contrib/gis/gdal/raster/base.py,sha256=5aVYFfPikni3CX21c7N6tFtfhwvBY4CMnfuCiEIALMg,3002 django/contrib/gis/gdal/raster/const.py,sha256=D976ENrWFWdoH1fS5DuyhcS8ix7zJB8UIu4_NvEJtgI,2889 -django/contrib/gis/gdal/raster/source.py,sha256=3URK_Vp9VsObLWLDB5tT59XVAUs-pBUsJrojeD6fdJE,16854 +django/contrib/gis/gdal/raster/source.py,sha256=_rOAFGeuxkm0q9qyfOsX6P80ikwtSkvcy8wQZU-kBaI,16634 django/contrib/gis/geoip2/__init__.py,sha256=uIUWQyMsbSrYL-oVqFsmhqQkYGrh7pHLIVvIM3W_EG4,822 -django/contrib/gis/geoip2/base.py,sha256=BuT-N9PuRqjuP8kohfKxvnft-nI7J7orPzLrOUDF2qE,9033 -django/contrib/gis/geoip2/resources.py,sha256=UFle7-6gOKg-En5z_uaO3VzlUmhGoSxWsy_hbIh-tjQ,651 +django/contrib/gis/geoip2/base.py,sha256=rz8KYyxRuWBBrWIU2OXoQsFm7mj43vHc9VsBkiHi4ZY,9074 +django/contrib/gis/geoip2/resources.py,sha256=YlldCGQe_U-J90znMdAEQ0SxWIkfZvkuD7uSGKHVcG8,748 django/contrib/gis/geos/LICENSE,sha256=CL8kt1USOK4yUpUkVCWxyuua0PQvni0wPHs1NQJjIEU,1530 django/contrib/gis/geos/__init__.py,sha256=DXFaljVp6gf-E0XAbfO1JnYjPYSDfGZQ2VLtGYBcUZQ,648 django/contrib/gis/geos/base.py,sha256=NdlFg5l9akvDp87aqzh9dk0A3ZH2TI3cOq10mmmuHBk,181 @@ -1773,32 +1774,32 @@ django/contrib/gis/geos/collections.py,sha256=OHpBZoruCk_rySBZ4gpEA2ZWLODFCHwkOy django/contrib/gis/geos/coordseq.py,sha256=cMGg3XPm2x3VYjkYys8rojRG7uzMez8FpOr2HD-Jy8Q,6419 django/contrib/gis/geos/error.py,sha256=r3SNTnwDBI6HtuyL3mQ_iEEeKlOqqqdkHnhNoUkMohw,104 django/contrib/gis/geos/factory.py,sha256=f6u2m1AtmYYHk_KrIC9fxt7VGsJokJVoSWEx-DkPWx0,961 -django/contrib/gis/geos/geometry.py,sha256=Gbz_K0_QMluq69V-wxp2AQwScueIz5K5bBgxkLXY__g,24845 +django/contrib/gis/geos/geometry.py,sha256=WjN1Tw0aZVpx4wKwrwWtvEvJdvgL-QnEqxlZSM1vXbI,25378 django/contrib/gis/geos/io.py,sha256=Om5DBSlttixUc3WQAGZDhzPdb5JTe82728oImIj_l3k,787 django/contrib/gis/geos/libgeos.py,sha256=AtMP5GPGgjPPQzgzk8G-fxDFWlhd7e-LWR4idA3dXh8,5127 -django/contrib/gis/geos/linestring.py,sha256=xBs4p9osA_zUK6xCdgg_nBLBmbvZ_Qxa7aZ8T5ao0vs,5960 +django/contrib/gis/geos/linestring.py,sha256=6CctplhRZKi8UvK-B2kJGRZySVsonUJwieQ8S0kxj6U,5935 django/contrib/gis/geos/mutable_list.py,sha256=_dHOe_CF9jQGv0UFbKUwSqLWcl4EQBFLJ0wtO8cf5Y4,10489 django/contrib/gis/geos/point.py,sha256=vBBmdajc7GXisTdRDriHEJRc0irjNJsTF8qDtHr5o4U,4443 -django/contrib/gis/geos/polygon.py,sha256=qYVaXi9rxs3yUQH-z2Kqr4vw5Pjd-HneTa7iB6r-86c,6691 +django/contrib/gis/geos/polygon.py,sha256=itel_uGvDQxrhYD5VsQt_jFHyWB0XgDW4xkwq8f3KiI,6685 django/contrib/gis/geos/prepared.py,sha256=rJf35HOTxPrrk_yA-YR9bQlL_pPDKecuhwZlcww8lxY,1575 django/contrib/gis/geos/prototypes/__init__.py,sha256=0jfLanLmI1q-3NIpdIZr3EHnMzhPRXMhbCNIHf3glfI,1221 -django/contrib/gis/geos/prototypes/coordseq.py,sha256=jd8jmxXbhZjNmWRad9917ar8ozDIih-EnFvmamgLxm0,2989 +django/contrib/gis/geos/prototypes/coordseq.py,sha256=Cq7HqMVXt8F-0C1cOfYfkapHY0t5ZNu9v7h7_YLD5mo,2993 django/contrib/gis/geos/prototypes/errcheck.py,sha256=YTUBFoHU5pZOAamBPgogFymDswgnMr1_KL59sZfInYo,2654 django/contrib/gis/geos/prototypes/geom.py,sha256=FoWEduMbbWb6_blM2IJOP_WkYCVISLksuXOaFAL_9c8,3565 -django/contrib/gis/geos/prototypes/io.py,sha256=Rxzgg_SeZcO55XP2pKCD3X4Ilqrh-6YU-Q1hKkigSxk,11221 +django/contrib/gis/geos/prototypes/io.py,sha256=PnWSFLrw_JPdjafR_OeVh6LqJgLjcBVFKRBT3J8z1yY,11195 django/contrib/gis/geos/prototypes/misc.py,sha256=7Xwk0HG__JtPt6wJD-ieMkD-7KxpnofYrHSk6NEUeJo,1161 django/contrib/gis/geos/prototypes/predicates.py,sha256=Ya06ir7LZQBSUypB05iv9gpvZowOSLIKa4fhCnhZuYY,1587 django/contrib/gis/geos/prototypes/prepared.py,sha256=SC7g9_vvsW_ty7LKqlMzJfF9v3EvsJX9-j3kpSeCRfY,1184 -django/contrib/gis/geos/prototypes/threadsafe.py,sha256=mMS57uRZmYrsWluD4Y8Sej5gH7IFiGCHjERfQMsE6Ak,2389 -django/contrib/gis/geos/prototypes/topology.py,sha256=AD9s3yytjEaF6YZpa7nBufZlxaC7lM8q7GfXaEWRvxY,2139 +django/contrib/gis/geos/prototypes/threadsafe.py,sha256=Ll_TmpfJhRTmWV5dgKJx_Dh67ay1pa-SdlH558NRPw4,2309 +django/contrib/gis/geos/prototypes/topology.py,sha256=wd0OxkUQiMNioDXpJdRc1h9swsZ2CeOgqMvHxqJFY5s,2256 django/contrib/gis/locale/af/LC_MESSAGES/django.mo,sha256=TN3GddZjlqXnhK8UKLlMoMIXNw2szzj7BeRjoKjsR5c,470 django/contrib/gis/locale/af/LC_MESSAGES/django.po,sha256=XPdXaQsZ6yDPxF3jVMEI4bli_5jrEawoO-8DHMk8Q_A,1478 django/contrib/gis/locale/ar/LC_MESSAGES/django.mo,sha256=q0DhiLoyS8WBktN150bvtusd885p2E7e23VMFAqJPj0,2428 django/contrib/gis/locale/ar/LC_MESSAGES/django.po,sha256=rnZPCzub0GRmC3FwmfyhATesLcm4yTRNr8jDSvM9wBQ,2639 django/contrib/gis/locale/ast/LC_MESSAGES/django.mo,sha256=8o0Us4wR14bdv1M5oBeczYC4oW5uKnycWrj1-lMIqV4,850 django/contrib/gis/locale/ast/LC_MESSAGES/django.po,sha256=0beyFcBkBOUNvPP45iqewTNv2ExvCPvDYwpafCJY5QM,1684 -django/contrib/gis/locale/az/LC_MESSAGES/django.mo,sha256=Fa4dVabHbnYIaJNor3mac1dXOHEEiO2MN9LqGe-r5kg,1211 -django/contrib/gis/locale/az/LC_MESSAGES/django.po,sha256=Xj1cR_yGYeqHDiNU-UVoWjVevwAfT7bOTj5Cbbx49pk,1801 +django/contrib/gis/locale/az/LC_MESSAGES/django.mo,sha256=i52TIQuWn72ykTPYSRfBgqeJ254hhGt8LvBQHtXCWMg,2013 +django/contrib/gis/locale/az/LC_MESSAGES/django.po,sha256=tXdeAVGebIVd-K1c5ANtQaba5ll_ELIseJdpqC3UUCE,2163 django/contrib/gis/locale/be/LC_MESSAGES/django.mo,sha256=ySlqE1WXTqM5DGsE_fEF5pipbyqj4A10SZgvQlFAyKc,2488 django/contrib/gis/locale/be/LC_MESSAGES/django.po,sha256=HzR5MKPYfc-xeRnb0oPIi9OLa-iA86_IbbM3Poj8h_k,2651 django/contrib/gis/locale/bg/LC_MESSAGES/django.mo,sha256=1A5wo7PLz0uWsNMHv_affxjNnBsY3UQNz7zHszu56do,2452 @@ -1905,8 +1906,8 @@ django/contrib/gis/locale/mn/LC_MESSAGES/django.mo,sha256=-Nn70s2On94C-jmSZwTppW django/contrib/gis/locale/mn/LC_MESSAGES/django.po,sha256=I0ZHocPlRYrogJtzEGVPsWWHpoVEa7e2KYP9Ystlj60,2770 django/contrib/gis/locale/mr/LC_MESSAGES/django.mo,sha256=sO2E__g61S0p5I6aEwnoAsA3epxv7_Jn55TyF0PZCUA,468 django/contrib/gis/locale/mr/LC_MESSAGES/django.po,sha256=McWaLXfWmYTDeeDbIOrV80gwnv07KCtNIt0OXW_v7vw,1476 -django/contrib/gis/locale/my/LC_MESSAGES/django.mo,sha256=i6JlVxP_finJ6vMVsv_csixtZa1qGs3ezVJZDIsE7G8,461 -django/contrib/gis/locale/my/LC_MESSAGES/django.po,sha256=eqtpOzHodtyr15aVOVVMtirg6XSUm6n7BsQpSIZ6D2k,1469 +django/contrib/gis/locale/my/LC_MESSAGES/django.mo,sha256=e6G8VbCCthUjV6tV6PRCy_ZzsXyZ-1OYjbYZIEShbXI,525 +django/contrib/gis/locale/my/LC_MESSAGES/django.po,sha256=R3v1S-904f8FWSVGHe822sWrOJI6cNJIk93-K7_E_1c,1580 django/contrib/gis/locale/nb/LC_MESSAGES/django.mo,sha256=AmVS8gbKlqYHpr-v2UdOuYt17wO2WMhVJzfDWX6Tl78,1930 django/contrib/gis/locale/nb/LC_MESSAGES/django.po,sha256=psdNBDn8IvOyAChU7NqUKIOIssUocfQKSsXnt-89fd8,2146 django/contrib/gis/locale/ne/LC_MESSAGES/django.mo,sha256=nB-Ta8w57S6hIAhAdWZjDT0Dg6JYGbAt5FofIhJT7k8,982 @@ -1935,8 +1936,8 @@ django/contrib/gis/locale/sl/LC_MESSAGES/django.mo,sha256=9-efMT2MoEMa5-SApGWTRi django/contrib/gis/locale/sl/LC_MESSAGES/django.po,sha256=foZY7N5QkuAQS7nc3CdnJerCPk-lhSb1xZqU11pNGNo,2303 django/contrib/gis/locale/sq/LC_MESSAGES/django.mo,sha256=LVdXsubPRVA-1-VeEJEWoGoAWR9kK072boRKaqzyb28,1918 django/contrib/gis/locale/sq/LC_MESSAGES/django.po,sha256=PFeGnVwfzGcFRm2SCV8-iB5z9TVwyN66qz5X9NClQkQ,2148 -django/contrib/gis/locale/sr/LC_MESSAGES/django.mo,sha256=SuHuwU54Rxweb8lkw7RjlS2ipvxWMQeBUk8OGyzFlUE,1778 -django/contrib/gis/locale/sr/LC_MESSAGES/django.po,sha256=k-cWF8JVf_2b-tp1u9uGROQk9f75mRMTtmyZNsRyKYw,2319 +django/contrib/gis/locale/sr/LC_MESSAGES/django.mo,sha256=J20yLH-sD2a2KGFqN3GDdJPISOS7YMe9K6UR9ZXlbl4,2442 +django/contrib/gis/locale/sr/LC_MESSAGES/django.po,sha256=cw89jyImmFqspzFVcnkncUNYAH_j3ozId-Ou2lc0L6U,2682 django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=i-pBCBcNZMz-3rRcQEJrXZLmPHF7YtIEJnzcsAzgma8,1470 django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po,sha256=MpcOTqw1HiPzr7IikrEwm63x4ypUv9BnQCOKYSjqL0A,2009 django/contrib/gis/locale/sv/LC_MESSAGES/django.mo,sha256=6TDgv3FdLP-BvB5BszCB7JcNzk2oDLXxuAkXgg7tYRY,1733 @@ -1965,8 +1966,6 @@ django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=rjeFyj0X_v3qP8NHY django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po,sha256=GFZzUTmlQXZ1pDhwaYgH9_Lr8OQp9s402jHfHmX9Jso,2245 django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=SRSpoSMtx8PDTpHroMUymZ_-Eu7zzjqPDBiAm3XSV2I,2012 django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po,sha256=b6NQK1--AC67NiUaOew_ajDIj5uSrPzW_rUpLU71yA8,2277 -django/contrib/gis/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/gis/management/commands/inspectdb.py,sha256=Z2Do56mM2tBvnujnCk5C7JhI3z_LQWB4L0M626hmumk,750 django/contrib/gis/management/commands/ogrinspect.py,sha256=Vv-MAfE0uNieJF6W9gQ4TO-IHCCQvL1qAU7lyEK4izk,5848 django/contrib/gis/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 @@ -1981,7 +1980,7 @@ django/contrib/gis/static/gis/img/draw_point_off.svg,sha256=PICrywZPwuBkaQAKxR9n django/contrib/gis/static/gis/img/draw_point_on.svg,sha256=raGk3oc8w87rJfLdtZ4nIXJyU3OChCcTd4oH-XAMmmM,803 django/contrib/gis/static/gis/img/draw_polygon_off.svg,sha256=gnVmjeZE2jOvjfyx7mhazMDBXJ6KtSDrV9f0nSzkv3A,981 django/contrib/gis/static/gis/img/draw_polygon_on.svg,sha256=ybJ9Ww7-bsojKQJtjErLd2cCOgrIzyqgIR9QNhH_ZfA,982 -django/contrib/gis/static/gis/js/OLMapWidget.js,sha256=-Ry6ICBpsfq3XoAU2SshQeCyMuaGd1ZlgPgHapgKFWU,8981 +django/contrib/gis/static/gis/js/OLMapWidget.js,sha256=VCC3BqFJSkcJtOKgf998WA2QLDUTeqYxr46gPzCjE9w,8961 django/contrib/gis/templates/gis/openlayers-osm.html,sha256=TeiUqCjt73W8Hgrp_6zAtk_ZMBxskNN6KHSmnJ1-GD4,378 django/contrib/gis/templates/gis/openlayers.html,sha256=P_sBibtZ8ybiBG6dtYbVhRgDYJE-oKYPzl452xad5Ok,1912 django/contrib/gis/templates/gis/admin/openlayers.html,sha256=GsjT4sNA-2iHRe7PJKsBIGDEAa29vGXwFNNACowj1lw,1867 @@ -1994,7 +1993,7 @@ django/contrib/gis/utils/__init__.py,sha256=OmngSNhywEjrNKGXysMlq_iFYvx7ycDWojpC django/contrib/gis/utils/layermapping.py,sha256=rvQRfEa5lBrnXKMPjyrG5NmiV3Au_6YwJvdU7YgCePQ,27125 django/contrib/gis/utils/ogrinfo.py,sha256=VmbxQ5Ri4zjtTxNymuxJp3t3cAntUC83YBMp9PuMMSU,1934 django/contrib/gis/utils/ogrinspect.py,sha256=DEitGcJBpsFKWjHzFwQQukIuwBR90n2-NTKt0vYU-VY,8935 -django/contrib/gis/utils/srs.py,sha256=SIVPj3MmKhp-C9IPdM6o5KRRdj38fYIpmo-FjzrwBCM,3024 +django/contrib/gis/utils/srs.py,sha256=4O1pQ-D0k3scCaz58Cl1Rl1iT2ASao7DHsgvkY31M0w,3011 django/contrib/humanize/__init__.py,sha256=88gkwJxqbRpmigRG0Gu3GNQkXGtTNpica4nf3go-_cI,67 django/contrib/humanize/apps.py,sha256=ODfDrSH8m3y3xYlyIIwm7DZmrNcoYKG2K8l5mU64V7g,194 django/contrib/humanize/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 @@ -2017,30 +2016,30 @@ django/contrib/humanize/locale/bs/LC_MESSAGES/django.mo,sha256=1-RNRHPgZR_9UyiEn django/contrib/humanize/locale/bs/LC_MESSAGES/django.po,sha256=M017Iu3hyXmINZkhCmn2he-FB8rQ7rXN0KRkWgrp7LI,5498 django/contrib/humanize/locale/ca/LC_MESSAGES/django.mo,sha256=U3wnUZ-xwFZsYCd2Brr3rPVMVlatpnuXRYMCHYtB240,4040 django/contrib/humanize/locale/ca/LC_MESSAGES/django.po,sha256=YgPF3fjBFqj4wmZ1r0I4sS9fRv65my9so4fjyfGbH6o,6025 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo,sha256=SsuK8dcYBRPs2_sT8Xnbq2k5swS4Sm1XUsdIQFXl0W0,4706 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.po,sha256=olnH60vKAYaPcP2vYomYuA8q8iJnr2BqdpNIcErIx0k,6976 +django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo,sha256=Fr7-yH-FrHf7RKv3SYsDpa-56GcCchaolYhxlMVyuVQ,6846 +django/contrib/humanize/locale/cs/LC_MESSAGES/django.po,sha256=lfQ1tt7_fhpvtfJy7lmVaMX6mvdFOnO8KWFAF94VNbA,11582 django/contrib/humanize/locale/cy/LC_MESSAGES/django.mo,sha256=VjJiaUUhvX9tjOEe6x2Bdp7scvZirVcUsA4-iE2-ElQ,5241 django/contrib/humanize/locale/cy/LC_MESSAGES/django.po,sha256=sylmceSq-NPvtr_FjklQXoBAfueKu7hrjEpMAsVbQC4,7813 -django/contrib/humanize/locale/da/LC_MESSAGES/django.mo,sha256=J2fWZWpFuD0XvGi5B8cm3-xrDqAHk2Qlfz-Ciwblvr8,4108 -django/contrib/humanize/locale/da/LC_MESSAGES/django.po,sha256=MwloOPiuBPv1DAC12FEqTOHZWkFkpl5jc8naP_BLvk8,6120 -django/contrib/humanize/locale/de/LC_MESSAGES/django.mo,sha256=ZDdNGQvTBkJDDoT1Bq9XxEMpxs4sFY10wuOfSvlTeoQ,4152 -django/contrib/humanize/locale/de/LC_MESSAGES/django.po,sha256=N_Tl5t0zQYGS7iWNIi68TSrA8-Nvv0oJ38nbz64p1wE,6118 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo,sha256=wD8ibBn17MzmF1HjqqksgFUsSwjUdS_JSOWlAQGK34g,5467 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po,sha256=YTU1ebIY0g5RSlZowpHwSQtGpxeVOXLIFHNLUm5QvVY,8033 +django/contrib/humanize/locale/da/LC_MESSAGES/django.mo,sha256=BXydfI-OWLN-K4udBT5oeDeOWwKtrMn8pcj4qRf_wKg,5339 +django/contrib/humanize/locale/da/LC_MESSAGES/django.po,sha256=R3obxY6dlgrWRxf9uRGcKlGWTxr7DcuZFg9N5SOU8tI,9154 +django/contrib/humanize/locale/de/LC_MESSAGES/django.mo,sha256=j2IfSs4MY9Np1awSVoQHwEOWuF-YqazHWOwE_fBk2YM,4669 +django/contrib/humanize/locale/de/LC_MESSAGES/django.po,sha256=_b5rxv57_AvX5SZqHK0SmnUu2hYB4lnhDr4CNA87pd4,6993 +django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo,sha256=-ujGv80xC02W3svo2UHZUXQ5dR9Jz7Y-aIpqWmcrerI,7036 +django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po,sha256=4Rxzt2SJkywoCOsxEAxyfpZSUdWrIBg1w_LInXXnqc8,11693 django/contrib/humanize/locale/el/LC_MESSAGES/django.mo,sha256=xibi0Bv45kBRYEyFnkgNFf0InnGJyv9KQIWDlfj7LUM,5350 django/contrib/humanize/locale/el/LC_MESSAGES/django.po,sha256=WW9fqED-lBmgvt6UfGTo-B_KGn_OQXRUSHEUZPXbn9g,7428 django/contrib/humanize/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/humanize/locale/en/LC_MESSAGES/django.po,sha256=2ykg4liEm0g1uv0iZlDXvIZQOvrT3AxMhgnm1QfTy5Y,7085 +django/contrib/humanize/locale/en/LC_MESSAGES/django.po,sha256=Iqb0XS0sZvkuEV5-GmxMkPMo5i0yJzVDkxXzlLRr2ZU,10744 django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po,sha256=dVOlMtk3-d-KrNLM5Rji-Xrk6Y_n801ofjGQvxSu67M,4742 django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.mo,sha256=mkx192XQM3tt1xYG8EOacMfa-BvgzYCbSsJQsWZGeAo,3461 django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po,sha256=MArKzXxY1104jxaq3kvDZs2WzOGYxicfJxFKsLzFavw,5801 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo,sha256=Htv0o1DV8no2MfC8M-lfl8HPGZc6HIVxMGIjVSwmyy8,4107 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.po,sha256=FFtvhZULWsOgl0XSEBngqs3BRp_l7WUiRcXDzbP7K1w,6016 +django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo,sha256=S6JRxaHEtmRiOAhGykR6ywsOtQja-vNrHbZiH4iayCk,5386 +django/contrib/humanize/locale/eo/LC_MESSAGES/django.po,sha256=9rnZwSXCBm6HqtO1dmkfoIqGzAhbgt0yzfXZwLqSi6k,9098 django/contrib/humanize/locale/es/LC_MESSAGES/django.mo,sha256=0aram7l_JemTmkw04jdlWXh1DOlmPWQD7_O3srdOP6o,4183 django/contrib/humanize/locale/es/LC_MESSAGES/django.po,sha256=bOM7KA6NTTwRGbR1o0o-5JrXM_mOIIPGxASwtoTl_9o,6306 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo,sha256=J_GRAcxrsRqeVJIPcA16DeDPWuh8EAzX6UW4ncv8yFI,4254 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po,sha256=LgnGvLxoWS2hh7_26pTpyCKtkcmqUWGaYrvLn2pqgWU,6270 +django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo,sha256=ZKBGQ4j6FHfKes-4SIABGnJ8szNWIIFzK8I16qdtD04,5502 +django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po,sha256=8nCRacJE5D7AVlNXRkfkMs6s_cE3GtbmGkQC31Npkyo,9363 django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.mo,sha256=2GhQNtNOjK5mTov5RvnuJFTYbdoGBkDGLxzvJ8Vsrfs,4203 django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po,sha256=JBf2fHO8jWi6dFdgZhstKXwyot_qT3iJBixQZc3l330,6326 django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.mo,sha256=82DL2ztdq10X5RIceshK1nO99DW5628ZIjaN8Xzp9ok,3939 @@ -2051,18 +2050,18 @@ django/contrib/humanize/locale/et/LC_MESSAGES/django.mo,sha256=WBBZ7Uk5nL-Z6qfYQ django/contrib/humanize/locale/et/LC_MESSAGES/django.po,sha256=n_nuAVBjwJd-RZXrbINpxubHetNJijvg5NJRUmECmGc,6213 django/contrib/humanize/locale/eu/LC_MESSAGES/django.mo,sha256=pw2s1xZV8yS4QaKCS-qq6aihFDGObWcKjPSVLcgqN-E,4041 django/contrib/humanize/locale/eu/LC_MESSAGES/django.po,sha256=LoWxuo_7aXHEAIJRu4S9rKqdvnXr4VMOqHjMd70OnA0,6119 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo,sha256=zQlQmEyZ0ErUlfLg62AqOf5w8EnbgTw5VpuOEBQlGXo,3754 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.po,sha256=iF8fvnzRtCx_HYOZhXbXu10T9R6jc7ZmvKItAicFWEg,5538 +django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo,sha256=DoYDzLeXjwqSQ1uv727FXpZh3cKhVMG-g-KxdA8HD70,5808 +django/contrib/humanize/locale/fa/LC_MESSAGES/django.po,sha256=SEnstPQwYHovFwQvF_PwYmJ_ad_wFdkwzcQLIsstSrY,9778 django/contrib/humanize/locale/fi/LC_MESSAGES/django.mo,sha256=qlx3w4Y0CNcC5rIrbig_sqCvKAwh_IS-YseoQX3zymc,4177 django/contrib/humanize/locale/fi/LC_MESSAGES/django.po,sha256=6xTZvvC_VxAyAQpUibJUDu4V2Gdryy8vJc2OviaYNnw,6180 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo,sha256=PFCsv1q5W_Y5-2cHfyle9bQyLMz_IxnI3q99kJ7L038,4174 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.po,sha256=TFedN6WujsxMXJpevuHLM7xhoeeMT7fIAlo91b5o8lk,6178 +django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo,sha256=dgdU-1GhfodIDTELyCCLfEwIkq7C4mqISE2BiETFLP8,5510 +django/contrib/humanize/locale/fr/LC_MESSAGES/django.po,sha256=JIr4EQsomqgUYig9iHDI07ir0u6faCawHi4AlqLNIRU,9317 django/contrib/humanize/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 django/contrib/humanize/locale/fy/LC_MESSAGES/django.po,sha256=pPvcGgBWiZwQ5yh30OlYs-YZUd_XsFro71T9wErVv0M,4732 django/contrib/humanize/locale/ga/LC_MESSAGES/django.mo,sha256=vzp6R9xVQ6KRr5NMSkVCQfDea6ZvdoFiOuenzSHyZmI,4929 django/contrib/humanize/locale/ga/LC_MESSAGES/django.po,sha256=fKw4frizXXcH-B9TKdFQXeoBhSodgraE_g37yuwXTHs,8304 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo,sha256=ZMkrFR1irolryUIAZNb4XTpv1f0HRFK70VVNulqE2lI,5545 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.po,sha256=OS7umBbdKJjPvA39Zn38MkdOAPtyLKz8MNmgN2Pwsms,8086 +django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo,sha256=2xWLdpuE471W20KkvWSx2f0I5EDWraCnShxv9og12_c,7232 +django/contrib/humanize/locale/gd/LC_MESSAGES/django.po,sha256=mj5nBx18gT-rgcZTnonLSIAQ1Dz6vCynbf0uto34CBM,11877 django/contrib/humanize/locale/gl/LC_MESSAGES/django.mo,sha256=ChoVHsJ_bVIaHtHxhxuUK99Zu1tvRu0iY5vhtB1LDMg,3474 django/contrib/humanize/locale/gl/LC_MESSAGES/django.po,sha256=U5D505aBKEdg80BGWddcwWuzmYdoNHx1WEPzVHQfbTE,5903 django/contrib/humanize/locale/he/LC_MESSAGES/django.mo,sha256=9jTg6s4yQ4f4idhWe8oGDxuQ5P-agqWxAxbv06n_klU,4525 @@ -2071,24 +2070,24 @@ django/contrib/humanize/locale/hi/LC_MESSAGES/django.mo,sha256=qrzm-6vXIUsxA7nOx django/contrib/humanize/locale/hi/LC_MESSAGES/django.po,sha256=BrypbKaQGOyY_Gl1-aHXiBVlRqrbSjGfZ2OK8omj_9M,6527 django/contrib/humanize/locale/hr/LC_MESSAGES/django.mo,sha256=29XTvFJHex31hbu2qsOfl5kOusz-zls9eqlxtvw_H0s,1274 django/contrib/humanize/locale/hr/LC_MESSAGES/django.po,sha256=OuEH4fJE6Fk-s0BMqoxxdlUAtndvvKK7N8Iy-9BP3qA,5424 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo,sha256=aQsAoaJWWQ9XMl5MS8hLXJh1jh1at0ar8RwFq9K6Usw,5530 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po,sha256=LpEwVdqV3JsobMp_yEUGBgAY5Wxep1mZtoivYTD4mnQ,8096 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo,sha256=-DeFtfmzqaT_H5ZkORSFshsQQIP9roBcLM2Ug7yQ4no,4086 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.po,sha256=6vGKFvNDvijsgNEJcMJ2VTCEvIynq2QqT3-WU4lYUsI,6062 +django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo,sha256=-LW8Eh8G66zaPxtotLfQUk4kN41g-06VKL9nsp1Wsck,7146 +django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po,sha256=TpQoQAbF6N35PM1qb5o5hms8ulpgRad4YBmGk8aI2Yk,11803 +django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo,sha256=Jupi8AHfDUwWcAw_fRv3CUYlKBqx4LbFoKrohsY4jnw,5348 +django/contrib/humanize/locale/hu/LC_MESSAGES/django.po,sha256=bNHdDSrI_x3w8SaZX1b7P-9QwCUKgrB49vriGQeckFc,9127 django/contrib/humanize/locale/hy/LC_MESSAGES/django.mo,sha256=bIhc8KbvaJystkLcJfZt5vJdQ4uL2XfXyuVEIbZP59c,1058 django/contrib/humanize/locale/hy/LC_MESSAGES/django.po,sha256=EpFGmcz_Wt-kFQmXtV_OVUJDrhiz3WkciHgLeDboUEs,4860 django/contrib/humanize/locale/ia/LC_MESSAGES/django.mo,sha256=d0m-FddFnKp08fQYQSC9Wr6M4THVU7ibt3zkIpx_Y_A,4167 django/contrib/humanize/locale/ia/LC_MESSAGES/django.po,sha256=qX6fAZyn54hmtTU62oJcHF8p4QcYnoO2ZNczVjvjOeE,6067 -django/contrib/humanize/locale/id/LC_MESSAGES/django.mo,sha256=F1JT8OXmLl8XkhOnlHdv0HTeIv1yMalwWdklh2EDdXA,3553 -django/contrib/humanize/locale/id/LC_MESSAGES/django.po,sha256=8CMXZfWpMh8y_MPfZOlW4cylctUuSeKkiDYhk-Nr6zU,5284 +django/contrib/humanize/locale/id/LC_MESSAGES/django.mo,sha256=T5pVIyFQtRdbBxZ5kW15NnsJQV2W0sgb9ltncyORJog,4665 +django/contrib/humanize/locale/id/LC_MESSAGES/django.po,sha256=fQSJprf0UF3FYGA7i_vWbZ7PX5bhH7pJaH1JAWvr9NI,8055 django/contrib/humanize/locale/io/LC_MESSAGES/django.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 django/contrib/humanize/locale/io/LC_MESSAGES/django.po,sha256=RUs8JkpT0toKOLwdv1oCbcBP298EOk02dkdNSJiC-_A,4720 -django/contrib/humanize/locale/is/LC_MESSAGES/django.mo,sha256=xc_nb854oMBP_bcFq-3aYUHjBgau18XsxbmS7tnSOb0,3586 -django/contrib/humanize/locale/is/LC_MESSAGES/django.po,sha256=GgWsXviADjyKEHQ99jXhQBeSaIUF45HCMOm-IVChT1k,6027 -django/contrib/humanize/locale/it/LC_MESSAGES/django.mo,sha256=NstBWl50Vp62dm8AP2GmLNABjkTu4o4vzwVHYFn-YmQ,4690 -django/contrib/humanize/locale/it/LC_MESSAGES/django.po,sha256=SMBC53O2Ze4N1RbIgxxAH9eZ5YvjyPIoz0kal6p7aus,6877 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo,sha256=Z712qDg5UNqsCOJukUk6JQVjrjlegE4vkEfSBLWjZco,3678 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.po,sha256=M64-U-_x1PWYPsVWCpNKtYyhSCLHuxB1Lqt4y4VW-K4,5323 +django/contrib/humanize/locale/is/LC_MESSAGES/django.mo,sha256=D6ElUYj8rODRsZwlJlH0QyBSM44sVmuBCNoEkwPVxko,3805 +django/contrib/humanize/locale/is/LC_MESSAGES/django.po,sha256=1VddvtkhsK_5wmpYIqEFqFOo-NxIBnL9wwW74Tw9pbw,8863 +django/contrib/humanize/locale/it/LC_MESSAGES/django.mo,sha256=E-83rstHy_gscbdEHm_77HqH2IkIJA8ZcqWe_GD4Wco,5981 +django/contrib/humanize/locale/it/LC_MESSAGES/django.po,sha256=0dF-NRmW2fetk5DHkZEmpiZyLQ2JyvFlDs5EXxXMz9s,10049 +django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo,sha256=XYV-llqoZAazu_idchujnUdGpfAa8mZDMUG1xo3CmE4,4840 +django/contrib/humanize/locale/ja/LC_MESSAGES/django.po,sha256=kjCkSQHFZ4jUDc6rxRvPM6OczUVCe1timYSyI0isujI,8144 django/contrib/humanize/locale/ka/LC_MESSAGES/django.mo,sha256=I_5NXFxdCGnJKI29_h3OgemK9KulPiv0P60qEQjdra8,4139 django/contrib/humanize/locale/ka/LC_MESSAGES/django.po,sha256=wUMRbhz5wpw-Rn8WepMIyADzgOUD7RLu3WxAW6t93p4,5740 django/contrib/humanize/locale/kk/LC_MESSAGES/django.mo,sha256=uP7HkHrdX0b7z2MsxSuHyDGBFYxZPckBhSbgrn7gcok,2106 @@ -2097,14 +2096,14 @@ django/contrib/humanize/locale/km/LC_MESSAGES/django.mo,sha256=mfXs9p8VokORs6JqI django/contrib/humanize/locale/km/LC_MESSAGES/django.po,sha256=JQBEHtcy-hrV_GVWIjvUJyOf3dZ5jUzzN8DUTAbHKUg,4351 django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo,sha256=Oq3DIPjgCqkn8VZMb6ael7T8fQ7LnWobPPAZKQSFHl4,461 django/contrib/humanize/locale/kn/LC_MESSAGES/django.po,sha256=yrXx6TInsxjnyJfhl8sXTLmYedd2jaAku9L_38CKR5A,4353 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo,sha256=zNjlVckSQWWpGBMdgp0LNBxosfnlaP8Z0J-20jyWNLE,3673 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.po,sha256=lprgxAY85u1w0ZceHZsnEoZ3WiRxEr8ciU9K9MQyKTE,5344 +django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo,sha256=O0WB715-2iTi2CRmfq5wAayBIIHat_w6S3MNjH_p3CM,3781 +django/contrib/humanize/locale/ko/LC_MESSAGES/django.po,sha256=ZcV04OEJdRQvmrECQ9K_CbWzG-kuB5I7UrVTdMoMA2A,8014 django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 django/contrib/humanize/locale/lb/LC_MESSAGES/django.po,sha256=_y0QFS5Kzx6uhwOnzmoHtCrbufMrhaTLsHD0LfMqtcM,4730 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo,sha256=5Iy5CNukpm6h8oIP9xNvXP5kLCp9nfJKyN3qYkFCWas,5036 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.po,sha256=shVVrEuZNDFRQzR8RabtVOf5fOZDJitGFeLV_SawPVQ,7321 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo,sha256=ZjMj_0KJke8TwheDUrXIZ5IPlMd22nZBVo739aK5cQU,4848 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.po,sha256=htt4OY9m2zjsW5T_ckINDUSkW4ju91FN00rDePOXs3w,7234 +django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo,sha256=9S3Fx2Es10uMIVooheEH3HZaKqXju2gUE-uVLgCEwe8,7374 +django/contrib/humanize/locale/lt/LC_MESSAGES/django.po,sha256=ZnsyLaRbhaSk0zNl6qZkKKlDVWJ6M_a3cIuGqUNVS28,12089 +django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo,sha256=dFrXeAiw976Zi2fWwdPigyo3rieo8yrhN54dYZChIQE,6252 +django/contrib/humanize/locale/lv/LC_MESSAGES/django.po,sha256=24-3dJTQeiqzf3wKAQggC7rZq3q67e9ltCyXhEYSJw4,10575 django/contrib/humanize/locale/mk/LC_MESSAGES/django.mo,sha256=htUgd6rcaeRPDf6UrEb18onz-Ayltw9LTvWRgEkXm08,4761 django/contrib/humanize/locale/mk/LC_MESSAGES/django.po,sha256=Wl9Rt8j8WA_0jyxKCswIovSiCQD-ZWFYXbhFsCUKIWo,6665 django/contrib/humanize/locale/ml/LC_MESSAGES/django.mo,sha256=QcVVfN27E0YIc_pdCJthRXo_iDizt36qkElzHuOGYsk,5077 @@ -2115,8 +2114,8 @@ django/contrib/humanize/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk django/contrib/humanize/locale/mr/LC_MESSAGES/django.po,sha256=M44sYiBJ7woVZZlDO8rPDQmS_Lz6pDTCajdheyxtdaI,4724 django/contrib/humanize/locale/my/LC_MESSAGES/django.mo,sha256=55CWHz34sy9k6TfOeVI9GYvE9GRa3pjSRE6DSPk9uQ8,3479 django/contrib/humanize/locale/my/LC_MESSAGES/django.po,sha256=jCiDhSqARfqKcMLEHJd-Xe6zo3Uc9QpiCh3BbAAA5UE,5433 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo,sha256=E5s-_ssH4NicLXQpzv-yVjXhZNV_w0M53trqY8CvcAc,4133 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.po,sha256=vEXWpyGxQeB0kLgjBXc_uSfVay9G8kQT4ZgiPp_vW-c,6084 +django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo,sha256=5ia28xUNmXT5gsLVJ1A9v1UHZJnFTe7i7lwraUO2jvs,5358 +django/contrib/humanize/locale/nb/LC_MESSAGES/django.po,sha256=_FE2vx5v7eLXzNQ-4qvxA-ia8AJrilcJyQXZ38I9IUU,9137 django/contrib/humanize/locale/ne/LC_MESSAGES/django.mo,sha256=OR0cBS_sNftLjHBLtQkRsA_SOxlc41G83vBGCvYaG2I,2285 django/contrib/humanize/locale/ne/LC_MESSAGES/django.po,sha256=t9ukUPhAxkNlLlAMI2ftMUATPBS29UQ7q76WN2rjBWA,5544 django/contrib/humanize/locale/nl/LC_MESSAGES/django.mo,sha256=MrUWmjHP-PnKHOVw9sv_lY9Zc9C7gc7_Q-pvMv-v_ck,4092 @@ -2127,24 +2126,24 @@ django/contrib/humanize/locale/os/LC_MESSAGES/django.mo,sha256=BwS3Mj7z_Fg5s7Qm- django/contrib/humanize/locale/os/LC_MESSAGES/django.po,sha256=CGrxyL5l-5HexruOc7QDyRbum7piADf-nY8zjDP9wVM,6212 django/contrib/humanize/locale/pa/LC_MESSAGES/django.mo,sha256=TH1GkAhaVVLk2jrcqAmdxZprWyikAX6qMP0eIlr2tWM,1569 django/contrib/humanize/locale/pa/LC_MESSAGES/django.po,sha256=_7oP0Hn-IU7IPLv_Qxg_wstLEdhgWNBBTCWYwSycMb0,5200 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo,sha256=LDdQZOQCF8mP_zYa9V-92yzwveCWTNNfDProLGv1twc,5529 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.po,sha256=F4kNtZQzHDszLbqq8HnqkpPmhJz8jcEC5Bunm5PzTKU,8321 +django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo,sha256=uz0OAv0VFNcf09x0nN2EBDiX248ZrtGSz_6jhBgY6H0,7018 +django/contrib/humanize/locale/pl/LC_MESSAGES/django.po,sha256=3y6Net6u3PvYyTsvliLG_2dEI-3utPW9UG6gFmf2DZ0,11936 django/contrib/humanize/locale/pt/LC_MESSAGES/django.mo,sha256=DdrToaq5E5Kap-zxhG8wf8zbAc8HZg1lu-2SD9i1i0Y,4154 django/contrib/humanize/locale/pt/LC_MESSAGES/django.po,sha256=Jea815CpFnPMEUwW9bxGrFXhchmspQADY6_Yw3oajtY,6175 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo,sha256=YIcwaSVUZsZA7Ewy1hnx0GlsNBSAcP-OuG596Js5XYU,4209 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po,sha256=Ohofjmm5KL5cVMEx6RaOGAINUK8i0TibNqxmKor2Opo,6284 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo,sha256=DEGe-uMxn0J32A-4Oxymv_B9ijMzqu1SCL2tx887oxc,4809 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.po,sha256=4QeGoZoQ48-J0BeWhTf4EPrtLMNvCBrxnOxbxEprZVU,7192 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo,sha256=iSO02s7aCtRW9B3e8CioHFCfaBC1SsMlOhVs-cWX2XE,6887 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.po,sha256=5AXIQgGoyaHVSLW81HTKrCpegh80FZL4NnIwe3iUxGw,9697 +django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo,sha256=3z_3ZGZ2SreaAFfGvy2AoFQTY5i2QRF5ULG1PX5yMEI,5425 +django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po,sha256=mLx4DN42xH3MPcVGRGlumI4LJ-rmFr81XQveJx6FlZ0,9340 +django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo,sha256=NcQde9eakJYiI4R3wE2R4ek9iq0p9OmHVktiJGdfmXM,6229 +django/contrib/humanize/locale/ro/LC_MESSAGES/django.po,sha256=lYA7q6-qiISsf-SpH40QB92Fyr3QXd05sPHN4bzyubM,10578 +django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo,sha256=MM_vEyGwicNov45lc1uhatfgHRhTIy7e7HsNU8-hFlc,7859 +django/contrib/humanize/locale/ru/LC_MESSAGES/django.po,sha256=w2DUtEqLJfHR7cHgmCl_FAAQ4oo2KwRSM1l0aw12Z00,13433 django/contrib/humanize/locale/sk/LC_MESSAGES/django.mo,sha256=U4iWXostWL1gUvrIbalfqhYjhL0mvlig3mlD1DU8_m8,4762 django/contrib/humanize/locale/sk/LC_MESSAGES/django.po,sha256=kJUNxtiRawS2QtJqNRq2UtlRwF58kTH_fqPu1pD7t9M,7112 django/contrib/humanize/locale/sl/LC_MESSAGES/django.mo,sha256=f_07etc_G4OdYiUBKPkPqKm2iINqXoNsHUi3alUBgeo,5430 django/contrib/humanize/locale/sl/LC_MESSAGES/django.po,sha256=mleF0fvn0oEfszhGLoaQkWofTwZJurKrJlIH8o-6kAI,8166 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo,sha256=CRP5lgqDsEGndO2njVsrzz3teaHui_tcXxT2E-x-_pE,4126 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.po,sha256=48tIBBQaneqtWnvldp113UVTYQ6LcDVGmGZJMW1EzvM,6083 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo,sha256=4xTHr6LdV97Iy4Lcer3_CAEi2Xi7pJZwqxPYVxa5bjI,5680 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.po,sha256=W9700j2ut14Q_ew6xU_IHHpmmvwiHOrMbbFrCPixV1M,7915 +django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo,sha256=XBcBAc6zMMOy-Qx3OlV5rxnt1-dZxj16QHtpyGDWfDk,4912 +django/contrib/humanize/locale/sq/LC_MESSAGES/django.po,sha256=tMkJRa5hOBjH91p3j2VuoFFLIn3lxrm7G7vAT1OLrT8,9085 +django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo,sha256=_YudgsUlnmAqspuuHFh2pMZ8H7SCEqm6UZ7-U7-kCnI,7246 +django/contrib/humanize/locale/sr/LC_MESSAGES/django.po,sha256=8AvdR2SIuIPbqndDWZrB0DHaWGAEGtgSCy3HG2J1AXQ,11423 django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=PaGxGtTZSzguwipvTdOhO7bvM8WlzCWb1RCEaIupRUQ,562 django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FrPnMu6xX0NypoRYRAOBhdICGSv8geuHXQKKn3Gd9ck,5185 django/contrib/humanize/locale/sv/LC_MESSAGES/django.mo,sha256=BwB7K9qfHGNIdP65Pa70lTZRSdhkX5F4eoAZLOtaVSk,4097 @@ -2157,8 +2156,8 @@ django/contrib/humanize/locale/te/LC_MESSAGES/django.mo,sha256=iKd4dW9tan8xPxgaS django/contrib/humanize/locale/te/LC_MESSAGES/django.po,sha256=FQdjWKMsiv-qehYZ4AtN9iKRf8Rifzcm5TZzMkQVfQI,5103 django/contrib/humanize/locale/th/LC_MESSAGES/django.mo,sha256=wg--ON3KI_VvonwNy04eSkKQSGVz89IJF8Kf41WBWzo,3922 django/contrib/humanize/locale/th/LC_MESSAGES/django.po,sha256=qrDqW3DS1yxUIdUqMKRHygg2kcUXyx3nZuNxsx11tcg,5689 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo,sha256=feX8ZCE3GJqnN71FLVcLesBuERKmi9Uutj3ebW27Nns,4109 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.po,sha256=g0bK25v2vJgzRTS3XeohzEohWwysrLFuECj0GE4WpBA,6154 +django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo,sha256=IpHLnlAZ-gp6WUFSu_LJLMZqmqZqTXRtBRPcnaU_3fQ,5304 +django/contrib/humanize/locale/tr/LC_MESSAGES/django.po,sha256=FroATMApIsS1UfhjQl7NPG0QgmXXkHZU7JjOd4jaEhM,9163 django/contrib/humanize/locale/tt/LC_MESSAGES/django.mo,sha256=z8VgtMhlfyDo7bERDfrDmcYV5aqOeBY7LDgqa5DRxDM,3243 django/contrib/humanize/locale/tt/LC_MESSAGES/django.po,sha256=j_tRbg1hzLBFAmPQt0HoN-_WzWFtA07PloCkqhvNkcY,5201 django/contrib/humanize/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 @@ -2174,44 +2173,45 @@ django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po,sha256=gGuUfdDHyxX7 django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=MXoemB7iwj3zMOZfPxRi9rc_1xsYZKPpGerwZjbM2m8,3314 django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po,sha256=RSmQwPspRIe0U15m4zYz7x8VAiXHp6z55oLXxk9yFKE,5130 django/contrib/humanize/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/humanize/templatetags/humanize.py,sha256=eafUdDGaq8YJEZ0OoWO_0tlxDfpQ2iJ6lRPUqoih4z0,9288 +django/contrib/humanize/templatetags/humanize.py,sha256=lRKGLkY0kuqgQxJNeGa7VBdiqshh8ixDcXq5IKhgMec,11961 django/contrib/messages/__init__.py,sha256=Sjt2mgia8vqSpISrs67N27rAXgvqR-MPq37VB-nmSvE,174 django/contrib/messages/api.py,sha256=sWP2DP-n8ZWOTM-BLFDGrH_l-voGwrSxC0OgEyJt1F4,3071 django/contrib/messages/apps.py,sha256=yGXBKfV5WF_ElcPbX4wJjXq6jzp39ttnO7sp8N_IzOQ,194 django/contrib/messages/constants.py,sha256=WZxjzvEoKI7mgChSFp_g9e-zUH8r6JLhu9sFsftTGNA,312 django/contrib/messages/context_processors.py,sha256=0LniZjxZ7Fx2BxYdJ0tcruhG4kkBEEhsc7Urcf31NnE,354 django/contrib/messages/middleware.py,sha256=4L-bzgSjTw-Kgh8Wg8MOqkJPyilaxyXi_jH1UpP1h-U,986 -django/contrib/messages/utils.py,sha256=wvGHYnU9zocxzwIEkFgo5deHxZ5aDlAY7q2MpyOPLFk,284 +django/contrib/messages/utils.py,sha256=6PzAryJ0e6oOwtSAMrjAIsYGu_nWIpgMG0p8f_rzOrg,256 django/contrib/messages/views.py,sha256=R5xD2DLmAO0x6EGpE8TX5bku4zioOiYkQnAtf6r-VAE,523 django/contrib/messages/storage/__init__.py,sha256=gXDHbQ9KgQdfhYOla9Qj59_SlE9WURQiKzIA0cFH0DQ,392 django/contrib/messages/storage/base.py,sha256=SyLyVQeRdmPvVt9SO4srCdIb0m2oBu1H_iOx40M48BM,5643 -django/contrib/messages/storage/cookie.py,sha256=CTDV2dYgm_DQsnkY8nZOO6gLYanYTCQ9Z05xm1XUyxY,6463 -django/contrib/messages/storage/fallback.py,sha256=irMgvzx5RgSaZLOPHR_pS5wCwK6HY7ABvOAzDk7Hhno,2145 +django/contrib/messages/storage/cookie.py,sha256=vAvUYBznSRY2ztfeZe5a38yuq1a11LGkDchs3c3AwME,6532 +django/contrib/messages/storage/fallback.py,sha256=IbyyZg8cTU-19ZeRg6LndLfRK0SoevDwqKtrqzhVp6c,2095 django/contrib/messages/storage/session.py,sha256=KTAqur1KMJUc-liD-I0mVDYbafMS23zxZfnFz4XPiiU,1729 django/contrib/postgres/__init__.py,sha256=jtn9-mwOISc5D_YUoQ5z_3sN4bEPNxBOCDzbGNag_mc,67 django/contrib/postgres/apps.py,sha256=4rTTwfGmSsLoiMBgT7PLmx7ROSaas18tkZp0n2rcjwk,1602 django/contrib/postgres/functions.py,sha256=zHeAyKR5MhnsIGI5qbtmRdxPm8OtycEBE5OmCNyynD8,252 -django/contrib/postgres/indexes.py,sha256=y5Lb_DDiRBXKO2B6RgiS4IaHNhj5u3Ai3wnHISO6kwQ,3623 -django/contrib/postgres/lookups.py,sha256=p-1NZhB4kXC1e-lvJTDHh2Qpiz7A4W7TuG9NuvdF_4Y,1578 +django/contrib/postgres/indexes.py,sha256=qsWfm-uEZYWu3tv5_Hn70hlXbn2gw7vcaArS04RgS84,3567 +django/contrib/postgres/lookups.py,sha256=CIzOtQhabWI5_GERU95REYVA5wzhimdz9hpGXtKpW08,1901 django/contrib/postgres/operations.py,sha256=R8jm7u9K5dPvdbmsSvCO95x8oI7LSat01CeXtPUzL5c,2010 django/contrib/postgres/search.py,sha256=h5Ri5X0aha29YMMfLM1OKq7rrKWeSTidHzXFhRIYV-Q,8295 django/contrib/postgres/signals.py,sha256=MmUklgaTW1-UBMGQTxNO_1fsO7mZugGs9ScovuCIyJo,2245 -django/contrib/postgres/utils.py,sha256=46XKNKRB1aUUU7ALNiDLrZpPWbAwanxUxuTir7XDuDI,1188 -django/contrib/postgres/validators.py,sha256=h1d2Sw-gU3hfkgXNjjIf5TUDSjTeY-2xBQD1N3zj7GQ,2688 +django/contrib/postgres/utils.py,sha256=gBGBmAYMKLkB6nyaRgx5Yz_00bXaOA6BDK9koiE-_co,1187 +django/contrib/postgres/validators.py,sha256=CA_iygE2q3o8tXlQ9JfMYxoO6HDJk3D0PIcmGrahwdI,2675 django/contrib/postgres/aggregates/__init__.py,sha256=QCznqMKqPbpraxSi1Y8-B7_MYlL42F1kEWZ1HeLgTKs,65 -django/contrib/postgres/aggregates/general.py,sha256=nRA1EiUk9_H9IDu1M5mxLm48Nl2S4L9l_SrCfBBlBis,1481 +django/contrib/postgres/aggregates/general.py,sha256=WZqSs7XcnRW4iXIJ7oib3aoLPrHCEOLh-K_EDBJpseU,1603 django/contrib/postgres/aggregates/statistics.py,sha256=NWyxMgDsfQ3f5yvqAcxJ13LayjGkRPj90wVJa4k7QdM,1691 django/contrib/postgres/fields/__init__.py,sha256=Xo8wuWPwVNOkKY-EwV9U1zusQ2DjMXXtL7_8R_xAi5s,148 -django/contrib/postgres/fields/array.py,sha256=h3JPunEEF7VgrLi48DBDiYCRXni14LtiLOXRM5QvBMU,10220 +django/contrib/postgres/fields/array.py,sha256=4_ygF8Bw0vBHSlyKJ_NnY_ZTshVZNnVpGvbjmM1dYo0,10291 django/contrib/postgres/fields/citext.py,sha256=G40UZv4zop8Zrq2vMhluZ-MT7yPLEc8IEDi3hZ27gGw,439 -django/contrib/postgres/fields/hstore.py,sha256=sXoTtghueLtLl7dlVXFKSj7km3G_ZV9zVau_6Q4F-3w,3144 -django/contrib/postgres/fields/jsonb.py,sha256=8Mt9v2dGV1Pi2r8ux5ttwwbg9W-uHe7tg3B2DZcgoDw,5603 +django/contrib/postgres/fields/hstore.py,sha256=oZdUXSAy3MpZ3vZSU6eKWDnwRGQopFGvGUco_qOlMNg,3209 +django/contrib/postgres/fields/jsonb.py,sha256=FmmkGq9Z08fXZnWCS3Ize8ndvIOGAAcMyKxqWyxYliw,5736 +django/contrib/postgres/fields/mixins.py,sha256=eYtXzR2ec8J8564b-eaUsE17UO_AIkqrlKD-p0GlTGo,986 django/contrib/postgres/fields/ranges.py,sha256=ozBEsZjvGQGWOZTN8VupDMVL19mHLXMyWZpESVgzWC0,7565 django/contrib/postgres/fields/utils.py,sha256=TV-Aj9VpBb13I2iuziSDURttZtz355XakxXnFwvtGio,95 django/contrib/postgres/forms/__init__.py,sha256=GSqucR50I9jrZUYZUFVmb8nV_FSlXu1BcCpFck2pVXI,118 -django/contrib/postgres/forms/array.py,sha256=7TU7UZr8hcbzbOyfh8rg79okSPctxrD-zFDsIv1Cvq0,7083 -django/contrib/postgres/forms/hstore.py,sha256=G2s-SO0VGK4oUgP8uNYopU5FM6143tfF814qpWKNTLE,1756 -django/contrib/postgres/forms/jsonb.py,sha256=JSDIyLVREKtesUGNmznxX06NqAFEBR0lCrlHMogNfic,1335 +django/contrib/postgres/forms/array.py,sha256=3Hp4Q9JSziuaie2c0KLH-Z7RHs3t0MgbicsjnLIxV2k,7413 +django/contrib/postgres/forms/hstore.py,sha256=f7PJ41fsd8D7cvyJG-_ugslM-hXL7qnZPdx08UZQNXY,1766 +django/contrib/postgres/forms/jsonb.py,sha256=1tRmaNUvH8ITxGSAtg0bIUwPzgLW-8o1sRgsbCIV1ek,1729 django/contrib/postgres/forms/ranges.py,sha256=_LWXysT2AdvgSsAtNyPxHP0hgTolsQoUOCLWT7KukoA,3069 django/contrib/postgres/jinja2/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo,sha256=AFcSJOhEOAWVIXw9q7FoyyT9G1ufw530IG2GwOYNOJw,4416 @@ -2222,24 +2222,24 @@ django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo,sha256=7VaGqc8TO0NVL-eZb django/contrib/postgres/locale/bg/LC_MESSAGES/django.po,sha256=9S2pgIZFOv3qp0QunLFUfPiNk40RZjHIiVA39Uj3zFs,4010 django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo,sha256=FpOKL9S0AWN5r2epnr7SdDX6VmwjBrHNGCSisxjw6H0,3167 django/contrib/postgres/locale/ca/LC_MESSAGES/django.po,sha256=O3JMTA3jFpV0oV3GPpBSDsv98KBe6MDXJCO1c50VjiQ,3577 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo,sha256=6G4wVJb4F3mon_Kbu4NH_BI3ODcfuu7XKVWB5sQa6zo,3454 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.po,sha256=DhYZaWynWF0LsfucNUMoL-LbRWQnX7QPEqnQdF0ggeA,3887 -django/contrib/postgres/locale/da/LC_MESSAGES/django.mo,sha256=lTWGoAM4SCEn1UWK8fw1qyW8AwB4U6SW9LdWjs5Z1D8,3168 -django/contrib/postgres/locale/da/LC_MESSAGES/django.po,sha256=9syIhFzERg9Kojmz-QXYzm4F1F4UnPps79XwMx6p31M,3559 +django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo,sha256=SGSzVScCYcVeQPQYsKKLv_k9hmxt_nZGwpebGqa_e5g,3686 +django/contrib/postgres/locale/cs/LC_MESSAGES/django.po,sha256=SgmCLIHUXIUl8zkonXynj_MyHXsOmqpYGbE3N5YQ80M,4158 +django/contrib/postgres/locale/da/LC_MESSAGES/django.mo,sha256=JHKBvq-wN9YvR3GF5TWjdzRYDJCENRrdld_bfoMf_L0,3167 +django/contrib/postgres/locale/da/LC_MESSAGES/django.po,sha256=fUR3Edxifn3OeeccpxyycqgSRwOQgbLFkqEtZQBQMjo,3558 django/contrib/postgres/locale/de/LC_MESSAGES/django.mo,sha256=1K356glWEevm4oteYtUKV1Loh1fpAjjlrFgF9yfwjcI,3275 django/contrib/postgres/locale/de/LC_MESSAGES/django.po,sha256=MXPu492vKgQLLHngr6m2d08YUNAcwz01e3h9GxfbvIE,3723 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo,sha256=TPK-iwbKFpXnPtct5K13cTbdFSxHHyAUlS4U9nVysZI,3856 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po,sha256=FiSOY82p0UWnkXS05BeEQ5Uzhs74ZlNaxFIMMSRGpVo,4289 +django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo,sha256=1fVpsCGFtvcOtjM7nkTq3mPAHeFKUt7iafEbeU126NY,3853 +django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po,sha256=czUFqMMzMa6ie50w6mVekNaFLNoY4wPsyIt3zRHQ3Z0,4286 django/contrib/postgres/locale/el/LC_MESSAGES/django.mo,sha256=kHjTGVK-3Y06GyjqRBi5_Ki_epzPUYt7zQKpukUOwFo,3918 django/contrib/postgres/locale/el/LC_MESSAGES/django.po,sha256=VP82YDf9x1EmSOVmBY7zkgQcX7EfQQZFUpeRV3dtHtk,4407 django/contrib/postgres/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/postgres/locale/en/LC_MESSAGES/django.po,sha256=IfHN0MYCktjtf0jKfyb4I1oEU9fqhCyqS4X4qZr2lDs,3131 +django/contrib/postgres/locale/en/LC_MESSAGES/django.po,sha256=V559m1IltKecaNYnowZ3e1iIFNFKeO949YVUPjOwvUw,3130 django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo,sha256=N1T-nA1IdhKKDbZ76nV968OSMMbteXwwBdhzRi3taWs,3149 django/contrib/postgres/locale/eo/LC_MESSAGES/django.po,sha256=KJbhFGHiJI2chKO9BytzpzRvlSsBvkNqoxP1N0okdko,3528 django/contrib/postgres/locale/es/LC_MESSAGES/django.mo,sha256=9tNVeSpK1jUt7V2qZyKwbJbfJl3vH2Sy_3Y2GkvLnSY,3177 django/contrib/postgres/locale/es/LC_MESSAGES/django.po,sha256=9N3ZeiyEZ7_DIgskPFIAIoEGLAGhiPMJdR-SHftisOo,3688 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo,sha256=NbkQzNZxVjBSH6NmFhvKxtU1FJzlbSjNTaq53Ml5WKQ,3173 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po,sha256=0jrDzJ2PbzuKxBKlpUtEXLMsjVTio-CIaHRooYbIuR8,3511 +django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo,sha256=7VC-8uU5uphnQOpwhpHUxvE74RQTTsgbByg8MOB27uo,3178 +django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po,sha256=SfTGSajrsJi2t3mYQif4eN2yP5ifYQVQvKzplgPpfRk,3516 django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo,sha256=wmkoFFXblYw1ufz4gcSntO79yq20mHl8hlbj4Hhmcug,2903 django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po,sha256=Br2Lo11i-EeryGFsRmUWr_PD6_xk8kavVzdwqtR7AuU,3579 django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo,sha256=4-c48HNLkDnIIPIBOaIhxoOf4muYRRelX0rR0dVrpAE,882 @@ -2248,74 +2248,76 @@ django/contrib/postgres/locale/et/LC_MESSAGES/django.mo,sha256=_BZuR25C1mzMVR2LT django/contrib/postgres/locale/et/LC_MESSAGES/django.po,sha256=BF6hMf4uD6sFFXBJoudgimwKCj25jlzt7rjK3lg-BFA,3592 django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo,sha256=T7pDulEqODUPdC4sI4w-COAM5nT9C3jbAas8i24l_ms,3139 django/contrib/postgres/locale/eu/LC_MESSAGES/django.po,sha256=OQlFVw0YFSF6s6iG6omYP1ISwevmSmAVSrH1FrqE2G8,3545 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo,sha256=TlOdD8SW4sddFi5kAk0p0mvgDuq7SNre4LWZnOxBu9s,3134 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.po,sha256=hE9GISly_L-wxF7CjHDv35GuHLcK8sLsVOpimMmtfHw,3638 +django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo,sha256=0E8pqNUlKTUXSY1o8A1TmMbAE49QZpa5yxqqECJbZ04,3614 +django/contrib/postgres/locale/fa/LC_MESSAGES/django.po,sha256=Zdcp_d3unZ4JnRQdcMIPQVsV9ysal7W1zu_vJsMqJx4,4083 django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo,sha256=eVu4C_rIzT2fQGNbJDEkrQb4pjF00lOPAixxqpYvbhs,3212 django/contrib/postgres/locale/fi/LC_MESSAGES/django.po,sha256=zILj96C-jR-bjBRVVLScZngm7MRA-BtUM4j4IUMNJ48,3555 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo,sha256=YomiZJPQJn88dkoaw7oXHGbq3oR3i35KopCGndxu5bY,3394 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.po,sha256=t1fRjfzAQ0Y1nN9vSe5SUsBMw4NZXr_ensyHcOPrDr0,3752 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo,sha256=-KqMRc027ysJr0R1rjgM3zJGeJpl8S3IXhmZTTmbrag,3830 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.po,sha256=SflmgOSRvtcVT3ik94Cln-B0-wrkEmtraJUOXaKlGEc,4260 +django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo,sha256=9QUsR8xzL04X48DNJXijH1h0yc7Lw9-rK73-rJKXM5s,3393 +django/contrib/postgres/locale/fr/LC_MESSAGES/django.po,sha256=6iGiT_QRTcMTg9V2pyQsrfHr4pW-GnDirS4N8KJIDAQ,3751 +django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo,sha256=0c_5bWFtIPFkBJ_CbXUt-2BIDxZbjM_tuJ-EqdKGMXc,3828 +django/contrib/postgres/locale/gd/LC_MESSAGES/django.po,sha256=ox1CJI5BZgCNIXHmZMyzXKyE49LoJ54FRCiG6AWp29s,4276 django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo,sha256=YlBrsev1RIUA4Zxbnl_ufkTANki4VM9O42Ge07u5QPc,722 django/contrib/postgres/locale/gl/LC_MESSAGES/django.po,sha256=h4Z-Fdi9o1MG33vCWGMHqSj6dklYy653vGkq81lYeKA,2433 django/contrib/postgres/locale/he/LC_MESSAGES/django.mo,sha256=KTUQ0NyBzsVOp1lEtbAmCaLiDHSf1R9EX_tV14oHm_g,3496 django/contrib/postgres/locale/he/LC_MESSAGES/django.po,sha256=Ea3_H_jUWZLm9q22bcN_ClKkyehTjXAcCujRvgsTav8,3832 django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo,sha256=oIY9TCvkVmv-fGbGs-N2acx5VC3PNzZxWW4FRjWbTUQ,1217 django/contrib/postgres/locale/hr/LC_MESSAGES/django.po,sha256=EnvgxKmz6qBe6cH05CAm0bO5zuXkAOYFnRF5c4LmIRo,2762 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo,sha256=3h5K1tt9ykZjomwtSU3J7XZfF__yAL7RpFRzi0lHFcY,3770 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po,sha256=TWUk3s8iDmS4msL0w1gwWpqLDXqfPDA9oq_c4U2PECE,4197 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo,sha256=Qe5bXdGZLV0wG8bZhGK1ybGjATkKZ7OHaqEOcbZGcA4,3182 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.po,sha256=puxHgfIWm0Vd3RHp1TnOKnY1mQ1hsDWNJar8NVNsyfk,3591 +django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo,sha256=Pmzqoa3ajEjxxw8SgGg1MBpnoZm9twhlNPSxgnvMYKQ,3767 +django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po,sha256=-ETxl8oh999zt4VzHAwN4fK7z3BS15k9qIKKOxITu6s,4194 +django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo,sha256=f-PDNBR8UFtXqgLEQ-w1kAUgMwiP8MsQ_m1PosrSKts,3185 +django/contrib/postgres/locale/hu/LC_MESSAGES/django.po,sha256=SUMBKfJPRzlTPXGSkC1iKfL4DNFi_16YW3vkFCDCl5c,3644 django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo,sha256=dnyXX0ii0CFMrI02mZhkCzY66KTFdWXBOlXjo6gP_Ps,758 django/contrib/postgres/locale/ia/LC_MESSAGES/django.po,sha256=jNRfADlv6JldyeezHt_3LXpudpmA-cXr73GIe3aPd6E,2475 -django/contrib/postgres/locale/id/LC_MESSAGES/django.mo,sha256=2HRHOOC--1Rvm2goSDBk_sSIW1DjXwh3rNEEPKJqwOw,3039 -django/contrib/postgres/locale/id/LC_MESSAGES/django.po,sha256=6yQ_Evu0aiIabZcwIgsFmDaDxWBvbZh_3hDK8aVyUsw,3557 -django/contrib/postgres/locale/is/LC_MESSAGES/django.mo,sha256=B5rRF5HIz4ervHG45GxzSVDYL6rclTOUREuaP28sCjs,3213 -django/contrib/postgres/locale/is/LC_MESSAGES/django.po,sha256=mIm4o1WDfQ1wBQuGXMzm1AulMIDU6iZPvYEMWvZqUSw,3571 -django/contrib/postgres/locale/it/LC_MESSAGES/django.mo,sha256=kW6Oh5NNTvpiMewskoW3AmU9WcY_zO0OTcscgwbStrE,3249 -django/contrib/postgres/locale/it/LC_MESSAGES/django.po,sha256=vBOsM6PRYKQrPrOEe1PlhPGyZbGs-3YVCSnUlnfaYlM,3805 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo,sha256=jvSBcIEgAlIsRCPz997u-5eH9Ioi5YjuktReayURCAU,3350 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.po,sha256=-YHBmtzc_xG-E_vbndLBd0ax_9mexkuTDGVCyEEYhpM,3665 +django/contrib/postgres/locale/id/LC_MESSAGES/django.mo,sha256=e6Ef9FtgoZl2LQmyfMrjvIV5_qpjwkkCYCvwV1dlRrI,3035 +django/contrib/postgres/locale/id/LC_MESSAGES/django.po,sha256=_ndR6AO13JntyL3beVBEwvfrKzCQB3xRCFamUUxBAPM,3553 +django/contrib/postgres/locale/is/LC_MESSAGES/django.mo,sha256=tpeJt6pALKWF4g_dN_c-rAG3hdRi4S68-XJw2l7tDQY,3212 +django/contrib/postgres/locale/is/LC_MESSAGES/django.po,sha256=F06l1CoYwMydHPiT92MjMPW9FqwhkxLgs4ZQ7y2etGI,3570 +django/contrib/postgres/locale/it/LC_MESSAGES/django.mo,sha256=_qHttDX3mqYgsavBhsSzFLxkljTBAnfjO9UybUsY9iY,3243 +django/contrib/postgres/locale/it/LC_MESSAGES/django.po,sha256=tGG27pe5w9y5ReeHOnlO1BPGmTf_VmY45t_yWuKlKmI,3855 +django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo,sha256=Ffenxw4bewdZBTQqIjRri4KwWmSeUZm8M6ExvX-vT68,3349 +django/contrib/postgres/locale/ja/LC_MESSAGES/django.po,sha256=qVAKneCc7YbVv6eNeP1LptgKKVXNzFnel8Hoyak-KUg,3664 django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo,sha256=0ChFF9W99iPidTL-CC2R0owYonG-UKys7TS_2W97V3E,767 django/contrib/postgres/locale/ka/LC_MESSAGES/django.po,sha256=i5KHzekJykKxdFgAYpQ_KBzFY3R3TXr9FrQcdHKVYko,2494 django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo,sha256=TGzYaFdRPsEqIo6tsjScDSDKuQLMYOrr8grzA0l45kc,868 django/contrib/postgres/locale/kk/LC_MESSAGES/django.po,sha256=JL7TPe92MWWX9U1ARGPmBPKQU2EZ9lJamiwn_C51aK4,2552 django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo,sha256=0koE2OIe1bizQsdtvO2nrcY48kM72eHGRn7KOgeXm44,3194 django/contrib/postgres/locale/ko/LC_MESSAGES/django.po,sha256=e_D3CoKvNmfnfKqV9drQdj9c2VaYQEjFU87C3a30AIM,3637 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo,sha256=zlgggxW5wR_ougmTMYWEaAxLC7_ZTEOQwtifN-EupOQ,3564 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.po,sha256=FDEsLus6STxMRg6LRLKfTZ8es554yLP_pvHQ-g5tbSM,3954 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo,sha256=68lVQD3NgI3dfKKl2Gsb-O8x9AWCSzgrRJZmA9adBwY,3399 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.po,sha256=SptJipFI0GvtcTvVozDCvSi_Lq1qk-vOsCh4whDOKjQ,3825 +django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo,sha256=RjZ0I6Dut3iDur2LwMwkiCbFYScfBlHBjPXPnKGwdDc,3853 +django/contrib/postgres/locale/lt/LC_MESSAGES/django.po,sha256=xrAuourVTpfB3aRn8EN5yDkYQ4xuWjXiLQF33OOhq_k,4282 +django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo,sha256=fROgwHN9x9IibDl4-PGk_N0q2ghXnaOaB2qMk2dxcN0,3382 +django/contrib/postgres/locale/lv/LC_MESSAGES/django.po,sha256=2lE-Sy4xyScfl8bPmd-LOh__LLXS6eOO0PozOydnysI,3844 django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo,sha256=UFofPo5u8GZFQeJUXpXv9WkzN8-L3RYB4QtpWSPZucw,3717 django/contrib/postgres/locale/mk/LC_MESSAGES/django.po,sha256=p6bHPCPH1XuUJ_62EXW3fXnaKCtAvuDLAvS3H1JcX9s,4284 django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo,sha256=emgB5tVUbpnT76xUh0nuMKryQyYMrySCQ4dlYQeCYco,3755 django/contrib/postgres/locale/mn/LC_MESSAGES/django.po,sha256=6GKhHqnrt-Sg3JtYHiy-_-1l1MLBymREuQRXKQgmOCM,4229 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo,sha256=1TOafNdcKTEJaAolBV-RpA7fxDe46wkxYJuSXSYQ9Mw,3113 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.po,sha256=VSSxNYqiKX30j6n2ju3_1iYHFx4TIqDeT2Vp9R24hOc,3482 +django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo,sha256=SY_EMMXIT-WXai7ubBt7SdR05hfRoxRPxDKWhB3iiWo,3112 +django/contrib/postgres/locale/nb/LC_MESSAGES/django.po,sha256=pyDi1-0Mfk67bRvu9lGLRdluyRgmzaasR9P_-q46o8c,3486 django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo,sha256=wZ0UYJI4qUpPjLvsPCqRCuHbEKpBz9uOh6qncgXh59g,934 django/contrib/postgres/locale/ne/LC_MESSAGES/django.po,sha256=ndvFMUw2XzBukzedzXUiPQfnnOitrOlJtz2TZgv0TX4,2590 django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo,sha256=SluBtCazF6LA_EpX5pAwJP1mOtH9vJcv7d_8ZjNyPuE,3243 django/contrib/postgres/locale/nl/LC_MESSAGES/django.po,sha256=FgAgj21e2fPZwmQPoToqKPrxeYFrDGx01Heo9SU9sgM,3745 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo,sha256=Tlrhv__Nj1jD5CGGChirF-ujHGO32F6r3DclQkdMB1A,3740 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.po,sha256=x8RdxSRhRq2l9WmQTamN2-gRtkaWObfVP83tblcEM6M,4381 +django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo,sha256=aPJQPKnpZBvXE65Hoao54cPwLw8IBjqVo1TfDsVN5-M,3734 +django/contrib/postgres/locale/pl/LC_MESSAGES/django.po,sha256=j9wwV3bOl-HmFDc6SQ0AdX-5bHQBBFX7Qf08O_ZXx0E,4375 django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo,sha256=rXcN8bscv14PzPRIDxmJGHcRPNUdEbOE_cWFI-hjf1g,3136 django/contrib/postgres/locale/pt/LC_MESSAGES/django.po,sha256=Urf8o67oVUpzTHuWGna3Cn6FxgRKPbCVI2CtXmRP220,3576 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo,sha256=jJvTRzWJVEEo1ash3rhm1rFbF7FJvt188MPHPsbpIzo,3194 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po,sha256=uEY62Tl09VUmV_f-CPPITyvk-I8jBePzqPZajrrekjo,3855 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo,sha256=xQdeGHTLGLDBDDiehtzGnTdZh8oQrVG9hGRTh0FT56g,3488 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.po,sha256=RIOdMn_XBWqafZrxV5vjPs-lZLkGi5-jpxsRentFcFM,3907 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo,sha256=MU2dyAcO-xeF1y6Ea_MSEFGbc-8y_7p1GH-NRJe62Cs,5123 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.po,sha256=hcl1Uuof6ENYVPQ_7ycEAzxghpoGwMKYFjK_DU-D6_A,5773 +django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo,sha256=JxFj-dnRDEwjJuaSVJu__NkqRF30GMASZNfOZpQfC2w,3190 +django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po,sha256=fJ6nfXMCnBDGbu2TfAvqv4abcGUVbxjlULrUyuLdHOE,3905 +django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo,sha256=wIyzI-mQ_wTDpsU5QhIVek_Wf6RfUUWzRsOEu7fdtIY,3454 +django/contrib/postgres/locale/ro/LC_MESSAGES/django.po,sha256=4MyOnJbBSza7grnCQ2-_-knfs5w6oBdlMFHrS9DbYXQ,3897 +django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo,sha256=tJm0QXyOt7USDeVXRE9ZoE5EDA0Xman6JooYEO3odNQ,5119 +django/contrib/postgres/locale/ru/LC_MESSAGES/django.po,sha256=G3Fsbh2qjnPNDeufzCs7SwITCaWsHEX30ltPJSpySQ4,5831 django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo,sha256=CLTqMW_0M-gEqH3Z_-uXanLMi2IxLr6y9u323Q3OJg8,3400 django/contrib/postgres/locale/sk/LC_MESSAGES/django.po,sha256=D-HhtGgJQ0KnSnf6dHTo9LpetvruFJ7hw_XjjBq_z7g,3777 django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo,sha256=BT1LywwWuDO9iENJm-pqBksEisuETBlh0r4ILn4wgx0,3524 django/contrib/postgres/locale/sl/LC_MESSAGES/django.po,sha256=YmFNHoKR5av9ychiCloy5OXeL_v-rDzA0vYqUy84umc,3988 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo,sha256=0143JMFtUYLXOoSRvFydzC-xl1V6QkbL3oHQ-QBOoZk,3110 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.po,sha256=GuT0Ax6Vka7xdSgXyr4-0_nuxIcihRSs8xMiTCQBGdE,3516 +django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo,sha256=kee7WbANs3H4qgSme6ERtCgsgvvTusVX92bpl3nR7oQ,3192 +django/contrib/postgres/locale/sq/LC_MESSAGES/django.po,sha256=3t0SaZ4hOGga9e2vRjmluinajxJERXaEr5IDpgfUPb4,3546 +django/contrib/postgres/locale/sr/LC_MESSAGES/django.mo,sha256=6gW7KQoByAgFBZkJcQ1jKZjqEb1F4jIOiG_MdShwkPI,4106 +django/contrib/postgres/locale/sr/LC_MESSAGES/django.po,sha256=GrxjCPa0hhfDPPf6QoSbMrKuxb_3w5IQ9KK6fOkYtRo,4497 django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo,sha256=i4z7Yn_Ows9G_UoCW8zIulJIrAfB1sJWib-kpG7Y_PA,2875 django/contrib/postgres/locale/sv/LC_MESSAGES/django.po,sha256=5VjgW0c_nTPeh_4nsiUHpv_toFn0c5ytKfM06g-NrlQ,3477 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo,sha256=WX43GC_VDxf-36UxWrab6dCBPBvPj9O06hVoWzsS8JU,3164 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.po,sha256=sfqVCqaFZtbRnDmqTVK4190-AYKJwgyMopuYjkjXmh4,3511 +django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo,sha256=2pcddOVCVFzHvw19Oa9xpEu46mjkzJTnykunyDvDYZ4,3162 +django/contrib/postgres/locale/tr/LC_MESSAGES/django.po,sha256=Hrw_xRYpMWTVqj-xpNADRenPDXlicdictu12Nx1JJvY,3509 django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo,sha256=3uPY2QOsonJJ67IZipxS45D6nhiS0p1-egxWqQBIyU8,4309 django/contrib/postgres/locale/uk/LC_MESSAGES/django.po,sha256=n2qxj5e7ipENpTFganpkcSAJUMnASM2w5l0YxmTijzg,4861 django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=t4Zea1ndeWCQMDYvdprtTDkyPXnqg3lAV7WB5TAZFNI,2854 @@ -2486,8 +2488,8 @@ django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo,sha256=AE6Py2_CV2gQKjKQ django/contrib/redirects/locale/ta/LC_MESSAGES/django.po,sha256=ojdq8p4HnwtK0n6By2I6_xuucOpJIobJEGRMGc_TrS8,1700 django/contrib/redirects/locale/te/LC_MESSAGES/django.mo,sha256=Gtcs4cbgrD7-bSkPKiPbM5DcjONS2fSdHhvWdbs_E1M,467 django/contrib/redirects/locale/te/LC_MESSAGES/django.po,sha256=RT-t3TjcOLyNQQWljVrIcPWErKssh_HQMyGujloy-EI,939 -django/contrib/redirects/locale/th/LC_MESSAGES/django.mo,sha256=cnPvlsVYioWu6g3wRN7j0TGfUvi2mSHjygsLe5XQ_RA,1210 -django/contrib/redirects/locale/th/LC_MESSAGES/django.po,sha256=ACxr7blSSbcHljHKwvU5JBJ24pgNv9aKg1RdP4H5kGY,1393 +django/contrib/redirects/locale/th/LC_MESSAGES/django.mo,sha256=1l6eO0k1KjcmuRJKUS4ZdtJGhAUmUDMAMIeNwEobQqY,1331 +django/contrib/redirects/locale/th/LC_MESSAGES/django.po,sha256=DVVqpGC6zL8Hy8e6P8ZkhKbvcMJmXV5euLxmfoTCtms,1513 django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo,sha256=RiZJ_Acsxwz0d4q1JTZWPnbCpW8uiedE_X8PRJdZB0E,1124 django/contrib/redirects/locale/tr/LC_MESSAGES/django.po,sha256=Gr6fwZ2nLkbosrikKpSgODsRf40GKXBc3RL9pOffCGM,1348 django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo,sha256=Hf1JXcCGNwedxy1nVRM_pQ0yUebC-tvOXr7P0h86JyI,1178 @@ -2498,6 +2500,8 @@ django/contrib/redirects/locale/uk/LC_MESSAGES/django.mo,sha256=nCpHZGF8aYaw3UDr django/contrib/redirects/locale/uk/LC_MESSAGES/django.po,sha256=-UDqtKOxcTA4C4O0QW7GnjtnXtEmwDfvfLmNQFMI1No,1700 django/contrib/redirects/locale/ur/LC_MESSAGES/django.mo,sha256=CQkt-yxyAaTd_Aj1ZZC8s5-4fI2TRyTEZ-SYJZgpRrQ,1138 django/contrib/redirects/locale/ur/LC_MESSAGES/django.po,sha256=CkhmN49PvYTccvlSRu8qGpcbx2C-1aY7K3Lq1VC2fuM,1330 +django/contrib/redirects/locale/uz/LC_MESSAGES/django.mo,sha256=Q5r3tSAy6M2wsn59n68a9bwAgi5oakrtqKLv4f1fSRs,592 +django/contrib/redirects/locale/uz/LC_MESSAGES/django.po,sha256=8A3YApKQjbEDhEMrI-2yR8XNNiXUScXAfDbyP7epS-0,1058 django/contrib/redirects/locale/vi/LC_MESSAGES/django.mo,sha256=BquXycJKh-7-D9p-rGUNnjqzs1d6S1YhEJjFW8_ARFA,1106 django/contrib/redirects/locale/vi/LC_MESSAGES/django.po,sha256=xsCASrGZNbQk4d1mhsTZBcCpPJ0KO6Jr4Zz1wfnL67s,1301 django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=6BYNDezC7sivl2kFYJRZf2lphYze8z4PVhdRG9XU0xY,1093 @@ -2510,15 +2514,15 @@ django/contrib/sessions/__init__.py,sha256=W7kKt-gCROzrUA6UpIRAit3SHa-coN4_A4fph django/contrib/sessions/apps.py,sha256=q_fkp7a7_1GT14XHkHgNIET0sItgfBeFT7B137_KeZM,194 django/contrib/sessions/base_session.py,sha256=5FofwClB_ukwCsXPfJbzUvKoYaMQ78B_lWXU0fqSg1k,1490 django/contrib/sessions/exceptions.py,sha256=epvfG9haHc8p34Ic6IqUSC-Yj06Ruh2TSm9G6HQMdno,256 -django/contrib/sessions/middleware.py,sha256=sbpLTYtkGNo5TfYaHPestSVrhMEbcGL9LXRDk4OD5LQ,3423 +django/contrib/sessions/middleware.py,sha256=3fVSQXjKOPhVLEiLvgkpF-PxdBQO5a6EX0ugryjzSl8,3490 django/contrib/sessions/models.py,sha256=vmROoszsXHnPHoSbFca8k-U9Z8Wg6EAHYeEK87VHHk8,1257 django/contrib/sessions/serializers.py,sha256=FUUY-XXwipIA085gJSNNcTxVQqo12YE9EFainIxNPdU,394 django/contrib/sessions/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/backends/base.py,sha256=aFxoGhXQaZb6nj6Q_KbpyFWjrYUuDOOLh3uY3objGFc,11967 +django/contrib/sessions/backends/base.py,sha256=uSbl8x4BurAuDYaupFnA469bC2_VydUAMuLa_g1SskM,11930 django/contrib/sessions/backends/cache.py,sha256=-qeSz07gUidiY_xq7imMJ3SP17J_rLsIO50KxOhq_8E,2713 -django/contrib/sessions/backends/cached_db.py,sha256=S1EMi_8GiSbImzdndIvzX8iMnJwHI-G1km40fbZeLXg,2686 -django/contrib/sessions/backends/db.py,sha256=JVPC09-K9a7yIhvFDWPfpu6QP7A0jeUkome5dbLXELY,3703 -django/contrib/sessions/backends/file.py,sha256=iI2Q3qdHDEAbYpGBdvkTeWDU3Rrx_DsR--OjIAXX_bI,7906 +django/contrib/sessions/backends/cached_db.py,sha256=c9JtGXxyJYRT7MMVrqwo0jw1v3JCpaBNXeL8d1tAfBE,2011 +django/contrib/sessions/backends/db.py,sha256=zzhv0nQ4OIFeyM2QXrIUG26l_IJosagKaGOI2NcZnz4,3770 +django/contrib/sessions/backends/file.py,sha256=--r-hpfCVAGostoUlFZ2wc9rUxw2s7r-QINOIlSbiNI,7741 django/contrib/sessions/backends/signed_cookies.py,sha256=jcBrD3gUHrdETWf6JvwDVCFe4eAiRbH8i2oMJjwpXPs,2696 django/contrib/sessions/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 django/contrib/sessions/locale/af/LC_MESSAGES/django.po,sha256=fdRPUBMVUrpvAi9zsvwSnts55Wdnj4r2kLxKeroIsSM,745 @@ -2526,8 +2530,8 @@ django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo,sha256=yoepqaR68PTGLx--c django/contrib/sessions/locale/ar/LC_MESSAGES/django.po,sha256=ZgwtBYIdtnqp_8nKHXF1NVJFzQU81-3yv9b7STrQHMc,995 django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo,sha256=hz2m-PkrHby2CKfIOARj6kCzisT-Vs0syfDSTx_iVVw,702 django/contrib/sessions/locale/ast/LC_MESSAGES/django.po,sha256=M90j1Nx6oDJ16hguUkfKYlyb5OymUeZ5xzPixWxSC7I,846 -django/contrib/sessions/locale/az/LC_MESSAGES/django.mo,sha256=XJskCf7jcxBH-i_gqfJIHVO3Loh3w6_kIyod5nxLu7Y,700 -django/contrib/sessions/locale/az/LC_MESSAGES/django.po,sha256=74663H2-Uz-RMRfDN8E4-Z5LxZ6deAlgdEdvpa-_YK0,846 +django/contrib/sessions/locale/az/LC_MESSAGES/django.mo,sha256=_4XcYdtRasbCjRoaWGoULsXX2cEa--KdRdqbnGoaRuM,731 +django/contrib/sessions/locale/az/LC_MESSAGES/django.po,sha256=qYd7vz6A-hHQNwewzI6wEsxRVLdoc2xLGm1RPW0Hxc4,891 django/contrib/sessions/locale/be/LC_MESSAGES/django.mo,sha256=8b7MeFDTL6VStOnVHtkb_o4Iiy0gTHoCwTUbT1vRr9Q,895 django/contrib/sessions/locale/be/LC_MESSAGES/django.po,sha256=tHsYVn3XNTcukB0SrHUWP1iV763rrQHCimOyJHRPiek,1023 django/contrib/sessions/locale/bg/LC_MESSAGES/django.mo,sha256=DGp3j3E0-5bBjFCKx9c6Jcz9ZaXysd2DgVPuxROWDmU,783 @@ -2632,8 +2636,8 @@ django/contrib/sessions/locale/mk/LC_MESSAGES/django.mo,sha256=4oTWp8-qzUQBiqG32 django/contrib/sessions/locale/mk/LC_MESSAGES/django.po,sha256=afApb5YRhPXUWR8yF_TTym73u0ov7lWiwRda1-uNiLY,988 django/contrib/sessions/locale/ml/LC_MESSAGES/django.mo,sha256=P1z831CbjKP38Sd_-d6_1P7V8fFXOGS6pyznw_x7dhg,780 django/contrib/sessions/locale/ml/LC_MESSAGES/django.po,sha256=eTDbMq3x_kk7YkSzVLYk9szi1D3EwDwqeSnmuOXVxyY,927 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo,sha256=NgVteIZT90EJ3TJCQFzMHfxeZ5m9IGcGnMYd5SaMnT4,769 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.po,sha256=PmEcp36DnnvGScoVjc6GtRK9XIxnXHnHaD6ZflOIXP8,972 +django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo,sha256=CcCH2ggVYrD29Q11ZMthcscBno2ePkQDbZfoYquTRPM,784 +django/contrib/sessions/locale/mn/LC_MESSAGES/django.po,sha256=nvcjbJzXiDvWFXrM5CxgOQIq8XucsZEUVdYkY8LnCRE,992 django/contrib/sessions/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 django/contrib/sessions/locale/mr/LC_MESSAGES/django.po,sha256=FQRdZ-qIDuvTCrwbnWfxoxNi8rywLSebcNbxGvr-hb0,743 django/contrib/sessions/locale/my/LC_MESSAGES/django.mo,sha256=8zzzyfJYok969YuAwDUaa6YhxaSi3wcXy3HRNXDb_70,872 @@ -2678,8 +2682,8 @@ django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo,sha256=qLIThhFQbJKc1_UVr django/contrib/sessions/locale/ta/LC_MESSAGES/django.po,sha256=bYqtYf9XgP9IKKFJXh0u64JhRhDvPPUliI1J-NeRpKE,945 django/contrib/sessions/locale/te/LC_MESSAGES/django.mo,sha256=kteZeivEckt4AmAeKgmgouMQo1qqSQrI8M42B16gMnQ,786 django/contrib/sessions/locale/te/LC_MESSAGES/django.po,sha256=dQgiNS52RHrL6bV9CEO7Jk9lk3YUQrUBDCg_bP2OSZc,980 -django/contrib/sessions/locale/th/LC_MESSAGES/django.mo,sha256=xJE3u78wMj916Y4aJoeqduxa1L1QqiWzgNTtz1FXWJQ,757 -django/contrib/sessions/locale/th/LC_MESSAGES/django.po,sha256=Ks4o9M9Oo7E_A3bFnthS4RkI7Ht0ijPFkMCalItdj3w,901 +django/contrib/sessions/locale/th/LC_MESSAGES/django.mo,sha256=D41vbkoYMdYPj3587p-c5yytLVi9pE5xvRZEYhZrxPs,814 +django/contrib/sessions/locale/th/LC_MESSAGES/django.po,sha256=43704TUv4ysKhL8T5MowZwlyv1JZrPyVGrpdIyb3r40,988 django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo,sha256=H-DMP3N3AHZj1Q9aYeBOMA10nN1CIuJkUEY7QAy1b3g,726 django/contrib/sessions/locale/tr/LC_MESSAGES/django.po,sha256=XYKo0_P5xitYehvjMzEw2MTp_Nza-cIXEECV3dA6BmY,863 django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo,sha256=Q-FGu_ljTsxXO_EWu7zCzGwoqFXkeoTzWSlvx85VLGc,806 @@ -2690,22 +2694,20 @@ django/contrib/sessions/locale/uk/LC_MESSAGES/django.mo,sha256=jzNrLuFghQMCHNRQ0 django/contrib/sessions/locale/uk/LC_MESSAGES/django.po,sha256=GM9kNL1VoFSRfbHB5KiivIbp-nJl1aZ69wL2xszNqlM,1017 django/contrib/sessions/locale/ur/LC_MESSAGES/django.mo,sha256=FkGIiHegr8HR8zjVyJ9TTW1T9WYtAL5Mg77nRKnKqWk,729 django/contrib/sessions/locale/ur/LC_MESSAGES/django.po,sha256=qR4QEBTP6CH09XFCzsPSPg2Dv0LqzbRV_I67HO2OUwk,879 +django/contrib/sessions/locale/uz/LC_MESSAGES/django.mo,sha256=asPu0RhMB_Ui1li-OTVL4qIXnM9XpjsYyx5yJldDYBY,744 +django/contrib/sessions/locale/uz/LC_MESSAGES/django.po,sha256=KsHuLgGJt-KDH0h6ND7JLP2dDJAdLVHSlau4DkkfqA8,880 django/contrib/sessions/locale/vi/LC_MESSAGES/django.mo,sha256=KriTpT-Hgr10DMnY5Bmbd4isxmSFLmav8vg2tuL2Bb8,679 django/contrib/sessions/locale/vi/LC_MESSAGES/django.po,sha256=M7S46Q0Q961ykz_5FCAN8SXQ54w8tp4rZeZpy6bPtXs,909 django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=zsbhIMocgB8Yn1XEBxbIIbBh8tLifvvYNlhe5U61ch8,722 django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po,sha256=tPshgXjEv6pME4N082ztamJhd5whHB2_IV_egdP-LlQ,889 django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=WZzfpFKZ41Pu8Q9SuhGu3hXwp4eiq8Dt8vdiQfxvF9M,733 django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po,sha256=6IRDQu6-PAYh6SyEIcKdhuR172lX0buY8qqsU0QXlYU,898 -django/contrib/sessions/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/sessions/management/commands/clearsessions.py,sha256=yDcSmK65l5H1-2hiHhDlN0zivQrxm_ihNKLKt6MmRiQ,650 django/contrib/sessions/migrations/0001_initial.py,sha256=F7fzk2d9hDPjUwx2w-lXdZcFG1h4HyHnkfcJ6aK7C-0,955 django/contrib/sessions/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/sitemaps/__init__.py,sha256=4pL-xZ3nNPbczruFZqnL8xTH5KrGL_C1AgdfBMfWfwY,5632 django/contrib/sitemaps/apps.py,sha256=ktY9PcWsmv5TOlvEdG6IL8ZBbGMtZRpO24j5g7DGilU,195 django/contrib/sitemaps/views.py,sha256=KP-cCkD4VGFbd4ZavWK79gAkZa83APeRgTx-eouny4M,3516 -django/contrib/sitemaps/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sitemaps/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/contrib/sitemaps/management/commands/ping_google.py,sha256=IzUg9OZa2e3AjwX4bCFEldXzaLsT4O4WnbUgeUKe6qg,412 django/contrib/sitemaps/templates/sitemap.xml,sha256=KTiksPVpo22dkRjjavoJtckzo-Rin7aZ_QgbC42Y8O0,479 django/contrib/sitemaps/templates/sitemap_index.xml,sha256=VqDmRlWMx9kC6taiBoi1h9JVspV54ou3nFjE8Nfofl8,209 @@ -2724,8 +2726,8 @@ django/contrib/sites/locale/ar/LC_MESSAGES/django.mo,sha256=kLoytp2jvhWn6p1c8kNV django/contrib/sites/locale/ar/LC_MESSAGES/django.po,sha256=HYA3pA29GktzXBP-soUEn9VP2vkZuhVIXVA8TNPCHCs,1135 django/contrib/sites/locale/ast/LC_MESSAGES/django.mo,sha256=eEvaeiGnZFBPGzKLlRz4M9AHemgJVAb-yNpbpxRqtd0,774 django/contrib/sites/locale/ast/LC_MESSAGES/django.po,sha256=huBohKzLpdaJRFMFXXSDhDCUOqVqyWXfxb8_lLOkUd0,915 -django/contrib/sites/locale/az/LC_MESSAGES/django.mo,sha256=TOdJMsIhxYvxT1-ZFiPD5JDhA9fBBpu84tpiYhv7tgE,608 -django/contrib/sites/locale/az/LC_MESSAGES/django.po,sha256=M5mYWSyOohsNTtC_BWlDbw4PTsQWdEnbirf_4S0zInw,835 +django/contrib/sites/locale/az/LC_MESSAGES/django.mo,sha256=CjAGI4qGoXN95q4LpCLXLKvaNB33Ocf5SfXdurFBkas,773 +django/contrib/sites/locale/az/LC_MESSAGES/django.po,sha256=E84kNPFhgHmIfYT0uzCnTPGwPkAqKzqwFvJB7pETbVo,933 django/contrib/sites/locale/be/LC_MESSAGES/django.mo,sha256=b-0febeZF-EX53E--W-G3lkpiozt7En6yfDIJYnNrQw,1024 django/contrib/sites/locale/be/LC_MESSAGES/django.po,sha256=W5FhVJKcmd3WHl2Lpd5NJUsc7_sE_1Pipk3CVPoGPa4,1152 django/contrib/sites/locale/bg/LC_MESSAGES/django.mo,sha256=a2R52umIQIhnzFaFYSRhQ6nBlywE8RGMj2FUOFmyb0A,904 @@ -2878,8 +2880,8 @@ django/contrib/sites/locale/ta/LC_MESSAGES/django.mo,sha256=CLO41KsSKqBrgtrHi6fm django/contrib/sites/locale/ta/LC_MESSAGES/django.po,sha256=YsTITHg7ikkNcsP29tDgkZrUdtO0s9PrV1XPu4mgqCw,939 django/contrib/sites/locale/te/LC_MESSAGES/django.mo,sha256=GmIWuVyIOcoQoAmr2HxCwBDE9JUYEktzYig93H_4v50,687 django/contrib/sites/locale/te/LC_MESSAGES/django.po,sha256=jbncxU9H3EjXxWPsEoCKJhKi392XXTGvWyuenqLDxps,912 -django/contrib/sites/locale/th/LC_MESSAGES/django.mo,sha256=4BQRjNbPJEQog4oe8CUHxHXszfZpw09Qa3XIku41eac,850 -django/contrib/sites/locale/th/LC_MESSAGES/django.po,sha256=OpTsWP-Whkf-j4qdjdOh-Gw72qJtiLyMllKefENTAcA,1047 +django/contrib/sites/locale/th/LC_MESSAGES/django.mo,sha256=dQOp4JoP3gvfsxqEQ73L6F8FgH1YtAA9hYY-Uz5sv6Y,898 +django/contrib/sites/locale/th/LC_MESSAGES/django.po,sha256=auZBoKKKCHZbbh0PaUr9YKiWB1TEYZoj4bE7efAonV8,1077 django/contrib/sites/locale/tr/LC_MESSAGES/django.mo,sha256=NxEKAJFmns0tWftlgyKXHJcBKBxo6ImR4SjIw8-zbgk,799 django/contrib/sites/locale/tr/LC_MESSAGES/django.po,sha256=L9tsnwxw1BEJD-Nm3m1RAS7ekgdmyC0ETs_mr7tQw1E,1043 django/contrib/sites/locale/tt/LC_MESSAGES/django.mo,sha256=gmmjXeEQUlBpfDmouhxE-qpEtv-iWdQSobYL5MWprZc,706 @@ -2890,6 +2892,8 @@ django/contrib/sites/locale/uk/LC_MESSAGES/django.mo,sha256=H4806mPqOoHJFm549F7d django/contrib/sites/locale/uk/LC_MESSAGES/django.po,sha256=jmJKTuGLhfP4rg8M_d86XR4X8qYB-JAtEf6jRKuzi3w,1187 django/contrib/sites/locale/ur/LC_MESSAGES/django.mo,sha256=s6QL8AB_Mp9haXS4n1r9b0YhEUECPxUyPrHTMI3agts,654 django/contrib/sites/locale/ur/LC_MESSAGES/django.po,sha256=R9tv3qtett8CUGackoHrc5XADeygVKAE0Fz8YzK2PZ4,885 +django/contrib/sites/locale/uz/LC_MESSAGES/django.mo,sha256=OsuqnLEDl9gUAwsmM2s1KH7VD74ID-k7JXcjGhjFlEY,799 +django/contrib/sites/locale/uz/LC_MESSAGES/django.po,sha256=RoaOwLDjkqqIJTuxpuY7eMLo42n6FoYAYutCfMaDk4I,935 django/contrib/sites/locale/vi/LC_MESSAGES/django.mo,sha256=YOaKcdrN1238Zdm81jUkc2cpxjInAbdnhsSqHP_jQsI,762 django/contrib/sites/locale/vi/LC_MESSAGES/django.po,sha256=AHcqR2p0fdscLvzbJO_a-CzMzaeRL4LOw4HB9K3noVQ,989 django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=7D9_pDY5lBRpo1kfzIQL-PNvIg-ofCm7cBHE1-JWlMk,779 @@ -2903,45 +2907,43 @@ django/contrib/staticfiles/__init__.py,sha256=eGxMURIKxiv-dE7rP1hwNgUhfzUN36-Bc5 django/contrib/staticfiles/apps.py,sha256=q0Tfga23RfN9gCRPhopgChqOFqbtGfkc3-VeH1CRClg,413 django/contrib/staticfiles/checks.py,sha256=rH9A8NIYtEkA_PRYXQJxndm243O6Mz6GwyqWSUe3f24,391 django/contrib/staticfiles/finders.py,sha256=a46SgWyQxKlZY_UdfBnOLVvIs8HHQ7Nc8xy2EquuiD4,10158 -django/contrib/staticfiles/handlers.py,sha256=WLg6lshuKMSfFPfPLeDDer3_1TrEIg-OpCEdcp4uqEg,2329 -django/contrib/staticfiles/storage.py,sha256=mIhWdkv-HCRivTWdozB7vnRP7OjnWjZFarUlfjNj-uM,19152 +django/contrib/staticfiles/handlers.py,sha256=6Cmy7KVA7ngivB40ptamR02vGfP-Re6Kxles-8ylWFQ,2299 +django/contrib/staticfiles/storage.py,sha256=wOiG3ObaLrw9Y8lqMc4cH4Sl0T2q_f-lmE6AQ-tyAtY,19099 django/contrib/staticfiles/testing.py,sha256=4X-EtOfXnwkJAyFT8qe4H4sbVTKgM65klLUtY81KHiE,463 django/contrib/staticfiles/urls.py,sha256=owDM_hdyPeRmxYxZisSMoplwnzWrptI_W8-3K2f7ITA,498 -django/contrib/staticfiles/utils.py,sha256=vrtb1g0Zt1idSZmBAAJ2qLOxGcyb7uWAxqlxZ7C7B40,1954 +django/contrib/staticfiles/utils.py,sha256=bqHWNBXeclNhmCPIGInk7SwNGyBNjlWAbb7kX5Ri664,1873 django/contrib/staticfiles/views.py,sha256=CaWZq4AHEbOGW7mg_0mbkGUP8KJTlVNnofDBNIhRUo4,1264 -django/contrib/staticfiles/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/management/commands/collectstatic.py,sha256=sFhpb9H0M6v0HElRwdURTtkyXKqZfqfwd0C0J9EXP1w,15136 +django/contrib/staticfiles/management/commands/collectstatic.py,sha256=99VCYnNtA4p5u7z8iany-s9Uzw9P_PLwxpSy-9C0O6M,15076 django/contrib/staticfiles/management/commands/findstatic.py,sha256=R5CN75jGnvsV16MQ23eWake_EBE7NG94ExKL-54NqYQ,1539 django/contrib/staticfiles/management/commands/runserver.py,sha256=uv-h6a8AOs0c92ILT_3Mu0UTBoCiQzThpUEmR-blj70,1318 django/contrib/staticfiles/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/templatetags/staticfiles.py,sha256=P3ixCkaCvU8wTQYePYgZh0mWzyeE0y4SDXltF8TWB6M,537 +django/contrib/staticfiles/templatetags/staticfiles.py,sha256=7rzKqqThXO9CrLOP5kq3uzS80dzksC9cRENc86G9-Qo,720 django/contrib/syndication/__init__.py,sha256=b5C6iIdbIOHf5wvcm1QJYsspErH3TyWJnCDYS9NjFY4,73 django/contrib/syndication/apps.py,sha256=hXquFH_3BL6NNR2cxLU-vHlBJZ3OCjbcl8jkzCNvE64,203 django/contrib/syndication/views.py,sha256=kXBT4kGjWBqmYVU0BFrMxMyqkdPeUjgIr-TGp5HvCS0,8617 django/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/core/exceptions.py,sha256=V61tsXhjxUnLxfNVAQBUUhvSgvdDhLL3ajIS5TCGlyI,5275 -django/core/paginator.py,sha256=tUAUQ5XA_aSw1Ws-3qJfxXKzeVoKGiThoie9mbAj_6s,5884 +django/core/paginator.py,sha256=8s5Ae9uaGEW7S8tSvFUjKpVeo4F6Avln4stbAliBvJc,5983 django/core/signals.py,sha256=uGRybHCJZ74by2HV-9JEWvfmnw_scuhcxaRP3UmZDjE,247 -django/core/signing.py,sha256=fRflzQnv2LA99q7vBCu3FXrtA_6mNefufR-6OlSQAtI,6660 -django/core/validators.py,sha256=M5V3aRs0qjsI1mM4-jKw1FHR4IPf-ntPGN3es2rVwZ0,18596 +django/core/signing.py,sha256=yiHGW156fFQpdovzP7M42t42YX-1bawLYjqhT2DYtOw,6670 +django/core/validators.py,sha256=pn_Aojp_STy1cTtWhut4m1HPEEqI5czDEFZHiuia3qQ,18759 django/core/wsgi.py,sha256=2sYMSe3IBrENeQT7rys-04CRmf8hW2Q2CjlkBUIyjHk,388 -django/core/cache/__init__.py,sha256=gfjHtXklQU4M8vluEtpJf-mG3q7UHATaGrluiYAzO_0,3711 -django/core/cache/utils.py,sha256=EakHn48OQtJP7OCLwkfACYZjVqjBtcdp86xGJbgPXVc,432 +django/core/cache/__init__.py,sha256=c6NXL3nPB1v6WVh5fum9fo-yVc0xq_uAzkmWi3kcDCA,3684 +django/core/cache/utils.py,sha256=fdSTmMvnVTM7dhwf-qbHRnhLJAV1XIJe_Ut5H-EGKBw,381 django/core/cache/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/cache/backends/base.py,sha256=hn98WTdIDebq0oy5SAVq08-pkmGAbt75rLOCqAvuji4,9799 -django/core/cache/backends/db.py,sha256=qVcCIEztElRPXAbAG0a9vz27qgv1ZFjwunyDtSo_kEo,8939 -django/core/cache/backends/dummy.py,sha256=DtugeHHs1doIp2dV3CX5dkoJ5dj6bJ7rtKmHNBogBYg,1218 -django/core/cache/backends/filebased.py,sha256=osnUkOsfqK3dxctG8p3UtT4j_8TIs2Cq8Ppj4Bq9qSU,4884 -django/core/cache/backends/locmem.py,sha256=ibbZBYB3SVcbwgvEz-R5k33F4G_ycuxBoTfz06wWbDc,4198 -django/core/cache/backends/memcached.py,sha256=KigcrxWadhCmb8A1suMMJt0xxfTbsqfi0InDHXxP5YY,7956 +django/core/cache/backends/base.py,sha256=vrMhKrAAo0vbSDOfsQVMX8OFfROJZFoebofntlFpPMg,10102 +django/core/cache/backends/db.py,sha256=1NTDkerko7uOiB1wyp0czx84GMHgyqXP_aIy2Dgw3SA,10757 +django/core/cache/backends/dummy.py,sha256=zJiIXLVJ9Tucb__RoYQFuZJeSvhpCG7NvpLJgOp8bfk,1116 +django/core/cache/backends/filebased.py,sha256=uv6c6sr9oN-o5PNqBqDSVjHj-phCWmtsameLOK2exQg,5623 +django/core/cache/backends/locmem.py,sha256=I0Rpm90WG2eSiGN8pVAAZBR2pQz5oq3844EVB9pq45s,4057 +django/core/cache/backends/memcached.py,sha256=gI1PdqxszGL_7vI6AsfoGcqidypYLf6kPiUb6_Ct-2U,7305 django/core/checks/__init__.py,sha256=_HP2dErvPYginc0R1Bwblq1R-gykN2sxcYCCyMaalHg,879 django/core/checks/caches.py,sha256=jhyfX_m6TepTYRBa-j3qh1owD1W-3jmceu8b8dIFqVk,415 django/core/checks/database.py,sha256=IpXyIS-TDTH4p037aG2l0qWnAVFtp8ozJEsXMvaoIu8,261 django/core/checks/messages.py,sha256=ZbasGH7L_MeIGIwb_nYiO9Z_MXF0-aXO1ru2xFACj6Y,2161 django/core/checks/model_checks.py,sha256=Gif4kfndBdBe4sc2NfLThe__qKcJBY5eqD-2Oh6takA,6183 -django/core/checks/registry.py,sha256=qk77K8-s8jfZR0ej7Rx-iemsXEkKF47d0VB4pmEnqa8,3108 -django/core/checks/templates.py,sha256=GnnM1ZW3CIk22KmyK094qzgGIrxmIULFGfPPuvnArFI,1185 +django/core/checks/registry.py,sha256=VNuH0iGUW9iOwMgCSZp9tzx-1HshDnA7z3C0L9C9Z2o,3067 +django/core/checks/templates.py,sha256=9_qZn_MWX94i209MVu2uS66NPRgbKWtk_XxetKczyfU,1092 django/core/checks/urls.py,sha256=lA8wbw2WDC-e4ZAr-9ooEWtGvrNyMh1G-MZbojGq9W8,3246 django/core/checks/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/core/checks/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 @@ -2949,21 +2951,21 @@ django/core/checks/security/base.py,sha256=JsF8UvJLlWXF2ysswWaT08Mqd6KDt4weOUr1- django/core/checks/security/csrf.py,sha256=CH09reOHXQEdCMqhlejyh0IsGwDQkFeHRYO25glZTYE,1259 django/core/checks/security/sessions.py,sha256=vvsxKEwb3qHgnCG0R5KUkfUpMHuZMfxjo9-X-2BTp-4,2558 django/core/files/__init__.py,sha256=OjalFLvs-vPaTE3vP0eYZWyNwMj9pLJZNgG4AcGn2_Y,60 -django/core/files/base.py,sha256=E2Tanv7zjeBZYrGgph4FShEMtv1MPN0fs1mS_L-JOiY,4984 +django/core/files/base.py,sha256=D93J87nLW6sKWbBnP7iFYz4lA6YLfu11dAu8ygTKKe0,4814 django/core/files/images.py,sha256=_lnhvkwnXJ_Dih6nNIAm9UvTwxOd7CSPi4MjPVxMybY,2377 django/core/files/locks.py,sha256=nn0KJG_yXoIT_pHqzeZhBkQsA1tghaVzN-p4DA5VER4,3512 django/core/files/move.py,sha256=1R3xTJKI9Plo0xRknz-Uv2_QQRw_vmr-rUEcrTJloMA,2956 django/core/files/storage.py,sha256=tEzJUiMS6W_dk0IceFRtqAwi1vMC7H-wFjocBe7zN94,14633 django/core/files/temp.py,sha256=jR1S5j-UtRMbQEYpHAY-yffp6QCKxngbzqi6MA1tOwI,2501 -django/core/files/uploadedfile.py,sha256=hHaPethGK2DEBIZzf7UeSRVznea4qHgsv_zHWjQe5ho,3928 -django/core/files/uploadhandler.py,sha256=n4edWZI6txsO-UTW6L3X5aX2krSr7rxu6h5LQwdR_48,6539 +django/core/files/uploadedfile.py,sha256=dzZcC1OWFMK52Wp6jzVGIo-MYbkkhSHOhRR4JZgaoQE,3890 +django/core/files/uploadhandler.py,sha256=DtlUF2T0WkDCrf6fUmmriffX_8aZLzwJvRZn7CCsvqg,6470 django/core/files/utils.py,sha256=5Ady6JuzCYb_VAtSwc9Dr-iTmpuMIVuJ3RKck1-sYzk,1752 django/core/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/handlers/base.py,sha256=nF21s4mXxClfbkT4pQ1MSLlcJVXi1RqfVshDcUSw0ow,6867 -django/core/handlers/exception.py,sha256=SoirxgN-UU96fJMJ_LtBbPE4A4WXgYUc-sKo64LsmnQ,4691 -django/core/handlers/wsgi.py,sha256=8mRSLDdUkPebrtjdcJpdl5OQufxzZemjDg_f2KDCdAc,8029 +django/core/handlers/base.py,sha256=_uxw9ftnc7DlrjnvskmBW7cyyj7neFiatnJCLhJ4O8s,6788 +django/core/handlers/exception.py,sha256=Y8DUtm_1SeJMjgSe82alsjFysC4kWEY56k9MZQvvfyI,4788 +django/core/handlers/wsgi.py,sha256=yBYYDJUd2mfUFLOKRvtpKvm9Q8ugYMjF84oRlL8rFE4,7793 django/core/mail/__init__.py,sha256=LBC94qDGLULxasR97XAb0xGssr29-EbNUTDpbtnQ6iE,4484 -django/core/mail/message.py,sha256=vyEe2o3YC0rvabe3PXh4DHXtnjR0lrQ4ySdgXsfRcy8,17159 +django/core/mail/message.py,sha256=NAQM6RUStbRXRl54k_bdBFMZpTXjW6L1wKosQbTXWzM,17321 django/core/mail/utils.py,sha256=nUQWqzPAZfqWY2J7SsYfVlihYMYz6i_A8H5D0pSkBvo,452 django/core/mail/backends/__init__.py,sha256=VJ_9dBWKA48MXBZXVUaTy9NhgfRonapA6UAjVFEPKD8,37 django/core/mail/backends/base.py,sha256=f9Oeaw1RAiPHmsTdQakeYzEabfOtULz0UvldP4Cydpk,1660 @@ -2972,93 +2974,91 @@ django/core/mail/backends/dummy.py,sha256=sI7tAa3MfG43UHARduttBvEAYYfiLasgF39jza django/core/mail/backends/filebased.py,sha256=OPRc5lDsB9Gble251fwXp0oq1qKeZM9T2JTcZwL_5js,2715 django/core/mail/backends/locmem.py,sha256=OgTK_4QGhsBdqtDKY6bwYNKw2MXudc0PSF5GNVqS7gk,884 django/core/mail/backends/smtp.py,sha256=TE2v-96rSgN7nZ_3CfrNc7-0Utk4ALB3obRw-TXfz90,5302 -django/core/management/__init__.py,sha256=WHEr3W3YgriQXmQ0osrNqh0eV6KMjZA0oW6YIl880tc,15323 -django/core/management/base.py,sha256=O9HYlEe3B5wNdIv3Hbpay-nunhnFP1Xm_wHeuIeDEuY,20363 -django/core/management/color.py,sha256=jAThS-IMFpjAFQ15P6Ncv7ze33dR1gFz_fXfzHBrcnI,1821 +django/core/management/__init__.py,sha256=T50q6l-hkLUfUwWKmbYIimRJMhrX4uFRBhQoPNCSARk,15863 +django/core/management/base.py,sha256=po1AwSPTK2rjjT2q6VfSro91mM_U_e4XjZp2JL1nCqE,20703 +django/core/management/color.py,sha256=TBDUIyLXkZUogK_FvIy3E7npcIbXpprNKCGGg6JfEQg,1780 django/core/management/sql.py,sha256=bnxEUUIJScj6A67s0txpq4RT8sh0n-RS5ZxcNqySaAU,1921 -django/core/management/templates.py,sha256=x7PeOu2FCAFOMc3v0Y95s_LJQVmCBFv-g5RqUXNoH5c,13714 -django/core/management/utils.py,sha256=kZFPEyKenZUWEaz1Ko8c5XScI7MhmHjloPfWyiaHMCA,3490 -django/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/management/templates.py,sha256=jI9KLV8wALb_Qc4ZRk-jc3AxNr1CvEvG15FKKZTQ0uk,13468 +django/core/management/utils.py,sha256=t0Tt4Ns-ra8HLak_MUCX_Vrugwd0E9b_qcEewoI5-_U,3380 django/core/management/commands/check.py,sha256=nwmRA9rdeavDPmIpZGmUG79fftjradKtrogNIN4CakA,2312 -django/core/management/commands/compilemessages.py,sha256=F4zYpo3xuK30ri5Ja5RquPsP-esQJ3DHhkz6SNmsqNo,5073 -django/core/management/commands/createcachetable.py,sha256=zgcn_QHH_fTh181L1pcRBmRVrNCUgQPyGyKxahQ8kvI,4376 +django/core/management/commands/compilemessages.py,sha256=0LwUrhgwS_PfliuMSp62FpV837eyUvXr5YSdYonnSiQ,5043 +django/core/management/commands/createcachetable.py,sha256=CG-iK4_fYGRuXcvdhU7R3ivcvW6uNmYNIEx-CQlc-Jo,4371 django/core/management/commands/dbshell.py,sha256=OeexBQJXEUArOKWGKpBSsaA043X1UokzNWc_EDbJi5M,1240 django/core/management/commands/diffsettings.py,sha256=3as-r5_kfS8lw93SO7xUNs12p_IGVOzG43UTLdcMXx8,3369 -django/core/management/commands/dumpdata.py,sha256=uJ1znSWHk06pugtNdgly_gfWaNpQwOtqI59CgvJHI-Y,8607 +django/core/management/commands/dumpdata.py,sha256=r8CQDyg1O82Pu-p15yZ6I01a3OP-ByiyuKejs9AvY9E,8601 django/core/management/commands/flush.py,sha256=9lJy_cGMajdVmrLwdFpYqDCN89G69xYcjwBNfOpkRVc,3590 -django/core/management/commands/inspectdb.py,sha256=gqP7PCdnmdAPI1YHOeuheG-7qEl9Ch-697rFaFJ5J40,12852 -django/core/management/commands/loaddata.py,sha256=rXZ31_IItpXlzAKf2S9X1TOCFGKQcG3OVrGbJJ5p_1Y,14267 -django/core/management/commands/makemessages.py,sha256=0fzXP5GmPGfWJkoQ_reY8G0Furt5tT1rWXPfa2FBL80,27468 -django/core/management/commands/makemigrations.py,sha256=OMeTnpJfYla4xQicyJLCmUmHwH39_jSebzREdLyVyfI,14261 -django/core/management/commands/migrate.py,sha256=Pk4ZVi3YlnCm-ZN0lB0fp_XzKAHHBROA1pW9c8o3Oio,14044 -django/core/management/commands/runserver.py,sha256=gmpj6FQOUdi2NHz0QkbnoCJlCBsA7rg6OCCf99mF_rQ,6346 +django/core/management/commands/inspectdb.py,sha256=VejyU6vOWB3aeAFheMCFxZloyEvTb3hFMU9NEDELqHU,13344 +django/core/management/commands/loaddata.py,sha256=WqkRF_Ocf6W7uuOV3C4YsRykGmupC8xRtfNUQMqUwwY,14346 +django/core/management/commands/makemessages.py,sha256=G4pFvrYmQ0ulICU_TL_l8GydqZtXtwBpuNiO59GiXlM,27358 +django/core/management/commands/makemigrations.py,sha256=-TNT5mkpVY2pi7Rpg_VHOMMCqlVj_BGEz8I0Yrvsur4,14657 +django/core/management/commands/migrate.py,sha256=dgjO167vxWRxuRfncZbVekkijPMAKcRPIqtgBLSd1pI,14090 +django/core/management/commands/runserver.py,sha256=lF-OGOKDNtBZMCQbQbHBjysxBo_8Kv3fQ-zSDeEHnnE,6274 django/core/management/commands/sendtestemail.py,sha256=quvNqm0lfl3vvDfL0S0pBtW1te7LGcYNUrrac4lMAAg,1488 django/core/management/commands/shell.py,sha256=BROjrvPNCp1kC6jArrOEgzdyj0f6MNh4p760w2NdCyE,4055 django/core/management/commands/showmigrations.py,sha256=OQ2ovRjgy4A_LRUtFe6u2siUn0xqUBD-Qj3o7Ke5Rqs,5333 django/core/management/commands/sqlflush.py,sha256=mNxqSBp-fF36h3JMtEsDvYzCysxDA5R0IjhyiYyDMiI,795 django/core/management/commands/sqlmigrate.py,sha256=bKBsq3ldex8SR8GhMnrA7FS8kpXGjjy8lax_EL6Bc3E,2742 django/core/management/commands/sqlsequencereset.py,sha256=hCyc6og7K4cDbVflf85lusgoQz0fWiOylo6Jtlold8U,872 -django/core/management/commands/squashmigrations.py,sha256=m__NLsjU9-4YHJKOfcMmNdkklbLTEVLJ4epxpLjQVCM,9351 +django/core/management/commands/squashmigrations.py,sha256=ikiMcVAM4M6fOpFiCpHjs7egCNxr5yldwUp4sJFpjZM,9350 django/core/management/commands/startapp.py,sha256=rvXApmLdP3gBinKaOMJtT1g3YrgVTlHteqNqFioNu8Y,503 django/core/management/commands/startproject.py,sha256=ygP95ZEldotgEVmxDYBPUyAedNQTTwJulKLinGUxZtg,688 -django/core/management/commands/test.py,sha256=SexB7-Cdz4P3E9BcH8eGPOHuTKE5d0tCzyWfKNBQ0S8,2231 +django/core/management/commands/test.py,sha256=FTCTm0ESxozQVpd-qMgGxvIYjJu1m96uq5IwKFQtfhc,2140 django/core/management/commands/testserver.py,sha256=Veo-U69NUEyFuM_O9tG7GjRZ3aR2vWzcaVWahAIdS_M,2117 -django/core/serializers/__init__.py,sha256=74Jfha4K1Jxuciz0JCUPqXVUbGAqM0WhkzROJ1-Vfyk,8201 -django/core/serializers/base.py,sha256=AdJDQc0c2XXwsBrZs7VM8rZr6pUsP4JCJIYBXDc0EGc,7732 +django/core/serializers/__init__.py,sha256=TEJTEGHsW5vUAJWqQz7FdlD_NEGNaGlBN4zJAe21yeo,8073 +django/core/serializers/base.py,sha256=zDng9ZjOHUZ_LF8zxgIV7dtG7DgtP_3tujsbeorRL-c,9913 django/core/serializers/json.py,sha256=sKfzArRjK2zNaRUxYRBbUWmoQfDUKzyKdIKu1gBeKnc,3352 -django/core/serializers/python.py,sha256=BIJQvWkHt0AAAL3oM_TVM2foFwqNRmx4XDIHcrrazxc,7320 +django/core/serializers/python.py,sha256=wXih4euMPGbGwlANA7mBrQoV9LlZjltBAI8i4-eSoEs,5589 django/core/serializers/pyyaml.py,sha256=SXwXHjs0_29tycOtXXs-lWGS--SBBVeHlNb-rjheCak,2674 -django/core/serializers/xml_serializer.py,sha256=5TnYdZtx4uWbgCOf-xrknNtJNM7KvObtaCjpxg0CHxY,15138 +django/core/serializers/xml_serializer.py,sha256=ze5el6OpSaKndhVdWmIwBCTl7D97X4oUP-iWUH9KuNI,15127 django/core/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/servers/basehttp.py,sha256=e60X0mo7GHl6SAR7w-s4NT4YI9n9eeHpWLZvt4ZhqT8,6065 +django/core/servers/basehttp.py,sha256=ZwyI3gALKXl9E4BZ3H0Ltp1ZRSadB1F85-5XtBYQUaU,6054 django/db/__init__.py,sha256=1mrVglcKwooIWzGxQPgRevVkgd1iBAa7ESWPUAZNcS8,2128 django/db/transaction.py,sha256=tHQFzfrcupqrrv_Ux8wvRKYOsEi8WiwYdMHX7wTpjqY,11229 -django/db/utils.py,sha256=jDaaur7BVLCU87RRPCS9gBW_I_QOdraOk4f1vWn3cXY,9790 +django/db/utils.py,sha256=6hgaK5Gii2cgBy870Q0lFOhdyxvVLJeetdW0sV56xdQ,9793 django/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/db/backends/ddl_references.py,sha256=dBg6xSNpyH3YdHInd5afAo6oU_USpv828lnrg78tmug,5792 django/db/backends/signals.py,sha256=rAFB5bUdnk5jckIT4PwVwEuE6aj4dbtasRHcRnIyH6Y,95 -django/db/backends/utils.py,sha256=14Jf5WWbG4qQ49iXQmguidWt4WuxEDyWghoiG6oacyE,8688 +django/db/backends/utils.py,sha256=2z0cVaIwQGl1tjf2O50NoQYug2E86BJz1XWsidpqYlw,8691 django/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/base/base.py,sha256=qLA8aM_ZOJleEXDKsYssvbJOyGcGweUI71BkwiW1wBs,24431 +django/db/backends/base/base.py,sha256=78Cm8iQwbTEYnpRcPXgEttsKg750YtMrMzGEJrl3EiA,24323 django/db/backends/base/client.py,sha256=r6dcRhY5tPx9lzDZhbcDC1z9LDdXxRe_vtkgYQSmuEI,513 -django/db/backends/base/creation.py,sha256=jMCa7C65YTELVTteIbGPoLtilqnNNB-ay9TcM2iL-tY,11972 -django/db/backends/base/features.py,sha256=yDtSTHZS-IW5MVG6AzEWTa-XzfsEuv1aI8UKorAKe9k,10909 -django/db/backends/base/introspection.py,sha256=G0ejTl_mFSCse_4kbAcqssS_3x20wSyPQDgvzXNmJkQ,8035 -django/db/backends/base/operations.py,sha256=vJWV22M8sfN4czjzroZQ903rU9Py-KwP8DImqROUGgA,24665 -django/db/backends/base/schema.py,sha256=qOcZNZyashGWmZFOGwjWVUi9dzwHS6Jos8pD2MaAeZU,50103 +django/db/backends/base/creation.py,sha256=OB4McuBJ2movTK7lmCs2rn6UUfiHtUJ-1DvO9J3aMdQ,11896 +django/db/backends/base/features.py,sha256=98fDqXdj1ak_eizAZX8og_4OMZGS7ft-wR6F9Seu_x8,10655 +django/db/backends/base/introspection.py,sha256=ULXiTAPr11nTj0DreuS1-Q8UO1b8KP5iM7ILauC2ju8,7497 +django/db/backends/base/operations.py,sha256=zrKO0FwqTP_tiG2Dny-UTMCXG-DNGBcyTXE9tj3-WRM,26118 +django/db/backends/base/schema.py,sha256=dUxhnDfCSF4sQr3k5KlOLHfGGD0g_WYpyIPHx0juMXs,50227 django/db/backends/base/validation.py,sha256=4zIAVsePyETiRtK7CAw78y4ZiCPISs0Pv17mFWy2Tr4,1040 django/db/backends/dummy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/db/backends/dummy/base.py,sha256=ZsB_hKOW9tuaNbZt64fGY6tk0_FqMiF72rp8TE3NrDA,2244 django/db/backends/dummy/features.py,sha256=m_ZHTydiox34PXZGj9AbbpjZni9UW44eKvz_VNbM7Ug,153 django/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/mysql/base.py,sha256=dOHLQftWvWYpGvMapHgNFr6cX0YcPMURAjFiQijP1EM,14068 +django/db/backends/mysql/base.py,sha256=-WmZa6v9ldnz5V7BcZupzqZIp99HTftwK-ZN2oFsZN8,13777 django/db/backends/mysql/client.py,sha256=vvt1-wevYeQR4JmklrmZ_nrUrXdMaAXQOV7j42XZx4M,1834 django/db/backends/mysql/compiler.py,sha256=J30bWgLviaWfUktegN7YnXmp6CaEZ6u8VeuiN4DUk4E,704 django/db/backends/mysql/creation.py,sha256=vFhQ2zYbGrC_TrIc7wBcbh_i7apGD-t0ZG0h3vD_IJQ,3265 -django/db/backends/mysql/features.py,sha256=t6RO73Hp-Ji397xqN4wnhdRvxVLyu9OgHyXUHuh6uIY,3538 -django/db/backends/mysql/introspection.py,sha256=J803HLgJTly4WwD8_uWGUjmUjDJwAW-FyKFWZIF1i5I,10201 -django/db/backends/mysql/operations.py,sha256=fBXLCjk1t2rCTwuNNZFJm5je4RAUKYsiJyE62Do0PJs,11358 -django/db/backends/mysql/schema.py,sha256=jXTAKbeFSFu5g1WVmHtX7B4UJFWoF0DJN66birCgOQs,4479 +django/db/backends/mysql/features.py,sha256=YrZ0NWqpYHrqjL379bM5oWrM1NUe0ZYnQmZjEb05NoU,3983 +django/db/backends/mysql/introspection.py,sha256=mVvR5JgbeCKyiBBW3jrLEznx1PVTKFu0_q7M3qx_o-0,8715 +django/db/backends/mysql/operations.py,sha256=VxeFoCFNoRABVn6WVQlTEBMc_MKwHnH5I-H8yHozqng,12214 +django/db/backends/mysql/schema.py,sha256=0-zhjYravYTBw5CxDQhKyHhbTIjBAYiefOKQDA5up4M,4514 django/db/backends/mysql/validation.py,sha256=C0MLttf0KGEU9i0N1jrXwprRgSV0uT7qL4Eu9yllpRQ,2565 django/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/oracle/base.py,sha256=Bjx8wY7N9oGDSjvKP96-9j2IbqCSrNrNl_3Sd1mSb58,22638 +django/db/backends/oracle/base.py,sha256=5MJKdXnMryOgOaDXLE7gvDt9zxVUBTBjdqRAtBjGUFI,23101 django/db/backends/oracle/client.py,sha256=efoAYVH76x_AMMqq1h8JNaCpq_UtlktyuYuXLZfze4E,331 -django/db/backends/oracle/compiler.py,sha256=I4vNNZ3qYrZ8mV4yL4YCyDOyExUaFbrYOcA-gywqWgg,2437 -django/db/backends/oracle/creation.py,sha256=-oOjmWy8kXznf3VH7TQt2Miq3B0Xvn7hy0cvuTPa6BM,18640 -django/db/backends/oracle/features.py,sha256=Zb68pUqzB79OEHDWtTkBYdxlDfoDk6hZiCyDAP2pqqc,2088 +django/db/backends/oracle/creation.py,sha256=LLaPnhv1JZhRWrdqVPKGUxQrp0XcU94W6zEu5YNHGf0,18751 +django/db/backends/oracle/features.py,sha256=miivLEEPshcQWjpGuJWNVPfhLvo5DUIsdshR-2Av6uk,2052 django/db/backends/oracle/functions.py,sha256=PHMO9cApG1EhZPD4E0Vd6dzPmE_Dzouf9GIWbF1X7kc,768 -django/db/backends/oracle/introspection.py,sha256=MKc51u-u3kD3lPJIEUkWHSfByHOu2-CQpo0Q9KD2NLs,11946 -django/db/backends/oracle/operations.py,sha256=KMN3WeC_Tt3VGuYXMevqq9pq2Yopwauo54GXOJdqnlo,23939 -django/db/backends/oracle/schema.py,sha256=GFR1jojMnqcPiZmf00iWYK2aD-ao5caTH09iUyaY0pc,7358 -django/db/backends/oracle/utils.py,sha256=nQVsE_cwQZeyvLwFhZ_UTvGs3SdoGCzeCJ82UD3Rhj0,1457 +django/db/backends/oracle/introspection.py,sha256=woRZUoGA2xwPuz2ncMyS658FECTsPmOB8nq8eb3Hdh8,10485 +django/db/backends/oracle/operations.py,sha256=b7Z3IdEbgLUBipDU3iPQ-5bdW6hMxH5sVYD1LxvtBFE,24643 +django/db/backends/oracle/schema.py,sha256=bC8qX3Ayver-edf-W8YALcJuCDtw7UfxLLqaY1Tm4EY,7501 +django/db/backends/oracle/utils.py,sha256=mYTe-6R--xoYizlJd26O-5H_lCtfFkZ4aVXaLlsqS4Y,1489 django/db/backends/oracle/validation.py,sha256=O1Vx5ljfyEVo9W-o4OVsu_OTfZ5V5P9HX3kNMtdE75o,860 django/db/backends/postgresql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/postgresql/base.py,sha256=lY3G4HLKY4gCR08T_rC4khafOcLrDtqBLfcuMXqaBAo,10558 -django/db/backends/postgresql/client.py,sha256=EbqEen1Nkp5sb4RVn1tawrbEioXQjbGI6M72FfTg79w,2382 -django/db/backends/postgresql/creation.py,sha256=rGjKMO8KH-vKrrHXrSInMvthrtkTMyDIgIQB5p6GmnQ,2928 -django/db/backends/postgresql/features.py,sha256=v_5YfdP7eSpGAXyPIlBe8aiSYuWb8eiNJD6l0NxyOp4,2429 -django/db/backends/postgresql/introspection.py,sha256=B9SNIsDMP_TX-YmrvGq2gPeTuClp41x3RrxQEY4eafs,11775 -django/db/backends/postgresql/operations.py,sha256=0eDv7U7RMBeeh8rVHBSiPNLpZb_uHtaLja0alxUbkuc,11123 +django/db/backends/postgresql/base.py,sha256=K6Vt-Ch-PCaotDljDYm2_ZJE3wZNYb2lqbwlIaOJ7OQ,10979 +django/db/backends/postgresql/client.py,sha256=0uzZPVsjsH28p0eBn6hWS3u2heVQfBJWzm0sQB49hZk,2383 +django/db/backends/postgresql/creation.py,sha256=gHE3lWMocmI_OnrL2akElqqbEg3juP3tnByFrAjnfcI,2892 +django/db/backends/postgresql/features.py,sha256=TSguighOBQZTMj0P8n7mzGL0cZJoZNCyBa_EPOHT7Fw,2240 +django/db/backends/postgresql/introspection.py,sha256=VPTdrZdYEQDBygf_BxF5B4dKYs9J5NblvDMrcVikLMY,9587 +django/db/backends/postgresql/operations.py,sha256=j-fBjUfueMmc0z5akzTH5uf5RN2N0Lwbr_ooStAYJhw,11645 django/db/backends/postgresql/schema.py,sha256=10GrHRQlQ5j1pGh6vjdxgWP7yChyBmpi7605asUA8ic,6402 django/db/backends/postgresql/utils.py,sha256=3GXuTEoyPNqfUcXOCVnC-gw7xdAV17ZvZYb4Qu6f7Mc,176 django/db/backends/postgresql_psycopg2/__init__.py,sha256=5v4iwk9d_ENPQMdjDfQxvPKTlOXxfaWsnaR-qgCPMcM,261 @@ -3071,91 +3071,92 @@ django/db/backends/postgresql_psycopg2/operations.py,sha256=xkIOUX-rLI6YjTKtEHYE django/db/backends/postgresql_psycopg2/schema.py,sha256=R-3T1eOq2-yD66L2--ICntPF2ZsLZ-Ok4TV4FGxyG5c,42 django/db/backends/postgresql_psycopg2/utils.py,sha256=eneNs5az6_Q07x0q991G7ZABYgE-YgMg9-Xk35LT7PM,41 django/db/backends/sqlite3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/sqlite3/base.py,sha256=79X7iB3L9yeqh2ASIat0g5TZZGoI3aBELsS2Vph4Obc,18674 +django/db/backends/sqlite3/base.py,sha256=Mcy5PldaRItj2AI7bmQHtIyZFY5q1jX7-O_ENDHS6UY,18733 django/db/backends/sqlite3/client.py,sha256=wiSj2r4sCG-n3SwFKJV2mVEw9GFXiyFbHgD_Ic_DjxA,311 -django/db/backends/sqlite3/creation.py,sha256=eQToSSfszeS-SyQzihO4FAcEFREKrNlJbQReTaFRUXk,4866 -django/db/backends/sqlite3/features.py,sha256=tBceqqJ_bGtQDLVHrWzFS3acvTNAVechQMIY9utgRL4,2347 -django/db/backends/sqlite3/introspection.py,sha256=YJYVQfFZOUDYKuxAAH-ZnGRZuh_yjaumboYvi8FxdQ0,13221 -django/db/backends/sqlite3/operations.py,sha256=7oRNkRsIHdZyBSFpHBfmSJO1S1GbzR9Z1QwGqzB-hPg,11862 -django/db/backends/sqlite3/schema.py,sha256=Qsw58FtoeInfasOFncAFD4T39zXkqSU8ISZO3iRiy5g,17548 +django/db/backends/sqlite3/creation.py,sha256=LaeW5l2gENepf8tiIVfk7wHtMBIgqGWcE3vWiMl1xwU,4244 +django/db/backends/sqlite3/features.py,sha256=XOagBEXNoN0b174oSxu3s44p2vd8NTnHrrMDeNbl3Qc,2054 +django/db/backends/sqlite3/introspection.py,sha256=-vYVRyCQ_4D0_WK5eR2cCT_POzl2vmWW4VnD12jCaTM,11727 +django/db/backends/sqlite3/operations.py,sha256=dZjvB23OW6QwwbYv-i81O0qjqsvM0Z0HAVINZ-EW9wY,12605 +django/db/backends/sqlite3/schema.py,sha256=fs4Sy0-mdaSv6rWKDoD5Rvi1G2pM0YqprZJc5hX8_Fw,17211 django/db/migrations/__init__.py,sha256=Oa4RvfEa6hITCqdcqwXYC66YknFKyluuy7vtNbSc-L4,97 -django/db/migrations/autodetector.py,sha256=laJi1HxlaEB4HsBbn4pdVytV-_zUClv7BgLClIm8bu0,59878 -django/db/migrations/exceptions.py,sha256=LCj-jTC1MhrKCyarNxhWWhQFIU2DGkUV4AtLwIEZ1MQ,1205 -django/db/migrations/executor.py,sha256=3goKbSuwv_VMZJd2bnYp9B9KU1Hn6Sy3wJpZ2L5CMHA,17479 -django/db/migrations/graph.py,sha256=7dVuynqL0AtIAug6wvaHT8YWB68pbnLrHFoPwFMjX-Q,15508 -django/db/migrations/loader.py,sha256=VZtwhgnKJ3jIv58o6aMGoNY_qS5PhIPY8k5EZdn6k9I,14786 -django/db/migrations/migration.py,sha256=XsGy8wvCWZBX-s3oGzovrwfYd_ffz0RYhWZ2D08AVug,8235 +django/db/migrations/autodetector.py,sha256=bYjJQ2SMvoJLT4wAXTAfTgoMSRdXEQwUX3YTM33kF48,61294 +django/db/migrations/exceptions.py,sha256=cfa6q9WVRsTmwIucNjq8W2MbvSA-CNChenY3vFie4xg,1204 +django/db/migrations/executor.py,sha256=KfFWmllNW0eKIlqCfsENupPBPHHXscYbJEi827nxRkI,17514 +django/db/migrations/graph.py,sha256=s7sXVlea6BiAgAFWxorVHTSoYkEXFljD8AyKRSxcQWg,15554 +django/db/migrations/loader.py,sha256=vA8WjrxtcC7aw_EhfSq-fFQrHf10YfwyGysiyAGXQL8,15002 +django/db/migrations/migration.py,sha256=qK9faUXqRpPrZ8vnQ8t3beBLVHzqX5QgFyobiWNRkqI,8242 django/db/migrations/optimizer.py,sha256=c2dt0t4AOVKLOCYYWZJm9C0IteVzTkD8D7r2Lh4A8iE,2803 -django/db/migrations/questioner.py,sha256=N18IZJrKLzaKFb9781l-Bnq-py0R-LEstzhGHnTLJoQ,9839 +django/db/migrations/questioner.py,sha256=7L6fcv0nKvMHGRfRLS_K8XGCsxtdPfA6wQyRmQ30-WA,9922 django/db/migrations/recorder.py,sha256=YV9VB2IWX9n4Qf3EuZyryu2OHGIy2syacpaW4LNktIc,2891 -django/db/migrations/serializer.py,sha256=UWpSdTpc8JJm5GaPrDENs11sU8q0_9IenXUkFKMllrs,13457 -django/db/migrations/state.py,sha256=jFbM1wda7EwjrliAiz1HOFKDUbIpDGqSQSHynkQhJdU,25204 -django/db/migrations/topological_sort.py,sha256=M8VCyxJq-OOn-i-d6HgFYi0A77iOO7H6-iAjlqabywE,1141 +django/db/migrations/serializer.py,sha256=yEUHUvv4vN3Tr5ScEg4RLE9nZ-ajfUgmJ8cbAskJJiQ,13084 +django/db/migrations/state.py,sha256=GIrYOnGvRiVfukAUO0CU4jMSDfQIbiKy9vL00lmmzhg,25176 +django/db/migrations/topological_sort.py,sha256=hMPdQx2vp5IWsUngA9xrGiXQgqqjM11PnQB_mK9xpI0,1135 django/db/migrations/utils.py,sha256=ApIIVhNrnnZ79yzrbPeREFsk5kxLCuOd1rwh3dDaNLI,388 -django/db/migrations/writer.py,sha256=p_oLWrhPVvNrgpxXNTcfTLSHBGXOJSo5Ax4yHinXHCQ,11085 +django/db/migrations/writer.py,sha256=bAijVRbQsp-ixM6DWQV1fNoKSDC5udwmndAWOE25WN4,11099 django/db/migrations/operations/__init__.py,sha256=AsJk4Z1G6-hLJRWkyOLpP3lApxn4OmP4h1yqPrnUlfU,700 -django/db/migrations/operations/base.py,sha256=tYSvlbstzKKr2VSHnsn7PrKr8FL748C3oc253Auds4k,4830 -django/db/migrations/operations/fields.py,sha256=0PflYROnEv-J7Mayci7VOX9HtshT-pF_P_LSSexq0i4,13496 -django/db/migrations/operations/models.py,sha256=KLsnlPqlyqoHV-nUhFgiW4_OzCUwP39_0rJXhLgGuOM,32632 +django/db/migrations/operations/base.py,sha256=k_8jnaVpVyCebOxTyWIW5QfdMCS1Tbd7t9mtszDCZAQ,5242 +django/db/migrations/operations/fields.py,sha256=OlUSJjHHGGzQw5P3m9KEZHTGOZpSMbkUOCmgf3owEog,14976 +django/db/migrations/operations/models.py,sha256=OUtL0tY7RutNtUHOmqSoJZEoRI3jIKSRBuXPk2Cp7i4,32079 django/db/migrations/operations/special.py,sha256=6vO2RRgaUPnxEjbkTX3QwAN-LaadZFHYpFHouAaMmig,7792 django/db/migrations/operations/utils.py,sha256=E1pAxwoutzNe0TDZBTaGwjtu7p2Vmt14sFidLl_q3OI,527 -django/db/models/__init__.py,sha256=WL0qmZ8SIT8XaOaMcICSheau1rQ2zSOBC-G97P6Atdw,2928 -django/db/models/aggregates.py,sha256=8UxgzXRT57RuQVsxppfD10Z37-1o5bzIyWoeBHvA04w,6821 -django/db/models/base.py,sha256=cQJEIh3Uo4FZ9WsaaC82OEbiuAiHqZHqMqkI0SKsP1Y,71296 +django/db/models/__init__.py,sha256=EBhvoOILTqPo-wgXCErBGbaEvTBAvcYoNJ1kJQBa1N0,2089 +django/db/models/aggregates.py,sha256=7HqAxxceEYh9iUnJgHVvnuqN7ldfGoHcjDbGZ-6dZHM,7122 +django/db/models/base.py,sha256=pxubkoiOGf86KL93-boxREBMYSc5310KxhX4FuHGH0w,72009 django/db/models/constants.py,sha256=BstFLrG_rKBHL-IZ7iqXY9uSKLL6IOKOjheXBetCan0,117 -django/db/models/deletion.py,sha256=wG5lFqNLzIl60u9ARCmpZqPY-F3hrpcc4Q9GI9jMFgA,13584 -django/db/models/expressions.py,sha256=4kxD_ym1nejMlv5qq17oqwQrhgF5GAebe3hwQuDDSuU,47782 -django/db/models/indexes.py,sha256=PjGjFIUEeNGqWsYVou2txCNV8pmUeb-Noc8pwEMP7d4,4759 -django/db/models/lookups.py,sha256=0wg5loWajDmX4w0gjX92WbKfQsTrIsnq8NvnAqW4iz0,20976 -django/db/models/manager.py,sha256=SPZrZ3SUTGFQd7J23mcH2sj16HMTfs1M4oZQg2GlUoQ,6828 -django/db/models/options.py,sha256=ZSXf8SObwmC2iF2bEY-9skbh42leTBOZJgzZmcptSVo,34835 -django/db/models/query.py,sha256=crU2Zc5tbvZ37Hq_FamFVqTuEitJVixUeX0dfNtPZA8,74693 -django/db/models/query_utils.py,sha256=95uWgaEszXNiS5WRG2pTV6qWI51USmXPV7G7RubPRes,12224 +django/db/models/deletion.py,sha256=rQt5kQ_fxE9SUFZQTDPyRJ6S0R9-QPvCjhZpXN1haf8,13517 +django/db/models/expressions.py,sha256=pXoWfuvHZbtPBXnw2pTJigtxauL_K6dRASB0MB93DDQ,47681 +django/db/models/indexes.py,sha256=EQerHFFNRSoaVKyG9uksFQdDD_zJ2RSdlADQVUt4GmU,4770 +django/db/models/lookups.py,sha256=16tOS72_G7amTT52f5zDIxnlblqruxLMJ50WqAU7YTc,19957 +django/db/models/manager.py,sha256=UCeTO9N4jXuY_BbyDxRdeDROW2y0gxSDSjZ3bb-q1mY,6767 +django/db/models/options.py,sha256=JhpjWS8zYuwvgd9rXh3fcm9N5RM0aI48HZBoBZMofQk,34333 +django/db/models/query.py,sha256=_dmK8u7ftL0uNYTK58T0W3SCa9g8IcDSWqbw4w-Bdb4,76436 +django/db/models/query_utils.py,sha256=moL03yUeZVtcTtvaUEK6bXNHgs2n7YqjntXu-Uxt6No,12240 django/db/models/signals.py,sha256=KWJCYuMFWrZPsLDPiM2TfkzC_Hq8gbEYWkvw-qXAA9w,2160 django/db/models/utils.py,sha256=1mQ_zPVpHleO_BFdEU714a09NMvSmR65-T3P31hhMEk,852 -django/db/models/fields/__init__.py,sha256=Fj9F7DO5aqOlNPAZZHwgx_Kq9CSibXW3WzEJW-Hr5FE,85914 -django/db/models/fields/files.py,sha256=qxz5IC6bYzW1JSto6j-sRzgHvb77MJAeFPt1aFrUXcU,17903 +django/db/models/fields/__init__.py,sha256=DLF7lk3eZF2wsDwkFpXhLEUuKEhXafURf277qGsUk18,83969 +django/db/models/fields/files.py,sha256=oRkgEqtvxQZa0GbgpaKJua83RKzHmNWSdkJ27oJlaU0,17776 django/db/models/fields/mixins.py,sha256=5Ckq4d1cZODHfViLGcUyuJwvVPyV-Kfd2aZJzY4ckxc,816 django/db/models/fields/proxy.py,sha256=fcJ2d1ZiY0sEouSq9SV7W1fm5eE3C_nMGky3Ma347dk,515 -django/db/models/fields/related.py,sha256=YSMq9uF8UETnnUfn-DHko46zY0Q870weHmYnzjfXX58,68335 -django/db/models/fields/related_descriptors.py,sha256=vONHdFpi4ARo3hruFYZYpLp6E8yuByGbQzpjWX-4S_M,49460 +django/db/models/fields/related.py,sha256=3CzWj1BoL_laArjsDvVsjsrZw4XI2uhGmk58W3smR6E,68039 +django/db/models/fields/related_descriptors.py,sha256=mUlt5ouyZvDvD6wlNpwrrL_egk3QXqiKjiMLKxZXOek,50897 django/db/models/fields/related_lookups.py,sha256=-T9rIa4aOgy3Uy8Q0QkTj8Npux0E8P4ZSVAf9jsMf6I,7023 django/db/models/fields/reverse_related.py,sha256=j-YOys46oqP7T-8xfjz3_5FcOWR_hMBBp2xg8xfFmSs,10046 -django/db/models/functions/__init__.py,sha256=QliWCZZiyOGHEaBMAwujzgV-Zrf8O9bNCgqb8CxXkrE,1174 -django/db/models/functions/base.py,sha256=9vjosVnqGU82AvEtHlrvDoTgYMbJbvf2QBxuhWzRFMc,7155 -django/db/models/functions/datetime.py,sha256=7KlQP-hcAQCGQcka3695m5JZ08Oe8aEmSvowSQgIr_c,9967 +django/db/models/functions/__init__.py,sha256=7rVkv-YDycLrrmauuwMD8ugPGtjmG9y3BP2oNm_eNaQ,1431 +django/db/models/functions/comparison.py,sha256=CwA2ofVbMAxYHs1kT4pl7BDIGIgwRCarIS8Gnshu1bA,3520 +django/db/models/functions/datetime.py,sha256=rSGg6x6ds8-auCrr8znlRC1mojEUtRjFsBKv8NwbRWQ,10522 +django/db/models/functions/text.py,sha256=ypZg-U0-REcBcyRCKoq7gmmrOQO79deCjaF9PPJ2Ay4,7768 django/db/models/functions/window.py,sha256=quryNTlbAO5vImSRbIQNxyFJ7jAq_M_1vmuyZSCgyMs,2948 django/db/models/sql/__init__.py,sha256=OcwrDD5reAtAe_L3iB6sm7uqzi1JOaoozN-p8veYZrc,252 -django/db/models/sql/compiler.py,sha256=i5h7wuT6aDBzphCqZhR7ntP0MvXWYlwyequaguJiCrs,66614 -django/db/models/sql/constants.py,sha256=p9_PSAOMk-5Gj2bR6mzrQZ5HGOFPxRCdxRk3Y8l1cXA,1039 +django/db/models/sql/compiler.py,sha256=oFgfG-rsfgJCUjHt4pgBxcCzuOBpkw0FC2uP3mu8YHE,66916 +django/db/models/sql/constants.py,sha256=gMg0n_j0fsfmqV5XFiywZXgSvuPq_WPV50ZSFlWYaCE,591 django/db/models/sql/datastructures.py,sha256=LPRTkrZ7Is1d4MMo29mWXV7s4W3u9f16UNAce3pk3a4,6721 -django/db/models/sql/query.py,sha256=tXt0czLKAc2iQvajqAGHeG7QANNLCF1mvgr0pcEFPz4,96644 -django/db/models/sql/subqueries.py,sha256=Hvu5xnsO4VLDDHKR6Q3h63VsiyASI3PCHQvU9i15G0w,7198 -django/db/models/sql/where.py,sha256=QQShEZva9Wa040FE_hfYpgUGPXBxm5JJBgTJcyWW4fo,7967 +django/db/models/sql/query.py,sha256=qXQcPhRK4KxZTadNx_pHj_cQWFpayp3L239-rKXcq2w,98944 +django/db/models/sql/subqueries.py,sha256=UuriPrgCjl1G0kH_hxgeavQVsjkOfLS-OwQQSzeKPYE,7207 +django/db/models/sql/where.py,sha256=VYEXqij3zeuDZdBP2p9FoiGb_A8dqlN-CBpzFjjv5Eo,7990 django/dispatch/__init__.py,sha256=qP203zNwjaolUFnXLNZHnuBn7HNzyw9_JkODECRKZbc,286 -django/dispatch/dispatcher.py,sha256=cZ9MkTFtcL366cFUAw8oOK9v9ofbhMWWyoL5aDG0P58,10848 +django/dispatch/dispatcher.py,sha256=77HBItSfGTPzNOnbhM4sMNEgSawl9yM1GWx48SJrr0Y,10707 django/dispatch/license.txt,sha256=VABMS2BpZOvBY68W0EYHwW5Cj4p4oCb-y1P3DAn0qU8,1743 django/forms/__init__.py,sha256=S6ckOMmvUX-vVST6AC-M8BzsfVQwuEUAdHWabMN-OGI,368 -django/forms/boundfield.py,sha256=aZmGbbiIJ_yA5iPw-sLCwWycQsCeKKaCFPVie7EzhVY,10749 -django/forms/fields.py,sha256=U76WvH2B-EeHm5edo1dRFtexkvUrNlzKbFCj_s4sjHU,44053 -django/forms/forms.py,sha256=WcLs14zO32u6QwNMOymzZXlh_hYSnrk5P1CgZIhixEM,20240 -django/forms/formsets.py,sha256=dkr74GXWf9L-dfcEe7JRmF_pqR2rIwOi7F7OxV5FmJY,18191 -django/forms/models.py,sha256=UVhQ7V6liv0TobbrjwTRs4yOZV-4zPQGzgzEJ-5xE3o,56012 -django/forms/renderers.py,sha256=mcfyrCSCSAYQTmII5g-82ZynuAv4S_P4FxLQ59ZYQck,1972 -django/forms/utils.py,sha256=3oMmxvzaruMZPMcEYCLOS8MUH4NK6SIyiAhW2kTVeME,5736 -django/forms/widgets.py,sha256=7sGuC_0BjvV36Qrk3qj2zmWyOpJTX1BNQ2Bpde_Vrvw,36765 +django/forms/boundfield.py,sha256=X7zpRwQNc6QQOPnrXA9t4eLiGJlFY209do7N4bSFzPc,9978 +django/forms/fields.py,sha256=d_AulzcHWkmEkUmAi2ohxnMj7U-ETaZUBUx6IrM-cx4,44727 +django/forms/forms.py,sha256=FFv07TkZhPV6_lvDBwQphE2fkOYMUSKL4X9p67IQI9M,20256 +django/forms/formsets.py,sha256=Aq9myIvXWdLUgLR2t9ZX61fCqoj83VCRAnTKH0qO7eE,18172 +django/forms/models.py,sha256=qcNLchGNPWtZ-Lk8nq01O-oXItVw_vFXk3279WjWUOY,56262 +django/forms/renderers.py,sha256=URxnFGbWNa5Mco2LNxQDrWWHmsXh4WY1QPLJ9rlTDpk,1975 +django/forms/utils.py,sha256=1EkxKX6-y-kj0Xzdwv-eJjL3zvbqjx0-Saw4EAOQAgg,5659 +django/forms/widgets.py,sha256=uBAYL55FJi4t7eTEABLjnFeD_Ca4mkNGyI8RTEDeKI0,36543 django/forms/jinja2/django/forms/widgets/attrs.html,sha256=_J2P-AOpHFhIwaqCNcrJFxEY4s-KPdy0Wcq0KlarIG0,172 django/forms/jinja2/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/jinja2/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 django/forms/jinja2/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/jinja2/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 +django/forms/jinja2/django/forms/widgets/clearable_file_input.html,sha256=f3TWFr6fXxgVfpKPM2QQgQzPXm9RsPtDs6lQfhnaUVU,461 django/forms/jinja2/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/jinja2/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/jinja2/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/jinja2/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/jinja2/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/input.html,sha256=_Cr3sQVyv3alcf77UOGvxAabSINCATkVX3qqlEP_ciE,174 -django/forms/jinja2/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 +django/forms/jinja2/django/forms/widgets/input.html,sha256=u12fZde-ugkEAAkPAtAfSxwGQmYBkXkssWohOUs-xoE,172 +django/forms/jinja2/django/forms/widgets/input_option.html,sha256=PyRNn9lmE9Da0-RK37zW4yJZUSiJWgIPCU9ou5oUC28,219 django/forms/jinja2/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 django/forms/jinja2/django/forms/widgets/multiple_input.html,sha256=O9W9tLA_gdxNqN_No2Tesd8_2GhOTyKEkCOnp_rUBn4,431 django/forms/jinja2/django/forms/widgets/multiwidget.html,sha256=pr-MxRyucRxn_HvBGZvbc3JbFyrAolbroxvA4zmPz2Y,86 @@ -3176,14 +3177,14 @@ django/forms/templates/django/forms/widgets/attrs.html,sha256=9ylIPv5EZg-rx2qPLg django/forms/templates/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 django/forms/templates/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/templates/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 +django/forms/templates/django/forms/widgets/clearable_file_input.html,sha256=f3TWFr6fXxgVfpKPM2QQgQzPXm9RsPtDs6lQfhnaUVU,461 django/forms/templates/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/input.html,sha256=522egUaO0QWqTWwqBIEdTZI23I_fqKpWw64hMEaccm0,191 -django/forms/templates/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 +django/forms/templates/django/forms/widgets/input.html,sha256=dwzzrLocGLZQIaGe-_X8k7z87jV6AFtn28LilnUnUH0,189 +django/forms/templates/django/forms/widgets/input_option.html,sha256=PyRNn9lmE9Da0-RK37zW4yJZUSiJWgIPCU9ou5oUC28,219 django/forms/templates/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 django/forms/templates/django/forms/widgets/multiple_input.html,sha256=HwEaZLEiZYdPJ6brC9QWRGaIKzcX5UA2Tj5Rsq_NvOk,462 django/forms/templates/django/forms/widgets/multiwidget.html,sha256=slk4AgCdXnVmFvavhjVcsza0quTOP2LG50D8wna0dw0,117 @@ -3201,139 +3202,137 @@ django/forms/templates/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2Ajrh django/forms/templates/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/forms/templates/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 django/http/__init__.py,sha256=5JImoB1BZNuZBOt5qyDX7t51McYbkDLX45eKmNN_Fes,1010 -django/http/cookie.py,sha256=7pFpsa7ITOB2LNv6lbXbt3DKwdJlFgsAKKSWFUmwO2w,1128 -django/http/multipartparser.py,sha256=xbOHPiGnO4mx7MyANA22hfduNKI1uKL5TSGrcVWepyE,24832 -django/http/request.py,sha256=93--k0OOpiRW-d6SbAnzXxbCUhXpvo2S_4wNbrgEo8U,20584 -django/http/response.py,sha256=7eN5TuQS2MEZ1HVpeGJPgp7527fNh7Y5hKjdZla4eWw,17512 +django/http/cookie.py,sha256=Zpg6OEW9-dGvr5ByQhlHyGjLJzvNNrnGL1WzolnsM6U,818 +django/http/multipartparser.py,sha256=nVsO_ltddU2WwGHpmx33-a2LPBvLCvhsSKJCrXMGYRs,24849 +django/http/request.py,sha256=z9XGii8L_R2vRpZp87uePIwtEvgDKxvZ7Lb3GN4_HQg,21421 +django/http/response.py,sha256=L0MV68QUJIn3h7nzoquIdeXTIoJSd6IQLraVGFZSDKQ,19825 django/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/middleware/cache.py,sha256=6_rVV_p0NXY75nfrU0JOt56O--x8CQ6ZcbGWnzjW3Eg,7570 +django/middleware/cache.py,sha256=O2o_oy_WqqOdIT8ncgTOFv--WQDZxslVPgKeV0ZGWc8,7721 django/middleware/clickjacking.py,sha256=4rzsG5m_Z2VabN7J_5ZVeFj14X3FAbs0iU5LKoBb9js,1733 -django/middleware/common.py,sha256=-C_VQObEpT9G9Y7OFx8UVNAwJhWQfSDicV0-WhEe-KM,8584 -django/middleware/csrf.py,sha256=L5zmV7loWuWktjUEUcFdPpjg5gXAPHyaO-zJpCpCasw,13363 +django/middleware/common.py,sha256=j8uL14Du1FaiY-tK87YEQRb1MsYSREqpLjWxkQzaVVM,7337 +django/middleware/csrf.py,sha256=fSlTeTCEz7K7BAwAUk4KMDajDoUsj7EPZGrXELGwOoU,13606 django/middleware/gzip.py,sha256=oq6J0L_1NLZuvV1F1MxuFPzdUS71301py0GWHBAmk2k,2060 -django/middleware/http.py,sha256=UO8H-fZpzpwiGDSD0sPoRqCAb3klksH25LFqkV6Dq8I,1636 -django/middleware/locale.py,sha256=QcxeqrDmZdEar1yhkGusYUIG0DdTlnkkf_E9L6SWy-o,3058 -django/middleware/security.py,sha256=he5CoJN5d5v61X2qDJr2eYGOetAK6X6l3O_1c0Zd69k,2016 +django/middleware/http.py,sha256=JiRGXvtfmXxYTomy7gde5pcG45GX7R0qpXiI5Fk06dE,1624 +django/middleware/locale.py,sha256=MLUCXirb6za_o2T4mKokGvow8Z-jTrUhfGBJ82y0Mz4,3017 +django/middleware/security.py,sha256=m8Ag9-DukNY29iaHIO0Jds-hBufbVT2qr_bmm1pnxVM,1952 django/template/__init__.py,sha256=t5onT26DOSny4Qi7iz_a82M5WJydvPpkb6hFjE010CE,1871 -django/template/base.py,sha256=N7CwNztY-nAEgYn0yv9ku9cqIkJZBFHvAs1FBPkXsLo,38193 -django/template/context.py,sha256=LkyuI1J-5iZk04ByzgQn7uxksqkTwWf7cHK--ucWIPU,9076 +django/template/base.py,sha256=wX19V7s2DclWn0hZbeUhI9AfwAAlER6MqfEC9CaNibo,38160 +django/template/context.py,sha256=XAKXR6_J6Ql0pNU05er8swd2JToS5l_PpNPSM77_E-A,8978 django/template/context_processors.py,sha256=drfyVYugSe1lg9VIbsC3oRLUG64Gw94Oq77FLfk2ZNI,2407 -django/template/defaultfilters.py,sha256=DCLCHdfQkseWVBRZxvf1Iyhkbwc419gNzKW4djYmw3o,25806 -django/template/defaulttags.py,sha256=b88tlGSi5OWIPjwtoWmYmzsG8QXCagiea8fB8MWxNlU,49943 +django/template/defaultfilters.py,sha256=_ku-wtdPwxSg06M8-LKn1J5ZnZKOkgkXZT6xe5VyAYc,25929 +django/template/defaulttags.py,sha256=e25ZEk3xgy9m-rBeC2yrWgz7q7iFYhvMarySnYcMH_Q,49642 django/template/engine.py,sha256=dWgo-JaCkgA0SCI_JmG5ZihzL0lbDZf5rTJyU1un49o,6886 django/template/exceptions.py,sha256=awd7B80xhFB574Lt2IdIyHCpD6KGGyuKGkIoalr9deo,1340 django/template/library.py,sha256=g2gi5FfSug-Wak2P4Weg7qGcwHrwIy47vse35YYkLbk,12812 django/template/loader.py,sha256=-t5cTnWJrxtS2vyg9cguz4rXxlTBni4XoJUuqJNglPI,2054 -django/template/loader_tags.py,sha256=ZDcJWpCogd9NecVimLthqnSfdRV3yQInZ7_fnagWKQQ,13329 +django/template/loader_tags.py,sha256=beGFoV5luVMZj6zaUaY1lUFv5gWzQqmDybHsnTOG8Jo,12306 django/template/response.py,sha256=dBq9wQvYEvCtHqpeK6Diw-yYkcQpbVDIeL22nckII3Q,5425 django/template/smartif.py,sha256=QBvsTtD4YiyGoU4hXrW8vqR0CBAFOZGuDoRP3aGEgOs,6408 -django/template/utils.py,sha256=xQ-lHLzXrSFx4xc9E2Tja6MZHKGkKRRATxKwvCe3MPU,3665 +django/template/utils.py,sha256=e30XcUAZkeMk2kp4kYZg-7wx2PQlBMqWOxCJoj8fEco,3589 django/template/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/template/backends/base.py,sha256=qu6TlykN2JAUeQqIbiGujYG1dEsXZmAMpnzmLP0gSPg,2757 +django/template/backends/base.py,sha256=P8dvOmQppJ8YMZ5_XyOJGDzspbQMNGV82GxL5IwrMFM,2751 django/template/backends/django.py,sha256=_w350tmHAMSLOw-b2o9rR0Wn6YX3QMkpHkkpvbo_EwI,4186 django/template/backends/dummy.py,sha256=Nl313SxX1rxE1F-5AHCljgejrYpYCx-QXJpNUkQWXR4,1767 django/template/backends/jinja2.py,sha256=bx8DcA2PqqzDmcgegY11pm5EhmD_gWTTLauGo91imL4,3504 -django/template/backends/utils.py,sha256=Wler787-GWAoQb6m7qaWdCfQoSBkHFLFECAdFe8xO_E,416 +django/template/backends/utils.py,sha256=5Ixx08oifnjpIFod1t9IRJJ_S-UCGk_-CH6oTuIZqXE,414 django/template/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/template/loaders/app_directories.py,sha256=w3a84EAXWX12w7F1CyxIQ_lFiTwxFS7xf3rCEcnUqyc,313 django/template/loaders/base.py,sha256=kvjmN-UHxdd6Pwgkexw7IHL0YeJQgXXbuz_tdj5ciKc,1558 -django/template/loaders/cached.py,sha256=n1t8aaDO_gq4aQUI2bFUSDDIE-SqrVzrXsvw661NTys,3669 +django/template/loaders/cached.py,sha256=tbkSEaMOyX9Ys29opTpI8Wui59beO25FJOHHm2MP6Vo,3619 django/template/loaders/filesystem.py,sha256=OWTnIwWbVj-Td5VrOkKw1G_6pIuz1Vnh5CedZN5glyU,1507 django/template/loaders/locmem.py,sha256=8cBYI8wPOOnIx_3v7fC5jezA_6pJLqgqObeLwHXQJKo,673 django/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/templatetags/cache.py,sha256=otY3c4Ti9YLxFfOuIX5TZ7w12aGDPkyGfQNsaPVZ_M0,3401 -django/templatetags/i18n.py,sha256=Nzk-jyMfH9Z7jkNTQV_yRNVvftJDKYpIvJiRTtFLCuw,19093 -django/templatetags/l10n.py,sha256=__KS2RJf9mlS9EMzYooKoP6XquP4FDwyOr_xaD3TAAM,1689 +django/templatetags/i18n.py,sha256=7pd69SElTWdpmT8esimpVZhykai1yopsNgGVSE_cR1I,18900 +django/templatetags/l10n.py,sha256=I6jRSBLvL34H-_rwGuHfU22VBhO2IHNRue78KWb8pTc,1723 django/templatetags/static.py,sha256=om3cu4NVaH4MVUq-XPLxPVNlLUCxTbbp0qAVVSaClj4,4502 django/templatetags/tz.py,sha256=HFzJsvh-x9yjoju4kiIpKAI0U_4crtoftqiT8llM_u8,5400 django/test/__init__.py,sha256=5FrmvgBrxzZo5UVLW9HZ1iHBMMhcnXcNL5Y2xnaqVPA,682 -django/test/client.py,sha256=PY1YqhOaqguGApZHRmvRi9XePB6oP4CgjM7RMQk6OvI,26876 -django/test/html.py,sha256=su6cUczjfqucIrEhyp2Y_6JGH8uesJrpcvcbH1GTvvI,7570 -django/test/runner.py,sha256=nMc4VuyKDusaL8CyV0l3N_Pu0uGhwl-OxmXfHepDNN0,25346 +django/test/client.py,sha256=Aapju8sI4dgM2idY6HFELCfVwCLESPjhcDGpEv1GMHI,28397 +django/test/html.py,sha256=Nx8vFCvSMr-nlUf9ColMKZJBw5TmfajkLaty4djObFY,7492 +django/test/runner.py,sha256=WMpgHdZT5Z-4VsyLmEA2SoTLHrl0qLQotXmxfNrM1Ec,25230 django/test/selenium.py,sha256=DFTUveBYZfODKHU_XN-UJpvm4VXeg-_uxTEH4SsC3fY,3271 django/test/signals.py,sha256=BQlO0pXZTOdcbhgW1gJLc16WW2Q75wx_2wheG5kCh9U,6729 -django/test/testcases.py,sha256=pezhRHclmZiPt4TH5O0-hVSYNRNpibv7oY1ON795wOg,55089 -django/test/utils.py,sha256=8Wepq7h56ONrPu5t2LUWnu6OD5B6n0MfXhh7ordVO1U,28391 +django/test/testcases.py,sha256=CAplm2AndSuYozF4x2DaJJXWoNALVxS6RvG9KMfJq4E,55675 +django/test/utils.py,sha256=P0cXxRd97JdBq8sv23uYwCyrS093LfDdUfohZe8tgb4,28539 django/urls/__init__.py,sha256=FdHfNv5NwWEIt1EqEpRY7xJ-i4tD-SCLj0tq3qT6X1E,959 django/urls/base.py,sha256=FyzHdMGoWj9chy8m4pxuEQggbrtbixY1VAvsWr6Pw4Q,5652 django/urls/conf.py,sha256=8Xug9NhJXDEysRXWrY2iHf0snfJMUmQkYZAomPltWMY,2946 -django/urls/converters.py,sha256=uukXCTD66n8NX_fiArq_s4p4to0oPqzuChNi6lpSAR8,1300 +django/urls/converters.py,sha256=HfSArZWl34VEqkkZQ5taQhweH86-MpcRQoKv-7XyhLs,1230 django/urls/exceptions.py,sha256=alLNjkORtAxneC00g4qnRpG5wouOHvJvGbymdpKtG_I,115 -django/urls/resolvers.py,sha256=pnzzI2gOhPWqmMrbYgGQa0r5UCoRraQ2MaMgd61xeGU,25312 +django/urls/resolvers.py,sha256=wstVJZ9VsWjmI6b19mazCZww_dETKN9ARK3hxbI3o1g,24733 django/urls/utils.py,sha256=VHDcmggNRHSbPJAql5KJhe7wX4pSjrKb64Fu-p14D9Q,2152 django/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/utils/_os.py,sha256=CYxm1Ju2X5bl2fKKsYyCgemWdv6LPhEiDkaV3t_zf30,2435 django/utils/archive.py,sha256=vfnm15A6vgrLvgzhKRE9oJvHhd1JvKtDKc1RibEfCug,7459 -django/utils/autoreload.py,sha256=QAj1ss_lF8hyTOMAACPso-Z6lNJM31044yLZFIIO-Hc,10325 +django/utils/autoreload.py,sha256=HB2RGHicFvWCeW3c2D2r9OFYExDQU18z0565kwz0xzM,10554 django/utils/baseconv.py,sha256=xYReIqcF2FFD85BqDrl48xo4UijII9D6YyC-FHsUPbw,2989 -django/utils/cache.py,sha256=yFegtgHpRPdb0KrTVmnDA66d-VEEmTRl8DQM-8hHzUc,16413 -django/utils/crypto.py,sha256=kmctPFVOMrZv-ZZJ_AnFsNSz3HBem3_J0vPqXPDo3l4,3092 -django/utils/datastructures.py,sha256=LECZu-BbSk2ZjunU1MGhC40lnA-12YuGEZ0uZp0zeOA,8559 +django/utils/cache.py,sha256=m9aWQpy33wBsfBx6xUFbwlM_YOdBaaXY4Fl17q6-2T8,15247 +django/utils/crypto.py,sha256=IIqgXjuPnXLufCY-nX61pSnAutVrr_cQXnSq6jrctNw,3079 +django/utils/datastructures.py,sha256=ziC6cuPqcvsE7dfadJhKj7GX2iVwl5OyQ-ENIt3tgKA,8467 django/utils/dateformat.py,sha256=YyUXezYqG_R-hMqSh4Q50qyTfvReD_4TTHVD2c1zH4U,11508 -django/utils/dateparse.py,sha256=bg5SFVRFkUG4E06ZmU9HMvlVVz8OWTLW0OM9MAQXdF4,4731 -django/utils/dates.py,sha256=LczKNLLK2B6tg9FlrZUXgH9E9w14IqpuJHFUHLq2nCg,2295 -django/utils/datetime_safe.py,sha256=OnmCe-x1GMGDSiamEWqXEqAeTYyYrCAXUjKmgla1SmA,2837 +django/utils/dateparse.py,sha256=1KNeTgoBPnZYFMrj60P0TqlXFKURG5Tk9ypvEZokLVg,4708 +django/utils/dates.py,sha256=hl7plurNHC7tj_9Olb7H7-LCtOhOV71oWg-xx5PBFh4,2021 +django/utils/datetime_safe.py,sha256=geoC3fteiPAeA3tpC4LQ1g9-vfYLq54-kXTCRmArFdg,2837 django/utils/deconstruct.py,sha256=hcO_7qassSI5dTfQ5CPttA8s3f9yaF8UnqKKma3bI6M,1975 -django/utils/decorators.py,sha256=6AftjSerJAtOAMjFGRbo3yTWvcaeRs0Li6jBslwPCAU,6796 -django/utils/deprecation.py,sha256=GvTCItgsfYJFhCvQ0pcmuyDDkaT5SCghhddns3YCzA0,3352 -django/utils/duration.py,sha256=e9u-nFSTt94c2xY91ZPILFei93yJbudefWlyCfYDd5s,1112 +django/utils/decorators.py,sha256=UJ92hn1jSEBroB5VzRpFjZ5VApDF8ugbYc8QPpIOJfk,6838 +django/utils/deprecation.py,sha256=-SsPYxHdjRhtkjrs1jmjgqTmLC05slUC6k3vd0vBiNE,3281 +django/utils/duration.py,sha256=VtDUAQKIPFuv6XkwG6gIjLQYtcs8vgGMcS4OQpSFx-E,1234 django/utils/encoding.py,sha256=5CQjnr34WWGN2aoevn3CoQy8OZmaIBtWITi4_eybjU0,8994 -django/utils/feedgenerator.py,sha256=GLhiXNYDBZGJUa0FQU6nL-q1wvLaro01cdljGJn7AGI,16280 -django/utils/formats.py,sha256=cbcND7BRRcA3FW9OXKR0ZUVcPip4bHzDMDXjAq1broo,8945 -django/utils/functional.py,sha256=agR0TMLGS89cRAH0q1_5C7oq_jWG8UGWCR8AQzK_c1U,13347 -django/utils/html.py,sha256=utvH0-Up6i4N7UD6JWyzsfy2qiJyMNLulVchD-qPnhY,13554 -django/utils/html_parser.py,sha256=r4_58apC-2nTlsb8U_IhAV6CkXyyomECwNUceXd1FjE,522 -django/utils/http.py,sha256=4cUoYHT_j2qV4WRbhOAmbl0OTNxBswsd8pdIYdWrI_k,15138 +django/utils/feedgenerator.py,sha256=2X45dxyq9h5DHX8Q1TADn8pSNiuplKTS2__WUquwlEE,15154 +django/utils/formats.py,sha256=vuB-IV1PlQH3qWQRtwFG6HqTeZinOc-iOXiZbioMpFs,8973 +django/utils/functional.py,sha256=xSQ2-kw1aKedl6bUQv94JsKCIE8DVWM8U2jjO8XHHpw,13308 +django/utils/html.py,sha256=8stBxmDdFRFYqj_kojEOHeS4QjsloDkU0Y64BhnyOfs,13964 +django/utils/http.py,sha256=OAYqba2-NWFuZHZXM--PIW5KbC_qtyzdiXSQXksT-hg,15297 django/utils/inspect.py,sha256=QWQvmtteqKw5m-EMj4ZK2ZwSx-DslUVk91z0Nkilylw,1688 django/utils/ipv6.py,sha256=WBkmZXdtbIHgcaWDKm4ElRvzyu_wKLCW2aA18g1RCJo,1350 django/utils/itercompat.py,sha256=lacIDjczhxbwG4ON_KfG1H6VNPOGOpbRhnVhbedo2CY,184 django/utils/jslex.py,sha256=jOes0kfZoIIPxPMNWkXMJ6D3x3f95B5cZWKXo38Rhcc,7707 -django/utils/log.py,sha256=NlJM6lVKcNIPORfcmIEbPWihftyrs0UVn9SPFsBXv0A,6379 +django/utils/log.py,sha256=EgHENXlsZvbOrGeCwhFM89cZmJe6FMsgG3DE5Zf3m1U,7617 django/utils/lorem_ipsum.py,sha256=P_BSLsITDP2ZW9EJPy6ciFneib0iz9ezBz2LD7CViRE,4775 django/utils/lru_cache.py,sha256=4g-svLUmsvn2wlS-rPEJbFr_ODqoar5qxwIjGxrLlxA,256 django/utils/module_loading.py,sha256=zmTlFLAdv20BhBHoPCDBBT2N7PAUrkYctAUDHF1kUPs,3649 -django/utils/numberformat.py,sha256=fuSLvYVK4lo_Wd71yWP5fxBKeOpMQ3fipIDkvw5TlHU,2476 -django/utils/regex_helper.py,sha256=ZNQL2n_QLFhDSSbOJUrV6LazOZ-L1BU8wROjlOP2MCY,12621 +django/utils/numberformat.py,sha256=1KTtU6R8MHjkrlzUYbInKbiSAtZv-q432hg7vcmjHd0,2520 +django/utils/regex_helper.py,sha256=4aWtTpg-WxCBF3VdjE0z1Q9m-0vEjUs4hBf0wQ2seNk,12225 django/utils/safestring.py,sha256=zI0FSoQ-pRtGzOP8vpxn9BePHXyTxMNh9hfrRNKV6EM,2473 django/utils/six.py,sha256=ecocr7GKytCmp9FbyOLDUR4_0vngcOjMJItxTGnTRV8,30502 -django/utils/synch.py,sha256=xPLelilO5ExgCHStSIszcYCAADOsghfDERY4ehkMGtM,2550 django/utils/termcolors.py,sha256=JrysYBjC72oq0WBL6EJ44A8ZEij_S7QsivoRQugxPEk,7362 -django/utils/text.py,sha256=YHtGXaflneMPZsJk-bOU6_CpxC-kIwqPObuH8S0YOks,14091 -django/utils/timesince.py,sha256=WVWenJ0639Kazt7-EhytpC5gnE99cAhP0azQasBcIaQ,2788 -django/utils/timezone.py,sha256=52BTXPDyAIDIjsbpM6AJ76VqMok7DtXN04aYHZjnR00,8234 -django/utils/tree.py,sha256=ZxMnEXezuaZPH1zrz5YggQZiSUuU9pxAfloM18JAc1g,4851 -django/utils/version.py,sha256=_XvHClAZhpqbwXr4wO5iUqT_BeuK2F8q6l21hL0Iy5U,2818 +django/utils/text.py,sha256=vDdp7fGsteeLdWhSYaidreYslL2fEPLpmb-Ts9cEhII,14085 +django/utils/timesince.py,sha256=omxCyBNSGn3wq-K1Px15ZzEAH2N45rfEqDcGpzcXLC0,3176 +django/utils/timezone.py,sha256=aiXyyWVz1fJg3e9Its_qwC_utMqHaGjD4Rx_kdV6H8E,8107 +django/utils/tree.py,sha256=eCRPj1GlFvZIP5i-OBq9i7bjIfdbndGewnhpmEPLis8,4829 +django/utils/version.py,sha256=6iP04QtIAc3QyEEWsvLArFi74NmqtIGX0vYtHbTJyDk,3214 django/utils/xmlutils.py,sha256=B3FOKaFNynp0fC1wliItPSKzNABSyc-0x897F7kEVj4,1184 -django/utils/translation/__init__.py,sha256=7-Prpm1Z_r4U9k5bC0QXtq1SZBx9H9txsz90k7spzuU,7499 -django/utils/translation/template.py,sha256=62Ipn0LYDaZwAPM9OQWgH8aKkuZ-xaIkj41bTio-1q0,9979 -django/utils/translation/trans_null.py,sha256=20q6ayK6V2aylDQzcFmtz-X3faye3SKedb9nDMl4opQ,1258 -django/utils/translation/trans_real.py,sha256=zgGTEZVPucPAnKOSrYKvs4dmPVs7R8ka68nVDdSkASg,18540 +django/utils/translation/__init__.py,sha256=EaG-dPrb0bQkDJz-5DX52LyY-weT2VxylaitW6bUhtk,7913 +django/utils/translation/template.py,sha256=YB4F--bYjTZgo7MFYhEFxXQIxLlZHEtGd16xWwDVit0,9958 +django/utils/translation/trans_null.py,sha256=yp82bHt5oqqL95Z5PFoYCZeENOulxzp-IqMmkWz0l9Y,1257 +django/utils/translation/trans_real.py,sha256=w26JJHilccATDJren03EwOUoNvPQtGQ4qHNPauUqHKk,17967 django/views/__init__.py,sha256=DGdAuGC0t1bMju9i-B9p_gqPgRIFHtLXTdIxNKWFGsw,63 django/views/csrf.py,sha256=TOnXES5w0BmUvyq7whGB6Z6Ds4-RotIVammFGN88UKY,6252 -django/views/debug.py,sha256=sDUdXdsVRLcJqccq7HqY6LDi0BaaUYNY3mHqpKLB0f0,20367 +django/views/debug.py,sha256=kZd_BbpZ8JVSsFIutl4txbPTEQaRqUmeuIdIoWYu59Y,20318 django/views/defaults.py,sha256=Q7qxucjUHPoQmjjT_p93erxGXNaNK2THO4OZrhTMw-k,4260 -django/views/i18n.py,sha256=I73xYV604j0tek35-o1r0-LO__5aEXiT4v8K1gDDAUE,11735 -django/views/static.py,sha256=FS-Z_Vvd1By9dOQdg2NeqgSI_7NU4KRmAuqubAfndxo,4623 +django/views/i18n.py,sha256=Qo720ZrN3dy7RZXk3n_djq_7ThEE-7jBPmD39VO1qnA,11717 +django/views/static.py,sha256=R1tS45T8r5P6Xa8umzH6RcO4dnhIzHnlSKFEpIobpHw,4548 django/views/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 django/views/decorators/cache.py,sha256=uSLzb61mCuFKIm8tR3Gs_NP1H7U-BOEU_QOc3IhBC_4,1705 django/views/decorators/clickjacking.py,sha256=EW-DRe2dR8yg4Rf8HRHl8c4-C8mL3HKGa6PxZRKmFtU,1565 django/views/decorators/csrf.py,sha256=xPWVVNw_DBidvX_ZVYvN7CePt1HpxpUxsb6wMr0Oe4Y,2073 django/views/decorators/debug.py,sha256=Q_ul_n8M89WoPL87mDYomZ74mv_djuudZZ-b-uB1I6s,2569 django/views/decorators/gzip.py,sha256=PtpSGd8BePa1utGqvKMFzpLtZJxpV2_Jej8llw5bCJY,253 -django/views/decorators/http.py,sha256=iMl98tvpUXs4mSg-d0S4soAV-E_ynr3MlRpwyff6CRY,4715 +django/views/decorators/http.py,sha256=NgZFNkaX0DwDJWUNNgj-FRbBOQEyW4KwbrWDZOa_9Go,4713 django/views/decorators/vary.py,sha256=6wEXI5yBFZYDVednNPc0bYbXGG-QzkIUQ-50ErDrA_k,1084 django/views/generic/__init__.py,sha256=WTnzEXnKyJqzHlLu_VsXInYg-GokDNBCUYNV_U6U-ok,822 -django/views/generic/base.py,sha256=QnQhKsAP8E83lwZo5Py8iOgjIoXfi_a6nrmmQoGfK08,7429 -django/views/generic/dates.py,sha256=V9AXAGCcMsiO5YxSFSQTCx19bACQaY_wBM5GH-5dbaI,25251 -django/views/generic/detail.py,sha256=X8fJS4Dg7qMSkstsDnGBpYw6Lmyr18tNYhRsoSBZNqk,6521 -django/views/generic/edit.py,sha256=bJAQ5HAK_upREBxmgUDWAbUMd56gw3Qk1Emiglmx7c8,8342 -django/views/generic/list.py,sha256=Z1ti5yZADM1rT-s_QqUyoRGDBeEX6rkoZxoE_CE0iMY,7388 +django/views/generic/base.py,sha256=t_awqO3zITdeJbiZVaAwZ-qcne2tGBryE0s4N_ZMSTo,7402 +django/views/generic/dates.py,sha256=E7iIlD-FIa3Zbxz0gQck0wJ420J1flA-USesv5rxdUI,25212 +django/views/generic/detail.py,sha256=m8otoffJXPW9ml-vAtXeM4asTT5I4pvuoR4BhjpWB6A,6507 +django/views/generic/edit.py,sha256=zPO3D8rFrSDjJG1OnRYn0frGqVq8VMKAEUihZU2NrIk,8332 +django/views/generic/list.py,sha256=GS6wVgiFz4MHsZXi7jfKjlSiHrrmZw8agJl26fVZwjM,7674 django/views/templates/default_urlconf.html,sha256=uTxHyCtjPV09MlXNBOjSq5meAfkhmJ72hCvlDOEtMwU,16595 django/views/templates/technical_404.html,sha256=nZT2gkPAYc7G8VNJXst-dEyim0t83xjX-TtCGtxJZwc,2453 django/views/templates/technical_500.html,sha256=ez3ErTVw3TUUhQOTipX6rHFpN9eiysKVRTz-maEwS2g,17218 django/views/templates/technical_500.txt,sha256=7VWOipQg2poVyusbM8dQHRyRR-iUB_dOehAoF0HBHNM,3367 ../../../bin/django-admin,sha256=g0bn4EH5ELirIW7VELdK9FOiJguzMlg_XsJkANX3uaA,295 -Django-2.0.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Django-2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 django/templatetags/__pycache__/tz.cpython-36.pyc,, django/templatetags/__pycache__/l10n.cpython-36.pyc,, django/templatetags/__pycache__/i18n.cpython-36.pyc,, @@ -3418,7 +3417,6 @@ django/core/management/commands/__pycache__/diffsettings.cpython-36.pyc,, django/core/management/commands/__pycache__/flush.cpython-36.pyc,, django/core/management/commands/__pycache__/runserver.cpython-36.pyc,, django/core/management/commands/__pycache__/shell.cpython-36.pyc,, -django/core/management/commands/__pycache__/__init__.cpython-36.pyc,, django/core/management/commands/__pycache__/test.cpython-36.pyc,, django/core/management/commands/__pycache__/createcachetable.cpython-36.pyc,, django/core/__pycache__/exceptions.cpython-36.pyc,, @@ -3494,7 +3492,6 @@ django/utils/translation/__pycache__/trans_null.cpython-36.pyc,, django/utils/__pycache__/tree.cpython-36.pyc,, django/utils/__pycache__/inspect.cpython-36.pyc,, django/utils/__pycache__/feedgenerator.cpython-36.pyc,, -django/utils/__pycache__/synch.cpython-36.pyc,, django/utils/__pycache__/duration.cpython-36.pyc,, django/utils/__pycache__/dateformat.cpython-36.pyc,, django/utils/__pycache__/timesince.cpython-36.pyc,, @@ -3526,7 +3523,6 @@ django/utils/__pycache__/lorem_ipsum.cpython-36.pyc,, django/utils/__pycache__/dates.cpython-36.pyc,, django/utils/__pycache__/http.cpython-36.pyc,, django/utils/__pycache__/jslex.cpython-36.pyc,, -django/utils/__pycache__/html_parser.cpython-36.pyc,, django/utils/__pycache__/__init__.cpython-36.pyc,, django/utils/__pycache__/decorators.cpython-36.pyc,, django/utils/__pycache__/dateparse.cpython-36.pyc,, @@ -3566,7 +3562,6 @@ django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length. django/contrib/auth/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/auth/management/commands/__pycache__/createsuperuser.cpython-36.pyc,, django/contrib/auth/management/commands/__pycache__/changepassword.cpython-36.pyc,, -django/contrib/auth/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/auth/__pycache__/context_processors.cpython-36.pyc,, django/contrib/auth/__pycache__/checks.cpython-36.pyc,, django/contrib/auth/__pycache__/admin.cpython-36.pyc,, @@ -3590,12 +3585,14 @@ django/contrib/auth/handlers/__pycache__/modwsgi.cpython-36.pyc,, django/contrib/auth/handlers/__pycache__/__init__.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/admin_list.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/admin_static.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/base.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/log.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/__init__.cpython-36.pyc,, django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-36.pyc,, django/contrib/admin/migrations/__pycache__/0001_initial.cpython-36.pyc,, django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc,, +django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-36.pyc,, django/contrib/admin/migrations/__pycache__/__init__.cpython-36.pyc,, django/contrib/admin/__pycache__/exceptions.cpython-36.pyc,, django/contrib/admin/__pycache__/checks.cpython-36.pyc,, @@ -3618,11 +3615,9 @@ django/contrib/admin/views/__pycache__/__init__.cpython-36.pyc,, django/contrib/admin/views/__pycache__/decorators.cpython-36.pyc,, django/contrib/staticfiles/templatetags/__pycache__/staticfiles.cpython-36.pyc,, django/contrib/staticfiles/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/contrib/staticfiles/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/staticfiles/management/commands/__pycache__/findstatic.cpython-36.pyc,, django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-36.pyc,, django/contrib/staticfiles/management/commands/__pycache__/runserver.cpython-36.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/staticfiles/__pycache__/handlers.cpython-36.pyc,, django/contrib/staticfiles/__pycache__/checks.cpython-36.pyc,, django/contrib/staticfiles/__pycache__/storage.cpython-36.pyc,, @@ -3678,6 +3673,7 @@ django/contrib/postgres/__pycache__/search.cpython-36.pyc,, django/contrib/postgres/__pycache__/utils.cpython-36.pyc,, django/contrib/postgres/__pycache__/__init__.cpython-36.pyc,, django/contrib/postgres/fields/__pycache__/jsonb.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/mixins.cpython-36.pyc,, django/contrib/postgres/fields/__pycache__/array.cpython-36.pyc,, django/contrib/postgres/fields/__pycache__/ranges.cpython-36.pyc,, django/contrib/postgres/fields/__pycache__/citext.cpython-36.pyc,, @@ -3700,9 +3696,7 @@ django/contrib/sessions/backends/__pycache__/file.cpython-36.pyc,, django/contrib/sessions/backends/__pycache__/base.cpython-36.pyc,, django/contrib/sessions/backends/__pycache__/cache.cpython-36.pyc,, django/contrib/sessions/backends/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/sessions/management/commands/__pycache__/clearsessions.cpython-36.pyc,, -django/contrib/sessions/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/sessions/__pycache__/serializers.cpython-36.pyc,, django/contrib/sessions/__pycache__/base_session.cpython-36.pyc,, django/contrib/sessions/__pycache__/exceptions.cpython-36.pyc,, @@ -3710,9 +3704,7 @@ django/contrib/sessions/__pycache__/models.cpython-36.pyc,, django/contrib/sessions/__pycache__/middleware.cpython-36.pyc,, django/contrib/sessions/__pycache__/apps.cpython-36.pyc,, django/contrib/sessions/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sitemaps/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/sitemaps/management/commands/__pycache__/ping_google.cpython-36.pyc,, -django/contrib/sitemaps/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/sitemaps/__pycache__/views.cpython-36.pyc,, django/contrib/sitemaps/__pycache__/apps.cpython-36.pyc,, django/contrib/sitemaps/__pycache__/__init__.cpython-36.pyc,, @@ -3725,7 +3717,6 @@ django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name django/contrib/contenttypes/migrations/__pycache__/__init__.cpython-36.pyc,, django/contrib/contenttypes/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc,, -django/contrib/contenttypes/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/contenttypes/__pycache__/checks.cpython-36.pyc,, django/contrib/contenttypes/__pycache__/admin.cpython-36.pyc,, django/contrib/contenttypes/__pycache__/forms.cpython-36.pyc,, @@ -3789,10 +3780,8 @@ django/contrib/gis/gdal/raster/__pycache__/__init__.cpython-36.pyc,, django/contrib/gis/admin/__pycache__/widgets.cpython-36.pyc,, django/contrib/gis/admin/__pycache__/options.cpython-36.pyc,, django/contrib/gis/admin/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/management/__pycache__/__init__.cpython-36.pyc,, django/contrib/gis/management/commands/__pycache__/inspectdb.cpython-36.pyc,, django/contrib/gis/management/commands/__pycache__/ogrinspect.cpython-36.pyc,, -django/contrib/gis/management/commands/__pycache__/__init__.cpython-36.pyc,, django/contrib/gis/utils/__pycache__/ogrinfo.cpython-36.pyc,, django/contrib/gis/utils/__pycache__/srs.cpython-36.pyc,, django/contrib/gis/utils/__pycache__/ogrinspect.cpython-36.pyc,, @@ -3919,7 +3908,6 @@ django/db/backends/oracle/__pycache__/client.cpython-36.pyc,, django/db/backends/oracle/__pycache__/operations.cpython-36.pyc,, django/db/backends/oracle/__pycache__/creation.cpython-36.pyc,, django/db/backends/oracle/__pycache__/functions.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/compiler.cpython-36.pyc,, django/db/backends/oracle/__pycache__/base.cpython-36.pyc,, django/db/backends/oracle/__pycache__/features.cpython-36.pyc,, django/db/backends/oracle/__pycache__/schema.cpython-36.pyc,, @@ -3981,8 +3969,9 @@ django/db/models/__pycache__/manager.cpython-36.pyc,, django/db/models/__pycache__/options.cpython-36.pyc,, django/db/models/__pycache__/__init__.cpython-36.pyc,, django/db/models/functions/__pycache__/datetime.cpython-36.pyc,, +django/db/models/functions/__pycache__/comparison.cpython-36.pyc,, +django/db/models/functions/__pycache__/text.cpython-36.pyc,, django/db/models/functions/__pycache__/window.cpython-36.pyc,, -django/db/models/functions/__pycache__/base.cpython-36.pyc,, django/db/models/functions/__pycache__/__init__.cpython-36.pyc,, django/db/models/fields/__pycache__/related.cpython-36.pyc,, django/db/models/fields/__pycache__/proxy.cpython-36.pyc,, diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/WHEEL b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/WHEEL similarity index 65% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/WHEEL rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/WHEEL index 6261a26..bff023e 100644 --- a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/WHEEL +++ b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: bdist_wheel (0.30.0) +Generator: bdist_wheel (0.31.1) Root-Is-Purelib: true Tag: py3-none-any diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/entry_points.txt b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/entry_points.txt similarity index 100% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/entry_points.txt rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/entry_points.txt diff --git a/thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/top_level.txt b/thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/top_level.txt similarity index 100% rename from thesisenv/lib/python3.6/site-packages/Django-2.0.6.dist-info/top_level.txt rename to thesisenv/lib/python3.6/site-packages/Django-2.1.dist-info/top_level.txt diff --git a/thesisenv/lib/python3.6/site-packages/classytags/__init__.py b/thesisenv/lib/python3.6/site-packages/classytags/__init__.py new file mode 100644 index 0000000..32a90a3 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/__init__.py @@ -0,0 +1 @@ +__version__ = '0.8.0' diff --git a/thesisenv/lib/python3.6/site-packages/classytags/arguments.py b/thesisenv/lib/python3.6/site-packages/classytags/arguments.py new file mode 100644 index 0000000..1d5617a --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/arguments.py @@ -0,0 +1,239 @@ +from django import template +from django.core.exceptions import ImproperlyConfigured + +from classytags.exceptions import InvalidFlag +from classytags.utils import NULL +from classytags.utils import TemplateConstant +from classytags.utils import mixin +from classytags.values import ChoiceValue +from classytags.values import DictValue +from classytags.values import IntegerValue +from classytags.values import ListValue +from classytags.values import StrictStringValue +from classytags.values import StringValue + + +class Argument(object): + """ + A basic single value argument. + """ + value_class = StringValue + + def __init__(self, name, default=None, required=True, resolve=True): + self.name = name + self.default = default + self.required = required + self.resolve = resolve + + def __repr__(self): # pragma: no cover + return '<%s: %s>' % (self.__class__.__name__, self.name) + + def get_default(self): + """ + Get the default value + """ + return TemplateConstant(self.default) + + def parse_token(self, parser, token): + if self.resolve: + return parser.compile_filter(token) + else: + return TemplateConstant(token) + + def parse(self, parser, token, tagname, kwargs): + """ + Parse a token. + """ + if self.name in kwargs: + return False + else: + value = self.parse_token(parser, token) + kwargs[self.name] = self.value_class(value) + return True + + +class StringArgument(Argument): + value_class = StrictStringValue + + +class KeywordArgument(Argument): + """ + A single 'key=value' argument + """ + wrapper_class = DictValue + + def __init__(self, name, default=None, required=True, resolve=True, + defaultkey=None, splitter='='): + super(KeywordArgument, self).__init__(name, default, required, resolve) + self.defaultkey = defaultkey + self.splitter = splitter + + def get_default(self): + if self.defaultkey: + return self.wrapper_class({ + self.defaultkey: TemplateConstant(self.default) + }) + else: + return self.wrapper_class({}) + + def parse_token(self, parser, token): + if self.splitter in token: + key, raw_value = token.split(self.splitter, 1) + value = super(KeywordArgument, self).parse_token(parser, raw_value) + else: + key = self.defaultkey + value = super(KeywordArgument, self).parse_token(parser, token) + return key, self.value_class(value) + + def parse(self, parser, token, tagname, kwargs): + if self.name in kwargs: # pragma: no cover + return False + else: + key, value = self.parse_token(parser, token) + kwargs[self.name] = self.wrapper_class({ + key: value + }) + return True + + +class IntegerArgument(Argument): + """ + Same as Argument but converts the value to integers. + """ + value_class = IntegerValue + + +class ChoiceArgument(Argument): + """ + An Argument which checks if it's value is in a predefined list of choices. + """ + + def __init__(self, name, choices, default=None, required=True, + resolve=True): + super(ChoiceArgument, self).__init__(name, default, required, resolve) + if default or not required: + value_on_error = default + else: + value_on_error = choices[0] + self.value_class = mixin( + self.value_class, + ChoiceValue, + attrs={ + 'choices': choices, + 'value_on_error': value_on_error, + } + ) + + +class MultiValueArgument(Argument): + """ + An argument which allows multiple values. + """ + sequence_class = ListValue + value_class = StringValue + + def __init__(self, name, default=NULL, required=True, max_values=None, + resolve=True): + self.max_values = max_values + if default is NULL: + default = [] + else: + required = False + super(MultiValueArgument, self).__init__(name, default, required, + resolve) + + def parse(self, parser, token, tagname, kwargs): + """ + Parse a token. + """ + value = self.value_class(self.parse_token(parser, token)) + if self.name in kwargs: + if self.max_values and len(kwargs[self.name]) == self.max_values: + return False + kwargs[self.name].append(value) + else: + kwargs[self.name] = self.sequence_class(value) + return True + + +class MultiKeywordArgument(KeywordArgument): + def __init__(self, name, default=None, required=True, resolve=True, + max_values=None, splitter='='): + if not default: + default = {} + else: + default = dict(default) + super(MultiKeywordArgument, self).__init__(name, default, required, + resolve, NULL, splitter) + self.max_values = max_values + + def get_default(self): + items = self.default.items() + return self.wrapper_class( + dict([(key, TemplateConstant(value)) for key, value in items]) + ) + + def parse(self, parser, token, tagname, kwargs): + key, value = self.parse_token(parser, token) + if key is NULL: + raise template.TemplateSyntaxError( + "MultiKeywordArgument arguments require key=value pairs" + ) + if self.name in kwargs: + if self.max_values and len(kwargs[self.name]) == self.max_values: + return False + kwargs[self.name][key] = value + else: + kwargs[self.name] = self.wrapper_class({ + key: value + }) + return True + + +class Flag(Argument): + """ + A boolean flag + """ + def __init__(self, name, default=NULL, true_values=None, false_values=None, + case_sensitive=False): + if default is not NULL: + required = False + else: + required = True + super(Flag, self).__init__(name, default, required) + if true_values is None: + true_values = [] + if false_values is None: + false_values = [] + if case_sensitive: + self.mod = lambda x: x + else: + self.mod = lambda x: str(x).lower() + self.true_values = [self.mod(tv) for tv in true_values] + self.false_values = [self.mod(fv) for fv in false_values] + if not any([self.true_values, self.false_values]): + raise ImproperlyConfigured( + "Flag must specify either true_values and/or false_values" + ) + + def parse(self, parser, token, tagname, kwargs): + """ + Parse a token. + """ + ltoken = self.mod(token) + if self.name in kwargs: + return False + if self.true_values and ltoken in self.true_values: + kwargs[self.name] = TemplateConstant(True) + elif self.false_values and ltoken in self.false_values: + kwargs[self.name] = TemplateConstant(False) + elif self.default is NULL: + allowed_values = [] + if self.true_values: + allowed_values += self.true_values + if self.false_values: + allowed_values += self.false_values + raise InvalidFlag(self.name, token, allowed_values, tagname) + else: + kwargs[self.name] = self.get_default() + return True diff --git a/thesisenv/lib/python3.6/site-packages/classytags/blocks.py b/thesisenv/lib/python3.6/site-packages/classytags/blocks.py new file mode 100644 index 0000000..ceca462 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/blocks.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +from django.core.exceptions import ImproperlyConfigured + + +def _collect(name, parser): + collector = getattr(name, 'collect', None) + if callable(collector): + return collector(parser) + return name + + +class BlockDefinition(object): + """ + Definition of 'parse-until-blocks' used by the parser. + """ + def __init__(self, alias, *names): + self.alias = alias + self.names = names + + def validate(self, options): + for name in self.names: + validator = getattr(name, 'validate', None) + if callable(validator): + validator(options) + + def collect(self, parser): + return [_collect(name, parser) for name in self.names] + + +class VariableBlockName(object): + def __init__(self, template, argname): + self.template = template + self.argname = argname + + def validate(self, options): + if self.argname not in options.all_argument_names: + raise ImproperlyConfigured( + "Invalid block definition, %r not a valid argument name, " + "available argument names: %r" % (self.argname, + options.all_argument_names) + ) + + def collect(self, parser): + value = parser.kwargs[self.argname] + return self.template % {'value': value.literal} diff --git a/thesisenv/lib/python3.6/site-packages/classytags/compat.py b/thesisenv/lib/python3.6/site-packages/classytags/compat.py new file mode 100644 index 0000000..074ce35 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/compat.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# flake8: noqa + +try: # pragma: no cover + compat_basestring = basestring +except NameError: + compat_basestring = str + +try: + compat_next = next +except NameError: # pragma: no cover + def compat_next(it): + return it.next() diff --git a/thesisenv/lib/python3.6/site-packages/classytags/core.py b/thesisenv/lib/python3.6/site-packages/classytags/core.py new file mode 100644 index 0000000..916930d --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/core.py @@ -0,0 +1,162 @@ +from operator import attrgetter + +from django.template import Node + +from classytags.blocks import BlockDefinition +from classytags.compat import compat_basestring +from classytags.parser import Parser +from classytags.utils import StructuredOptions +from classytags.utils import get_default_name + + +class Options(object): + """ + Option class holding the arguments of a tag. + """ + def __init__(self, *options, **kwargs): + self._options = options + self._kwargs = kwargs + self.options = {} + self.raw_options = options + self.breakpoints = [] + self.combined_breakpoints = {} + current_breakpoint = None + last = None + self.options[current_breakpoint] = [] + self.all_argument_names = [] + for value in options: + if isinstance(value, compat_basestring): + if isinstance(last, compat_basestring): + self.combined_breakpoints[last] = value + self.breakpoints.append(value) + current_breakpoint = value + self.options[current_breakpoint] = [] + else: + self.options[current_breakpoint].append(value) + self.all_argument_names.append(value.name) + last = value + self.blocks = [] + for block in kwargs.get('blocks', []): + if isinstance(block, BlockDefinition): + block_definition = block + elif isinstance(block, compat_basestring): + block_definition = BlockDefinition(block, block) + else: + block_definition = BlockDefinition(block[1], block[0]) + block_definition.validate(self) + self.blocks.append(block_definition) + if 'parser_class' in kwargs: + self.parser_class = kwargs['parser_class'] + else: + self.parser_class = Parser + + def __repr__(self): + bits = list(map(repr, self.options[None])) + for breakpoint in self.breakpoints: + bits.append(breakpoint) + for option in self.options[breakpoint]: + bits.append(repr(option)) + options = ','.join(bits) + if self.blocks: + blocks = ';%s' % ','.join(map(attrgetter('alias'), self.blocks)) + else: # pragma: no cover + blocks = '' + return '' % (options, blocks) + + def __add__(self, other): + if not isinstance(other, Options): + raise TypeError("Cannot add Options to non-Options object") + if self.blocks and other.blocks: + raise ValueError( + "Cannot add two Options objects if both objects define blocks" + ) + if self.parser_class is not other.parser_class: + raise ValueError( + "Cannot add two Options objects with different parser classes" + ) + full_options = self._options + other._options + full_kwargs = { + 'parser_class': self.parser_class + } + if self._kwargs.get('blocks', False): + full_kwargs['blocks'] = self._kwargs['blocks'] + elif other._kwargs.get('blocks', False): + full_kwargs['blocks'] = other._kwargs['blocks'] + return Options(*full_options, **full_kwargs) + + def get_parser_class(self): + return self.parser_class + + def bootstrap(self): + """ + Bootstrap this options + """ + return StructuredOptions( + self.options, + self.breakpoints, + self.blocks, + self.combined_breakpoints + ) + + def parse(self, parser, tokens): + """ + Parse template tokens into a dictionary + """ + argument_parser_class = self.get_parser_class() + argument_parser = argument_parser_class(self) + return argument_parser.parse(parser, tokens) + + +class TagMeta(type): + """ + Metaclass for the Tag class that set's the name attribute onto the class + and a _decorated_function pseudo-function which is used by Django's + template system to get the tag name. + """ + def __new__(cls, name, bases, attrs): + parents = [base for base in bases if isinstance(base, TagMeta)] + if not parents: + return super(TagMeta, cls).__new__(cls, name, bases, attrs) + tag_name = str(attrs.get('name', get_default_name(name))) + + def fake_func(): + pass # pragma: no cover + + fake_func.__name__ = tag_name + attrs['_decorated_function'] = fake_func + attrs['name'] = str(tag_name) + return super(TagMeta, cls).__new__(cls, name, bases, attrs) + + +class Tag(TagMeta('TagMeta', (Node,), {})): + """ + Main Tag class. + """ + options = Options() + name = None + + def __init__(self, parser, tokens): + self.kwargs, self.blocks = self.options.parse(parser, tokens) + self.child_nodelists = [] + for key, value in self.blocks.items(): + setattr(self, key, value) + self.child_nodelists.append(key) + + def render(self, context): + """ + INTERNAL method to prepare rendering + Usually you should not override this method, but rather use render_tag. + """ + items = self.kwargs.items() + kwargs = dict([(key, value.resolve(context)) for key, value in items]) + kwargs.update(self.blocks) + return self.render_tag(context, **kwargs) + + def render_tag(self, context, **kwargs): + """ + The method you should override in your custom tags + """ + raise NotImplementedError + + def __repr__(self): + return '' % self.name diff --git a/thesisenv/lib/python3.6/site-packages/classytags/exceptions.py b/thesisenv/lib/python3.6/site-packages/classytags/exceptions.py new file mode 100644 index 0000000..6c632b3 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/exceptions.py @@ -0,0 +1,66 @@ +from django.template import TemplateSyntaxError + +__all__ = ['ArgumentRequiredError', 'InvalidFlag', 'BreakpointExpected', + 'TooManyArguments'] + + +class BaseError(TemplateSyntaxError): + template = '' + + def __str__(self): # pragma: no cover + return self.template % self.__dict__ + + +class ArgumentRequiredError(BaseError): + template = "The tag '%(tagname)s' requires the '%(argname)s' argument." + + def __init__(self, argument, tagname): + self.argument = argument + self.tagname = tagname + self.argname = self.argument.name + + +class InvalidFlag(BaseError): + template = ("The flag '%(argname)s' for the tag '%(tagname)s' must be one " + "of %(allowed_values)s, but got '%(actual_value)s'") + + def __init__(self, argname, actual_value, allowed_values, tagname): + self.argname = argname + self.tagname = tagname + self.actual_value = actual_value + self.allowed_values = allowed_values + + +class BreakpointExpected(BaseError): + template = ("Expected one of the following breakpoints: %(breakpoints)s " + "in %(tagname)s, got '%(got)s' instead.") + + def __init__(self, tagname, breakpoints, got): + self.breakpoints = ', '.join(["'%s'" % bp for bp in breakpoints]) + self.tagname = tagname + self.got = got + + +class TrailingBreakpoint(BaseError): + template = ( + "Tag %(tagname)s ends in trailing breakpoint '%(breakpoint)s' without " + "an argument following." + ) + + def __init__(self, tagname, breakpoint): + self.tagname = tagname + self.breakpoint = breakpoint + + +class TooManyArguments(BaseError): + template = "The tag '%(tagname)s' got too many arguments: %(extra)s" + + def __init__(self, tagname, extra): + self.tagname = tagname + self.extra = ', '.join(["'%s'" % e for e in extra]) + + +class TemplateSyntaxWarning(Warning): + """ + Used for variable cleaning TemplateSyntaxErrors when in non-debug-mode. + """ diff --git a/thesisenv/lib/python3.6/site-packages/classytags/helpers.py b/thesisenv/lib/python3.6/site-packages/classytags/helpers.py new file mode 100644 index 0000000..59e2a00 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/helpers.py @@ -0,0 +1,104 @@ +from django.core.exceptions import ImproperlyConfigured +from django.template.loader import render_to_string + +from classytags.core import Tag +from classytags.utils import flatten_context + + +class AsTag(Tag): + """ + Same as tag but allows for an optional 'as varname'. The 'as varname' + options must be added 'manually' to the options class. + """ + def __init__(self, parser, tokens): + super(AsTag, self).__init__(parser, tokens) + if len(self.options.breakpoints) < 1: + raise ImproperlyConfigured( + "AsTag subclasses require at least one breakpoint." + ) + last_breakpoint = self.options.options[self.options.breakpoints[-1]] + optscount = len(last_breakpoint) + if optscount != 1: + raise ImproperlyConfigured( + "The last breakpoint of AsTag subclasses require exactly one " + "argument, got %s instead." % optscount + ) + self.varname_name = last_breakpoint[-1].name + + def render_tag(self, context, **kwargs): + """ + INTERNAL! + + Get's the value for the current context and arguments and puts it into + the context if needed or returns it. + """ + varname = kwargs.pop(self.varname_name) + if varname: + value = self.get_value_for_context(context, **kwargs) + context[varname] = value + return '' + else: + value = self.get_value(context, **kwargs) + return value + + def get_value_for_context(self, context, **kwargs): + """ + Called when a value for a varname (in the "as varname" case) should is + requested. This can be used to for example suppress exceptions in this + case. + + Returns the value to be set. + """ + return self.get_value(context, **kwargs) + + def get_value(self, context, **kwargs): + """ + Returns the value for the current context and arguments. + """ + raise NotImplementedError + + +class InclusionTag(Tag): + """ + A helper Tag class which allows easy inclusion tags. + + The template attribute must be set. + + Instead of render_tag, override get_context in your subclasses. + + Optionally override get_template in your subclasses. + """ + template = None + push_context = False + + def render_tag(self, context, **kwargs): + """ + INTERNAL! + + Gets the context and data to render. + """ + template = self.get_template(context, **kwargs) + if self.push_context: + safe_context = flatten_context(context) + data = self.get_context(safe_context, **kwargs) + safe_context.update(**data) + output = render_to_string(template, safe_context) + else: + new_context = context.new( + flatten_context(self.get_context(context, **kwargs)) + ) + data = flatten_context(new_context) + output = render_to_string(template, data) + return output + + def get_template(self, context, **kwargs): + """ + Returns the template to be used for the current context and arguments. + """ + return self.template + + def get_context(self, context, **kwargs): + """ + Returns the context to render the template with. + """ + return {} diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/auth/management/commands/__init__.py b/thesisenv/lib/python3.6/site-packages/classytags/models.py similarity index 100% rename from thesisenv/lib/python3.6/site-packages/django/contrib/auth/management/commands/__init__.py rename to thesisenv/lib/python3.6/site-packages/classytags/models.py diff --git a/thesisenv/lib/python3.6/site-packages/classytags/parser.py b/thesisenv/lib/python3.6/site-packages/classytags/parser.py new file mode 100644 index 0000000..fa59393 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/parser.py @@ -0,0 +1,207 @@ +from copy import deepcopy + +from django import template + +from classytags.exceptions import ArgumentRequiredError +from classytags.exceptions import BreakpointExpected +from classytags.exceptions import TooManyArguments +from classytags.exceptions import TrailingBreakpoint + + +class Parser(object): + """ + Argument parsing class. A new instance of this gets created each time a tag + get's parsed. + """ + def __init__(self, options): + self.options = options.bootstrap() + + def parse(self, parser, tokens): + """ + Parse a token stream + """ + self.parser = parser + self.bits = tokens.split_contents() + self.tagname = self.bits.pop(0) + self.kwargs = {} + self.blocks = {} + self.forced_next = None + # Get the first chunk of arguments until the next breakpoint + self.arguments = self.options.get_arguments() + self.current_argument = None + # get a copy of the bits (tokens) + self.todo = list(self.bits) + # parse the bits (tokens) + breakpoint = False + for bit in self.bits: + breakpoint = self.handle_bit(bit) + if breakpoint: + raise TrailingBreakpoint(self.tagname, breakpoint) + # finish the bits (tokens) + self.finish() + # parse block tags + self.parse_blocks() + return self.kwargs, self.blocks + + def handle_bit(self, bit): + """ + Handle the current bit + """ + breakpoint = False + if self.forced_next is not None: + if bit != self.forced_next: + raise BreakpointExpected(self.tagname, [self.forced_next], bit) + elif bit in self.options.reversed_combined_breakpoints: + expected = self.options.reversed_combined_breakpoints[bit] + raise BreakpointExpected(self.tagname, [expected], bit) + # Check if the current bit is the next breakpoint + if bit == self.options.next_breakpoint: + self.handle_next_breakpoint(bit) + breakpoint = bit + # Check if the current bit is a future breakpoint + elif bit in self.options.breakpoints: + self.handle_breakpoints(bit) + breakpoint = bit + # Otherwise it's a 'normal' argument + else: + self.handle_argument(bit) + if bit in self.options.combined_breakpoints: + self.forced_next = self.options.combined_breakpoints[bit] + else: + self.forced_next = None + # remove from todos + del self.todo[0] + return breakpoint + + def handle_next_breakpoint(self, bit): + """ + Handle a bit which is the next breakpoint by checking the current + breakpoint scope is finished or can be finished and then shift to the + next scope. + """ + # Check if any unhandled argument in the current breakpoint is required + self.check_required() + # Shift the breakpoint to the next one + self.options.shift_breakpoint() + # Get the next chunk of arguments + self.arguments = self.options.get_arguments() + if self.arguments: + self.current_argument = self.arguments.pop(0) + else: + self.current_argument = None + + def handle_breakpoints(self, bit): + """ + Handle a bit which is a future breakpoint by trying to finish all + intermediate breakpoint codes as well as the current scope and then + shift. + """ + # While we're not at our target breakpoint + while bit != self.options.current_breakpoint: + # Check required arguments + self.check_required() + # Shift to the next breakpoint + self.options.shift_breakpoint() + self.arguments = self.options.get_arguments() + self.current_argument = self.arguments.pop(0) + + def handle_argument(self, bit): + """ + Handle the current argument. + """ + # If we don't have an argument yet + if self.current_argument is None: + try: + # try to get the next one + self.current_argument = self.arguments.pop(0) + except IndexError: + # If we don't have any arguments, left, raise a + # TooManyArguments error + raise TooManyArguments(self.tagname, self.todo) + # parse the current argument and check if this bit was handled by this + # argument + handled = self.current_argument.parse(self.parser, bit, self.tagname, + self.kwargs) + # While this bit is not handled by an argument + while not handled: + try: + # Try to get the next argument + self.current_argument = self.arguments.pop(0) + except IndexError: + # If there is no next argument but there are still breakpoints + # Raise an exception that we expected a breakpoint + if self.options.breakpoints: + raise BreakpointExpected(self.tagname, + self.options.breakpoints, bit) + elif self.options.next_breakpoint: + raise BreakpointExpected(self.tagname, + [self.options.next_breakpoint], + bit) + else: + # Otherwise raise a TooManyArguments excption + raise TooManyArguments(self.tagname, self.todo) + # Try next argument + handled = self.current_argument.parse(self.parser, bit, + self.tagname, self.kwargs) + + def finish(self): + """ + Finish up parsing by checking all remaining breakpoint scopes + """ + # Check if there are any required arguments left in the current + # breakpoint + self.check_required() + # While there are still breakpoints left + while self.options.next_breakpoint: + # Shift to the next breakpoint + self.options.shift_breakpoint() + self.arguments = self.options.get_arguments() + # And check this breakpoints arguments for required arguments. + self.check_required() + + def parse_blocks(self): + """ + Parse template blocks for block tags. + + Example: + {% a %} b {% c %} d {% e %} f {% g %} + => pre_c: b + pre_e: d + pre_g: f + {% a %} b {% f %} + => pre_c: b + pre_e: None + pre_g: None + """ + # if no blocks are defined, bail out + if not self.options.blocks: + return + # copy the blocks + blocks = deepcopy(self.options.blocks) + identifiers = {} + for block in blocks: + identifiers[block] = block.collect(self) + while blocks: + current_block = blocks.pop(0) + current_identifiers = identifiers[current_block] + block_identifiers = list(current_identifiers) + for block in blocks: + block_identifiers += identifiers[block] + nodelist = self.parser.parse(block_identifiers) + token = self.parser.next_token() + while token.contents not in current_identifiers: + empty_block = blocks.pop(0) + current_identifiers = identifiers[empty_block] + self.blocks[empty_block.alias] = template.NodeList() + self.blocks[current_block.alias] = nodelist + + def check_required(self): + """ + Iterate over arguments, checking if they're required, otherwise + populating the kwargs dictionary with their defaults. + """ + for argument in self.arguments: + if argument.required: + raise ArgumentRequiredError(argument, self.tagname) + else: + self.kwargs[argument.name] = argument.get_default() diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/contenttypes/management/commands/__init__.py b/thesisenv/lib/python3.6/site-packages/classytags/test/__init__.py similarity index 100% rename from thesisenv/lib/python3.6/site-packages/django/contrib/contenttypes/management/commands/__init__.py rename to thesisenv/lib/python3.6/site-packages/classytags/test/__init__.py diff --git a/thesisenv/lib/python3.6/site-packages/classytags/test/context_managers.py b/thesisenv/lib/python3.6/site-packages/classytags/test/context_managers.py new file mode 100644 index 0000000..71f5c44 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/test/context_managers.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +from django import template +from django.conf import settings + + +try: + Engine = None + builtins = template.base.builtins +except AttributeError: + from django.template.engine import Engine + builtins = Engine.get_default().template_builtins + + +class NULL: + pass + + +class SettingsOverride(object): # pragma: no cover + """ + Overrides Django settings within a context and resets them to their inital + values on exit. + + Example: + + with SettingsOverride(DEBUG=True): + # do something + """ + def __init__(self, **overrides): + self.overrides = overrides + + def __enter__(self): + self.old = {} + for key, value in self.overrides.items(): + self.old[key] = getattr(settings, key, NULL) + setattr(settings, key, value) + + def __exit__(self, type, value, traceback): + for key, value in self.old.items(): + if value is not NULL: + setattr(settings, key, value) + else: + delattr(settings, key) # do not pollute the context! + + +class TemplateTags(object): # pragma: no cover + def __init__(self, *tags): + self.lib = template.Library() + for tag in tags: + self.lib.tag(tag) + + def __enter__(self): + self.old = list(builtins) + builtins.insert(0, self.lib) + + def __exit__(self, type, value, traceback): + builtins[:] = self.old diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/gis/management/__init__.py b/thesisenv/lib/python3.6/site-packages/classytags/test/project/__init__.py similarity index 100% rename from thesisenv/lib/python3.6/site-packages/django/contrib/gis/management/__init__.py rename to thesisenv/lib/python3.6/site-packages/classytags/test/project/__init__.py diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/gis/management/commands/__init__.py b/thesisenv/lib/python3.6/site-packages/classytags/test/project/models.py similarity index 100% rename from thesisenv/lib/python3.6/site-packages/django/contrib/gis/management/commands/__init__.py rename to thesisenv/lib/python3.6/site-packages/classytags/test/project/models.py diff --git a/thesisenv/lib/python3.6/site-packages/classytags/tests.py b/thesisenv/lib/python3.6/site-packages/classytags/tests.py new file mode 100644 index 0000000..a496610 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/tests.py @@ -0,0 +1,1547 @@ +from __future__ import with_statement + +import os +import sys +import warnings +from distutils.version import LooseVersion +import operator +from unittest import TestCase + +import django +from django import template +from django.core.exceptions import ImproperlyConfigured +from django.template import Context, RequestContext +from django.test import RequestFactory + +from classytags import arguments +from classytags import core +from classytags import exceptions +from classytags import helpers +from classytags import parser +from classytags import utils +from classytags import values +from classytags.blocks import BlockDefinition +from classytags.blocks import VariableBlockName +from classytags.compat import compat_next +from classytags.test.context_managers import SettingsOverride +from classytags.test.context_managers import TemplateTags + +DJANGO_1_4_OR_HIGHER = ( + LooseVersion(django.get_version()) >= LooseVersion('1.4') +) +DJANGO_1_5_OR_HIGHER = ( + LooseVersion(django.get_version()) >= LooseVersion('1.5') +) + +CLASSY_TAGS_DIR = os.path.abspath(os.path.dirname(__file__)) + + +class DummyTokens(list): + def __init__(self, *tokens): + super(DummyTokens, self).__init__(['dummy_tag'] + list(tokens)) + + def split_contents(self): + return self + + +class DummyParser(object): + @staticmethod + def compile_filter(token): + return utils.TemplateConstant(token) +dummy_parser = DummyParser() + + +class _Warning(object): + def __init__(self, message, category, filename, lineno): + self.message = message + self.category = category + self.filename = filename + self.lineno = lineno + + +def _collect_warnings(observe_warning, f, *args, **kwargs): + def show_warning(message, category, filename, lineno, file=None, + line=None): + assert isinstance(message, Warning) + observe_warning( + _Warning(message.args[0], category, filename, lineno) + ) + + # Disable the per-module cache for every module otherwise if the warning + # which the caller is expecting us to collect was already emitted it won't + # be re-emitted by the call to f which happens below. + for v in sys.modules.values(): # pragma: no cover + if v is not None: + try: + v.__warningregistry__ = None + except: + # Don't specify a particular exception type to handle in case + # some wacky object raises some wacky exception in response to + # the setattr attempt. + pass + + orig_filters = warnings.filters[:] + orig_show = warnings.showwarning + warnings.simplefilter('always') + try: + warnings.showwarning = show_warning + result = f(*args, **kwargs) + finally: + warnings.filters[:] = orig_filters + warnings.showwarning = orig_show + return result + + +class ClassytagsTests(TestCase): + def failUnlessWarns(self, category, message, f, *args, **kwargs): + warnings_shown = [] + result = _collect_warnings(warnings_shown.append, f, *args, **kwargs) + + if not warnings_shown: # pragma: no cover + self.fail("No warnings emitted") + first = warnings_shown[0] + for other in warnings_shown[1:]: # pragma: no cover + if ((other.message, other.category) != + (first.message, first.category)): + self.fail("Can't handle different warnings") + self.assertEqual(first.message, message) + self.assertTrue(first.category is category) + + return result + assertWarns = failUnlessWarns + + def _tag_tester(self, klass, templates): + """ + Helper method to test a template tag by rendering it and checkout + output. + + *klass* is a template tag class (subclass of core.Tag) + *templates* is a sequence of a triple (template-string, output-string, + context) + """ + + tag_message = ("Rendering of template %(in)r resulted in " + "%(realout)r, expected %(out)r using %(ctx)r.") + + with TemplateTags(klass): + for tpl, out, ctx in templates: + t = template.Template(tpl) + c = template.Context(ctx) + s = t.render(c) + self.assertEqual(s, out, tag_message % { + 'in': tpl, + 'out': out, + 'ctx': ctx, + 'realout': s, + }) + for key, value in ctx.items(): + self.assertEqual(c.get(key), value) + + def test_simple_parsing(self): + """ + Test very basic single argument parsing + """ + options = core.Options( + arguments.Argument('myarg'), + ) + dummy_tokens = DummyTokens('myval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), 'myval') + + def test_simple_parsing_too_many_arguments(self): + options = core.Options( + arguments.Argument('myarg'), + ) + dummy_tokens = DummyTokens('myval', 'myval2') + self.assertRaises(exceptions.TooManyArguments, + options.parse, dummy_parser, dummy_tokens) + + def test_optional_default(self): + """ + Test basic optional argument parsing + """ + options = core.Options( + arguments.Argument('myarg'), + arguments.Argument('optarg', required=False, default=None), + ) + dummy_tokens = DummyTokens('myval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 2) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), 'myval') + self.assertEqual(kwargs['optarg'].resolve(dummy_context), None) + + def test_optional_given(self): + options = core.Options( + arguments.Argument('myarg'), + arguments.Argument('optarg', required=False, default=None), + ) + dummy_tokens = DummyTokens('myval', 'optval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 2) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), 'myval') + self.assertEqual(kwargs['optarg'].resolve(dummy_context), 'optval') + + def test_breakpoints_not_enough_arguments(self): + """ + Test parsing with breakpoints + """ + options = core.Options( + arguments.Argument('myarg'), + 'as', + arguments.Argument('varname'), + 'using', + arguments.Argument('using'), + ) + dummy_tokens = DummyTokens('myval') + self.assertRaises(exceptions.ArgumentRequiredError, + options.parse, dummy_parser, dummy_tokens) + + def test_breakpoint_breakpoint_expected(self): + options = core.Options( + arguments.Argument('myarg'), + 'as', + arguments.Argument('varname'), + 'using', + arguments.Argument('using'), + ) + dummy_tokens = DummyTokens('myval', 'myname') + self.assertRaises(exceptions.BreakpointExpected, + options.parse, dummy_parser, dummy_tokens) + + def test_breakpoint_breakpoint_expected_second(self): + options = core.Options( + arguments.Argument('myarg'), + 'as', + arguments.Argument('varname'), + 'using', + arguments.Argument('using'), + ) + dummy_tokens = DummyTokens('myval', 'as', 'myname', 'something') + self.assertRaises(exceptions.BreakpointExpected, + options.parse, dummy_parser, dummy_tokens) + + def test_breakpoint_trailing(self): + options = core.Options( + arguments.Argument('myarg'), + 'as', + arguments.Argument('varname', required=False), + ) + dummy_tokens = DummyTokens('myval', 'as') + self.assertRaises(exceptions.TrailingBreakpoint, + options.parse, dummy_parser, dummy_tokens) + + def test_breakpoint_okay(self): + options = core.Options( + arguments.Argument('myarg'), + 'as', + arguments.Argument('varname'), + 'using', + arguments.Argument('using'), + ) + dummy_tokens = DummyTokens('myval', 'as', 'myname', 'using', + 'something') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 3) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), 'myval') + self.assertEqual(kwargs['varname'].resolve(dummy_context), 'myname') + self.assertEqual(kwargs['using'].resolve(dummy_context), 'something') + + def test_flag_true_value(self): + """ + Test flag arguments + """ + options = core.Options( + arguments.Flag('myflag', true_values=['on'], false_values=['off']) + ) + dummy_tokens = DummyTokens('on') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(kwargs['myflag'].resolve(dummy_context), True) + + def test_flag_false_value(self): + options = core.Options( + arguments.Flag('myflag', true_values=['on'], false_values=['off']) + ) + dummy_tokens = DummyTokens('off') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(kwargs['myflag'].resolve(dummy_context), False) + + def test_flag_wrong_value(self): + options = core.Options( + arguments.Flag('myflag', true_values=['on'], false_values=['off']) + ) + # test exceptions + dummy_tokens = DummyTokens('myval') + self.assertRaises(exceptions.InvalidFlag, + options.parse, dummy_parser, dummy_tokens) + + def test_flag_wrong_value_no_false(self): + options = core.Options( + arguments.Flag('myflag', true_values=['on']) + ) + dummy_tokens = DummyTokens('myval') + self.assertRaises(exceptions.InvalidFlag, + options.parse, dummy_parser, dummy_tokens) + + def test_flag_wrong_value_no_true(self): + options = core.Options( + arguments.Flag('myflag', false_values=['off']) + ) + dummy_tokens = DummyTokens('myval') + self.assertRaises(exceptions.InvalidFlag, + options.parse, dummy_parser, dummy_tokens) + self.assertRaises(ImproperlyConfigured, arguments.Flag, 'myflag') + + def test_case_sensitive_flag_typo(self): + # test case sensitive flag + options = core.Options( + arguments.Flag('myflag', true_values=['on'], default=False, + case_sensitive=True) + ) + dummy_tokens = DummyTokens('On') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(kwargs['myflag'].resolve(dummy_context), False) + + def test_case_sensitive_flag_okay(self): + options = core.Options( + arguments.Flag( + 'myflag', + true_values=['on'], + default=False, + case_sensitive=True + ) + ) + dummy_tokens = DummyTokens('on') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(kwargs['myflag'].resolve(dummy_context), True) + + def test_multiflag(self): + # test multi-flag + options = core.Options( + arguments.Flag('flagone', true_values=['on'], default=False), + arguments.Flag('flagtwo', false_values=['off'], default=True), + ) + dummy_tokens = DummyTokens('On', 'On') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(kwargs['flagone'].resolve(dummy_context), True) + self.assertEqual(kwargs['flagtwo'].resolve(dummy_context), True) + + def test_multi_value_single_value(self): + """ + Test simple multi value arguments + """ + options = core.Options( + arguments.MultiValueArgument('myarg') + ) + # test single token MVA + dummy_tokens = DummyTokens('myval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + # test resolving to list + self.assertEqual(kwargs['myarg'].resolve(dummy_context), ['myval']) + + def test_multi_value_two_values(self): + options = core.Options( + arguments.MultiValueArgument('myarg') + ) + # test double token MVA + dummy_tokens = DummyTokens('myval', 'myval2') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), + ['myval', 'myval2']) + + def test_multi_value_three_values(self): + options = core.Options( + arguments.MultiValueArgument('myarg') + ) + # test triple token MVA + dummy_tokens = DummyTokens('myval', 'myval2', 'myval3') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), + ['myval', 'myval2', 'myval3']) + + def test_multi_value_max_values_single(self): + # test max_values option + options = core.Options( + arguments.MultiValueArgument('myarg', max_values=2) + ) + dummy_tokens = DummyTokens('myval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), ['myval']) + + def test_multi_value_max_values_double(self): + options = core.Options( + arguments.MultiValueArgument('myarg', max_values=2) + ) + dummy_tokens = DummyTokens('myval', 'myval2') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 1) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), + ['myval', 'myval2']) + + def test_multi_value_max_values_too_many(self): + options = core.Options( + arguments.MultiValueArgument('myarg', max_values=2) + ) + dummy_tokens = DummyTokens('myval', 'myval2', 'myval3') + self.assertRaises(exceptions.TooManyArguments, + options.parse, dummy_parser, dummy_tokens) + + def test_multi_value_no_resolve(self): + # test no resolve + options = core.Options( + arguments.MultiValueArgument('myarg', resolve=False) + ) + argparser = parser.Parser(options) + dummy_tokens = DummyTokens('myval', "'myval2'") + kwargs, blocks = argparser.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), + ['myval', 'myval2']) + + def test_multi_value_defaults(self): + # test default + options = core.Options( + arguments.MultiValueArgument('myarg', default=['hello', 'world']), + ) + argparser = parser.Parser(options) + dummy_tokens = DummyTokens() + kwargs, blocks = argparser.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + dummy_context = {} + self.assertEqual(kwargs['myarg'].resolve(dummy_context), + ['hello', 'world']) + + def test_complex_all_arguments(self): + """ + test a complex tag option parser + """ + options = core.Options( + arguments.Argument('singlearg'), + arguments.MultiValueArgument('multiarg', required=False), + 'as', + arguments.Argument('varname', required=False), + 'safe', + arguments.Flag('safe', true_values=['on', 'true'], default=False) + ) + # test simple 'all arguments given' + dummy_tokens = DummyTokens(1, 2, 3, 'as', 4, 'safe', 'true') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 4) + expected = [ + ('singlearg', 1), + ('multiarg', [2, 3]), + ('varname', 4), + ('safe', True) + ] + for key, value in expected: + self.assertEqual(kwargs[key].resolve(dummy_context), value) + + def test_complex_only_first_argument(self): + options = core.Options( + arguments.Argument('singlearg'), + arguments.MultiValueArgument('multiarg', required=False), + 'as', + arguments.Argument('varname', required=False), + 'safe', + arguments.Flag('safe', true_values=['on', 'true'], default=False) + ) + # test 'only first argument given' + dummy_tokens = DummyTokens(1) + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 4) + expected = [ + ('singlearg', 1), + ('multiarg', []), + ('varname', None), + ('safe', False) + ] + for key, value in expected: + self.assertEqual(kwargs[key].resolve(dummy_context), value) + + def test_complext_first_and_last_argument(self): + options = core.Options( + arguments.Argument('singlearg'), + arguments.MultiValueArgument('multiarg', required=False), + 'as', + arguments.Argument('varname', required=False), + 'safe', + arguments.Flag('safe', true_values=['on', 'true'], default=False) + ) + # test first argument and last argument given + dummy_tokens = DummyTokens(2, 'safe', 'false') + dummy_context = {} + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 4) + expected = [ + ('singlearg', 2), + ('multiarg', []), + ('varname', None), + ('safe', False) + ] + for key, value in expected: + self.assertEqual(kwargs[key].resolve(dummy_context), value) + + def test_cycle(self): + """ + This test re-implements django's cycle tag (because it's quite crazy) + and checks if it works. + """ + from itertools import cycle as itertools_cycle + + class Cycle(core.Tag): + name = 'classy_cycle' + + options = core.Options( + arguments.MultiValueArgument('values'), + 'as', + arguments.Argument('varname', required=False, resolve=False), + ) + + def render_tag(self, context, values, varname): + if self not in context.render_context: + context.render_context[self] = itertools_cycle(values) + cycle_iter = context.render_context[self] + value = compat_next(cycle_iter) + if varname: + context[varname] = value + return value + + origtpl = template.Template( + '{% for thing in sequence %}' + '{% cycle "1" "2" "3" "4" %}' + '{% endfor %}' + ) + sequence = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + context = template.Context({'sequence': sequence}) + original = origtpl.render(context) + with TemplateTags(Cycle): + classytpl = template.Template( + '{% for thing in sequence %}' + '{% classy_cycle "1" "2" "3" "4" %}' + '{% endfor %}' + ) + classy = classytpl.render(context) + self.assertEqual(original, classy) + origtpl = template.Template( + '{% for thing in sequence %}' + '{% cycle "1" "2" "3" "4" as myvarname %}' + '{% endfor %}' + ) + sequence = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + context = template.Context({'sequence': sequence}) + original = origtpl.render(context) + with TemplateTags(Cycle): + classytpl = template.Template( + '{% for thing in sequence %}' + '{% classy_cycle "1" "2" "3" "4" as myvarname %}' + '{% endfor %}' + ) + classy = classytpl.render(context) + self.assertEqual(original, classy) + + def test_naming(self): + # test implicit naming + class MyTag(core.Tag): + pass + lib = template.Library() + lib.tag(MyTag) + msg = "'my_tag' not in %s" % lib.tags.keys() + self.assertTrue('my_tag' in lib.tags, msg) + # test explicit naming + + class MyTag2(core.Tag): + name = 'my_tag_2' + + lib = template.Library() + lib.tag(MyTag2) + msg = "'my_tag_2' not in %s" % lib.tags.keys() + self.assertTrue('my_tag_2' in lib.tags, msg) + # test named registering + lib = template.Library() + lib.tag('my_tag_3', MyTag) + msg = "'my_tag_3' not in %s" % lib.tags.keys() + self.assertTrue('my_tag_3' in lib.tags, msg) + msg = "'my_tag' in %s" % lib.tags.keys() + self.assertTrue('my_tag' not in lib.tags, msg) + lib = template.Library() + lib.tag('my_tag_4', MyTag2) + msg = "'my_tag_4' not in %s" % lib.tags.keys() + self.assertTrue('my_tag_4' in lib.tags, msg) + msg = "'my_tag2' in %s" % lib.tags.keys() + self.assertTrue('my_tag2' not in lib.tags, msg) + + def test_hello_world(self): + class Hello(core.Tag): + options = core.Options( + arguments.Argument('name', required=False, default='world'), + 'as', + arguments.Argument('varname', required=False, resolve=False) + ) + + def render_tag(self, context, name, varname): + output = 'hello %s' % name + if varname: + context[varname] = output + return '' + return output + tpls = [ + ('{% hello %}', 'hello world', {}), + ('{% hello "classytags" %}', 'hello classytags', {}), + ('{% hello as myvar %}', '', {'myvar': 'hello world'}), + ('{% hello "my friend" as othervar %}', '', + {'othervar': 'hello my friend'}) + ] + self._tag_tester(Hello, tpls) + + def test_filters_in_arguments(self): + class Filtered(core.Tag): + options = core.Options( + arguments.Argument('value'), + ) + + def render_tag(self, context, value): + return value + tpls = [ + ('{% filtered "hello" %}', 'hello', {}), + ('{% filtered var %}', 'world', {'var': 'world'}), + ('{% filtered var|default:"foo" %}', 'foo', {}), + ] + self._tag_tester(Filtered, tpls) + + def test_filtered_multi_keyword(self): + class Filtered(core.Tag): + options = core.Options( + arguments.MultiKeywordArgument('kwargs'), + ) + + def render_tag(self, context, kwargs): + return '|'.join('%s:%s' % (k, v) for k, v in kwargs.items()) + tpls = [ + ('{% filtered hello="world" %}', 'hello:world', {}), + ('{% filtered hello=var %}', 'hello:world', {'var': 'world'}), + ('{% filtered hello=var|default:"foo" %}', 'hello:foo', {}), + ] + self._tag_tester(Filtered, tpls) + + def test_blocks(self): + class Blocky(core.Tag): + options = core.Options( + blocks=['a', 'b', 'c', 'd', 'e'], + ) + + def render_tag(self, context, **nodelists): + tpl = "%(a)s;%(b)s;%(c)s;%(d)s;%(e)s" + data = {} + for key, value in nodelists.items(): + data[key] = value.render(context) + return tpl % data + templates = [ + ('{% blocky %}1{% a %}2{% b %}3{% c %}4{% d %}5{% e %}', + '1;2;3;4;5', {},), + ('{% blocky %}12{% b %}3{% c %}4{% d %}5{% e %}', '12;;3;4;5', + {},), + ('{% blocky %}123{% c %}4{% d %}5{% e %}', '123;;;4;5', {},), + ('{% blocky %}1234{% d %}5{% e %}', '1234;;;;5', {},), + ('{% blocky %}12345{% e %}', '12345;;;;', {},), + ('{% blocky %}1{% a %}23{% c %}4{% d %}5{% e %}', '1;23;;4;5', + {},), + ('{% blocky %}1{% a %}23{% c %}45{% e %}', '1;23;;45;', {},), + ] + self._tag_tester(Blocky, templates) + + def test_astag(self): + class Dummy(helpers.AsTag): + options = core.Options( + 'as', + arguments.Argument('varname', resolve=False, required=False), + ) + + def get_value(self, context): + return "dummy" + templates = [ + ('{% dummy %}:{{ varname }}', 'dummy:', {},), + ('{% dummy as varname %}:{{ varname }}', ':dummy', {},), + ] + self._tag_tester(Dummy, templates) + + def test_inclusion_tag(self): + class Inc(helpers.InclusionTag): + template = 'test.html' + + options = core.Options( + arguments.Argument('var'), + ) + + def get_context(self, context, var): + return {'var': var} + templates = [ + ('{% inc var %}', 'inc', {'var': 'inc'},), + ] + self._tag_tester(Inc, templates) + + class Inc2(helpers.InclusionTag): + template = 'test.html' + + templates = [ + ('{% inc2 %}', '', {},), + ] + self._tag_tester(Inc2, templates) + + def test_inclusion_tag_push_pop_context(self): + class IncPollute(helpers.InclusionTag): + template = 'test.html' + + options = core.Options( + arguments.Argument('var') + ) + + def get_context(self, context, var): + context.update({'var': 'polluted'}) + return context + + with TemplateTags(IncPollute): + tpl = template.Template('{% inc_pollute var %}') + ctx = template.Context({'var': 'test'}) + out = tpl.render(ctx) + self.assertEqual(out, 'polluted') + self.assertEqual(ctx['var'], 'polluted') + + # now enable pollution control + IncPollute.push_context = True + + with TemplateTags(IncPollute): + tpl = template.Template('{% inc_pollute var %}') + ctx = template.Context({'var': 'test'}) + out = tpl.render(ctx) + self.assertEqual(out, 'polluted') + self.assertEqual(ctx['var'], 'test') + + def test_integer_variable(self): + options = core.Options( + arguments.IntegerArgument('integer', resolve=False), + ) + # test okay + with SettingsOverride(DEBUG=False): + dummy_tokens = DummyTokens('1') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertEqual(kwargs['integer'].resolve(dummy_context), 1) + # test warning + dummy_tokens = DummyTokens('one') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + one = repr('one') + message = arguments.IntegerValue.errors['clean'] % {'value': one} + self.assertWarns(exceptions.TemplateSyntaxWarning, + message, kwargs['integer'].resolve, dummy_context) + self.assertEqual(kwargs['integer'].resolve(dummy_context), + values.IntegerValue.value_on_error) + # test exception + with SettingsOverride(DEBUG=True): + dummy_tokens = DummyTokens('one') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + message = values.IntegerValue.errors['clean'] % { + 'value': repr('one') + } + self.assertRaises(template.TemplateSyntaxError, + kwargs['integer'].resolve, dummy_context) + # test the same as above but with resolving + + class IntegerTag(core.Tag): + options = core.Options( + arguments.IntegerArgument('integer') + ) + + def render_tag(self, context, integer): + return integer + + with TemplateTags(IntegerTag): + tpl = template.Template("{% integer_tag i %}") + with SettingsOverride(DEBUG=False): + # test okay + context = template.Context({'i': '1'}) + self.assertEqual(tpl.render(context), '1') + # test warning + context = template.Context({'i': 'one'}) + message = values.IntegerValue.errors['clean'] % { + 'value': repr('one') + } + self.assertWarns(exceptions.TemplateSyntaxWarning, + message, tpl.render, context) + self.assertEqual(int(tpl.render(context)), + values.IntegerValue.value_on_error) + # test exception + with SettingsOverride(DEBUG=True): + context = template.Context({'i': 'one'}) + message = arguments.IntegerValue.errors['clean'] % {'value': one} + self.assertRaises(template.TemplateSyntaxError, tpl.render, + context) + # reset settings + + def test_not_implemented_errors(self): + class Fail(core.Tag): + pass + + class Fail2(helpers.AsTag): + pass + + class Fail3(helpers.AsTag): + options = core.Options( + 'as', + ) + + class Fail4(helpers.AsTag): + options = core.Options( + 'as', + arguments.Argument('varname', resolve=False), + ) + + if DJANGO_1_4_OR_HIGHER: + exc_class = NotImplementedError + else: # pragma: no cover + exc_class = template.TemplateSyntaxError + + with TemplateTags(Fail, Fail2, Fail3, Fail4): + context = template.Context({}) + tpl = template.Template("{% fail %}") + self.assertRaises(exc_class, tpl.render, context) + self.assertRaises(ImproperlyConfigured, + template.Template, "{% fail2 %}") + self.assertRaises(ImproperlyConfigured, + template.Template, "{% fail3 %}") + tpl = template.Template("{% fail4 as something %}") + self.assertRaises(exc_class, tpl.render, context) + + def test_too_many_arguments(self): + class NoArg(core.Tag): + pass + with TemplateTags(NoArg): + self.assertRaises(exceptions.TooManyArguments, + template.Template, "{% no_arg a arg %}") + + def test_choice_argument(self): + options = core.Options( + arguments.ChoiceArgument('choice', + choices=['one', 'two', 'three']), + ) + # this is settings dependant! + with SettingsOverride(DEBUG=True): + for good in ('one', 'two', 'three'): + dummy_tokens = DummyTokens(good) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertEqual(kwargs['choice'].resolve(dummy_context), good) + bad = 'four' + dummy_tokens = DummyTokens(bad) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertRaises(template.TemplateSyntaxError, + kwargs['choice'].resolve, dummy_context) + with SettingsOverride(DEBUG=False): + self.assertEqual(kwargs['choice'].resolve(dummy_context), 'one') + # test other value class + + class IntegerChoiceArgument(arguments.ChoiceArgument): + value_class = values.IntegerValue + + default = 2 + options = core.Options( + IntegerChoiceArgument('choice', choices=[1, 2, 3], + default=default), + ) + with SettingsOverride(DEBUG=True): + for good in ('1', '2', '3'): + dummy_tokens = DummyTokens(good) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertEqual(kwargs['choice'].resolve(dummy_context), + int(good)) + bad = '4' + dummy_tokens = DummyTokens(bad) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertRaises(template.TemplateSyntaxError, + kwargs['choice'].resolve, dummy_context) + with SettingsOverride(DEBUG=False): + self.assertEqual(kwargs['choice'].resolve(dummy_context), default) + # reset settings + + def test_keyword_argument(self): + class KeywordArgumentTag(core.Tag): + name = 'kwarg_tag' + options = core.Options( + arguments.KeywordArgument('named', defaultkey='defaultkey'), + ) + + def render_tag(self, context, named): + return '%s:%s' % ( + list(named.keys())[0], list(named.values())[0] + ) + + ctx = {'key': 'thekey', 'value': 'thevalue'} + templates = [ + ("{% kwarg_tag key='value' %}", 'key:value', ctx), + ("{% kwarg_tag 'value' %}", 'defaultkey:value', ctx), + ("{% kwarg_tag key=value %}", 'key:thevalue', ctx), + ("{% kwarg_tag value %}", 'defaultkey:thevalue', ctx), + ] + self._tag_tester(KeywordArgumentTag, templates) + + class KeywordArgumentTag2(KeywordArgumentTag): + name = 'kwarg_tag' + options = core.Options( + arguments.KeywordArgument( + 'named', + defaultkey='defaultkey', + resolve=False, + required=False, + default='defaultvalue' + ), + ) + + templates = [ + ("{% kwarg_tag %}", 'defaultkey:defaultvalue', ctx), + ("{% kwarg_tag key='value' %}", 'key:value', ctx), + ("{% kwarg_tag 'value' %}", 'defaultkey:value', ctx), + ("{% kwarg_tag key=value %}", 'key:value', ctx), + ("{% kwarg_tag value %}", 'defaultkey:value', ctx), + ] + self._tag_tester(KeywordArgumentTag2, templates) + + def test_multi_keyword_argument(self): + opts = core.Options( + arguments.MultiKeywordArgument('multi', max_values=2), + ) + + class MultiKeywordArgumentTag(core.Tag): + name = 'multi_kwarg_tag' + options = opts + + def render_tag(self, context, multi): + items = sorted(multi.items()) + return ','.join(['%s:%s' % item for item in items]) + + ctx = {'key': 'thekey', 'value': 'thevalue'} + templates = [ + ("{% multi_kwarg_tag key='value' key2='value2' %}", + 'key:value,key2:value2', ctx), + ("{% multi_kwarg_tag key=value %}", 'key:thevalue', ctx), + ] + self._tag_tester(MultiKeywordArgumentTag, templates) + dummy_tokens = DummyTokens('key="value"', 'key2="value2"', + 'key3="value3"') + self.assertRaises(exceptions.TooManyArguments, + opts.parse, dummy_parser, dummy_tokens) + + def test_custom_parser(self): + class CustomParser(parser.Parser): + def parse_blocks(self): + return + + options = core.Options( + blocks=[ + ('end_my_tag', 'nodelist'), + ], + parser_class=CustomParser + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + + def test_repr(self): + class MyTag(core.Tag): + name = 'mytag' + tag = MyTag(dummy_parser, DummyTokens()) + self.assertEqual('', repr(tag)) + + def test_non_required_multikwarg(self): + options = core.Options( + arguments.MultiKeywordArgument('multi', required=False), + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertTrue('multi' in kwargs) + self.assertEqual(kwargs['multi'], {}) + options = core.Options( + arguments.MultiKeywordArgument('multi', required=False, + default={'hello': 'world'}), + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertTrue('multi' in kwargs) + self.assertEqual(kwargs['multi'].resolve({}), {'hello': 'world'}) + + def test_resolve_kwarg(self): + class ResolveKwarg(core.Tag): + name = 'kwarg' + options = core.Options( + arguments.KeywordArgument('named'), + ) + + def render_tag(self, context, named): + return '%s:%s' % ( + list(named.keys())[0], list(named.values())[0] + ) + + class NoResolveKwarg(core.Tag): + name = 'kwarg' + options = core.Options( + arguments.KeywordArgument('named', resolve=False), + ) + + def render_tag(self, context, named): + return '%s:%s' % ( + list(named.keys())[0], list(named.values())[0] + ) + + resolve_templates = [ + ("{% kwarg key=value %}", "key:test", {'value': 'test'}), + ("{% kwarg key='value' %}", "key:value", {'value': 'test'}), + ] + + noresolve_templates = [ + ("{% kwarg key=value %}", "key:value", {'value': 'test'}), + ] + + self._tag_tester(ResolveKwarg, resolve_templates) + self._tag_tester(NoResolveKwarg, noresolve_templates) + + def test_kwarg_default(self): + options = core.Options( + arguments.KeywordArgument('kwarg', required=False, + defaultkey='mykey'), + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertTrue('kwarg' in kwargs) + self.assertEqual(kwargs['kwarg'].resolve({}), {'mykey': None}) + options = core.Options( + arguments.KeywordArgument('kwarg', required=False, + default='hello'), + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertTrue('kwarg' in kwargs) + self.assertEqual(kwargs['kwarg'].resolve({}), {}) + options = core.Options( + arguments.KeywordArgument('kwarg', required=False, + default='hello', defaultkey='key'), + ) + dummy_tokens = DummyTokens() + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertTrue('kwarg' in kwargs) + self.assertEqual(kwargs['kwarg'].resolve({}), {'key': 'hello'}) + + def test_multikwarg_no_key(self): + options = core.Options( + arguments.MultiKeywordArgument('multi'), + ) + with SettingsOverride(DEBUG=True): + dummy_tokens = DummyTokens('value') + self.assertRaises(template.TemplateSyntaxError, + options.parse, dummy_parser, dummy_tokens) + with SettingsOverride(DEBUG=False): + dummy_tokens = DummyTokens('value') + self.assertRaises(template.TemplateSyntaxError, + options.parse, dummy_parser, dummy_tokens) + + def test_inclusion_tag_context_pollution(self): + """ + Check the `keep_render_context` and `push_pop_context` attributes on + InclusionTag work as advertised and prevent 'context pollution' + """ + class NoPushPop(helpers.InclusionTag): + template = 'inclusion.html' + + def get_context(self, context): + return context.update({'pollution': True}) + + class Standard(helpers.InclusionTag): + template = 'inclusion.html' + + def get_context(self, context): + return {'pollution': True} + + with TemplateTags(NoPushPop, Standard): + # push pop pollution + ctx1 = template.Context({'pollution': False}) + tpl1 = template.Template("{% no_push_pop %}") + tpl1.render(ctx1) + self.assertEqual(ctx1['pollution'], True) + ctx2 = template.Context({'pollution': False}) + tpl2 = template.Template("{% standard %}") + tpl2.render(ctx2) + self.assertEqual(ctx2['pollution'], False) + + def test_named_block(self): + class StartBlock(core.Tag): + options = core.Options( + arguments.Argument("myarg"), + blocks=[ + BlockDefinition("nodelist", + VariableBlockName("end_block %(value)s", + 'myarg'), + "end_block") + ] + ) + + def render_tag(self, context, myarg, nodelist): + return "nodelist:%s;myarg:%s" % (nodelist.render(context), + myarg) + + with TemplateTags(StartBlock): + ctx = template.Context() + tpl = template.Template( + "{% start_block 'hello' %}nodelist-content" + "{% end_block 'hello' %}" + ) + output = tpl.render(ctx) + expected_output = 'nodelist:nodelist-content;myarg:hello' + self.assertEqual(output, expected_output) + + ctx = template.Context({'hello': 'world'}) + tpl = template.Template( + "{% start_block hello %}nodelist-content{% end_block hello %}" + ) + output = tpl.render(ctx) + expected_output = 'nodelist:nodelist-content;myarg:world' + self.assertEqual(output, expected_output) + + def test_fail_named_block(self): + vbn = VariableBlockName('endblock %(value)s', 'myarg') + self.assertRaises(ImproperlyConfigured, core.Options, + blocks=[BlockDefinition('nodelist', vbn)]) + + def test_named_block_noresolve(self): + class StartBlock(core.Tag): + options = core.Options( + arguments.Argument("myarg", resolve=False), + blocks=[ + BlockDefinition("nodelist", + VariableBlockName("end_block %(value)s", + 'myarg'), + "end_block") + ] + ) + + def render_tag(self, context, myarg, nodelist): + return "nodelist:%s;myarg:%s" % (nodelist.render(context), + myarg) + + with TemplateTags(StartBlock): + ctx = template.Context() + tpl = template.Template( + "{% start_block 'hello' %}nodelist-content" + "{% end_block 'hello' %}" + ) + output = tpl.render(ctx) + expected_output = 'nodelist:nodelist-content;myarg:hello' + self.assertEqual(output, expected_output) + + def test_strict_string(self): + options = core.Options( + arguments.StringArgument('string', resolve=False), + ) + with SettingsOverride(DEBUG=False): + # test ok + dummy_tokens = DummyTokens('string') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertEqual( + kwargs['string'].resolve(dummy_context), 'string' + ) + # test warning + dummy_tokens = DummyTokens(1) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + message = values.StrictStringValue.errors['clean'] % { + 'value': repr(1) + } + self.assertWarns( + exceptions.TemplateSyntaxWarning, + message, + kwargs['string'].resolve, + dummy_context + ) + with SettingsOverride(DEBUG=True): + # test exception + dummy_tokens = DummyTokens(1) + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + dummy_context = {} + self.assertRaises( + template.TemplateSyntaxError, + kwargs['string'].resolve, + dummy_context + ) + + def test_get_value_for_context(self): + message = 'exception handled' + + class MyException(Exception): + pass + + class SuppressException(helpers.AsTag): + options = core.Options( + arguments.Argument('name'), + 'as', + arguments.Argument('var', resolve=False, required=False), + ) + + def get_value(self, context, name): + raise MyException(name) + + def get_value_for_context(self, context, name): + try: + return self.get_value(context, name) + except MyException: + return message + + dummy_tokens_with_as = DummyTokens('name', 'as', 'var') + tag = SuppressException(DummyParser(), dummy_tokens_with_as) + context = {} + self.assertEqual(tag.render(context), '') + self.assertEqual(context['var'], message) + + dummy_tokens_no_as = DummyTokens('name') + tag = SuppressException(DummyParser(), dummy_tokens_no_as) + self.assertRaises(MyException, tag.render, {}) + + +class MultiBreakpointTests(TestCase): + def test_optional_firstonly(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check only using the first argument + dummy_tokens = DummyTokens('firstval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 2) + dummy_context = {} + self.assertEqual(kwargs['first'].resolve(dummy_context), 'firstval') + self.assertEqual(kwargs['second'].resolve(dummy_context), None) + + def test_optional_both(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check using both arguments and both breakpoints + dummy_tokens = DummyTokens('firstval', 'also', 'using', 'secondval') + kwargs, blocks = options.parse(dummy_parser, dummy_tokens) + self.assertEqual(blocks, {}) + self.assertEqual(len(kwargs), 2) + dummy_context = {} + self.assertEqual(kwargs['first'].resolve(dummy_context), 'firstval') + self.assertEqual(kwargs['second'].resolve(dummy_context), 'secondval') + + def test_partial_breakpoints(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check only using the first breakpoint + dummy_tokens = DummyTokens('firstval', 'also') + self.assertRaises( + exceptions.TrailingBreakpoint, + options.parse, dummy_parser, dummy_tokens + ) + + def test_partial_breakpoints_second(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check only using the second breakpoint + dummy_tokens = DummyTokens('firstval', 'using') + self.assertRaises( + exceptions.BreakpointExpected, + options.parse, dummy_parser, dummy_tokens + ) + + def test_partial_breakpoints_both(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check only using the first breakpoint + dummy_tokens = DummyTokens('firstval', 'also', 'secondval') + # should raise an exception + self.assertRaises( + exceptions.BreakpointExpected, + options.parse, dummy_parser, dummy_tokens + ) + + def test_partial_breakpoints_second_both(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + # check only using the second breakpoint + dummy_tokens = DummyTokens('firstval', 'using', 'secondval') + self.assertRaises( + exceptions.BreakpointExpected, + options.parse, dummy_parser, dummy_tokens + ) + + def test_partial_breakpoints_both_trailing(self): + options = core.Options( + arguments.Argument('first'), + 'also', + 'using', + arguments.Argument('second', required=False), + ) + dummy_tokens = DummyTokens('firstval', 'also', 'using') + self.assertRaises( + exceptions.TrailingBreakpoint, + options.parse, dummy_parser, dummy_tokens + ) + + def test_add_options(self): + options1 = core.Options( + arguments.Argument('first') + ) + options2 = core.Options( + arguments.Argument('second') + ) + combined = options1 + options2 + self.assertEqual(len(combined.options), 1, combined.options) + self.assertIn(None, combined.options) + self.assertEqual(len(combined.options[None]), 2, combined.options[None]) + self.assertEqual(combined.all_argument_names, ['first', 'second']) + self.assertEqual(len(combined.blocks), 0, combined.blocks) + + def test_add_options_blocks_first(self): + options1 = core.Options( + arguments.Argument('first'), + blocks=['a'] + ) + options2 = core.Options( + arguments.Argument('second'), + ) + combined = options1 + options2 + self.assertEqual(len(combined.blocks), 1, combined.blocks) + self.assertEqual(combined.blocks[0].alias, 'a') + self.assertEqual(combined.blocks[0].names, ('a', )) + + def test_add_options_blocks_second(self): + options1 = core.Options( + arguments.Argument('first'), + ) + options2 = core.Options( + arguments.Argument('second'), + blocks=['a'] + ) + combined = options1 + options2 + self.assertEqual(len(combined.blocks), 1, combined.blocks) + self.assertEqual(combined.blocks[0].alias, 'a') + self.assertEqual(combined.blocks[0].names, ('a', )) + + def test_add_options_blocks_both(self): + options1 = core.Options( + arguments.Argument('first'), + blocks=['a'], + ) + options2 = core.Options( + arguments.Argument('second'), + blocks=['a'] + ) + self.assertRaises( + ValueError, + operator.add, + options1, + options2, + ) + + def test_add_options_not_options(self): + options = core.Options( + arguments.Argument('first'), + ) + self.assertRaises( + TypeError, + operator.add, + options, + 1 + ) + + def test_add_options_custom_parser_same(self): + class CustomParser(parser.Parser): + def parse_blocks(self): + return + + options1 = core.Options( + parser_class=CustomParser, + ) + options2 = core.Options( + parser_class=CustomParser, + ) + combined = options1 + options2 + self.assertIs(combined.parser_class, CustomParser) + + def test_add_options_custom_parser_different(self): + class CustomParser(parser.Parser): + def parse_blocks(self): + return + + options1 = core.Options( + parser_class=CustomParser, + ) + options2 = core.Options( + parser_class=parser.Parser, + ) + self.assertRaises( + ValueError, + operator.add, + options1, + options2, + ) + + def test_repr(self): + options = core.Options( + arguments.Argument('first'), + 'breakpoint', + arguments.Flag('flag', true_values=['yes']), + blocks=['block'] + ) + self.assertEqual( + repr(options), + ',breakpoint,;block>' + ) + + def test_flatten_context(self): + context = Context({'foo': 'bar'}) + context.push() + context.update({'bar': 'baz'}) + context.push() + context.update({'foo': 'test'}) + flat = utils.flatten_context(context) + expected = { + 'foo': 'test', + 'bar': 'baz', + } + if DJANGO_1_5_OR_HIGHER: + expected.update({ + 'None': None, + 'True': True, + 'False': False, + }) + self.assertEqual(flat, expected) + context.flatten = None + flat = utils.flatten_context(context) + self.assertEqual(flat, expected) + flat = utils.flatten_context({'foo': 'test', 'bar': 'baz'}) + self.assertEqual(flat, {'foo': 'test', 'bar': 'baz'}) + + def test_flatten_requestcontext(self): + factory = RequestFactory() + request = factory.get('/') + expected = { + 'foo': 'test', + 'request': 'bar', + 'bar': 'baz', + } + if DJANGO_1_5_OR_HIGHER: + expected.update({ + 'None': None, + 'True': True, + 'False': False, + }) + + checked_keys = expected.keys() + + # Adding a requestcontext to a plain context + context = Context({'foo': 'bar'}) + context.push() + context.update({'bar': 'baz'}) + context.push() + rcontext = RequestContext(request, {}) + rcontext.update({'request': 'bar'}) + context.update(rcontext) + context.push() + context.update({'foo': 'test'}) + flat = utils.flatten_context(context) + self.assertEqual( + expected, dict(filter(lambda item: item[0] in checked_keys, flat.items())) + ) + + # Adding a plain context to a requestcontext + context = RequestContext(request, {}) + context.update({'request': 'bar'}) + normal_context = Context({'foo': 'bar'}) + context.push() + context.update({'bar': 'baz'}) + context.push() + context.update(normal_context) + context.push() + context.update({'foo': 'test'}) + flat = utils.flatten_context(context) + self.assertEqual( + expected, dict(filter(lambda item: item[0] in checked_keys, flat.items())) + ) + + # Adding a requestcontext to a requestcontext + context = RequestContext(request, {}) + context.update({'request': 'bar'}) + rcontext = RequestContext(request, {'foo': 'bar'}) + context.push() + context.update({'bar': 'baz'}) + context.push() + context.update(rcontext) + context.push() + context.update({'foo': 'test'}) + flat = utils.flatten_context(context) + self.assertEqual( + expected, dict(filter(lambda item: item[0] in checked_keys, flat.items())) + ) diff --git a/thesisenv/lib/python3.6/site-packages/classytags/utils.py b/thesisenv/lib/python3.6/site-packages/classytags/utils.py new file mode 100644 index 0000000..6b2a444 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/utils.py @@ -0,0 +1,109 @@ +import re +from copy import copy +from distutils.version import LooseVersion + +from classytags.compat import compat_basestring +from django import get_version +from django.template import Context, RequestContext +from django.template.context import BaseContext + +DJANGO_1_9_OR_HIGHER = ( + LooseVersion(get_version()) >= LooseVersion('1.9') +) + + +class NULL: + """ + Internal type to differentiate between None and No-Input + """ + + +class TemplateConstant(object): + """ + A 'constant' internal template variable which basically allows 'resolving' + returning it's initial value + """ + def __init__(self, value): + self.literal = value + if isinstance(value, compat_basestring): + self.value = value.strip('"\'') + else: + self.value = value + + def __repr__(self): # pragma: no cover + return '' % repr(self.value) + + def resolve(self, context): + return self.value + + +class StructuredOptions(object): + """ + Bootstrapped options + """ + def __init__(self, options, breakpoints, blocks, combind_breakpoints): + self.options = options + self.breakpoints = copy(breakpoints) + self.blocks = copy(blocks) + self.combined_breakpoints = dict(combind_breakpoints.items()) + self.reversed_combined_breakpoints = dict( + (v, k) for k, v in combind_breakpoints.items() + ) + self.current_breakpoint = None + if self.breakpoints: + self.next_breakpoint = self.breakpoints.pop(0) + else: + self.next_breakpoint = None + + def shift_breakpoint(self): + """ + Shift to the next breakpoint + """ + self.current_breakpoint = self.next_breakpoint + if self.breakpoints: + self.next_breakpoint = self.breakpoints.pop(0) + else: + self.next_breakpoint = None + + def get_arguments(self): + """ + Get the current arguments + """ + return copy(self.options[self.current_breakpoint]) + + +_re1 = re.compile('(.)([A-Z][a-z]+)') +_re2 = re.compile('([a-z0-9])([A-Z])') + + +def get_default_name(name): + """ + Turns "CamelCase" into "camel_case" + """ + return _re2.sub(r'\1_\2', _re1.sub(r'\1_\2', name)).lower() + + +def mixin(parent, child, attrs=None): + attrs = attrs or {} + return type( + '%sx%s' % (parent.__name__, child.__name__), + (child, parent), + attrs + ) + + +def flatten_context(context): + def do_flatten(context): + flat = {} + for d in context.dicts: + if isinstance(d, (Context, RequestContext)): + flat.update(do_flatten(d)) + else: + flat.update(d) + return flat + + if callable(getattr(context, 'flatten', None)) and DJANGO_1_9_OR_HIGHER: + return context.flatten() + elif isinstance(context, BaseContext): + return do_flatten(context) + return context diff --git a/thesisenv/lib/python3.6/site-packages/classytags/values.py b/thesisenv/lib/python3.6/site-packages/classytags/values.py new file mode 100644 index 0000000..df55d76 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/classytags/values.py @@ -0,0 +1,110 @@ +import warnings + +from django import template +from django.conf import settings + +from classytags.compat import compat_basestring +from classytags.exceptions import TemplateSyntaxWarning + + +class StringValue(object): + errors = {} + value_on_error = "" + + def __init__(self, var): + self.var = var + try: + # django.template.base.Variable + self.literal = self.var.literal + except AttributeError: + # django.template.base.FilterExpression + self.literal = self.var.token + + def resolve(self, context): + resolved = self.var.resolve(context) + return self.clean(resolved) + + def clean(self, value): + return value + + def error(self, value, category): + data = self.get_extra_error_data() + data['value'] = repr(value) + message = self.errors.get(category, "") % data + if settings.DEBUG: + raise template.TemplateSyntaxError(message) + else: + warnings.warn(message, TemplateSyntaxWarning) + return self.value_on_error + + def get_extra_error_data(self): + return {} + + +class StrictStringValue(StringValue): + errors = { + "clean": "%(value)s is not a string", + } + value_on_error = "" + + def clean(self, value): + if not isinstance(value, compat_basestring): + return self.error(value, "clean") + return value + + +class IntegerValue(StringValue): + errors = { + "clean": "%(value)s could not be converted to Integer", + } + value_on_error = 0 + + def clean(self, value): + try: + return int(value) + except ValueError: + return self.error(value, "clean") + + +class ListValue(list, StringValue): + """ + A list of template variables for easy resolving + """ + def __init__(self, value): + list.__init__(self) + self.append(value) + + def resolve(self, context): + resolved = [item.resolve(context) for item in self] + return self.clean(resolved) + + +class DictValue(dict, StringValue): + def __init__(self, value): + dict.__init__(self, value) + + def resolve(self, context): + resolved = dict( + [(key, value.resolve(context)) for key, value in self.items()] + ) + return self.clean(resolved) + + +class ChoiceValue(StringValue): + errors = { + "choice": "%(value)s is not a valid choice. Valid choices: " + "%(choices)s.", + } + choices = [] + + def clean(self, value): + cleaned = super(ChoiceValue, self).clean(value) + if cleaned in self.choices: + return cleaned + else: + return self.error(cleaned, "choice") + + def get_extra_error_data(self): + data = super(ChoiceValue, self).get_extra_error_data() + data['choices'] = self.choices + return data diff --git a/thesisenv/lib/python3.6/site-packages/django/__init__.py b/thesisenv/lib/python3.6/site-packages/django/__init__.py index 89a2893..55aef9d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/__init__.py +++ b/thesisenv/lib/python3.6/site-packages/django/__init__.py @@ -1,6 +1,6 @@ from django.utils.version import get_version -VERSION = (2, 0, 6, 'final', 0) +VERSION = (2, 1, 0, 'final', 0) __version__ = get_version(VERSION) diff --git a/thesisenv/lib/python3.6/site-packages/django/apps/registry.py b/thesisenv/lib/python3.6/site-packages/django/apps/registry.py index f522550..e01352b 100644 --- a/thesisenv/lib/python3.6/site-packages/django/apps/registry.py +++ b/thesisenv/lib/python3.6/site-packages/django/apps/registry.py @@ -124,6 +124,11 @@ class Apps: def check_apps_ready(self): """Raise an exception if all apps haven't been imported yet.""" if not self.apps_ready: + from django.conf import settings + # If "not ready" is due to unconfigured settings, accessing + # INSTALLED_APPS raises a more helpful ImproperlyConfigured + # exception. + settings.INSTALLED_APPS raise AppRegistryNotReady("Apps aren't loaded yet.") def check_models_ready(self): diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/__init__.py b/thesisenv/lib/python3.6/site-packages/django/conf/__init__.py index 9e4b0a4..05c6037 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/__init__.py +++ b/thesisenv/lib/python3.6/site-packages/django/conf/__init__.py @@ -10,6 +10,7 @@ import importlib import os import time import warnings +from pathlib import Path from django.conf import global_settings from django.core.exceptions import ImproperlyConfigured @@ -130,9 +131,9 @@ class Settings: if hasattr(time, 'tzset') and self.TIME_ZONE: # When we can, attempt to validate the timezone. If we can't find # this file, no check happens and it's harmless. - zoneinfo_root = '/usr/share/zoneinfo' - if (os.path.exists(zoneinfo_root) and not - os.path.exists(os.path.join(zoneinfo_root, *(self.TIME_ZONE.split('/'))))): + zoneinfo_root = Path('/usr/share/zoneinfo') + zone_info_file = zoneinfo_root.joinpath(*self.TIME_ZONE.split('/')) + if zoneinfo_root.exists() and not zone_info_file.exists(): raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE) # Move the time zone info into os.environ. See ticket #2315 for why # we don't do this unconditionally (breaks Windows). diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/global_settings.py b/thesisenv/lib/python3.6/site-packages/django/conf/global_settings.py index 9f1bc8d..befade1 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/global_settings.py +++ b/thesisenv/lib/python3.6/site-packages/django/conf/global_settings.py @@ -21,11 +21,6 @@ DEBUG = False # on a live site. DEBUG_PROPAGATE_EXCEPTIONS = False -# Whether to use the "ETag" header. This saves bandwidth but slows down performance. -# Deprecated (RemovedInDjango21Warning) in favor of ConditionalGetMiddleware -# which sets the ETag regardless of this setting. -USE_ETAGS = False - # People who get code error notifications. # In the format [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')] ADMINS = [] @@ -466,6 +461,9 @@ SESSION_COOKIE_SECURE = False SESSION_COOKIE_PATH = '/' # Whether to use the non-RFC standard httpOnly flag (IE, FF3+, others) SESSION_COOKIE_HTTPONLY = True +# Whether to set the flag restricting cookie leaks on cross-site requests. +# This can be 'Lax', 'Strict', or None to disable the flag. +SESSION_COOKIE_SAMESITE = 'Lax' # Whether to save the session data on every request. SESSION_SAVE_EVERY_REQUEST = False # Whether a user's session cookie expires when the Web browser is closed. @@ -517,7 +515,6 @@ PASSWORD_HASHERS = [ 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 'django.contrib.auth.hashers.Argon2PasswordHasher', 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', - 'django.contrib.auth.hashers.BCryptPasswordHasher', ] AUTH_PASSWORD_VALIDATORS = [] @@ -543,6 +540,7 @@ CSRF_COOKIE_DOMAIN = None CSRF_COOKIE_PATH = '/' CSRF_COOKIE_SECURE = False CSRF_COOKIE_HTTPONLY = False +CSRF_COOKIE_SAMESITE = 'Lax' CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS = [] CSRF_USE_SESSIONS = False diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo index 9f7fd2ba6f3018b99251a772d13533062e507038..5d42c5a0d5694241ab2fc6a129bacfa2e393636c 100644 GIT binary patch literal 26359 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%0Dn>dsxr@k5-N&Vz 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.po index 313c304..0b5f974 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/az/LC_MESSAGES/django.po @@ -1,14 +1,15 @@ # This file is distributed under the same license as the Django package. # # Translators: +# Emin Mastizada , 2018 # Emin Mastizada , 2015-2016 # Metin Amiroff , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 01:13+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 00:21+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" "az/)\n" @@ -159,6 +160,9 @@ msgstr "Yaponca" msgid "Georgian" msgstr "Gürcücə" +msgid "Kabyle" +msgstr "Kabile" + msgid "Kazakh" msgstr "Qazax" @@ -295,13 +299,13 @@ msgid "Syndication" msgstr "Sindikasiya" msgid "That page number is not an integer" -msgstr "" +msgstr "Səhifə nömrəsi rəqəm deyil" msgid "That page number is less than 1" -msgstr "" +msgstr "Səhifə nömrəsi 1-dən balacadır" msgid "That page contains no results" -msgstr "" +msgstr "Səhifədə nəticə yoxdur" msgid "Enter a valid value." msgstr "Düzgün qiymət daxil edin." @@ -383,6 +387,9 @@ msgstr[1] "" "Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " "var)" +msgid "Enter a number." +msgstr "Ədəd daxil edin." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -408,9 +415,11 @@ msgid "" "File extension '%(extension)s' is not allowed. Allowed extensions are: " "'%(allowed_extensions)s'." msgstr "" +"'%(extension)s' fayl uzantısına icazə verilmir. İcazə verilən fayl " +"uzantıları: '%(allowed_extensions)s'" msgid "Null characters are not allowed." -msgstr "" +msgstr "Null simvollara icazə verilmir." msgid "and" msgstr "və" @@ -460,6 +469,10 @@ msgstr "Böyük (8 bayt) tam ədəd" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' dəyəri True və ya False olmalıdır." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + msgid "Boolean (Either True or False)" msgstr "Bul (ya Doğru, ya Yalan)" @@ -475,15 +488,14 @@ msgid "" "'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD " "format." msgstr "" -"'%(value)s' dəyəri səhv tarix formatındadır. Bu İİİİ-AA-GG formatında " -"olmalıdır." +"'%(value)s' dəyəri səhv tarix formatındadır. Formatı YYYY-MM-DD olmalıdır." #, python-format msgid "" "'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid " "date." msgstr "" -"'%(value)s dəyəri düzgün formatdadır (İİİİ-AA-GG) amma bu xətalı tarixdir." +"'%(value)s dəyəri düzgün formatdadır (YYYY-MM-DD) amma bu xətalı tarixdir." msgid "Date (without time)" msgstr "Tarix (saatsız)" @@ -493,19 +505,23 @@ msgid "" "'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." "uuuuuu]][TZ] format." msgstr "" +"'%(value)s' dəyərinin formatı səhvdir. Formatı YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ] olmalıdır." #, python-format msgid "" "'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" "[TZ]) but it is an invalid date/time." msgstr "" +"'%(value)s' dəyərinin formatı düzgündür (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"ancaq tarix səhvdir." msgid "Date (with time)" msgstr "Tarix (vaxt ilə)" #, python-format msgid "'%(value)s' value must be a decimal number." -msgstr "" +msgstr "'%(value)s' dəyəri decimal rəqəm olmalıdır." msgid "Decimal number" msgstr "Rasional ədəd" @@ -515,6 +531,8 @@ msgid "" "'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[." "uuuuuu] format." msgstr "" +"'%(value)s' dəyərinin formatı səhvdir. Formatı [DD] [HH:[MM:]]ss[.uuuuuu] " +"olmalıdır." msgid "Duration" msgstr "Müddət" @@ -527,7 +545,7 @@ msgstr "Faylın ünvanı" #, python-format msgid "'%(value)s' value must be a float." -msgstr "" +msgstr "'%(value)s' dəyəri float olmalıdır." msgid "Floating point number" msgstr "Sürüşən vergüllü ədəd" @@ -540,7 +558,7 @@ msgstr "IP ünvan" #, python-format msgid "'%(value)s' value must be either None, True or False." -msgstr "" +msgstr "'%(value)s' dəyəri None, True və ya False olmalıdır." msgid "Boolean (Either True, False or None)" msgstr "Bul (Ya Doğru, ya Yalan, ya da Heç nə)" @@ -566,12 +584,15 @@ msgid "" "'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " "format." msgstr "" +"'%(value)s' dəyərinin formatı səhvdir. Formatı HH:MM[:ss[.uuuuuu]] olmalıdır." #, python-format msgid "" "'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " "invalid time." msgstr "" +"'%(value)s' dəyəri düzgün formatdadır (HH:MM[:ss[.uuuuuu]]), ancaq vaxtı " +"səhvdir." msgid "Time" msgstr "Vaxt" @@ -580,7 +601,7 @@ msgid "URL" msgstr "URL" msgid "Raw binary data" -msgstr "" +msgstr "Düz ikili (binary) məlumat" #, python-format msgid "'%(value)s' is not a valid UUID." @@ -594,7 +615,7 @@ msgstr "Şəkil" #, python-format msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" +msgstr "%(field)s dəyəri %(value)r olan %(model)s mövcud deyil." msgid "Foreign Key (type determined by related field)" msgstr "Xarici açar (bağlı olduğu sahəyə uyğun tipi alır)" @@ -604,11 +625,11 @@ msgstr "Birin-birə münasibət" #, python-format msgid "%(from)s-%(to)s relationship" -msgstr "" +msgstr "%(from)s-%(to)s əlaqəsi" #, python-format msgid "%(from)s-%(to)s relationships" -msgstr "" +msgstr "%(from)s-%(to)s əlaqələri" msgid "Many-to-many relationship" msgstr "Çoxun-çoxa münasibət" @@ -625,9 +646,6 @@ msgstr "Bu sahə vacibdir." msgid "Enter a whole number." msgstr "Tam ədəd daxil edin." -msgid "Enter a number." -msgstr "Ədəd daxil edin." - msgid "Enter a valid date." msgstr "Düzgün tarix daxil edin." @@ -640,6 +658,10 @@ msgstr "Düzgün tarix/vaxt daxil edin." msgid "Enter a valid duration." msgstr "Keçərli müddət daxil edin." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "Fayl göndərilməyib. Vərəqənin (\"form\") şifrələmə tipini yoxlayın." @@ -654,7 +676,9 @@ msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." msgid_plural "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr[0] "" +"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." msgstr[1] "" +"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." msgid "Please either submit a file or check the clear checkbox, not both." msgstr "" @@ -689,7 +713,7 @@ msgid "(Hidden field %(name)s) %(error)s" msgstr "(Gizli %(name)s sahəsi) %(error)s" msgid "ManagementForm data is missing or has been tampered with" -msgstr "" +msgstr "ManagementForm məlumatları əksikdir və ya korlanıb" #, python-format msgid "Please submit %d or fewer forms." @@ -731,14 +755,14 @@ msgid "Please correct the duplicate values below." msgstr "Aşağıda təkrarlanan qiymətlərə düzəliş edin." msgid "The inline value did not match the parent instance." -msgstr "" +msgstr "Sətiriçi dəyər ana nüsxəyə uyğun deyil." msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Düzgün seçim edin. Bu seçim mümkün deyil." #, python-format msgid "\"%(pk)s\" is not a valid value." -msgstr "" +msgstr "\"%(pk)s\" düzgün dəyər deyil." #, python-format msgid "" @@ -1089,12 +1113,18 @@ msgid "" "required for security reasons, to ensure that your browser is not being " "hijacked by third parties." msgstr "" +"Bu HTTPS sayt səyyahınız tərəfindən 'Referer header' göndərilməsini tələb " +"edir, amma göndərilmir. Bu başlıq səyyahınızın üçüncü biri tərəfindən hack-" +"lənmədiyinə əmin olmaq üçün istifadə edilir." msgid "" "If you have configured your browser to disable 'Referer' headers, please re-" "enable them, at least for this site, or for HTTPS connections, or for 'same-" "origin' requests." msgstr "" +"Əgər səyyahınızın 'Referer' başlığını göndərməsini söndürmüsünüzsə, lütfən " +"bu sayt üçün, HTTPS əlaqələr üçün və ya 'same-origin' sorğular üçün aktiv " +"edin." msgid "" "If you are using the tag or " @@ -1103,17 +1133,27 @@ msgid "" "If you're concerned about privacy, use alternatives like for links to third-party sites." msgstr "" +"Əgər etiketini və ya " +"'Referrer-Policy: no-referrer' başlığını işlədirsinizsə, lütfən silin. CSRF " +"qoruma dəqiq yönləndirən yoxlaması üçün 'Referer' başlığını tələb edir. Əgər " +"məxfilik üçün düşünürsünüzsə, üçüncü tərəf sayt keçidləri üçün kimi bir alternativ işlədin." msgid "" "You are seeing this message because this site requires a CSRF cookie when " "submitting forms. This cookie is required for security reasons, to ensure " "that your browser is not being hijacked by third parties." msgstr "" +"Bu sayt formaları göndərmək üçün CSRF çərəzini işlədir. Bu çərəz " +"səyyahınızın üçüncü biri tərəfindən hack-lənmədiyinə əmin olmaq üçün " +"istifadə edilir. " msgid "" "If you have configured your browser to disable cookies, please re-enable " "them, at least for this site, or for 'same-origin' requests." msgstr "" +"Əgər səyyahınızda çərəzlər söndürülübsə, lütfən bu sayt və ya 'same-origin' " +"sorğular üçün aktiv edin." msgid "More information is available with DEBUG=True." msgstr "Daha ətraflı məlumat DEBUG=True ilə mövcuddur." @@ -1122,7 +1162,7 @@ msgid "No year specified" msgstr "İl göstərilməyib" msgid "Date out of range" -msgstr "" +msgstr "Tarix aralığın xaricindədir" msgid "No month specified" msgstr "Ay göstərilməyib" @@ -1176,16 +1216,19 @@ msgid "Index of %(directory)s" msgstr "%(directory)s-nin indeksi" msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" +msgstr "Django: tələsən mükəmməlləkçilər üçün Web framework." #, python-format msgid "" "View release notes for Django %(version)s" msgstr "" +"Django %(version)s üçün buraxılış " +"qeydlərinə baxın" msgid "The install worked successfully! Congratulations!" -msgstr "" +msgstr "Quruluş uğurla tamamlandı! Təbriklər!" #, python-format msgid "" @@ -1194,21 +1237,24 @@ msgid "" "\">DEBUG=True is in your settings file and you have not configured any " "URLs." msgstr "" +"Tənzimləmə faylınızda DEBUG=True və heç bir URL qurmadığınız üçün bu səhifəni görürsünüz." msgid "Django Documentation" -msgstr "" +msgstr "Django Sənədləri" msgid "Topics, references, & how-to's" -msgstr "" +msgstr "Mövzular, istinadlar və nümunələr" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "Məşğələ: Səsvermə Tətbiqi" msgid "Get started with Django" -msgstr "" +msgstr "Django-ya başla" msgid "Django Community" -msgstr "" +msgstr "Django İcması" msgid "Connect, get help, or contribute" -msgstr "" +msgstr "Qoşul, kömək al və dəstək ol" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo index 1949ece124bcfb13364cb849050991535a049b84..784bf33409ea99135ced5b920ef22bc73af4a7dd 100644 GIT binary patch delta 7542 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 E0|AVU+5i9m delta 7275 zcmYk=3w+PjAII_Yo6R|M&aP2``cs9NVn#XA>=`B(!BaRRQvt{BTrx^Eyq5^y@U#^u-&4`3@S zLnB$&8O!2OEbm;vO(LUb6=DTk;WfB7%#SdF`n~1>^Qd{!{1N?J_Y3yGGK@A42jCDa z!hTr3rsrrJ$MfBGGPyLQ`<+Y1LadE%V?F#DGw=#F!N#?m<3BfuA7MBfqp=WuxB$a( z5vqMDs(m>|;cC=`UdNI=-@QX77B|@id(=SrAZkUv#nO1*>aQVh$@v&%B$h#~U`5m` zO2WF>)!N5d`xI2a^ROH~ivf*nH5qmE1~$ZEE1y8!@DpmpzhVqt#Htuk$6N9msF`J> z`s<3iJ`Z(&U*ui82T&88fa>RoI;_8LTt-CTfG zbe*{qwS*_J5B`RCVW%YLI2djTGFDe)<*!k%@;qtcWMn6K*mDQblRFOgA)>#X4;Y)tuc z)T_9RCGfhHT_f+tNbFC2In;wkn+2%*W}+rkhN?*4 z9ia@XfSO4HYRMAKWYmmOQ60CiayF`?&Q`w5+Iyh}G61zHN0^hX{&CbRSb!~c{+E-{ zCw4#T0cTMiUqG$E71Y44V>ygS^Xe<11{R0v(2sg`4XwT(YSRtIFf2e8(M?4Tgj_A(Gng-E!FR+8yls2=QP{A#~f--K@Ds!`f)L80vk~8ehX?MUs?TO)Id&RbNoJ? z_16t?O<6{)g-p_o!iVsAWJ9~?W}FOchVAiT%*HLK6}XC8avgq6s5ELq)lvO7MXg+G z)PTENeeVp`UrRjD8V1{i`Phm2>DUFgqLw(4VXMO!)Vqzt3RoZ2o{1Vzj+MKkz6X6! z*H1*ssE#h6Zn$dtT6nuU8nv{Q%y`uGwNRV4ftiBpKOJjg zF4o2g$l|&{kPNTe?L>WeuA)XVnQK%cIVOe|{b>9lq^>1QD+=`m% zLGy@t%sgeD#(*yT*(%PNznhoLD;W9!p;jm&+j~GMvn=XdS3tE_vifSMU0ws<;uD^X zl_(!==WWK{+Ohs~sVK*x9*oPe8eTDDIrQBqH^v?~4F}*()R(MIN3X+N)aD&w7GfRB ztFQ)cM?Lrl)Lyu1{@pR)RYc@?mNsKh52%7&F$a6%0vv?L@m_4hN8$kt;#9nd_u=Ty z-tpRo`k?)ZDOkS?-w5o3e6!r*0GV23c3>Eu!ALxdKD>Y>@DhgO71VFF8>rI~&FD0v zSd7Ft)JoLCC~S*r?}AnFZmf(WFbV^+$msaYF`vaa$}gfu{62C*-D!-%1m1^UQ6g#p z?NLkH-O58y0~~{Vv)sd0Em&_bOUpWuEWy z$Y@6SI0|Q=cKHvemC5eqt;`Tqc>%`b+o+}AgLeZ+{@&#(fr&0aJ z-|KDW`lx=A?`8eidr(+^Z>dV72GS6)!m+5$ zyACy=&E}`(E^|L>4+M^o(TC>`)B`V>H?bS#sDWO69%^$9L|s1vTi`5gh#RpAp2C`V z1$BSb`@PNjAXcONDC)ZBv4YP31~S_H+fg$=gxakqP&2rJno$JbUA0$1t$-i(MQnte zM3;uz8;@dFd=fRVeOQ23F%ic-;Qj5m6esKaA0#u8hHits4n9OZU>jD#eHf3YQA@4= zo1ht#MGYtswFjD@Rwe^Akd{~xv#}-iM(vpesEKXG(7*q8lFi&Gx3?D%ad<}--X4C^eMD_cbxfetK{y$7cGx^RuYZqKZE%6Oh z2Vq0KcUTH*Q?7^guq$dWjK>sQhc)mZCg4TXW{Vl-{c>uEbt!il#`>2aGnNVsU;>8Y zbgYh#qGqxZb=?NkKsK5mqaL)w+E1fq_%rHsT(I&DpaxWk&c|QFc!KOxBl%sABS(1?8I+*$6d&G|zx*MMg{69N_z2HK0?(oy24!lem=*k>S@s=--Kn*o2EOT4Q7L7GXZ#KVM###6`{3D@lL%DQzY) ztxm`7_Vnm&g;#IOvt2@IH$QbWn-D9Bj|io{M27X*PV)TF*D8X-KglbVB<~O9ykDm} zYWk4WqrNH;M`#ZWB{GO+lux2kjz{R{AbxhFEt+_o{7fR8{5sTT&m#2vP|`7KNPJ5a z6UT_>h|h^FgkF)B|1sh(Vg~UrF_&mcr)7w8#9_++CfX26M?FHvc!%Y;;=5ix;L^#| z<;D;2G@)<#4}?-}>PKQbg1<#V>1}@gX!$hSm5PXT@@r9_TBW)k?sqIpRHwZIkxFc* zT!#q#|DRvT{D*j!PYy5DmnM5xdA&{KAUU)AU~eyLNucM6TVM8 zPgEwJB-Rj0tBK}X|87Jsq5lOxAHO7SrA?Ok7+Vqg!*h<+1@TX!1JRl|M=T?%an0Qr zkLv#_p;SN&A@&i4gp%6b_e3@dlAYCw*>J;$lL7^C|ghJC3QubfPTfr%L%hD%m0cm zSiTg#Ox!_VN-;zy@*T0Jk5#`(W(4sWQI$xhaSC1{_7LZZ3dB?*lD0I=Bb2HUqln8Y zkP>L0fOW7w;S{8S#G6ExmDiIGCp!C@ICl@3+f#Wi8b?J%yZBaH3Cg>QAB(>cQM|F% z%ax0lw4555(IO=+JtZ~GpPrVPmYSTJmYP~Bw`WS;@TvI)`45dx$r&N?N9Y*`WuXIo0aZQO!SX$lhsU> zX;h{cuWJ8DSTH%KYOs4wLU3YEjo^x$I>B8zHG>y&DhAIdBosI7R8%4u+iiMO`+~_+ zCgl$qU%aAQVR&#+&*Zg>dia8~bJK%$a~B7%<^B>poYyq?POs*{-}2&voAc%c=l71M kysdag@1%$l1!JZcU+%XyI=FS{;Nnih;z|?;N3JOOe+t4qTL1t6 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po index a2348f5..8bf8bc6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po @@ -11,15 +11,16 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-06 20:09+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-15 18:02+0000\n" "Last-Translator: Vláďa Macek \n" "Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" msgid "Afrikaans" msgstr "afrikánsky" @@ -28,7 +29,7 @@ msgid "Arabic" msgstr "arabsky" msgid "Asturian" -msgstr "Asturian" +msgstr "asturštinou" msgid "Azerbaijani" msgstr "ázerbájdžánštinou" @@ -160,7 +161,7 @@ msgid "Japanese" msgstr "japonsky" msgid "Georgian" -msgstr "gruzínsky" +msgstr "gruzínštinou" msgid "Kabyle" msgstr "kabylštinou" @@ -372,6 +373,8 @@ msgstr[1] "" "Tato hodnota má mít nejméně %(limit_value)d znaky (nyní má %(show_value)d)." msgstr[2] "" "Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." +msgstr[3] "" +"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." #, python-format msgid "" @@ -386,6 +389,11 @@ msgstr[1] "" "Tato hodnota má mít nejvýše %(limit_value)d znaky (nyní má %(show_value)d)." msgstr[2] "" "Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." +msgstr[3] "" +"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." + +msgid "Enter a number." +msgstr "Zadejte číslo." #, python-format msgid "Ensure that there are no more than %(max)s digit in total." @@ -393,6 +401,7 @@ msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslici." msgstr[1] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslice." msgstr[2] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." +msgstr[3] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." #, python-format msgid "Ensure that there are no more than %(max)s decimal place." @@ -400,6 +409,7 @@ msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "Ujistěte se, že pole neobsahuje více než %(max)s desetinné místo." msgstr[1] "Ujistěte se, že pole neobsahuje více než %(max)s desetinná místa." msgstr[2] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." +msgstr[3] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." #, python-format msgid "" @@ -415,6 +425,9 @@ msgstr[1] "" msgstr[2] "" "Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " "čárkou (tečkou)." +msgstr[3] "" +"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " +"čárkou (tečkou)." #, python-format msgid "" @@ -478,6 +491,10 @@ msgstr "Velké číslo (8 bajtů)" msgid "'%(value)s' value must be either True or False." msgstr "Hodnota '%(value)s' musí být buď True nebo False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Hodnota '%(value)s' musí být buď True, False nebo None." + msgid "Boolean (Either True or False)" msgstr "Pravdivost (buď Ano (True), nebo Ne (False))" @@ -652,9 +669,6 @@ msgstr "Toto pole je třeba vyplnit." msgid "Enter a whole number." msgstr "Zadejte celé číslo." -msgid "Enter a number." -msgstr "Zadejte číslo." - msgid "Enter a valid date." msgstr "Zadejte platné datum." @@ -667,6 +681,10 @@ msgstr "Zadejte platné datum a čas." msgid "Enter a valid duration." msgstr "Zadejte platnou délku trvání." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Počet dní musí být mezi {min_days} a {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." @@ -687,6 +705,8 @@ msgstr[1] "" "Tento název souboru má mít nejvýše %(max)d znaky (nyní má %(length)d)." msgstr[2] "" "Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." +msgstr[3] "" +"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." msgid "Please either submit a file or check the clear checkbox, not both." msgstr "Musíte vybrat cestu k souboru nebo vymazat výběr, ne obojí." @@ -727,6 +747,7 @@ msgid_plural "Please submit %d or fewer forms." msgstr[0] "Odešlete %d nebo méně formulářů." msgstr[1] "Odešlete %d nebo méně formulářů." msgstr[2] "Odešlete %d nebo méně formulářů." +msgstr[3] "Odešlete %d nebo méně formulářů." #, python-format msgid "Please submit %d or more forms." @@ -734,6 +755,7 @@ msgid_plural "Please submit %d or more forms." msgstr[0] "Odešlete %d nebo více formulářů." msgstr[1] "Odešlete %d nebo více formulářů." msgstr[2] "Odešlete %d nebo více formulářů." +msgstr[3] "Odešlete %d nebo více formulářů." msgid "Order" msgstr "Pořadí" @@ -805,6 +827,7 @@ msgid_plural "%(size)d bytes" msgstr[0] "%(size)d bajt" msgstr[1] "%(size)d bajty" msgstr[2] "%(size)d bajtů" +msgstr[3] "%(size)d bajtů" #, python-format msgid "%s KB" @@ -1075,6 +1098,7 @@ msgid_plural "%d years" msgstr[0] "%d rok" msgstr[1] "%d roky" msgstr[2] "%d let" +msgstr[3] "%d let" #, python-format msgid "%d month" @@ -1082,6 +1106,7 @@ msgid_plural "%d months" msgstr[0] "%d měsíc" msgstr[1] "%d měsíce" msgstr[2] "%d měsíců" +msgstr[3] "%d měsíců" #, python-format msgid "%d week" @@ -1089,6 +1114,7 @@ msgid_plural "%d weeks" msgstr[0] "%d týden" msgstr[1] "%d týdny" msgstr[2] "%d týdnů" +msgstr[3] "%d týdnů" #, python-format msgid "%d day" @@ -1096,6 +1122,7 @@ msgid_plural "%d days" msgstr[0] "%d den" msgstr[1] "%d dny" msgstr[2] "%d dní" +msgstr[3] "%d dní" #, python-format msgid "%d hour" @@ -1103,6 +1130,7 @@ msgid_plural "%d hours" msgstr[0] "%d hodina" msgstr[1] "%d hodiny" msgstr[2] "%d hodin" +msgstr[3] "%d hodin" #, python-format msgid "%d minute" @@ -1110,6 +1138,7 @@ msgid_plural "%d minutes" msgstr[0] "%d minuta" msgstr[1] "%d minuty" msgstr[2] "%d minut" +msgstr[3] "%d minut" msgid "0 minutes" msgstr "0 minut" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo index 68467b66434b1728f67e6bb27951bd124fd86126..0f4189e38040e162f8225b8385a231a52957ffa9 100644 GIT binary patch delta 7325 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 OpYVT^ZJl1X-2VVMl{$?8 delta 7111 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.po index c4107c2..51d970d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/da/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # Translators: # Christian Joergensen , 2012 # Danni Randeris , 2014 -# Erik Wognsen , 2013-2017 +# Erik Wognsen , 2013-2018 # Finn Gruwier Larsen, 2011 # Jannis Leidel , 2011 # jonaskoelker , 2012 @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-02 11:14+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 20:46+0000\n" "Last-Translator: Erik Wognsen \n" "Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" "MIME-Version: 1.0\n" @@ -385,6 +385,9 @@ msgstr[0] "" msgstr[1] "" "Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." +msgid "Enter a number." +msgstr "Indtast et tal." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -463,6 +466,10 @@ msgstr "Stort heltal (8 byte)" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s'-værdien skal være enten True eller False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' værdien skal være enten True, False eller None." + msgid "Boolean (Either True or False)" msgstr "Boolsk (enten True eller False)" @@ -639,9 +646,6 @@ msgstr "Dette felt er påkrævet." msgid "Enter a whole number." msgstr "Indtast et heltal." -msgid "Enter a number." -msgstr "Indtast et tal." - msgid "Enter a valid date." msgstr "Indtast en gyldig dato." @@ -654,6 +658,10 @@ msgstr "Indtast gyldig dato/tid." msgid "Enter a valid duration." msgstr "Indtast en gyldig varighed." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antallet af dage skal være mellem {min_days} og {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Ingen fil blev indsendt. Kontroller kodningstypen i formularen." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo index a51de63a483ba7d97e2efe0a1a0c29ce37caf3d6..e90c930ed220b553950a0ed5b8d32c0f0683f043 100644 GIT binary patch delta 6874 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 delta 6869 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.po index 38f5921..2739327 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/de/LC_MESSAGES/django.po @@ -4,16 +4,17 @@ # André Hagenbruch, 2011-2012 # Florian Apolloner , 2011 # Daniel Roschka , 2016 -# Jannis, 2011,2013 -# Jannis Leidel , 2013-2017 -# Jannis, 2016 +# Florian Apolloner , 2018 +# Jannis Vajen, 2011,2013 +# Jannis Leidel , 2013-2018 +# Jannis Vajen, 2016 # Markus Holtermann , 2013,2015 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-27 16:21+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 00:21+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" "MIME-Version: 1.0\n" @@ -163,6 +164,9 @@ msgstr "Japanisch" msgid "Georgian" msgstr "Georgisch" +msgid "Kabyle" +msgstr "Kabylisch" + msgid "Kazakh" msgstr "Kasachisch" @@ -349,7 +353,7 @@ msgstr "Bitte nur durch Komma getrennte Ziffern eingeben." msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." msgstr "" "Bitte sicherstellen, dass der Wert %(limit_value)s ist. (Er ist " -"%(show_value)s)" +"%(show_value)s.)" #, python-format msgid "Ensure this value is less than or equal to %(limit_value)s." @@ -368,10 +372,10 @@ msgid_plural "" "%(show_value)d)." msgstr[0] "" "Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen)." +"besteht. (Er besteht aus %(show_value)d Zeichen.)" msgstr[1] "" "Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen)." +"besteht. (Er besteht aus %(show_value)d Zeichen.)" #, python-format msgid "" @@ -382,10 +386,13 @@ msgid_plural "" "%(show_value)d)." msgstr[0] "" "Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen)." +"besteht. (Er besteht aus %(show_value)d Zeichen.)" msgstr[1] "" "Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen)." +"besteht. (Er besteht aus %(show_value)d Zeichen.)" + +msgid "Enter a number." +msgstr "Bitte eine Zahl eingeben." #, python-format msgid "Ensure that there are no more than %(max)s digit in total." @@ -420,7 +427,7 @@ msgid "" "File extension '%(extension)s' is not allowed. Allowed extensions are: " "'%(allowed_extensions)s'." msgstr "" -"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen: sind: " +"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen sind: " "„%(allowed_extensions)s“." msgid "Null characters are not allowed." @@ -473,6 +480,10 @@ msgstr "Große Ganzzahl (8 Byte)" msgid "'%(value)s' value must be either True or False." msgstr "„%(value)s“ Wert muss entweder True oder False sein." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + msgid "Boolean (Either True or False)" msgstr "Boolescher Wert (True oder False)" @@ -648,9 +659,6 @@ msgstr "Dieses Feld ist zwingend erforderlich." msgid "Enter a whole number." msgstr "Bitte eine ganze Zahl eingeben." -msgid "Enter a number." -msgstr "Bitte eine Zahl eingeben." - msgid "Enter a valid date." msgstr "Bitte ein gültiges Datum eingeben." @@ -663,6 +671,10 @@ msgstr "Bitte ein gültiges Datum und Uhrzeit eingeben." msgid "Enter a valid duration." msgstr "Bitte eine gültige Zeitspanne eingeben." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Es wurde keine Datei übertragen. Überprüfen Sie das Encoding des Formulars." @@ -679,10 +691,10 @@ msgid_plural "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr[0] "" "Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " -"besteht. (Er besteht aus %(length)d Zeichen)." +"besteht. (Er besteht aus %(length)d Zeichen.)" msgstr[1] "" "Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " -"besteht. (Er besteht aus %(length)d Zeichen)." +"besteht. (Er besteht aus %(length)d Zeichen.)" msgid "Please either submit a file or check the clear checkbox, not both." msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo index 8d0abbc1607921f1c67dc62b54adb4e5e79d0da9..34cf9c5a869df19891dd9092ffe6046b46bdac15 100644 GIT binary patch delta 7283 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 Z@ee$+9 zOG`ClD=kx|HN}i#MzyxKYC5fIM^!QC{QmEK%*Xk7-tXD&x#ymH?tNdma?W@8jL&~I zCTN)>b@Dk^9s5K$w}bq`%Bpp)Fu}QaEW(;N2Pfcq?2MH-NXHH4qXtgHmbe0Q@Hn=> zC>qJSj#wTGFxol4dz_5UH3wtxC9lD4GWTFG^+(L(<|*@>`7I{W?+5ITQOveC4#MHM z83$l=EzdDHp7Xl{WO~w&mFQd=&cS5df_3p2HpT1M7#k%y$3Hiek1{wD!*LG!@Occv z7f|g>QSB=*4A-G9Xd{Mje)le!O1Q&198v@26Q~vW5+m`l)!#(!lJhakP>e#YU}e-T zYJhdHv$c=6_Q|MmpTi2c82y^rIx-q)6Q*LRmCvFMxQLqZk600Z!KxTs+gtLQs4L4u zjn^5~zc=dm{>Z&{52G%00&1M6YqS13a5)v)6l+iiY{q)H4Rzod)D>RFR#=wH({XK3 zC+dRbum|c^4MAN{2~NUQxE!PFIyVL1z!$M*3hVzGnJp>oXzasTb%NjUKFqG~?dD>v zqJHKls3kmyeeoykh8-F>$AjUPAaiw_t$Yl1D=(u~z{fJnSU(vpWdqa++Mynkff$EV zQ5_edR$x8G;tpia?g)nCRSd&BW+*$E2f;;S5H`YL*aX#oDQboMtI24<4c4#+8&Uok zbt`_wvUtnNuAz5eC=R5)0_wzL%wp7WPoXYo4(b-IvifyaeiNC9-)$xnL5H0fh5Nk* zcNBHvFR+i#xwH5duk9oR6-drtGrUS@$g88xwan20Z;E?_I_-tR(P$Y)l65;c)?*bKkU zV*PbMd=r)tlaPyah4>h*L^iYw&*sU%Y;22DF%Ng4R^SF|$@TE-f+A5DR2?;b6V%GJ zL`}G>)%R)2`fG^?Tf;ExScDy@pN5@qFKUTHnYIS3h`P7&7=!gt?YXE4V41` z)qf)Dct1wrJZ1EpE=4W~0P>CzN>bRFs{olsQxEFP$ zC(O^y)8={e0{YeQJFB>4{%l?~uVdf^gj%8CJnsY%W_i?e9fN9*wfbtPU0xH9@d{7F zYLxG^@%Bo5Th@O%6|H!vyW{&<6~lSh<1rbzO|BKPT5c*b2e%FNv|PnR%xLfZH0y;8 zD9=K@>o-~bNvusdG~e3`X=Y}=->YbD6|K$on8X2Hupf>!_v1*)3A`MJ;w)7Ac^rp1 z9lhU@uVZ7%*HAC8luq7+dLjGWO-DU-+x=uTv+uABMs@afZ3XmEj>jNOK<)BG)SgH~ zEp1B-#?Gj3yY8r!8;E*pCSeH9Mm=`(QF~+^>UjTlG8%9{>VV@IhhL%I2iGwfW4m|< z)%IB;0Wpj-&p%4)QN6k3Wjv`E-W3j0{NJ&=YIehEzu&>bGr=n zn7x6zS36Nl^&k8l?_h22&7E%i?xUQ{&K*WMriXLSVsTFH=n9BtC2POR+5F^;pQQ*?>nVR~W?lZzXePkT;_j278-h8EPUMQ7f<$HQ+wv_PWE^ z7;6miPWS+-y&r0Y3Q)(7L0#z+<_y$?pGK|7Vm}#mTx$)RQM-FLYQRHQe-gDRFPOig z`i1Zo(iO*HIwoRe?2ejv0crwcQ7bSJ)qgU^qu)hXS7up8o0dSw9_C)nz-s6{r>emI?JAOCR%eV=sO*0#7;R4hZ zY(gDSikj#_)I^VEX-)LvMK4e%Az#6Lz&=rn3&&!hVP z8#VFY(66No8tqj?n>8?m`cw?YOjN(-SO?oVYlfv%gy9ZUc^}rq1E>SO!63YiVOXZfyOKyur5uksF5l`qn-8J-kHAN9 zJZj}mqsF^j#QL`&^9vQa$LV9dCGUbODfdSWdH zR^JCT{vdO>=^sr-Cm4@9a3bo!CovpnBNylvqWUc|mzc}Vm(A7YdUFG6;v22J1vP#t zaz4M?Z4C#^gXUq>QXjSQ87qH4;!Nzp{#Tpx#cPZoJ z{tu+ofKJUcDygA|+ljeWr|13NG~=Ga8~5Z#TK-ei6Ql2lRm2`biSIYp)W&QhIe*~K zsKFFoC$AJjJ~5En>qSzR`l^IBobGi2(Ui!hd=8cJJp!M+sa<>8!im}BpCW?D zZ$Lf1tqGk!ko35v5?>Of#A#v~@iDQB(7o47XcqAs@gy;om`5~W&?uq;agy@iiB^Qt zDUZMl=`WVwi|=`Pf8d>5hXdcI;sVi)_{M8=$<&V~--hU8bzAUT%V*NAw3)~v|0?Q5 zq*TYl{fy;_>a@2bGKd3|YZHOL|NKDapTuH9=^dg8QH#*)Sm{0vI*xkAmG%Wbz26QU zEuTl9|Bz>Y2L5Kykn%#h3HA>Pw)%yFmX5Su*?V8f=H#$ zGgeoE*NApROX3o-oTx^h2QUFO{tZH@m>5p{jhI6ysoi}|=viN?f~BK)o5*L7zIQ9} zMM7UTN{O_c!3<&=QJ(U%sMLW-qWn^z#Fq~4CiDY0iD*EO+PR8!x;I5wdC|R< z73&j6h%m~VP-!9Y2oXcwYE@_%pXc)|(VVDDC_PLxqSFfeOckX09xjslw!~MIUm%89 z{aSpNs6k{CN@Iwpi5B!PgMTKXh;f9{M(wxz$P6NWC-R6KI{Sz!#0kpNiCaWJLaD2V zOQ$`7{1?P0C2gx!s{0eU&xtF9QY<~TdD*~ceahX{)1O8;ooGePbu34GL?|_UYSDBK8wii8LA~<5l7i zahZrArVydDWnynasTxs8{Hg+}2JI72|F^40I0b1i@ix)g%5RbnB0BmSd%rZv|35|3 zX*{LM*7SYF5Q;2Ca!cz&Xmxm&C@fp(las>vodotGtx3LGcqE2_DJtN va!OHg(PNLM=MSGWGB+_RBh%~GA~7>3H@jJB>o#q|O1F1TO)QNoIvw&q7%Ti> diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po index 4516b8f..e3e3438 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Michael Wolf , 2016-2017 +# Michael Wolf , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-09 18:46+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-26 10:19+0000\n" "Last-Translator: Michael Wolf \n" "Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" "language/dsb/)\n" @@ -398,6 +398,9 @@ msgstr[3] "" "Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuškow (ma " "%(show_value)d)." +msgid "Enter a number." +msgstr "Zapódajśo licbu." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -482,6 +485,10 @@ msgstr "Big (8 bajtow) integer" msgid "'%(value)s' value must be either True or False." msgstr "Gódnota '%(value)s musy pak True pak False byś." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Gódnota '%(value)s' musy pak True, False pak None byś." + msgid "Boolean (Either True or False)" msgstr "Boolean (pak True pak False)" @@ -657,9 +664,6 @@ msgstr "Toś to pólo jo trěbne." msgid "Enter a whole number." msgstr "Zapódajśo cełu licbu." -msgid "Enter a number." -msgstr "Zapódajśo licbu." - msgid "Enter a valid date." msgstr "Zapódajśo płaśiwy datum." @@ -672,6 +676,10 @@ msgstr "Zapódajśo płaśiwy datum/cas." msgid "Enter a valid duration." msgstr "Zapódaśe płaśiwe traśe." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Licba dnjow musy mjazy {min_days} a {max_days} byś." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Dataja njejo se wótpósłała. Pśeglědujśo koděrowański typ na formularje. " diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/en/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/en/LC_MESSAGES/django.po index 5fa7e05..73acc78 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/en/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/en/LC_MESSAGES/django.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" "PO-Revision-Date: 2010-05-13 15:35+0200\n" "Last-Translator: Django team\n" "Language-Team: English \n" @@ -14,359 +14,359 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: conf/global_settings.py:57 +#: conf/global_settings.py:52 msgid "Afrikaans" msgstr "" -#: conf/global_settings.py:58 +#: conf/global_settings.py:53 msgid "Arabic" msgstr "" -#: conf/global_settings.py:59 +#: conf/global_settings.py:54 msgid "Asturian" msgstr "" -#: conf/global_settings.py:60 +#: conf/global_settings.py:55 msgid "Azerbaijani" msgstr "" -#: conf/global_settings.py:61 +#: conf/global_settings.py:56 msgid "Bulgarian" msgstr "" -#: conf/global_settings.py:62 +#: conf/global_settings.py:57 msgid "Belarusian" msgstr "" -#: conf/global_settings.py:63 +#: conf/global_settings.py:58 msgid "Bengali" msgstr "" -#: conf/global_settings.py:64 +#: conf/global_settings.py:59 msgid "Breton" msgstr "" -#: conf/global_settings.py:65 +#: conf/global_settings.py:60 msgid "Bosnian" msgstr "" -#: conf/global_settings.py:66 +#: conf/global_settings.py:61 msgid "Catalan" msgstr "" -#: conf/global_settings.py:67 +#: conf/global_settings.py:62 msgid "Czech" msgstr "" -#: conf/global_settings.py:68 +#: conf/global_settings.py:63 msgid "Welsh" msgstr "" -#: conf/global_settings.py:69 +#: conf/global_settings.py:64 msgid "Danish" msgstr "" -#: conf/global_settings.py:70 +#: conf/global_settings.py:65 msgid "German" msgstr "" -#: conf/global_settings.py:71 +#: conf/global_settings.py:66 msgid "Lower Sorbian" msgstr "" -#: conf/global_settings.py:72 +#: conf/global_settings.py:67 msgid "Greek" msgstr "" -#: conf/global_settings.py:73 +#: conf/global_settings.py:68 msgid "English" msgstr "" -#: conf/global_settings.py:74 +#: conf/global_settings.py:69 msgid "Australian English" msgstr "" -#: conf/global_settings.py:75 +#: conf/global_settings.py:70 msgid "British English" msgstr "" -#: conf/global_settings.py:76 +#: conf/global_settings.py:71 msgid "Esperanto" msgstr "" -#: conf/global_settings.py:77 +#: conf/global_settings.py:72 msgid "Spanish" msgstr "" -#: conf/global_settings.py:78 +#: conf/global_settings.py:73 msgid "Argentinian Spanish" msgstr "" -#: conf/global_settings.py:79 +#: conf/global_settings.py:74 msgid "Colombian Spanish" msgstr "" -#: conf/global_settings.py:80 +#: conf/global_settings.py:75 msgid "Mexican Spanish" msgstr "" -#: conf/global_settings.py:81 +#: conf/global_settings.py:76 msgid "Nicaraguan Spanish" msgstr "" -#: conf/global_settings.py:82 +#: conf/global_settings.py:77 msgid "Venezuelan Spanish" msgstr "" -#: conf/global_settings.py:83 +#: conf/global_settings.py:78 msgid "Estonian" msgstr "" -#: conf/global_settings.py:84 +#: conf/global_settings.py:79 msgid "Basque" msgstr "" -#: conf/global_settings.py:85 +#: conf/global_settings.py:80 msgid "Persian" msgstr "" -#: conf/global_settings.py:86 +#: conf/global_settings.py:81 msgid "Finnish" msgstr "" -#: conf/global_settings.py:87 +#: conf/global_settings.py:82 msgid "French" msgstr "" -#: conf/global_settings.py:88 +#: conf/global_settings.py:83 msgid "Frisian" msgstr "" -#: conf/global_settings.py:89 +#: conf/global_settings.py:84 msgid "Irish" msgstr "" -#: conf/global_settings.py:90 +#: conf/global_settings.py:85 msgid "Scottish Gaelic" msgstr "" -#: conf/global_settings.py:91 +#: conf/global_settings.py:86 msgid "Galician" msgstr "" -#: conf/global_settings.py:92 +#: conf/global_settings.py:87 msgid "Hebrew" msgstr "" -#: conf/global_settings.py:93 +#: conf/global_settings.py:88 msgid "Hindi" msgstr "" -#: conf/global_settings.py:94 +#: conf/global_settings.py:89 msgid "Croatian" msgstr "" -#: conf/global_settings.py:95 +#: conf/global_settings.py:90 msgid "Upper Sorbian" msgstr "" -#: conf/global_settings.py:96 +#: conf/global_settings.py:91 msgid "Hungarian" msgstr "" -#: conf/global_settings.py:97 +#: conf/global_settings.py:92 msgid "Interlingua" msgstr "" -#: conf/global_settings.py:98 +#: conf/global_settings.py:93 msgid "Indonesian" msgstr "" -#: conf/global_settings.py:99 +#: conf/global_settings.py:94 msgid "Ido" msgstr "" -#: conf/global_settings.py:100 +#: conf/global_settings.py:95 msgid "Icelandic" msgstr "" -#: conf/global_settings.py:101 +#: conf/global_settings.py:96 msgid "Italian" msgstr "" -#: conf/global_settings.py:102 +#: conf/global_settings.py:97 msgid "Japanese" msgstr "" -#: conf/global_settings.py:103 +#: conf/global_settings.py:98 msgid "Georgian" msgstr "" -#: conf/global_settings.py:104 +#: conf/global_settings.py:99 msgid "Kabyle" msgstr "" -#: conf/global_settings.py:104 +#: conf/global_settings.py:100 msgid "Kazakh" msgstr "" -#: conf/global_settings.py:105 +#: conf/global_settings.py:101 msgid "Khmer" msgstr "" -#: conf/global_settings.py:106 +#: conf/global_settings.py:102 msgid "Kannada" msgstr "" -#: conf/global_settings.py:107 +#: conf/global_settings.py:103 msgid "Korean" msgstr "" -#: conf/global_settings.py:108 +#: conf/global_settings.py:104 msgid "Luxembourgish" msgstr "" -#: conf/global_settings.py:109 +#: conf/global_settings.py:105 msgid "Lithuanian" msgstr "" -#: conf/global_settings.py:110 +#: conf/global_settings.py:106 msgid "Latvian" msgstr "" -#: conf/global_settings.py:111 +#: conf/global_settings.py:107 msgid "Macedonian" msgstr "" -#: conf/global_settings.py:112 +#: conf/global_settings.py:108 msgid "Malayalam" msgstr "" -#: conf/global_settings.py:113 +#: conf/global_settings.py:109 msgid "Mongolian" msgstr "" -#: conf/global_settings.py:114 +#: conf/global_settings.py:110 msgid "Marathi" msgstr "" -#: conf/global_settings.py:115 +#: conf/global_settings.py:111 msgid "Burmese" msgstr "" -#: conf/global_settings.py:116 +#: conf/global_settings.py:112 msgid "Norwegian Bokmål" msgstr "" -#: conf/global_settings.py:117 +#: conf/global_settings.py:113 msgid "Nepali" msgstr "" -#: conf/global_settings.py:118 +#: conf/global_settings.py:114 msgid "Dutch" msgstr "" -#: conf/global_settings.py:119 +#: conf/global_settings.py:115 msgid "Norwegian Nynorsk" msgstr "" -#: conf/global_settings.py:120 +#: conf/global_settings.py:116 msgid "Ossetic" msgstr "" -#: conf/global_settings.py:121 +#: conf/global_settings.py:117 msgid "Punjabi" msgstr "" -#: conf/global_settings.py:122 +#: conf/global_settings.py:118 msgid "Polish" msgstr "" -#: conf/global_settings.py:123 +#: conf/global_settings.py:119 msgid "Portuguese" msgstr "" -#: conf/global_settings.py:124 +#: conf/global_settings.py:120 msgid "Brazilian Portuguese" msgstr "" -#: conf/global_settings.py:125 +#: conf/global_settings.py:121 msgid "Romanian" msgstr "" -#: conf/global_settings.py:126 +#: conf/global_settings.py:122 msgid "Russian" msgstr "" -#: conf/global_settings.py:127 +#: conf/global_settings.py:123 msgid "Slovak" msgstr "" -#: conf/global_settings.py:128 +#: conf/global_settings.py:124 msgid "Slovenian" msgstr "" -#: conf/global_settings.py:129 +#: conf/global_settings.py:125 msgid "Albanian" msgstr "" -#: conf/global_settings.py:130 +#: conf/global_settings.py:126 msgid "Serbian" msgstr "" -#: conf/global_settings.py:131 +#: conf/global_settings.py:127 msgid "Serbian Latin" msgstr "" -#: conf/global_settings.py:132 +#: conf/global_settings.py:128 msgid "Swedish" msgstr "" -#: conf/global_settings.py:133 +#: conf/global_settings.py:129 msgid "Swahili" msgstr "" -#: conf/global_settings.py:134 +#: conf/global_settings.py:130 msgid "Tamil" msgstr "" -#: conf/global_settings.py:135 +#: conf/global_settings.py:131 msgid "Telugu" msgstr "" -#: conf/global_settings.py:136 +#: conf/global_settings.py:132 msgid "Thai" msgstr "" -#: conf/global_settings.py:137 +#: conf/global_settings.py:133 msgid "Turkish" msgstr "" -#: conf/global_settings.py:138 +#: conf/global_settings.py:134 msgid "Tatar" msgstr "" -#: conf/global_settings.py:139 +#: conf/global_settings.py:135 msgid "Udmurt" msgstr "" -#: conf/global_settings.py:140 +#: conf/global_settings.py:136 msgid "Ukrainian" msgstr "" -#: conf/global_settings.py:141 +#: conf/global_settings.py:137 msgid "Urdu" msgstr "" -#: conf/global_settings.py:142 +#: conf/global_settings.py:138 msgid "Vietnamese" msgstr "" -#: conf/global_settings.py:143 +#: conf/global_settings.py:139 msgid "Simplified Chinese" msgstr "" -#: conf/global_settings.py:144 +#: conf/global_settings.py:140 msgid "Traditional Chinese" msgstr "" @@ -386,15 +386,15 @@ msgstr "" msgid "Syndication" msgstr "" -#: core/paginator.py:40 +#: core/paginator.py:42 msgid "That page number is not an integer" msgstr "" -#: core/paginator.py:42 +#: core/paginator.py:44 msgid "That page number is less than 1" msgstr "" -#: core/paginator.py:47 +#: core/paginator.py:49 msgid "That page contains no results" msgstr "" @@ -402,7 +402,7 @@ msgstr "" msgid "Enter a valid value." msgstr "" -#: core/validators.py:102 forms/fields.py:649 +#: core/validators.py:102 forms/fields.py:659 msgid "Enter a valid URL." msgstr "" @@ -479,21 +479,25 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: core/validators.py:395 +#: core/validators.py:394 forms/fields.py:289 forms/fields.py:324 +msgid "Enter a number." +msgstr "" + +#: core/validators.py:396 #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "" msgstr[1] "" -#: core/validators.py:400 +#: core/validators.py:401 #, python-format msgid "Ensure that there are no more than %(max)s decimal place." msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "" msgstr[1] "" -#: core/validators.py:405 +#: core/validators.py:406 #, python-format msgid "" "Ensure that there are no more than %(max)s digit before the decimal point." @@ -502,22 +506,22 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: core/validators.py:459 +#: core/validators.py:468 #, python-format msgid "" "File extension '%(extension)s' is not allowed. Allowed extensions are: " "'%(allowed_extensions)s'." msgstr "" -#: core/validators.py:512 +#: core/validators.py:520 msgid "Null characters are not allowed." msgstr "" -#: db/models/base.py:1119 forms/models.py:753 +#: db/models/base.py:1110 forms/models.py:752 msgid "and" msgstr "" -#: db/models/base.py:1121 +#: db/models/base.py:1112 #, python-format msgid "%(model_name)s with this %(field_labels)s already exists." msgstr "" @@ -553,175 +557,180 @@ msgstr "" msgid "Field of type: %(field_type)s" msgstr "" -#: db/models/fields/__init__.py:882 db/models/fields/__init__.py:1782 +#: db/models/fields/__init__.py:898 db/models/fields/__init__.py:1766 msgid "Integer" msgstr "" -#: db/models/fields/__init__.py:886 db/models/fields/__init__.py:1780 +#: db/models/fields/__init__.py:902 db/models/fields/__init__.py:1764 #, python-format msgid "'%(value)s' value must be an integer." msgstr "" -#: db/models/fields/__init__.py:959 db/models/fields/__init__.py:1851 +#: db/models/fields/__init__.py:977 db/models/fields/__init__.py:1833 msgid "Big (8 byte) integer" msgstr "" -#: db/models/fields/__init__.py:971 +#: db/models/fields/__init__.py:989 #, python-format msgid "'%(value)s' value must be either True or False." msgstr "" -#: db/models/fields/__init__.py:973 +#: db/models/fields/__init__.py:990 +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + +#: db/models/fields/__init__.py:992 msgid "Boolean (Either True or False)" msgstr "" -#: db/models/fields/__init__.py:1039 +#: db/models/fields/__init__.py:1034 #, python-format msgid "String (up to %(max_length)s)" msgstr "" -#: db/models/fields/__init__.py:1102 +#: db/models/fields/__init__.py:1098 msgid "Comma-separated integers" msgstr "" -#: db/models/fields/__init__.py:1150 +#: db/models/fields/__init__.py:1147 #, python-format msgid "" "'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD " "format." msgstr "" -#: db/models/fields/__init__.py:1152 db/models/fields/__init__.py:1294 +#: db/models/fields/__init__.py:1149 db/models/fields/__init__.py:1292 #, python-format msgid "" "'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid " "date." msgstr "" -#: db/models/fields/__init__.py:1155 +#: db/models/fields/__init__.py:1152 msgid "Date (without time)" msgstr "" -#: db/models/fields/__init__.py:1292 +#: db/models/fields/__init__.py:1290 #, python-format msgid "" "'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." "uuuuuu]][TZ] format." msgstr "" -#: db/models/fields/__init__.py:1296 +#: db/models/fields/__init__.py:1294 #, python-format msgid "" "'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" "[TZ]) but it is an invalid date/time." msgstr "" -#: db/models/fields/__init__.py:1300 +#: db/models/fields/__init__.py:1298 msgid "Date (with time)" msgstr "" -#: db/models/fields/__init__.py:1447 +#: db/models/fields/__init__.py:1446 #, python-format msgid "'%(value)s' value must be a decimal number." msgstr "" -#: db/models/fields/__init__.py:1449 +#: db/models/fields/__init__.py:1448 msgid "Decimal number" msgstr "" -#: db/models/fields/__init__.py:1601 +#: db/models/fields/__init__.py:1587 #, python-format msgid "" "'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[." "uuuuuu] format." msgstr "" -#: db/models/fields/__init__.py:1604 +#: db/models/fields/__init__.py:1590 msgid "Duration" msgstr "" -#: db/models/fields/__init__.py:1656 +#: db/models/fields/__init__.py:1640 msgid "Email address" msgstr "" -#: db/models/fields/__init__.py:1680 +#: db/models/fields/__init__.py:1663 msgid "File path" msgstr "" -#: db/models/fields/__init__.py:1746 +#: db/models/fields/__init__.py:1729 #, python-format msgid "'%(value)s' value must be a float." msgstr "" -#: db/models/fields/__init__.py:1748 +#: db/models/fields/__init__.py:1731 msgid "Floating point number" msgstr "" -#: db/models/fields/__init__.py:1866 +#: db/models/fields/__init__.py:1849 msgid "IPv4 address" msgstr "" -#: db/models/fields/__init__.py:1897 +#: db/models/fields/__init__.py:1880 msgid "IP address" msgstr "" -#: db/models/fields/__init__.py:1978 +#: db/models/fields/__init__.py:1960 db/models/fields/__init__.py:1961 #, python-format msgid "'%(value)s' value must be either None, True or False." msgstr "" -#: db/models/fields/__init__.py:1980 +#: db/models/fields/__init__.py:1963 msgid "Boolean (Either True, False or None)" msgstr "" -#: db/models/fields/__init__.py:2043 +#: db/models/fields/__init__.py:1998 msgid "Positive integer" msgstr "" -#: db/models/fields/__init__.py:2055 +#: db/models/fields/__init__.py:2011 msgid "Positive small integer" msgstr "" -#: db/models/fields/__init__.py:2068 +#: db/models/fields/__init__.py:2025 #, python-format msgid "Slug (up to %(max_length)s)" msgstr "" -#: db/models/fields/__init__.py:2098 +#: db/models/fields/__init__.py:2057 msgid "Small integer" msgstr "" -#: db/models/fields/__init__.py:2105 +#: db/models/fields/__init__.py:2064 msgid "Text" msgstr "" -#: db/models/fields/__init__.py:2133 +#: db/models/fields/__init__.py:2092 #, python-format msgid "" "'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " "format." msgstr "" -#: db/models/fields/__init__.py:2135 +#: db/models/fields/__init__.py:2094 #, python-format msgid "" "'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " "invalid time." msgstr "" -#: db/models/fields/__init__.py:2138 +#: db/models/fields/__init__.py:2097 msgid "Time" msgstr "" -#: db/models/fields/__init__.py:2263 +#: db/models/fields/__init__.py:2223 msgid "URL" msgstr "" -#: db/models/fields/__init__.py:2286 +#: db/models/fields/__init__.py:2245 msgid "Raw binary data" msgstr "" -#: db/models/fields/__init__.py:2333 +#: db/models/fields/__init__.py:2295 #, python-format msgid "'%(value)s' is not a valid UUID." msgstr "" @@ -730,16 +739,16 @@ msgstr "" msgid "File" msgstr "" -#: db/models/fields/files.py:359 +#: db/models/fields/files.py:360 msgid "Image" msgstr "" -#: db/models/fields/related.py:780 +#: db/models/fields/related.py:778 #, python-format msgid "%(model)s instance with %(field)s %(value)r does not exist." msgstr "" -#: db/models/fields/related.py:782 +#: db/models/fields/related.py:780 msgid "Foreign Key (type determined by related field)" msgstr "" @@ -763,51 +772,52 @@ msgstr "" #. Translators: If found as last label character, these punctuation #. characters will prevent the default label_suffix to be appended to the label -#: forms/boundfield.py:171 +#: forms/boundfield.py:146 msgid ":?.!" msgstr "" -#: forms/fields.py:53 +#: forms/fields.py:52 msgid "This field is required." msgstr "" -#: forms/fields.py:245 +#: forms/fields.py:244 msgid "Enter a whole number." msgstr "" -#: forms/fields.py:290 forms/fields.py:325 -msgid "Enter a number." -msgstr "" - -#: forms/fields.py:396 forms/fields.py:1114 +#: forms/fields.py:395 forms/fields.py:1128 msgid "Enter a valid date." msgstr "" -#: forms/fields.py:420 forms/fields.py:1115 +#: forms/fields.py:419 forms/fields.py:1129 msgid "Enter a valid time." msgstr "" -#: forms/fields.py:442 +#: forms/fields.py:441 msgid "Enter a valid date/time." msgstr "" -#: forms/fields.py:471 +#: forms/fields.py:470 msgid "Enter a valid duration." msgstr "" -#: forms/fields.py:525 +#: forms/fields.py:472 +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +#: forms/fields.py:533 msgid "No file was submitted. Check the encoding type on the form." msgstr "" -#: forms/fields.py:526 +#: forms/fields.py:534 msgid "No file was submitted." msgstr "" -#: forms/fields.py:527 +#: forms/fields.py:535 msgid "The submitted file is empty." msgstr "" -#: forms/fields.py:529 +#: forms/fields.py:537 #, python-format msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." msgid_plural "" @@ -815,30 +825,30 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forms/fields.py:532 +#: forms/fields.py:540 msgid "Please either submit a file or check the clear checkbox, not both." msgstr "" -#: forms/fields.py:597 +#: forms/fields.py:601 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" -#: forms/fields.py:753 forms/fields.py:843 forms/models.py:1267 +#: forms/fields.py:763 forms/fields.py:853 forms/models.py:1272 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" -#: forms/fields.py:844 forms/fields.py:959 forms/models.py:1266 +#: forms/fields.py:854 forms/fields.py:969 forms/models.py:1271 msgid "Enter a list of values." msgstr "" -#: forms/fields.py:960 +#: forms/fields.py:970 msgid "Enter a complete value." msgstr "" -#: forms/fields.py:1173 +#: forms/fields.py:1187 msgid "Enter a valid UUID." msgstr "" @@ -847,7 +857,7 @@ msgstr "" msgid ":" msgstr "" -#: forms/forms.py:207 +#: forms/forms.py:212 #, python-format msgid "(Hidden field %(name)s) %(error)s" msgstr "" @@ -878,36 +888,36 @@ msgstr "" msgid "Delete" msgstr "" -#: forms/models.py:748 +#: forms/models.py:747 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "" -#: forms/models.py:752 +#: forms/models.py:751 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" -#: forms/models.py:758 +#: forms/models.py:757 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -#: forms/models.py:767 +#: forms/models.py:766 msgid "Please correct the duplicate values below." msgstr "" -#: forms/models.py:1094 +#: forms/models.py:1093 msgid "The inline value did not match the parent instance." msgstr "" -#: forms/models.py:1155 +#: forms/models.py:1160 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" -#: forms/models.py:1269 +#: forms/models.py:1274 #, python-format msgid "\"%(pk)s\" is not a valid value." msgstr "" @@ -919,62 +929,62 @@ msgid "" "may be ambiguous or it may not exist." msgstr "" -#: forms/widgets.py:391 +#: forms/widgets.py:383 msgid "Clear" msgstr "" -#: forms/widgets.py:392 +#: forms/widgets.py:384 msgid "Currently" msgstr "" -#: forms/widgets.py:393 +#: forms/widgets.py:385 msgid "Change" msgstr "" -#: forms/widgets.py:706 +#: forms/widgets.py:699 msgid "Unknown" msgstr "" -#: forms/widgets.py:707 +#: forms/widgets.py:700 msgid "Yes" msgstr "" -#: forms/widgets.py:708 +#: forms/widgets.py:701 msgid "No" msgstr "" -#: template/defaultfilters.py:782 +#: template/defaultfilters.py:788 msgid "yes,no,maybe" msgstr "" -#: template/defaultfilters.py:811 template/defaultfilters.py:828 +#: template/defaultfilters.py:817 template/defaultfilters.py:834 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "" msgstr[1] "" -#: template/defaultfilters.py:830 +#: template/defaultfilters.py:836 #, python-format msgid "%s KB" msgstr "" -#: template/defaultfilters.py:832 +#: template/defaultfilters.py:838 #, python-format msgid "%s MB" msgstr "" -#: template/defaultfilters.py:834 +#: template/defaultfilters.py:840 #, python-format msgid "%s GB" msgstr "" -#: template/defaultfilters.py:836 +#: template/defaultfilters.py:842 #, python-format msgid "%s TB" msgstr "" -#: template/defaultfilters.py:838 +#: template/defaultfilters.py:844 #, python-format msgid "%s PB" msgstr "" @@ -1059,218 +1069,218 @@ msgstr "" msgid "Sun" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "January" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "February" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "March" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "April" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "May" msgstr "" -#: utils/dates.py:18 +#: utils/dates.py:14 msgid "June" msgstr "" -#: utils/dates.py:19 +#: utils/dates.py:15 msgid "July" msgstr "" -#: utils/dates.py:19 +#: utils/dates.py:15 msgid "August" msgstr "" -#: utils/dates.py:19 +#: utils/dates.py:15 msgid "September" msgstr "" -#: utils/dates.py:19 +#: utils/dates.py:15 msgid "October" msgstr "" -#: utils/dates.py:19 +#: utils/dates.py:15 msgid "November" msgstr "" -#: utils/dates.py:20 +#: utils/dates.py:16 msgid "December" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "jan" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "feb" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "mar" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "apr" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "may" msgstr "" -#: utils/dates.py:23 +#: utils/dates.py:19 msgid "jun" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "jul" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "aug" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "sep" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "oct" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "nov" msgstr "" -#: utils/dates.py:24 +#: utils/dates.py:20 msgid "dec" msgstr "" -#: utils/dates.py:31 +#: utils/dates.py:23 msgctxt "abbrev. month" msgid "Jan." msgstr "" -#: utils/dates.py:32 +#: utils/dates.py:24 msgctxt "abbrev. month" msgid "Feb." msgstr "" -#: utils/dates.py:33 +#: utils/dates.py:25 msgctxt "abbrev. month" msgid "March" msgstr "" -#: utils/dates.py:34 +#: utils/dates.py:26 msgctxt "abbrev. month" msgid "April" msgstr "" -#: utils/dates.py:35 +#: utils/dates.py:27 msgctxt "abbrev. month" msgid "May" msgstr "" -#: utils/dates.py:36 +#: utils/dates.py:28 msgctxt "abbrev. month" msgid "June" msgstr "" -#: utils/dates.py:37 +#: utils/dates.py:29 msgctxt "abbrev. month" msgid "July" msgstr "" -#: utils/dates.py:38 +#: utils/dates.py:30 msgctxt "abbrev. month" msgid "Aug." msgstr "" -#: utils/dates.py:39 +#: utils/dates.py:31 msgctxt "abbrev. month" msgid "Sept." msgstr "" -#: utils/dates.py:40 +#: utils/dates.py:32 msgctxt "abbrev. month" msgid "Oct." msgstr "" -#: utils/dates.py:41 +#: utils/dates.py:33 msgctxt "abbrev. month" msgid "Nov." msgstr "" -#: utils/dates.py:42 +#: utils/dates.py:34 msgctxt "abbrev. month" msgid "Dec." msgstr "" -#: utils/dates.py:45 +#: utils/dates.py:37 msgctxt "alt. month" msgid "January" msgstr "" -#: utils/dates.py:46 +#: utils/dates.py:38 msgctxt "alt. month" msgid "February" msgstr "" -#: utils/dates.py:47 +#: utils/dates.py:39 msgctxt "alt. month" msgid "March" msgstr "" -#: utils/dates.py:48 +#: utils/dates.py:40 msgctxt "alt. month" msgid "April" msgstr "" -#: utils/dates.py:49 +#: utils/dates.py:41 msgctxt "alt. month" msgid "May" msgstr "" -#: utils/dates.py:50 +#: utils/dates.py:42 msgctxt "alt. month" msgid "June" msgstr "" -#: utils/dates.py:51 +#: utils/dates.py:43 msgctxt "alt. month" msgid "July" msgstr "" -#: utils/dates.py:52 +#: utils/dates.py:44 msgctxt "alt. month" msgid "August" msgstr "" -#: utils/dates.py:53 +#: utils/dates.py:45 msgctxt "alt. month" msgid "September" msgstr "" -#: utils/dates.py:54 +#: utils/dates.py:46 msgctxt "alt. month" msgid "October" msgstr "" -#: utils/dates.py:55 +#: utils/dates.py:47 msgctxt "alt. month" msgid "November" msgstr "" -#: utils/dates.py:56 +#: utils/dates.py:48 msgctxt "alt. month" msgid "December" msgstr "" @@ -1290,7 +1300,7 @@ msgid "or" msgstr "" #. Translators: This string is used as a separator between list elements -#: utils/text.py:256 utils/timesince.py:69 +#: utils/text.py:256 utils/timesince.py:83 msgid ", " msgstr "" @@ -1336,7 +1346,7 @@ msgid_plural "%d minutes" msgstr[0] "" msgstr[1] "" -#: utils/timesince.py:58 +#: utils/timesince.py:72 msgid "0 minutes" msgstr "" @@ -1427,7 +1437,7 @@ msgstr "" msgid "Invalid date string '%(datestr)s' given format '%(format)s'" msgstr "" -#: views/generic/detail.py:53 +#: views/generic/detail.py:54 #, python-format msgid "No %(verbose_name)s found matching the query" msgstr "" @@ -1446,16 +1456,16 @@ msgstr "" msgid "Empty list and '%(class_name)s.allow_empty' is False." msgstr "" -#: views/static.py:41 +#: views/static.py:40 msgid "Directory indexes are not allowed here." msgstr "" -#: views/static.py:43 +#: views/static.py:42 #, python-format msgid "\"%(path)s\" does not exist" msgstr "" -#: views/static.py:83 +#: views/static.py:80 #, python-format msgid "Index of %(directory)s" msgstr "" @@ -1464,18 +1474,18 @@ msgstr "" msgid "Django: the Web framework for perfectionists with deadlines." msgstr "" -#: views/templates/default_urlconf.html:370 +#: views/templates/default_urlconf.html:345 #, python-format msgid "" "View release notes for Django %(version)s" msgstr "" -#: views/templates/default_urlconf.html:392 +#: views/templates/default_urlconf.html:367 msgid "The install worked successfully! Congratulations!" msgstr "" -#: views/templates/default_urlconf.html:393 +#: views/templates/default_urlconf.html:368 #, python-format msgid "" "You are seeing this page because A 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 T`UXcEU(L$ksA_z6+0p+2s)8y! delta 7000 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 E0rcJZNB{r; diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po index 1e72914..bb16d5d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-02-27 21:45+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-30 21:46+0000\n" "Last-Translator: Baptiste Darthenay \n" "Language-Team: Esperanto (http://www.transifex.com/django/django/language/" "eo/)\n" @@ -389,6 +389,9 @@ msgstr[1] "" "Certigu, ke tio valuto maksimume havas %(limit_value)d karakterojn (ĝi havas " "%(show_value)d)." +msgid "Enter a number." +msgstr "Enigu nombron." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -467,6 +470,10 @@ msgstr "Granda (8 bitoka) entjero" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' valoro devas esti Vera aŭ Malvera" +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "“%(value)s” valoro devas esti Vera, Malvera aŭ Neniu." + msgid "Boolean (Either True or False)" msgstr "Bulea (Vera aŭ Malvera)" @@ -643,9 +650,6 @@ msgstr "Ĉi tiu kampo estas deviga." msgid "Enter a whole number." msgstr "Enigu plenan nombron." -msgid "Enter a number." -msgstr "Enigu nombron." - msgid "Enter a valid date." msgstr "Enigu validan daton." @@ -658,6 +662,10 @@ msgstr "Enigu validan daton/tempon." msgid "Enter a valid duration." msgstr "Enigu validan daŭron." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "La nombro da tagoj devas esti inter {min_days} kaj {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Neniu dosiero estis alŝutita. Kontrolu la kodoprezentan tipon en la " @@ -754,7 +762,7 @@ msgid "Please correct the duplicate values below." msgstr "Bonvolu ĝustigi la duoblan valoron sube." msgid "The inline value did not match the parent instance." -msgstr "" +msgstr "La enteksta valoro ne egalas la patran aperon." msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Elektu validan elekton. Ĉi tiu elekto ne estas el la eblaj elektoj." @@ -1133,6 +1141,11 @@ msgid "" "If you're concerned about privacy, use alternatives like for links to third-party sites." msgstr "" +"Se vi uzas la markon aŭ " +"inkluzivante la 'Referrer-Policy: no-referrer' titolo, bonvolu forigi ilin. " +"La CSRFa protekto postulas ke la 'Referer' titolo faru striktan " +"referencantan kontroladon. Se vi estas koncernita pri privateco, uzu " +"alternativojn kiel por ligoj al aliaj retejoj." msgid "" "You are seeing this message because this site requires a CSRF cookie when " @@ -1157,7 +1170,7 @@ msgid "No year specified" msgstr "Neniu jaro specifita" msgid "Date out of range" -msgstr "" +msgstr "Dato ne en la intervalo" msgid "No month specified" msgstr "Neniu monato specifita" @@ -1213,16 +1226,18 @@ msgid "Index of %(directory)s" msgstr "Indekso de %(directory)s" msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" +msgstr "Dĵango: la retframo por perfektemuloj kun limdatoj" #, python-format msgid "" "View release notes for Django %(version)s" msgstr "" +"Vidu eldonajn notojn por Dĵango %(version)s" msgid "The install worked successfully! Congratulations!" -msgstr "" +msgstr "La instalado sukcesis! Gratulojn!" #, python-format msgid "" @@ -1231,21 +1246,24 @@ msgid "" "\">DEBUG=True is in your settings file and you have not configured any " "URLs." msgstr "" +"Vi vidas ĉi tiun paĝon ĉar DEBUG = " +"True estas en via agorda dosiero kaj vi ne agordis ajnan URL." msgid "Django Documentation" msgstr "Djanga dokumentaro" msgid "Topics, references, & how-to's" -msgstr "" +msgstr "Temoj, referencoj & manlibroj" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "Instruilo: apo pri enketoj" msgid "Get started with Django" -msgstr "" +msgstr "Komencu kun Dĵango" msgid "Django Community" msgstr "Djanga komunumo" msgid "Connect, get help, or contribute" -msgstr "" +msgstr "Konektiĝu, ricevu helpon aŭ kontribuu" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo index d312b9d51f73c4b605273476e306694984658d28..d4f0f2a1f0a2f26fcb22f6f73c4cd711d4d5ac8c 100644 GIT binary patch delta 7310 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 LTzOEzkt+WKuU-FY diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po index fb610a5..bd53fe8 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-22 14:52+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-18 20:22+0000\n" "Last-Translator: Ramiro Morales\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" "language/es_AR/)\n" @@ -388,6 +388,9 @@ msgstr[1] "" "Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " "(tiene %(show_value)d)." +msgid "Enter a number." +msgstr "Introduzca un número." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -469,6 +472,10 @@ msgstr "Entero grande (8 bytes)" msgid "'%(value)s' value must be either True or False." msgstr "El valor de '%(value)s' debe ser Verdadero o Falso." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "El valor de '%(value)s' debe ser Verdadero, Falso o None." + msgid "Boolean (Either True or False)" msgstr "Booleano (Verdadero o Falso)" @@ -645,9 +652,6 @@ msgstr "Este campo es obligatorio." msgid "Enter a whole number." msgstr "Introduzca un número entero." -msgid "Enter a number." -msgstr "Introduzca un número." - msgid "Enter a valid date." msgstr "Introduzca una fecha válida." @@ -660,6 +664,10 @@ msgstr "Introduzca un valor de fecha/hora válido." msgid "Enter a valid duration." msgstr "Introduzca una duración válida." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "La cantidad de días debe tener valores entre {min_days} y {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "No se envió un archivo. Verifique el tipo de codificación en el formulario." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_MX/formats.py b/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_MX/formats.py index 228a821..760edcf 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_MX/formats.py +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/es_MX/formats.py @@ -21,5 +21,5 @@ DATETIME_INPUT_FORMATS = [ '%d/%m/%y %H:%M', ] DECIMAL_SEPARATOR = '.' # ',' is also official (less common): NOM-008-SCFI-2002 -THOUSAND_SEPARATOR = '\xa0' # non-breaking space +THOUSAND_SEPARATOR = ',' NUMBER_GROUPING = 3 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo index 0105ba3c63993afe06f297653ee9a5104a67508f..fa9d7e48dff6a5aef7a7d4432d4a8954003d56da 100644 GIT binary patch delta 8629 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po index 2d67ad0..1143b2e 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po @@ -5,6 +5,7 @@ # Arash Fazeli , 2012 # Jannis Leidel , 2011 # Mazdak Badakhshan , 2014 +# MJafar Mashhadi , 2018 # Mohammad Hossein Mojtahedi , 2013 # Pouya Abbassi, 2016 # Reza Mohammadi , 2013-2016 @@ -14,16 +15,16 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 01:13+0000\n" -"Last-Translator: Jannis Leidel \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-23 23:00+0000\n" +"Last-Translator: MJafar Mashhadi \n" "Language-Team: Persian (http://www.transifex.com/django/django/language/" "fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" msgid "Afrikaans" msgstr "آفریکانس" @@ -166,6 +167,9 @@ msgstr "ژاپنی" msgid "Georgian" msgstr "گرجی" +msgid "Kabyle" +msgstr "" + msgid "Kazakh" msgstr "قزاقستان" @@ -302,13 +306,13 @@ msgid "Syndication" msgstr "پیوند" msgid "That page number is not an integer" -msgstr "" +msgstr "شمارهٔ صفحه باید یک عدد باشد" msgid "That page number is less than 1" -msgstr "" +msgstr "شمارهٔ صفحه باید بزرگتر از ۱ باشد" msgid "That page contains no results" -msgstr "" +msgstr "این صفحه خالی از اطلاعات است" msgid "Enter a valid value." msgstr "یک مقدار معتبر وارد کنید." @@ -366,6 +370,9 @@ msgid_plural "" msgstr[0] "" "طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " "است)." +msgstr[1] "" +"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." #, python-format msgid "" @@ -377,16 +384,24 @@ msgid_plural "" msgstr[0] "" "طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " "است)." +msgstr[1] "" +"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." + +msgid "Enter a number." +msgstr "یک عدد وارد کنید." #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "نباید در مجموع بیش از %(max)s رقم داشته باشد." +msgstr[1] "نباید در مجموع بیش از %(max)s رقم داشته باشد." #, python-format msgid "Ensure that there are no more than %(max)s decimal place." msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "نباید بیش از %(max)s رقم اعشار داشته باشد." +msgstr[1] "نباید بیش از %(max)s رقم اعشار داشته باشد." #, python-format msgid "" @@ -394,12 +409,15 @@ msgid "" msgid_plural "" "Ensure that there are no more than %(max)s digits before the decimal point." msgstr[0] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." +msgstr[1] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." #, python-format msgid "" "File extension '%(extension)s' is not allowed. Allowed extensions are: " "'%(allowed_extensions)s'." msgstr "" +"استفاده از پرونده با پسوند '%(extension)s' مجاز نیست. پسوند‌های مجاز عبارتند " +"از: '%(allowed_extensions)s'" msgid "Null characters are not allowed." msgstr "" @@ -451,6 +469,10 @@ msgstr "بزرگ (8 بایت) عدد صحیح" msgid "'%(value)s' value must be either True or False." msgstr "مقدار «%(value)s» باید یا True باشد و یا False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "مقدار «%(value)s» باید یا None باشد یا True و یا False." + msgid "Boolean (Either True or False)" msgstr "بولی (درست یا غلط)" @@ -627,9 +649,6 @@ msgstr "این فیلد لازم است." msgid "Enter a whole number." msgstr "به طور کامل یک عدد وارد کنید." -msgid "Enter a number." -msgstr "یک عدد وارد کنید." - msgid "Enter a valid date." msgstr "یک تاریخ معتبر وارد کنید." @@ -642,6 +661,10 @@ msgstr "یک تاریخ/زمان معتبر وارد کنید." msgid "Enter a valid duration." msgstr "یک بازهٔ زمانی معتبر وارد کنید." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "پرونده‌ای ارسال نشده است. نوع کدگذاری فرم را بررسی کنید." @@ -657,6 +680,8 @@ msgid_plural "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr[0] "" "طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." +msgstr[1] "" +"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." msgid "Please either submit a file or check the clear checkbox, not both." msgstr "لطفا یا فایل ارسال کنید یا دکمه پاک کردن را علامت بزنید، نه هردو." @@ -696,11 +721,13 @@ msgstr "اطلاعات ManagementForm ناقص است و یا دستکاری ش msgid "Please submit %d or fewer forms." msgid_plural "Please submit %d or fewer forms." msgstr[0] "لطفاً %d یا کمتر فرم بفرستید." +msgstr[1] "لطفاً %d یا کمتر فرم بفرستید." #, python-format msgid "Please submit %d or more forms." msgid_plural "Please submit %d or more forms." msgstr[0] "لطفاً %d یا بیشتر فرم بفرستید." +msgstr[1] "لطفاً %d یا بیشتر فرم بفرستید." msgid "Order" msgstr "ترتیب:" @@ -770,6 +797,7 @@ msgstr "بله،خیر،شاید" msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d بایت" +msgstr[1] "%(size)d بایت" #, python-format msgid "%s KB" @@ -1038,31 +1066,37 @@ msgstr "،" msgid "%d year" msgid_plural "%d years" msgstr[0] "%d سال" +msgstr[1] "%d سال" #, python-format msgid "%d month" msgid_plural "%d months" msgstr[0] "%d ماه" +msgstr[1] "%d ماه" #, python-format msgid "%d week" msgid_plural "%d weeks" msgstr[0] "%d هفته" +msgstr[1] "%d هفته" #, python-format msgid "%d day" msgid_plural "%d days" msgstr[0] "%d روز" +msgstr[1] "%d روز" #, python-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d ساعت" +msgstr[1] "%d ساعت" #, python-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d دقیقه" +msgstr[1] "%d دقیقه" msgid "0 minutes" msgstr "0 دقیقه" @@ -1079,18 +1113,19 @@ msgid "" "required for security reasons, to ensure that your browser is not being " "hijacked by third parties." msgstr "" -"شما این پیغام را میبینید چون این سایتِ HTTPS نیازمند یک «تیتر ارجاع» برای " -"ارسال به بروزر شماست، ولی هیچ چیزی ارسال نشده است. این تیتر به دلایل امنیتی " -"مورد نیاز است، برای اینکه از هایجک نشدن بروزر اطمینان حاصل شود." +"شما این پیام را می‌بینید چون این سایتِ HTTPS نیازمند یک «تیتر ارجاع (Referer " +"header)» برای ارسال به مرورگر شماست اما هیچ چیزی ارسال نشده است. این تیتر " +"برای امنیت شما با حصول اطمینان از اینکه کنترل مرورگرتان به دست شخص ثالثی " +"نیفتاده باشد ضروری است." msgid "" "If you have configured your browser to disable 'Referer' headers, please re-" "enable them, at least for this site, or for HTTPS connections, or for 'same-" "origin' requests." msgstr "" -"اگر بزوزر خود را برای غیر فعال کردن تیترهای «ارجاع» تنظیم کرده‌اید، لطفا " -"مجددا این ویژگی را فعال کنید، حداقل برای این وبسایت، یا برای اتصالات HTTPS، " -"یا برای درخواستهایی با «مبدا یکسان»." +"اگر تیترهای «ارجاع (Referer)» را در مرورگرتان غیرفعال کرده‌اید، لطفاً مجدداً " +"این ویژگی را فعال کنید، حداقل برای این وبسایت، یا برای اتصالات HTTPS، یا " +"برای درخواستهایی با «مبدا یکسان (same-origin)»." msgid "" "If you are using the tag or " @@ -1105,9 +1140,9 @@ msgid "" "submitting forms. This cookie is required for security reasons, to ensure " "that your browser is not being hijacked by third parties." msgstr "" -"شما این پیغام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی» " -"در زمان ارائه ی فورم میباشد. این کوکی‌ها برای مسائل امنیتی ضروری هستند، برای " -"اطمینان از اینکه بروزر شما توسط شخص ثالثی هایجک نشده باشد." +"شما این پیام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی " +"(CSRF)» است. این کوکی برای امنیت شما ضروری است. با این کوکی می‌توانیم از " +"اینکه شخص ثالثی کنترل مرورگرتان را به دست نگرفته است اطمینان پیدا کنیم." msgid "" "If you have configured your browser to disable cookies, please re-enable " @@ -1123,7 +1158,7 @@ msgid "No year specified" msgstr "هیچ سالی مشخص نشده است" msgid "Date out of range" -msgstr "" +msgstr "تاریخ غیرمجاز است" msgid "No month specified" msgstr "هیچ ماهی مشخص نشده است" @@ -1197,19 +1232,19 @@ msgid "" msgstr "" msgid "Django Documentation" -msgstr "" +msgstr "مستندات جنگو" msgid "Topics, references, & how-to's" msgstr "" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "آموزش گام به گام: برنامکی برای رأی‌گیری" msgid "Get started with Django" -msgstr "" +msgstr "شروع به کار با جنگو" msgid "Django Community" -msgstr "" +msgstr "جامعهٔ جنگو" msgid "Connect, get help, or contribute" msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo index d7f35ce35d74dac3a48a97d330c8b1c14914eb1e..1d027960ed23f150a2f69d1af9c0a147144719c6 100644 GIT binary patch delta 8698 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 C0ZJeM delta 6920 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, 2011 # Jannis Leidel , 2011 # Lasse Liehu , 2015 @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 01:13+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 00:21+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: Finnish (http://www.transifex.com/django/django/language/" "fi/)\n" @@ -162,6 +162,9 @@ msgstr "japani" msgid "Georgian" msgstr "georgia" +msgid "Kabyle" +msgstr "Kabyle" + msgid "Kazakh" msgstr "kazakin kieli" @@ -384,6 +387,9 @@ msgstr[1] "" "Varmista, että tämä arvo on enintään %(limit_value)d merkkiä pitkä (tällä " "hetkellä %(show_value)d)." +msgid "Enter a number." +msgstr "Syötä luku." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -415,7 +421,7 @@ msgstr "" "\"%(allowed_extensions)s\"." msgid "Null characters are not allowed." -msgstr "" +msgstr "Tyhjiä merkkejä (null) ei sallita." msgid "and" msgstr "ja" @@ -465,6 +471,10 @@ msgstr "Suuri (8-tavuinen) kokonaisluku" msgid "'%(value)s' value must be either True or False." msgstr "%(value)s-arvo pitää olla joko tosi tai epätosi." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + msgid "Boolean (Either True or False)" msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" @@ -637,9 +647,6 @@ msgstr "Tämä kenttä vaaditaan." msgid "Enter a whole number." msgstr "Syötä kokonaisluku." -msgid "Enter a number." -msgstr "Syötä luku." - msgid "Enter a valid date." msgstr "Syötä oikea päivämäärä." @@ -652,6 +659,10 @@ msgstr "Syötä oikea pvm/kellonaika." msgid "Enter a valid duration." msgstr "Syötä oikea kesto." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." @@ -750,7 +761,7 @@ msgstr "Valitse oikea vaihtoehto. Valintasi ei löydy vaihtoehtojen joukosta." #, python-format msgid "\"%(pk)s\" is not a valid value." -msgstr "" +msgstr "\"%(pk)s\" ei ole kelvollinen arvo." #, python-format msgid "" @@ -1122,6 +1133,11 @@ msgid "" "If you're concerned about privacy, use alternatives like for links to third-party sites." msgstr "" +"Jos käytät -tagia tai " +"\"Referrer-Policy: no-referrer\" -otsaketta, ole hyvä ja poista ne. CSRF-" +"suojaus vaatii Referer-otsakkeen tehdäkseen tarkan referer-tarkistuksen. Jos " +"vaadit yksityisyyttä, käytä vaihtoehtoja kuten linkittääksesi kolmannen osapuolen sivuille." msgid "" "You are seeing this message because this site requires a CSRF cookie when " @@ -1147,7 +1163,7 @@ msgid "No year specified" msgstr "Vuosi puuttuu" msgid "Date out of range" -msgstr "" +msgstr "Päivämäärä ei alueella" msgid "No month specified" msgstr "Kuukausi puuttuu" @@ -1210,7 +1226,7 @@ msgid "" msgstr "" msgid "The install worked successfully! Congratulations!" -msgstr "" +msgstr "Asennus toimi! Onneksi olkoon!" #, python-format msgid "" @@ -1219,21 +1235,24 @@ msgid "" "\">DEBUG=True is in your settings file and you have not configured any " "URLs." msgstr "" +"Näet tämän viestin, koska asetuksissasi on DEBUG = True etkä ole konfiguroinut yhtään URL-osoitetta." msgid "Django Documentation" -msgstr "" +msgstr "Django-dokumentaatio" msgid "Topics, references, & how-to's" -msgstr "" +msgstr "Aiheet, viittaukset & how-tot" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "Tutoriaali: kyselyapplikaatio" msgid "Get started with Django" -msgstr "" +msgstr "Miten päästä alkuun Djangolla" msgid "Django Community" -msgstr "" +msgstr "Django-yhteisö" msgid "Connect, get help, or contribute" msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo index 42780bbc26fde2aa75b87b1585bdffa023438bc3..cd2bbfd6caf8ddcff88625499d9aa39d16238a02 100644 GIT binary patch delta 7330 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 YKC>jWB&&N|WJ%tzxUiBB$DS_xe|c*K&Hw-a diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po index e88a70f..91c9d9e 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # # Translators: # charettes , 2012 -# Claude Paroz , 2013-2017 +# Claude Paroz , 2013-2018 # Claude Paroz , 2011 # Jannis Leidel , 2011 # Jean-Baptiste Mora, 2014 @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 08:05+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 12:50+0000\n" "Last-Translator: Claude Paroz \n" "Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" "MIME-Version: 1.0\n" @@ -163,6 +163,9 @@ msgstr "Japonais" msgid "Georgian" msgstr "Géorgien" +msgid "Kabyle" +msgstr "Kabyle" + msgid "Kazakh" msgstr "Kazakh" @@ -389,6 +392,9 @@ msgstr[1] "" "Assurez-vous que cette valeur comporte au plus %(limit_value)d caractères " "(actuellement %(show_value)d)." +msgid "Enter a number." +msgstr "Saisissez un nombre." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -472,6 +478,11 @@ msgstr "Grand entier (8 octets)" msgid "'%(value)s' value must be either True or False." msgstr "La valeur « %(value)s » doit être soit True (vrai), soit False (faux)." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" +"La valeur « %(value)s » doit être True (vrai), False (faux) ou None (aucun)." + msgid "Boolean (Either True or False)" msgstr "Booléen (soit vrai ou faux)" @@ -650,9 +661,6 @@ msgstr "Ce champ est obligatoire." msgid "Enter a whole number." msgstr "Saisissez un nombre entier." -msgid "Enter a number." -msgstr "Saisissez un nombre." - msgid "Enter a valid date." msgstr "Saisissez une date valide." @@ -665,6 +673,10 @@ msgstr "Saisissez une date et une heure valides." msgid "Enter a valid duration." msgstr "Saisissez une durée valide." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Le nombre de jours doit être entre {min_days} et {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Aucun fichier n'a été soumis. Vérifiez le type d'encodage du formulaire." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo index 63f8547665dadf5b4f497ebfa6507d9e246058a1..95376345123871ef3a6eef2600459260d67ba9df 100644 GIT binary patch delta 7313 zcmY+}3w+P@9>?+TY-=`Vj9kX-?=r)N&D`eFawjF%NXVa!VK*DOrN2v^TuvdS6o)8s zIg(YnDN%?>DxxAnB~+B?w4B#_zt7IY`91pV`Mv#q-|z4H{r-Nxe|73?(33v|1x`eV zJmolg202#?Ga{VZMtV~fl{z=KrgJrL9@fS+n2$TL2c~k8&U=tQvA7J|;Wli8S1=8e zs3hq|V+EXp6`c#XCrGHTH5iR=colBH`89@8e$l*QUN>);p^VN)yK>kYldvC7M?W6K zdoelAb3W$KzdJ*s4;B4<&L!d+tc#yuJYL3@SiO#O&9FDN!iSK5+-v+PgGVtOk7E#? z!4N!$s{aX9e+kRtH4LSH7esHjU>H`$3aAEktvnGmGtIFacD3@p$ZEO47>1)zGdUi) zSvM2w<4UXl!0JCn^>+#bQ6zpKp^;rfU8qbw=Ne-KD&G=yLI>1Rbiqn^2Uf?S=)*~< zfiFc}ZzZbzder$ZBWvznN8RY2dd$Br^c4j<@giz-Tt%G_%J37gJnF<2s5|V6?Qsa| zyr)qet-?rLi(0Z*Q8#cNC*oyXiep&U2k`HB=6?~1Ne!HP0dJwV)wmJWLGOmn-G&QL zyLum1!&@48)<(@>D;$X3@J?KgJRt5z!KJXI>P0{bD3l>{N z46sf}>F#zi;kCo%b2)hK{3_=(3ex^YQ_AgM>yB+Qi$< zQCOaQ45~Z<)o}_A2x47vJ^A^J?h$OkGpP%|g_@}y7=cGo13Zo8@H}b>uOj#8nkVZ# z)_*t&HOw%xQFk&CHDxo**{C~u6xIH5%P&O@V1?z^Sp5dnK(=BeZa4Q^`7sRF^M8hf zUX_Fxjq zcp}`NBr0NDb8iZhQB&0&b>bYXgiFnr%(u*sQ3E@HKKvdvLuFIFwXcY}k%p-9rl^6m zN@f0Akw~+OeC$Sk3Njh)J5Yw?D54&cd4{FK>p>Aj-YEKlR zI-ZZ3xhGHqUfq)USH(sOG{r?$vCSIpz^;@Z!tPj=(Q1l^qt44ht!+L=<3m=z7&V~h zEWaA{{BJ_F--|l`NPvWP`w7%@`V(sE!&`d;>WaEhPt*y0%)zK#Jpwhg*=7N%{S?&Z z4VVw3u0Idsa2?iF{T>p`t~-xx16P}!*a7>XUOluhI{q1Ty(_30D=sN#{ezkB-zW&f1Navn!+m@JbSEz`9lC?{s1CN9 zhs^KHt7bSK47IC;IFI3c1I;Ye)4!WeLc4V#s^KbC;8t@t>Vn5nyZ545j5;qe z-TP|RMxECL)xINE!2zfl7;EO36EL8PNmek`oMFx~A2H{dkD=CjF=~dMwepqb8r1W> z&gwT<`OB!yUWB`NmG4OB`Pb%pn1@-LZxv3*!|2D}JnXmP7OalDk=1c0k(+llJ9`d6 zuIZLx0v^M<7}UjkkJLw%4@CC4n_<4zCE#s_ixg;6TrsbkH_T980(zyE!|~YGT#M7l zM|X3s03X9_)XQQn*iW>Ov9^P-qXHf(BG(duPiwp1R{kTj=<@2x}zKCV;BMirn zF$j-f2!3h#Z&17bB!=U8%m0R93+msZ-tEoZVc9;s|FLmj9zWJ_cR$a41H4~M2k+ri zPXDgaAQCtOwML(!4=-Rfj2z4t4C8S;E~S69cFQ%gwh@YjqqoWmWI<^r4oZF=~^xL@mX=I2rw@7tk>*j~7sT z<~r)U=%L=PtQ+a$*4PTk2-G@YDu!q zLMxw!YCi`faUp78D~2)u>UaYMn^~*P_yzf4_fv+cBfJZqz*zEUQ5OpKdrwOgDj$af zF%etiEYuCWi5mF(sE+qr{ut`K?*dlwGiv0;s1rj*dMB1gl~+Zb5NqX)P*a(TddJ^} z>Y%@s`%xWdV>&*7aripw`bSVR7C1pd7ycf#yRTqX3>oFkOik1Yai|L>U^7fX4Zx3j zda_X$oQ-L?0Gr^4s6BNBeHfj=2MJS=@_?I5qAmsNunz7+J--)Bm+7rl6|7Hr9n^rk zp*rq|8eo>0k3r<8pq6ABYG8+uRdvTO8Pi5HSUvyaNNA)NQ6sB4hTmzJk1t_tmUpMS zQ5}DZdMv-eTKGF^0MTQ;0mYzZDjBtOZ7~=-qR#J%;n)}3(Z9QoM08>b%6&gKgaS5Q8%#Md>(ZpYt2pOR;z!*-0qbJ+)it-*F1<(T;Oxm zNY9`;xNP-*U>Wkos43Kc*in5M)BwX!<)?^V#3Z5}QFhzlpM>eW;@$p|@uhB7yQ4q9&nTogeiG^7nrJ27c#HIU3Bt8N@B5 z*P&hUNDKo*Tk#DH^fq65AhbE-LCJ)Y~mU*otQ$*C0cUL3PdI1OY(<^4g^QQ z9rqF?Z>HUr-hoAyPQ?bC_%@y;?jp_*I_guNg&m23D&W{coGVH3k)dA4%R~#(FQ7h7 zI^s+IGXKAls6f=Ffu7ao#E0bT5qg#{5J!n82pyY=7DODO?|_cmIp=fyu_VX$-rS1a zE!~kemr3UlJ&2~{zt{S2Bc3Iy68|995IR;9t%*AbenXc0xcny`AWDxnEb%V3C6c)4 zqgM7L{y}sm+7lOvr-@p$>5Z`%m`UPKLdQg6B=HIHFj0DZM?$a5r%DU(Q{o2Ejf>oK zQ~6@jQI@Yu-3ihu#5AHJ`FU2?4eJHb-7+gUkM9sX)+N6K8e4f~PP+LhZ~28c7n1(V z@(XYP(Z}*jmdvVNS-)&u2hN;@x8e%?jPQ{T#TSYH5SfIIpNM}E4-$T&A?F6vXx$0pyWSAoFvnRXy6sP5tvM)XYjC<%{TRL6rG9Fg@`3uTG@DfglI?mGPsk_t1ySqu~B<4oy1Tgh(@<#TMQ;@5MPjgh$too6FTnn zaLuT%N%|{d?~+O}mE(UQb&R+|=%_}E*S%!P-^S$cR?9#V`KH8elw8M1Vi%z!jk0VU zM@&`0O~(e(?-8$ASpoiF=}Y*Wr6X_^5yiE1R3f^Q?t*oK^l~RNhRg>gFveBJ!ng_%jdyaHeEyxgK*b&ggD9yv9;sCM$+ zu(aGsIU_R*e0igN8UCq-zMM&g6MZ8y`Dfzf%*g7uco2U7b)7qvMElN)fU$Ue}d<7eaFE_7b z7(03ls~*BIGK*sTbt8Iq%bb+sADfXyH@;n~#ujAybFzFHnZ9f?6SFcY_4`I5kfh0f(fh43*6FNzxm!(S+A=F3^LDVav;#z=!6hW$@ z;3A4q5fKYzRWKl{sEDGVEJa~aQCKPN|Gnp9AI`&ff78yKIWu$4z2WIIK_^ZH`Hxo% zUFtZx1vyt2d-$B&PWrwYDs^sfjB|Bx2-e49EW*W@hasF4IFFBdq{PpC_@lk#ifc3s=0K`Vhc7W|0ZfF zPGJcCZ260*6EEXX{0nvAq0KzUqRyL)x}jp!5;R;yly~X(2LJcK~(XWen5ve?5?( zFx9(*N~kHTWyYX7j6>a76I2H+ET3uh?N9^gg4&F|%@I~U2{rXIQE$cvv5ubq9VB#t z&rls7L*4la)YP8BDtN)lZ=ePeoaS{Hj#{$nsPayz&6bbBI2@TgHxhXe+>=-px1nEC zx0{5f=qT#Mn(5y2*~DyP_AqZp4Xg;`a5m}&R-)E?1L{WJw(|E;1NjKE@PL&Ew`Bgi zQQ&LIvy6Rl8a{+SUSI&MU@+kv`) zUFJSie`QvG3b|3gJ4+%k#Tb}k)c15SzZx`k!%-KSh>dU>YU-Dv)_yZCz}Hb1?%c-f zuRCg{`l8AQ;Uye~W!Q&lKdR@yJ}-P-;0o#vuA?px+1@k3%r*}|e*sQ1S#RQYCP zAG^b5co%OkbTqr0J-hh5ivCtG1obK%iIZ@F`6u2>{!U&F)A0mO#sS^~JM75uddY|~`l2FG_VJxmdEx}t@9}lBWxM<~9Fr0j3 zf!A>iDxZRCmyKGwT=d}_^HH+|wbajI6FvX0kw~E67-~fBHt)m;REJTh@>tYvPe$$j z9BhdFQ16Mmt$ZG8K+BO=iCd4l;MZ1v5m`MK+CwwU`WKMUg?ghNvq5+}PC(vJ?nA7^ znjFM@{H7;wL~PWX*EZ($;jv>4f9&gdroZ>g=;wj_IN|*6fAd_0TB8489Qp=vb6npg zlPJc{I0?6--gNPUz0FvF%FjlhsE+2MmgI4>#L8Eo+OJ3Lg_ltS+ljjHN4S-x z`UH=VpTqjTgndUc|LXACNN-9*MtL1IKs_!gmT!+Nr_0A|T#LGcFHr;k4t3$PmcNV| zP|#?vyb`K?461!R>bfa@5^9)X6&+AhSb%z`4@7l5(aL9`I+%yK_!P!s8R`P(Q8V>B zs^1%^P3;@w{W6L{%}6?`y+4bDI?O@6netErn1y<5=Ak-#23z9>Ou=tZo5?rU+s#Qh zfP4X}d@VM_cd-GUKs~l0cX&o2OXPRSB=r2ZLXCI?>cWK>7@;{IgD78!T8a|Xz)mBp z=PqI@_8G^I5uA$}Xy~2Zz|wIG`T4jBGsf#i{rpu+LKi-RQFsaKV#EY*07<9;rJ-i3 zJ8JFvVh9dKoj=^_CtzFh)3F_HMQz5PumWB|%|uWkPZ8I5HA$$T396%ZW*%xP2UvYE zYH8-92Dlit_OGA@cnCG1Q>Y7`#c=!s!_ZCiem_(|4I~QvO2m=S9VMBmW;VuCo`cPB z3})g&JCO@A{JWxLe#*Qpzd@f>KD@Uco&wUW;St(_ch-d^|hRfb#Ues=0AeOA_`XH zYSe|>PW3v>MO`=_Ro)l7unPxbIb1o7_c`V3ioDIah^vN@UyS8&xw+bW&gwUtTm4p1 zYVI)Kvj+Ptzu)qoqK}S`pa%XuR>JdEe%12j`ISRRXBe=Y9QNC{lDkc``um=!4&LAJ>O;4;1Ftr zpIiBNqzi}{L>uDf@i_^;Q3HP;YBM&clV7c}xp|Wy>iEubO)ygz)AQfVYPVzSK%uv3 ztT?~}w`5+pCCxh~aD2?Crn?2Pir7i$;2YUxSf9CO9%Z4VpH~B}AJ|B7%5XF$^xD)@ zkU*m-qBfyjK9V3iA8~;D_UTI4BzvkmL z;ux`%*hjoYXt(Q&V=nOraWA3o{`o{YomM0&6JL-&Na#(c<13HA3u&*V-^Fc~PRDr8 z+krpm{(F!(X_fj}HJ)?_Vt|!x#UCx5O1+Mki8Rt1u$2lp54ywJtzGOPX}`BR`XTtX6YQ-TqHe}=uRY)KZS1)&k(hU zM~L-=j?aiJBA@6(=zrXw(E1-BZXR!1;vLl2Z4!+hwX!AnJJE^I7tBw@GNKM`dSW!H zzbk}}Vq!E=M$98_9w$iXZTU2z_JQLNpVx@abTZH@3Vbf&Q_ruCSn9sPRAM%vU&W81 zj;=%;`4xd2-=_FBF`Z~YBoR8Q(&m;U-Gy7hf?Gb?sN+du3=v7$ z8Wm{Tp5pUcBAZAgbc`fYXtW$ZRRPD}J)Dp74#fB57ZM|^d>y_*)FUzo9TSO%iB_}^ z#`lQ`Vlts)v-VpKiDASIBA3Xfv0k9HB**>4Rbr4b9JhJ6X4J=!K1%#^Nyq5wi5EzH zN&G_Ss6mU@y=36CG5KC<=}#t~LbRpiGFBo!AarC=HVF%fSt_{Y*hG34QEFv(;lC~Y zGp@9>57!bA^ra(`(ARBetRKXzUng-Vv74w(G^O%x{EgU8oF}RgGl}xlrC~opM>H{k zxTFk6UFwUlAvPlZ3Y79Y4*x;4qfEz(L@3cUs0BX&RC3Evg+^1zSGUGDtAfdYSUNZ6 zdb!d!8hl>4bW!Twu+qh?W`<>Cr=+E&q-DmXWwlAmOioQpP4)HZozidI%);WrX;V|W rjGi&BOSkXB$5!ZMg+-|SYk;c2@$lYHK=N+t@cEMkcGsq`sku9x>!o9n-*PC zbdjoMs#T>rw6t_lZA}+lP_)$=jMRL-xj*wV=ha`{XS?^Dd(OG{@t^-+Uj#Ekd2O2up02g62uEVLg8~b2eF4A>(@TW1Z#v5=ecEI!4 z5ff-6>n30gya#JK=XcA=XsmTu8@G84?tu9<22y{s%WgfbH>4hMAMn_YT{fg3`LdGP#1JYZADM4h5axRN1+dA zpeDWwb-y*J{-vnvUq$xZy@`6zeN9+@-RLVSbm1A);kbahAdu4fHIA;R~oOdjs_Vr*Jy{fva#L`#KZB3!gS;SaB38kLI1U%1`uk6l(GvZIx?#CB z)JbqIiE?AqR`kcpc$<}np{^T)BX9z0;CIdasOyfP9_Scqi~g|si(c99u9DGA0u#N{ z9FEl~N1^KDQ3I#o-~jd&ODQjAb_=l`@1$c)LhD{w1nVz*&9j+Z7p*HDLUD^|k&$fCQC z(9av;E|aN=F{$1XCZm=r19jm&SPNH~FPS^c4^b04jz0VuwL-ydy}hrAdXN^V`Xtmu z+P7u>+mq>N4O6i<<=Mz$xOcD!e?tzu8`sXc?zjZI;X&+*HF?>!0-2~KABK9MY}A=3 zK@GeZwQ|c*6JDFf`m13B6iyq{>i+@i`p^AjblQ)j-qX{lr4LE>Ce#acqrRvMGR@(rQ#}r~wE1Q+s{d@% z;q{yMqVB&4WAH_cQ~N$LtgbtS90M24N$iZ7s1MM?sF`oTDBOqj@q3KL%czxW#E-m| z)Q1|lC2D{qtb+ql{c=$clIQ7n)5z$CbF9NM)Dx^kE%j5V3tqt6@fFk(26yrXiooWS z8=|(LJL(J!!H01iYT$FI`<+LvSb0S~`(K&${*#KT_z_;gFL6IV0D6-3EQg+;6g9w3 z^JDV|^MV<|4~F_RLS5Ge_4f3z`XS~dwKKk(M@Fah5md)#)qtDL_fa=IhC01x%yQIq zVO_mn&1lqhiKzbFur3Zptw5exU`|878fI9<9CN;Tm$}efWIlx2>t(1Fdcx}0nCnpQ z_lws4vemzeI_zb5m{0kxuDt)+`xU&*IxHKo7!P75cI)oFzsphmN|6`Dy^HC15jlS@ zxrg_2orkfMU%)o_0ao-weesfedWU>8Hlh4TPrr8<%Bawx*lxaK?lljfZu|)j$Ma@? zJ`Q=5pT{v6-rH+0!~)9uP!E!p;SGEr>c?jrw!jm9G8||Z*2jAdGf?Gus194O5*|mr z@84knp1~@34t3i9M4gSRs3i{X>pf5-)OB�FzK}Pah0I|4=efWJaS7&ur8U9z@-6 zHR^&=)M46+`YwEkad;Bdzj{A!fCi}kZ7~wNVGSH%<{|&N*hwQ|^>7WU{}yY1+scQqseb>Dl8K;0IqC`P z_V@nr*b=owV^J$H0X4u(JJS`><^ei3Z z{iehXW*ZpaO(Mg2a<5}FUNGwo@t&j|PNO~pC*pS0%ES)!4pR?Qxd^q#%TQao0rlyA zAAR^eYU?Tw^S+oq^lJ|@$moK}s0l1YZNYj>#GM#|r?DFTg;gA@{ zEm(runrAQ)OHo^~8&mPXaMoXkq~WA)p;Q(F_OQ;xu?*aX$@QFAS7La$*2?m+eb z#M+Nr`B&88yM*c=Ji>c`+Nk?Qk6`^ZZ~_%$wMV#>^3sufhOy5m@5xSLUCO_q&O+d5 zZw2b1R-`fNJ#UG6vbm@y-(>CEP%E?tHPHj8@6A!aWsY0J3DnGfH?LZK7+)7%7=;=z z-pXxJzZo~74(A}$6OTtdaWN+29jGnYWbM096Yw7*qYuevs0)r^Jv?Fcmr+l06*aNY zvEG*~5;dWI7=^=7D_M*^a3*RccA!@73`S$6ao+nMi`4sFJ{j%dU8os8j(VaE=1$b1 zIfPB|DC+Q)qxuJCc}p9KTA3Ksgj-{KY>%2~0rDogxtNIiu|)6xMKW!u$j|0qDfkp_ z!n62>%HzEo56toQel%*r1*q5QUewY*hnmo4)PQ?YD|#5UGGC+4z_+Ls`5C7%zPmzZ z0T$+Z7o0=g;1brypb4JQsDav}_BaD|7>8n0oPe6Z64X{bW9=I;f%03Ztv!jF&{gzn zhL!oM=z=iRzztDL*}}^0%xi3Va24na+H6vpCYYk$z{ zmzvMyvHrny*hs}>+=4oMJ_>rWRMgD7pa#lAE&V419R zu2>cQeXJo9HNY@)v^gF%u{_j;g{TW>VF>y$02iV9EispxE6pd&HRgIxzbhr9fnTwP zH&6p?M;*p@t^S~S1huqBF%-YH`kyh3@~@}~eMj6(%ph(cuBFe(3?sS|@p}JL=>4a) z>N{|KszTdHDq3R)LMhS1ZO0p}PXBVcKIyf-mR=&$%lh%gRip#_twtoP<5R>=LWv(L zmu{WAn|-OPO8y1>n+PWFL!}mkUOjzK;;Gj^KpGO->l~uu3rP7}@=CotD*le;um3Op zRHMT^IG+e2|03$k)`hs1qRF%-z9#fl{DxRX>?3v%+7f-7?j|l0^N88R14J74tU=Tw zj#B=Z=uD9O?wFUUc<_$gjtasvtG1_{;kLPNoJCO^2RDDzTSx6G8{^S3>XXazg19q8$-K)F+f~;+jwK zWJQTXYi`C2%Xg#CALNUOK134bpSAy634KiTqjDdyj!;@lq!axJ{V?f&qJI!SBCe%v zmU$aH5ef9U-|8O4e-k~38;LW-V?-nR48X?dUqI$Ep){SyCJqtz64%lXWc04DyjFpq z5Lb!b++^r=^~=bITRD!l$3THVI(3)mCu|-y%wgSfUl7RELYMPt~pb z$n}-vuUL5r4kj|Kykf<&$U6QJlsa?eU04sF#v_D}d>}qg{D;UTlui@R5O)w+L<{;U zP4#e*l=qWwNgO0XDQ~p4hj2Vmm%24xoxkFLiuf0W4n%XW(v8DpIz5hut!}XyMtu+B zd&*0RF;@Q^zD_hI(yVR@E+lTCea=+jw1C~eRg>`G=75kRM#uoG4$8W5jRzLO{? zh7(HtJzN{w8W6hr$oY=$j~N`%sAViVET%BAG15PbsLc>ff$3 zrzNJO`%+Rmwd>eAIW;*sH1pQPLAf*YO7e;d6MJS&&+X((O-`xkm)c(aQqs#_>e?lE z#q5ljI)jU6FrSKP`KD$~shHOBj8!pd{qy!bl%3_vDV$t1%a=2!I6Kc*FgbVb|IO#R S+4!>O?72UwtYqTdLH`B(t550x delta 7111 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 KpE-VZ<^Kb1!t*Eq diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po index f5bba58..37cc5ba 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Michael Wolf , 2016-2017 +# Michael Wolf , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-09 18:46+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-26 11:17+0000\n" "Last-Translator: Michael Wolf \n" "Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" "language/hsb/)\n" @@ -396,6 +396,9 @@ msgstr[3] "" "Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješkow (ima " "%(show_value)d)." +msgid "Enter a number." +msgstr "Zapodajće ličbu." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -480,6 +483,10 @@ msgstr "Big (8 byte) integer" msgid "'%(value)s' value must be either True or False." msgstr "Hódnota '%(value)s' dyrbi pak True pak False być." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Hódnota '%(value)s' dyrbi pak True, False pak None być." + msgid "Boolean (Either True or False)" msgstr "Boolean (pak True pak False)" @@ -655,9 +662,6 @@ msgstr "Tute polo je trěbne." msgid "Enter a whole number." msgstr "Zapodajće cyłu ličbu." -msgid "Enter a number." -msgstr "Zapodajće ličbu." - msgid "Enter a valid date." msgstr "Zapodajće płaćiwy datum." @@ -670,6 +674,10 @@ msgstr "Zapodajće płaćiwy datum/čas." msgid "Enter a valid duration." msgstr "Zapodajće płaćiwe traće." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Ličba dnjow dyrbi mjez {min_days} a {max_days} być." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Žana dataja je so pósłała. Přepruwujće kodowanski typ we formularje." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo index 46a6b39733afb3b6592c669b65275be86c172f81..a7ac689d9a0f522e107dfe03ec8db3295df2c392 100644 GIT binary patch delta 7369 zcmYk>2Y6LQ8piPnq!3Cdp@f!PN(dzhNhqO*7MhfR^hF>c0b&{wf*`^LkyXG#Sx^zA zgcT_&5EVsH5JeXRu`4P{6=AV}0;0(N-<*$qm}kHIrkCx_*a#!J`+BN{l@5(i>ioP+$wz0997_yvaIF$}=d z7>H+4?H5q(KVdn%hC$5l0+=lrLogh}P#qdteGAmiBw+QkehgMb4Q!3N!&K~qqfz6Y zKuxp`E8(-KNA?ox2F~L&yo4)p63=xy{vFN!FCkOZ#JPn4dJoQ z#Z#`2dKCS!EZ%A55vXxvaWqauO}x)Mh#L0^>V}S?9?>PMzvh+w?j{+nBq+{1&6Tkt zfQP;bS+OZp@^*sNw?Dua}gy3QP3%|mH`~c`qHnJVMgUzT3_LxV_ zQ|1*jlphTBtA`rb67}}I|kb!xz!<^j|NkD*TQMe_z~T%{E6 zS2GedE)Lbd8&=1ms2#{Q^UQnDuZAM4m}$;7=a~!4h32EEXT21)L#wQQtyzqEzc*R? z7OQ^|b=XUAEuZqeDZKxB_Tzb(8{rI`j;k>P!@GN5#ObI*xCFc6Hsrjzi^%zN(LKD= zJr;E~?nmv^B6AgLXSP`RO;o=lJ^bEb_=XA{ij(F!^C$B+Y)t!g%)zLh{NmwaoR61K z3!l!%Vk}<7IoQ9K_m9s*sJAPww{x63Hx66jDnFV2WR4(@)79@*f_~Tl z$Dp=s4(dX$q5ADZ-Pu9&L)0C9iZ$^JYRmsZ^^d=Uo5N&Oc|7X($7Pez4y?f%xE%-M z0W6OZJReQm2rFO<L}FMq$_x`*fnVbTDS(L>z;MFdCcQY5#=;Ri1+yzY%@-4mQLys5>t=)caB< zVhrVx=+_p{C8L2GP>1eq)U!T|Nf^?sMqTf>Jho& z-s=~H5fp1<8%!F`{%dO|Q=yJiP~{@jM6*$MKHu8US^Y)SA-jzFk-Cl=S8IeZtelIjDBp`UaI3ZNGyMn2=)#|%w&ob>H9C!&=y%ja*HQh-Z~}GuLs9j;u^J9S z-EjtX!igA*#aI=OVsku+eX!D9rH9+^hLh0+a!?)TpuXKp%ypi;up zApv}MwZKr+7qbfTPX!ll^#hQn>xN=y+=ff^{+}n)f{Iz=yl?j=y9>&kvmWmzm9r; z_gVQv)E#|heuJ9e6zYszz()8B*2C%(yzfaOrcfS?I)qED{4VM{5R}RO*Ci8~>3v8# zpzdTi`p}PB&^oM$&tf2!pbpcks7G+h>aUuAp%xgBu{c@AG;L#OKk6JF)appmypkuE$?c7hX2eyYNbL4Ql*GtQ5e%9q}~fU6Y*qFRq^K z9nyvVZ0`;qK@C`DK4JB%t-Qg?o6P4inEoYJ-i;c+*L>I752DV>M;MC7tbE$^UnHZg zx?=uq2H))s3`0#+%gT{v43?)p0ks1iQ42`1a!<35+22e<^&9HxccZLgtT_R-pvhLA zf|{VnoN4v5u?+POSp5Rj+p!SYad(2agD4_861URlWb_^APQ>W_Po(#6*4om%MIdc_ z_*@HYM<~U4xYw|g)#(u4p7dJZO3#r=wSF9f(sYQwI%f&$xSH5QDDivalC5)hvoCca z6;#*=R@gA|8&?C~v<^kdwF^iZ%JWRCVnqfp$;!Da$iOvMc?~Zwy z(l65i%kRY!%j?6@gn_T)8A3m^rwOIT)KA84#4uHmwi9Pdb9{7YS9+0XO@1TlH$f@7 z^e_AWD;fREHdKf;@yF5hj(NZdzMp}f%AdSRmgrhCdN&f^XGMNmFSz8P_Z zC{KBtwLOXxi0ag>_3Hek|5Ls6+2*AqBijvQhVxh@or+KDsD?# z$iGFrY;{xdoaKMQr!8L|*AbPumQq!sH~F5}AV42?3X>?jLqrg9l&523;sfGmq8f28 z5lUMU-bpCcA+m`pDv+XRzXzkS8BvB%x{G+8NU`!}@_|I3fR^6>14aJ-sT!T~Db=*j zw;F;d|EFYd-5Wv6BO63lj`j6Q&n?V~^%YF@4J^nnxud}sVP!LB=9WYzydTm&zbG#w zYpSncqAxRjW}z>ysBoGuBa8n`yEiK<-#05SJAa&7X8Y3fGbyIe@QU#zCz5A{RB0EN z&?YW1*_W8up>_Kf2}#RyQz9yrRwlLeCA9C5)Oz{Sl!&G|1%TgOrDyR zo$u>3nOuB2EnO$&rDx~HPbkRiQnEkg+mPjjy=p}dom#|_OIPljo<3=&mYx-tpPu8( z$;!?3(|d8XvKiUAB~3;bm+PFLKBXYXS9st4^?Cc(tLts6-@m!=w$=M` X_P=u9{>|RCvI@CWe93`~6~X@lIJjnn delta 7136 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, 2018 +# András Veres-Szentkirályi, 2016-2018 # Attila Nagy <>, 2012 # Dóra Szendrei , 2017 # Jannis Leidel , 2011 @@ -12,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-24 13:36+0000\n" -"Last-Translator: András Veres-Szentkirályi\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-26 09:24+0000\n" +"Last-Translator: Akos Zsolt Hochrein \n" "Language-Team: Hungarian (http://www.transifex.com/django/django/language/" "hu/)\n" "MIME-Version: 1.0\n" @@ -164,6 +165,9 @@ msgstr "Japán" msgid "Georgian" msgstr "Grúz" +msgid "Kabyle" +msgstr "Kabil" + msgid "Kazakh" msgstr "Kazak" @@ -388,6 +392,9 @@ msgstr[1] "" "Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " "karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." +msgid "Enter a number." +msgstr "Adj meg egy számot." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -473,6 +480,10 @@ msgstr "Nagy egész szám (8 bájtos)" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' érték csak igaz (True) vagy hamis (False) lehet." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' értéknek True, False vagy None-nak kell lennie." + msgid "Boolean (Either True or False)" msgstr "Logikai (True vagy False)" @@ -650,9 +661,6 @@ msgstr "Ennek a mezőnek a megadása kötelező." msgid "Enter a whole number." msgstr "Adjon meg egy egész számot." -msgid "Enter a number." -msgstr "Adj meg egy számot." - msgid "Enter a valid date." msgstr "Adjon meg egy érvényes dátumot." @@ -665,6 +673,10 @@ msgstr "Adjon meg egy érvényes dátumot/időt." msgid "Enter a valid duration." msgstr "Adjon meg egy érvényes időtartamot." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "A napok számának {min_days} és {max_days} közé kell esnie." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nem küldött el fájlt. Ellenőrizze a kódolás típusát az űrlapon." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/formats.py b/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/formats.py index 33b9b6e..4c52d7d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/formats.py +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/hu/formats.py @@ -3,12 +3,12 @@ # The *_FORMAT strings use the Django date format syntax, # see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date DATE_FORMAT = 'Y. F j.' -TIME_FORMAT = 'G.i' -DATETIME_FORMAT = 'Y. F j. G.i' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'Y. F j. H:i' YEAR_MONTH_FORMAT = 'Y. F' MONTH_DAY_FORMAT = 'F j.' SHORT_DATE_FORMAT = 'Y.m.d.' -SHORT_DATETIME_FORMAT = 'Y.m.d. G.i' +SHORT_DATETIME_FORMAT = 'Y.m.d. H:i' FIRST_DAY_OF_WEEK = 1 # Monday # The *_INPUT_FORMATS strings use the Python strftime format syntax, @@ -17,13 +17,13 @@ DATE_INPUT_FORMATS = [ '%Y.%m.%d.', # '2006.10.25.' ] TIME_INPUT_FORMATS = [ - '%H.%M.%S', # '14.30.59' - '%H.%M', # '14.30' + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' ] DATETIME_INPUT_FORMATS = [ - '%Y.%m.%d. %H.%M.%S', # '2006.10.25. 14.30.59' - '%Y.%m.%d. %H.%M.%S.%f', # '2006.10.25. 14.30.59.000200' - '%Y.%m.%d. %H.%M', # '2006.10.25. 14.30' + '%Y.%m.%d. %H:%M:%S', # '2006.10.25. 14:30:59' + '%Y.%m.%d. %H:%M:%S.%f', # '2006.10.25. 14:30:59.000200' + '%Y.%m.%d. %H:%M', # '2006.10.25. 14:30' '%Y.%m.%d.', # '2006.10.25.' ] DECIMAL_SEPARATOR = ',' diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo index 28e6c69d769c9b34b7c973ffcb50bb1b57e764b9..df13536c20dd198cec43c5b36e8bb576d0da0c37 100644 GIT binary patch delta 7313 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 B{4W3i diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.po index d01f063..99fc195 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/id/LC_MESSAGES/django.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-11 07:10+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-18 23:24+0000\n" "Last-Translator: Fery Setiawan \n" "Language-Team: Indonesian (http://www.transifex.com/django/django/language/" "id/)\n" @@ -384,6 +384,9 @@ msgstr[0] "" "Pastikan nilai ini mengandung paling banyak %(limit_value)d karakter " "(sekarang %(show_value)d karakter)." +msgid "Enter a number." +msgstr "Masukkan sebuah bilangan." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -461,6 +464,10 @@ msgstr "Bilangan asli raksasa (8 byte)" msgid "'%(value)s' value must be either True or False." msgstr "Nilai '%(value)s' haruslah bernilai Benar atau Salah." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Nilai '%(value)s' harus True, False, atau None." + msgid "Boolean (Either True or False)" msgstr "Nilai Boolean (Salah satu dari True atau False)" @@ -637,9 +644,6 @@ msgstr "Bidang ini tidak boleh kosong." msgid "Enter a whole number." msgstr "Masukkan keseluruhan angka bilangan." -msgid "Enter a number." -msgstr "Masukkan sebuah bilangan." - msgid "Enter a valid date." msgstr "Masukkan tanggal yang valid." @@ -652,6 +656,10 @@ msgstr "Masukkan tanggal/waktu yang valid." msgid "Enter a valid duration." msgstr "Masukan durasi waktu yang benar." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Jumlah hari harus diantara {min_days} dan {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Tidak ada berkas yang dikirimkan. Periksa tipe pengaksaraan formulir." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo index f124c7abae45103a000fde29c94539984f8aaa95..463814a893f1d9e84578c6649d17ee47fbaabf7d 100644 GIT binary patch delta 7184 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 LxTO5!Q8WJwanf5@ delta 6961 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.po index 5ef6aa1..09aaab8 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/is/LC_MESSAGES/django.po @@ -4,15 +4,16 @@ # gudmundur , 2011 # Hafsteinn Einarsson , 2011-2012 # Jannis Leidel , 2011 +# Matt R, 2018 # saevarom , 2011 # saevarom , 2013,2015 -# Thordur Sigurdsson , 2016-2017 +# Thordur Sigurdsson , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-27 07:32+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-22 20:45+0000\n" "Last-Translator: Thordur Sigurdsson \n" "Language-Team: Icelandic (http://www.transifex.com/django/django/language/" "is/)\n" @@ -163,6 +164,9 @@ msgstr "Japanska" msgid "Georgian" msgstr "Georgíska" +msgid "Kabyle" +msgstr "" + msgid "Kazakh" msgstr "Kasakska" @@ -388,6 +392,9 @@ msgstr[1] "" "Gildið má mest vera %(limit_value)d stafir að lengd (það er %(show_value)d " "nú)" +msgid "Enter a number." +msgstr "Sláðu inn tölu." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -468,6 +475,10 @@ msgstr "Stór (8 bæta) heiltala" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' verður að vera annaðhvort satt eða ósatt." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' verður að vera eitt eftirtalinna: True, False eða None." + msgid "Boolean (Either True or False)" msgstr "Boole-gildi (True eða False)" @@ -642,9 +653,6 @@ msgstr "Þennan reit þarf að fylla út." msgid "Enter a whole number." msgstr "Sláðu inn heiltölu." -msgid "Enter a number." -msgstr "Sláðu inn tölu." - msgid "Enter a valid date." msgstr "Sláðu inn gilda dagsetningu." @@ -657,6 +665,10 @@ msgstr "Sláðu inn gilda dagsetningu ásamt tíma." msgid "Enter a valid duration." msgstr "Sláðu inn gilt tímabil." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Fjöldi daga verður að vera á milli {min_days} og {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Engin skrá var send. Athugaðu kótunartegund á forminu (encoding type)." @@ -855,25 +867,25 @@ msgid "Sunday" msgstr "sunnudagur" msgid "Mon" -msgstr "Mán" +msgstr "mán" msgid "Tue" -msgstr "Þri" +msgstr "þri" msgid "Wed" -msgstr "Mið" +msgstr "mið" msgid "Thu" -msgstr "Fim" +msgstr "fim" msgid "Fri" -msgstr "Fös" +msgstr "fös" msgid "Sat" -msgstr "Lau" +msgstr "lau" msgid "Sun" -msgstr "Sun" +msgstr "sun" msgid "January" msgstr "janúar" @@ -949,99 +961,99 @@ msgstr "des" msgctxt "abbrev. month" msgid "Jan." -msgstr "Jan." +msgstr "jan." msgctxt "abbrev. month" msgid "Feb." -msgstr "Feb." +msgstr "feb." msgctxt "abbrev. month" msgid "March" -msgstr "Mars" +msgstr "mars" msgctxt "abbrev. month" msgid "April" -msgstr "Apríl" +msgstr "apríl" msgctxt "abbrev. month" msgid "May" -msgstr "Maí" +msgstr "maí" msgctxt "abbrev. month" msgid "June" -msgstr "Júní" +msgstr "júní" msgctxt "abbrev. month" msgid "July" -msgstr "Júlí" +msgstr "júlí" msgctxt "abbrev. month" msgid "Aug." -msgstr "Ág." +msgstr "ág." msgctxt "abbrev. month" msgid "Sept." -msgstr "Sept." +msgstr "sept." msgctxt "abbrev. month" msgid "Oct." -msgstr "Okt." +msgstr "okt." msgctxt "abbrev. month" msgid "Nov." -msgstr "Nóv." +msgstr "nóv." msgctxt "abbrev. month" msgid "Dec." -msgstr "Des." +msgstr "des." msgctxt "alt. month" msgid "January" -msgstr "Janúar" +msgstr "janúar" msgctxt "alt. month" msgid "February" -msgstr "Febrúar" +msgstr "febrúar" msgctxt "alt. month" msgid "March" -msgstr "Mars" +msgstr "mars" msgctxt "alt. month" msgid "April" -msgstr "Apríl" +msgstr "apríl" msgctxt "alt. month" msgid "May" -msgstr "Maí" +msgstr "maí" msgctxt "alt. month" msgid "June" -msgstr "Júní" +msgstr "júní" msgctxt "alt. month" msgid "July" -msgstr "Júlí" +msgstr "júlí" msgctxt "alt. month" msgid "August" -msgstr "Ágúst" +msgstr "ágúst" msgctxt "alt. month" msgid "September" -msgstr "September" +msgstr "september" msgctxt "alt. month" msgid "October" -msgstr "Október" +msgstr "október" msgctxt "alt. month" msgid "November" -msgstr "Nóvember" +msgstr "nóvember" msgctxt "alt. month" msgid "December" -msgstr "Desember" +msgstr "desember" msgid "This is not a valid IPv6 address." msgstr "Þetta er ekki gilt IPv6 vistfang." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo index f8ae8fa60e2b0ab7567503e94760443c64e546f7..ece4baa2aa5e2114adb7d373a040a872b059d1fd 100644 GIT binary patch delta 7372 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 IPhH*Mf5lc<2LJ#7 delta 7134 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, 2017 +# Topolino_Hackerino , 2017 # Carlo Miron , 2011 # Carlo Miron , 2014 +# Carlo Miron , 2018 # Denis Darii , 2011 # Flavio Curella , 2013,2016 # Jannis Leidel , 2011 # Themis Savvidis , 2013 # Luciano De Falco Alfano, 2016 # Marco Bonetti, 2014 +# Mirco Grillo , 2018 # Nicola Larosa , 2013 # palmux , 2014-2015,2017 # Mattia Procopio , 2015 @@ -19,9 +21,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 13:51+0000\n" -"Last-Translator: palmux \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-30 21:04+0000\n" +"Last-Translator: Carlo Miron \n" "Language-Team: Italian (http://www.transifex.com/django/django/language/" "it/)\n" "MIME-Version: 1.0\n" @@ -171,6 +173,9 @@ msgstr "Giapponese" msgid "Georgian" msgstr "Georgiano" +msgid "Kabyle" +msgstr "Cabilo" + msgid "Kazakh" msgstr "Kazako" @@ -394,6 +399,9 @@ msgstr[1] "" "Assicurati che questo valore non contenga più di %(limit_value)d caratteri " "(ne ha %(show_value)d)." +msgid "Enter a number." +msgstr "Inserisci un numero." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -473,6 +481,10 @@ msgstr "Intero grande (8 byte)" msgid "'%(value)s' value must be either True or False." msgstr "Il valore '%(value)s' deve essere True oppure False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Il valore di %(value)s deve essere True, False o None" + msgid "Boolean (Either True or False)" msgstr "Booleano (Vero o Falso)" @@ -649,9 +661,6 @@ msgstr "Questo campo è obbligatorio." msgid "Enter a whole number." msgstr "Inserisci un numero intero." -msgid "Enter a number." -msgstr "Inserisci un numero." - msgid "Enter a valid date." msgstr "Inserisci una data valida." @@ -664,6 +673,10 @@ msgstr "Inserisci una data/ora valida." msgid "Enter a valid duration." msgstr "Inserisci una durata valida." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Il numero di giorni deve essere compreso tra {min_days} e {max_days}" + msgid "No file was submitted. Check the encoding type on the form." msgstr "Non è stato inviato alcun file. Verifica il tipo di codifica sul form." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo index 9c7fa3497ff155da5ee0c44096952fc29f2f48c5..cf1abc4c0348366980cbca3d319e94a4dbdbf5fd 100644 GIT binary patch delta 7300 zcmYk>3w+P@9>?+T*zAIB<~GLs=QfvZc6BSHFoZ^KA(_l|wuObn-zulj#pU1-5fxEX zQ>v58={V^K>2e6An3Q&?L!_P5dA0QSIfZ_DdLs*D-|iyCBY14MVXuMxr`2wR~ID%%o#=>}mOd$lY?oF%<7b z&Eyp1V%>afj_a*`zqKDio$n0#qbPh!K_k14I#88n&b7e^R6Pr|Ll@Mo=z+DcFUI01 z^kFe-;44wbTaW7hB5MB~$US#&pf2=4Gv;3hIz>V|UPLX9Yp5MU7=9wwK<$``y274# zGmb#*w+eNl4OkOjK;5#Ps0;WGXW(UAi4(Z5_v5cEnExddid#DO99H9O8*v-z1Or+* z*A*9|R`o%wkJVax#-nDiJr2QM*bmnt4~V;fT#E}~I#q9tx|KaqGceq5g?!Xh&PSbK zHR^GB73<*<)DB;xX5eS6i;=8Y#_pP9INpw$ks;=2cnX{IEed-FH&E`=oVlm&!i6gHfpB!VFVsW4e%^h$L~1)O z*Ykglf?k!EP_Np=H17o6Q3vjWnt?k|1G^KWaFpfqQ3ESN&Dc!Ttt+woE2u@c3#;Hk zWYXPX^z%fx3JTHKB;A|BRMb>uqjr24YvD?Bi}|*B2sNop=#y=9ZxbyfKUUSHm_En&MJx*kv8}VNdc$F&pbKT21k2)P56D_qGUQaGtd< zMGfd_t8YX-|1Y8XzmMAgn4f}H`)Sm3T8^6f@DAR9dZG^02em_vIUKdB$DpP*-<*c( zKMS>Z{pKU6<1fS}xEY(O{Qw1K*L{a90~gOq?1DL{7toWak#EC>cmV6;SxmqR)XX*F zOI}mzL!G!a>I5lR8waBL<)JQQlBeI@M?nXiZ5@`Pu3!afs@I}+cmeOi?WidX>+GGV z9=4<&hq?u~qSn9=d=kf?PW(OUcvny}b|aAI{#Rwbe}dy&2HYeW;|-YWK{p|SO*8AW?+&z)w~b=YACkEY;&$zVlFTjnopqa^-|Oft+D)i za}(4&-)O#rcTqov12FYA z-iqi)UGaygwR0AAuP<2riq$L3;2vJT$R2)gG1MiYMGGK5%N-WeNgRwjK`;}z8xc}??D~sFzUEpVL!a+<^8Vn?cTlUkKr^7MjdE0YCv-_ z8CRnYbO3daPofTZ#`2deAH>ns9)>zj6zbNdU|r0#_P&^?@Be`mbfVd)#kK+&oZEpl zumW|3q5ZuB)JN8*OGaH`A?lvb!x4B4Sq3hR6*?1V;xhc+>JQz)uO;dgsP*S^b12{o zn2hC^hz$mMzu&v#lhns!9$rP>HE!e}Z&9sAUS{qLw!ubsdcSb8QOBE(TD;F<1|CB# z!U$HTUmdb3$YRt1Hequ-f;_733To;yhIqH24{Gs^!W7I!&D0WHjO(y2wjS!)4K;&9 zFb4Bb7d&ey^RI^8B&yKW!}PfxuIH2503PHNIZ<%aSbZ}3hHs%g?cd^ z#SYkJl-F-8YQVElGxiwjd{0 z)Bs;by%BdK3*GHQhw@}}T&+GXwr*Jcgr3`C39zk8f+sAk&;N|P0_HT-vFbQ?f$76e3g+1{IY9{MU^xmvvP`7g1MCL#6Mk1kG5HZPn^JSyn zXoaYeZpCoij@9r@)QR?@uJ8v`zp9hHexay=*TO7}N3{<|^&f6dnaup_fb&Q!!Ufh4 zJ;m$T4D~#>N8O47)J#2rFW@@VfqUe8C+>|p!64Le^Kf+#FD%T#Y6aeJ&0&S!t?uV9 z@(KgZp%}uBBdwlmjyI>6MP{-20BS!SPcE?hVsnYP!rIqZ-M_&K&zoD#9p+B+E!2Vc znENe%5H$lITKyCAGgSXCtX^h*YhLv9yUUjN$^69(y3ad6HM52pgW()F7WK3=H50KR z^(17b-5KI`qL{desND2==k*`>dt~7IKaJi$T5G$?US=?DywY7;>_}+SH>EaxKiq7& z+JVgPA9}1Sw=EQUTEFp@`~a&Hsp`0v*iC5Dmq-Wee5=`qTqtENxL=7d%0ATAifBsI zAri?qB;p7yK3*$<$FM#1uPAHl=@Iz6hfn`iKC082x@j0=R z_<~qT93b8%v<9MyhluOM9AXyn7?H&>BZ*qXXVi}pT?jV6JLweyZ>IOGybnvQtoK7p zcKj=TP3YU~9HFf_d0riXpJPJ;8D6t^-pU!YYuiC&QhpBgqSDqP@X7rDhe9L~Plp~v zI`I$c&4^Iq-^6iZ8KF(z5t&32qCTPR7WVlRF9d4*E13BjW?Q*CeJ)ex(GUE~c?$J! zbpLk|YlwQppNLI_wv9vwqAxL!&_B^Xj)#fL?M*A}!OlbyeIB*kpYbQ+HbQULi^M9T z5qJW)OV&xetj)h{~;uf*!dQl?nWa_>JhrL5BVzzm#&6)tl0GnsOTP z01-`np|$nGWAExaWIi%_2tW##@6{FhWZ5-q)?8-uBI`U`$+xkYA8^0yIZsV^Z$TmD&mm1s<4S#An0Aa0_6 z6?~VdK};pIZPOa;Mqv~YM5kM@Ggc)U5dWe+kGMe$C$#nRaP4T1qkM{Ze|bW~+AV&d zbb`1-Xsb_;H@srtvkmn-)YG3tJ%#8>=4Y%){GHI&iCjKTCT1(~hixn6y~OL5n}*+7 z`4T>DuDF_Q?VEgkP9v^69q z5!X~DF1(pp;H01de*tJA%yxrOLOCH zge*@y?{7Juk^uIL$Ypu%L8g!p3@?3W}$W&70;c9Pb;KJA1lsYVq_LzOi}y znK3gjufR8F>ZF2u)H2tXTQH7l?kumGQhL3^oY1U}$*Eb%X&roNX`M4WwM|V=O^wL8 zBY9BX{gb9oDlACukvk)=voAe0EzmDL!9s!Pu5Rp540ia`wU|thW!r~Tw4?X delta 7111 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 mYD#{3WO8DX*RNe, 2011 # Kentaro Matsuzaki , 2015 # Masashi SHIBATA , 2017 -# Shinya Okano , 2012-2017 +# Shinya Okano , 2012-2018 # Tetsuya Morimoto , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-04 02:33+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-23 03:26+0000\n" "Last-Translator: Shinya Okano \n" "Language-Team: Japanese (http://www.transifex.com/django/django/language/" "ja/)\n" @@ -382,6 +382,9 @@ msgstr[0] "" "この値は %(limit_value)d 文字以下でなければなりません( %(show_value)d 文字に" "なっています)。" +msgid "Enter a number." +msgstr "整数を入力してください。" + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -458,6 +461,10 @@ msgstr "大きな(8バイト)整数" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' は真偽値にしなければなりません。" +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' はTrue、FalseまたはNoneの値でなければなりません。" + msgid "Boolean (Either True or False)" msgstr "ブール値 (真: True または偽: False)" @@ -629,9 +636,6 @@ msgstr "このフィールドは必須です。" msgid "Enter a whole number." msgstr "整数を入力してください。" -msgid "Enter a number." -msgstr "整数を入力してください。" - msgid "Enter a valid date." msgstr "日付を正しく入力してください。" @@ -644,6 +648,10 @@ msgstr "日付/時間を正しく入力してください。" msgid "Enter a valid duration." msgstr "時間差分を正しく入力してください。" +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "日数は{min_days}から{max_days}の間でなければなりません。" + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "ファイルが取得できませんでした。formのencoding typeを確認してください。" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo index 23b87ccb9b5cdfcc6499b6c48e31e20e0eda2ebd..319303c44f6e564e96e8766f174cfe076dfc855b 100644 GIT binary patch delta 7386 zcmYk=3w+PjAII@CjLrQL*4%z`A2!?E=YE@OnmZ*KhJ}q?#9#VK2@^FMDn zuOR2Dc(MNd=kq$=eZ?RG}l_Ji0}9v?yz|VgK58PUNdi+x6NR#F2J}_*bkfF0Gx?Qcoc_Y zOfBDRoXq_00+mEM1_YdIjBBwrev0+*Dz?C|2WYmBHtTht2N#L8Hf9m}=5x)_RmP%ARn9ErRjZafylxi|{5QRBUQDq5mnQ761*9hI6m z7foIR^(gvcQ5a}w%KGEqx5%bbI{qj{+Di!EPbsOVF9 z1@)*$bzuXs9FDN|NvI2(f?BahQIGBkYu|?2bUU#K9zqt~eS#iu zg!`RJd8`%ZFJTO7sd}Ied=e|*GIOK3%RGX*u(KGzi>MU}Y34us@~9hWh-!~UT}aDj ztba=?ZLDJoCXi1@7Q^kqH2ewK@NQId=epoR?2JdTBbMi7*9s(}mV7AchDM|IL;gmhvVz0B@Bu8C#r(=$*Z9r zK^N2>7>tW?6l&rhQRlmcTCrP&?L7aYtoJW8l)z8$Pdtf-_ywRlS;und4mP1C*lm7h zeq&xYL-~cFan(`BHATHWU9EkvIYIr*?`BfbZhaOtaJ4#cyZJHdgr`uu_p*5lbzGT_ z{%_5isN)&kcZ=g1N9?s=czPBUqedvq z=Guti_&!G93Dmfos7Dmq+t2Hm%~0p-iaJjsvY2j+pL=ct72Uxu^8?h04qzCbNBuVY z19gH%ef;t5F_gR;YJz^K8+g#1iu!QPL+y#R7=oKn^KD1%Kld&b-PujlhowwkKDSs6 zb>d{y9j2pRw>hXgSc*E)3FJ_B)@*d2|I29_>XE*K+7qSw`A)?o^5dxAKd$xt{@+$p zQA@fGYv9MIrM`gacpIBwdLo}!T!k(0pyjtw$4B<}KfQghE_o_8#-*0;L9OToEd2dn zX@EblHR=Qpp(gfF17F07c+fn9+B`p^Hq|evm8ih&reYXsCFfyj%tgJ%Yfz8uU5vwh z16h9!xNaRq2l)faU`5)iVkS1ia<~dL{teWL-p9g~vi1w+&({B!rtcCd&no>suc6Y{OBHECRJMiPoQFPBgPn zo6f_cxB+#eTTmp27>L*C{30Ux``RhCCaq<44wh4i}SOL0#aialZ3V zE0}|t@DtdB2W?!?vImCPrHNhxzoV8EF;tWvM=C+q(+m9j)l26Q9hh<}sUAxaPh#0g>vq4GM>oTx=;!>M%Qm@n{$ z!i@g~Gq+<8t9NG1RqAO(Pa>N9qMrXw;zdH==BJ6ZgvuJC715jEuWE%Kl4tM};!b(T zD*r-#TAOgvdDiwk{zh~q+7XwDzlv`XHHa40HWB9%Z5dw#KP2>9XfmO)MSHL#l@UY`gF0b67A5W_z9fH~xJ3*j zRQme3ru0{%ewsM2G$OoGy`QL^B(4!ERT=TNUoHIEi2Qzy^qP=I6CG%|iDig=gi0IQ zCgCH*3^m+UHdEh2yk%|a_`TJy;7e97iK_|yYE`K~^q}4iBZBmCCmB!j5fMg2kx#?A z#1Z00q9XAq5lUYi4kT2%Mh!|&O3j#*l$n+u&oxa53{0Mo7HF4}G`Uj-wbZl;(G%12&UP#kvNWw*sg{?v zEh%_;b|8P-iu|Q33l^>n3`)=9e(bimr{qAvx}3n}+!gtARunAXT9EsG{)T7rzUa|2 yJU)NU>Vgd`^Ru77>z)c;n0?nR1q$YDEqHl{e;g;-l)rF({=#+9dDTYmD)E0eErKTi delta 7146 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, 2014 -# 준구 강 , 2017 +# JunGu Kang , 2017 # Jiyoon, Ha , 2016 # lqez , 2017 # hoseung2 , 2017 @@ -11,17 +11,18 @@ # Jannis Leidel , 2011 # Le Tartuffe , 2014,2016 # JuneHyeon Bae , 2014 -# 준구 강 , 2015 +# JunGu Kang , 2015 # Kagami Sascha Rosylight , 2017 +# Noh Seho , 2018 # Subin Choi , 2016 # Taesik Yoon , 2015 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-11 14:17+0000\n" -"Last-Translator: 준구 강 \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-18 08:57+0000\n" +"Last-Translator: Noh Seho \n" "Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -389,6 +390,9 @@ msgstr[0] "" "이 값이 최대 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " "자)." +msgid "Enter a number." +msgstr "숫자를 입력하세요." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -465,6 +469,10 @@ msgstr "큰 정수 (8 byte)" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' 값은 값이 없거나, 참 또는 거짓 중 하나 여야 합니다." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s'값은 반드시 True, False, None 중 하나여야만 합니다." + msgid "Boolean (Either True or False)" msgstr "boolean(참 또는 거짓)" @@ -638,9 +646,6 @@ msgstr "필수 항목입니다." msgid "Enter a whole number." msgstr "정수를 입력하세요." -msgid "Enter a number." -msgstr "숫자를 입력하세요." - msgid "Enter a valid date." msgstr "올바른 날짜를 입력하세요." @@ -653,6 +658,10 @@ msgstr "올바른 날짜/시각을 입력하세요." msgid "Enter a valid duration." msgstr "올바른 기간을 입력하세요." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "날짜는 {min_days}와 {max_days} 사이여야 합니다." + msgid "No file was submitted. Check the encoding type on the form." msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo index c474f7a62364949cc9bc4c640789b1a70471d105..96ff3bdfb2ede0674e3354a7b77fa59cfc6c73ac 100644 GIT binary patch delta 7554 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 DbdQUu delta 7273 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 N+sl=%D1Ns5{{aOxEOr0@ diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po index d398d13..5480854 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po @@ -4,7 +4,7 @@ # Jannis Leidel , 2011 # Kostas , 2011 # lauris , 2011 -# Matas Dailyda , 2015-2017 +# Matas Dailyda , 2015-2018 # naktinis , 2012 # Nikolajus Krauklis , 2013 # Povilas Balzaravičius , 2011-2012 @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-04 11:04+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 08:24+0000\n" "Last-Translator: Matas Dailyda \n" "Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" "lt/)\n" @@ -23,8 +23,9 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " +"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " +"1 : n % 1 != 0 ? 2: 3);\n" msgid "Afrikaans" msgstr "Afrikiečių" @@ -382,6 +383,9 @@ msgstr[1] "" msgstr[2] "" "Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " "(dabartinis ilgis %(show_value)d)." +msgstr[3] "" +"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." #, python-format msgid "" @@ -399,6 +403,12 @@ msgstr[1] "" msgstr[2] "" "Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " "(dabartinis ilgis %(show_value)d)." +msgstr[3] "" +"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." + +msgid "Enter a number." +msgstr "Įveskite skaičių." #, python-format msgid "Ensure that there are no more than %(max)s digit in total." @@ -406,6 +416,7 @@ msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo." msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys." msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." +msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." #, python-format msgid "Ensure that there are no more than %(max)s decimal place." @@ -413,6 +424,7 @@ msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo po kablelio." msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys po kablelio." msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." +msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." #, python-format msgid "" @@ -424,6 +436,8 @@ msgstr[1] "" "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys prieš kablelį." msgstr[2] "" "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." +msgstr[3] "" +"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." #, python-format msgid "" @@ -483,6 +497,10 @@ msgstr "Didelis (8 baitų) sveikas skaičius" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' reikšmė turi būti arba True, arba False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' reikšmė turi būti True, False, arba None." + msgid "Boolean (Either True or False)" msgstr "Loginė reikšmė (Tiesa arba Netiesa)" @@ -659,9 +677,6 @@ msgstr "Šis laukas yra privalomas." msgid "Enter a whole number." msgstr "Įveskite pilną skaičių." -msgid "Enter a number." -msgstr "Įveskite skaičių." - msgid "Enter a valid date." msgstr "Įveskite tinkamą datą." @@ -674,6 +689,10 @@ msgstr "Įveskite tinkamą datą/laiką." msgid "Enter a valid duration." msgstr "Įveskite tinkamą trukmę." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Dienų skaičius turi būti tarp {min_days} ir {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nebuvo nurodytas failas. Patikrinkite formos koduotę." @@ -696,6 +715,9 @@ msgstr[1] "" msgstr[2] "" "Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " "ženklų (dabartinis ilgis %(length)d)." +msgstr[3] "" +"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " +"ženklų (dabartinis ilgis %(length)d)." msgid "Please either submit a file or check the clear checkbox, not both." msgstr "Nurodykite failą arba pažymėkite išvalyti. Abu pasirinkimai negalimi." @@ -737,6 +759,7 @@ msgid_plural "Please submit %d or fewer forms." msgstr[0] "Prašome pateikti %d arba mažiau formų." msgstr[1] "Prašome pateikti %d arba mažiau formų." msgstr[2] "Prašome pateikti %d arba mažiau formų." +msgstr[3] "Prašome pateikti %d arba mažiau formų." #, python-format msgid "Please submit %d or more forms." @@ -744,6 +767,7 @@ msgid_plural "Please submit %d or more forms." msgstr[0] "Prašome pateikti %d arba daugiau formų." msgstr[1] "Prašome pateikti %d arba daugiau formų." msgstr[2] "Prašome pateikti %d arba daugiau formų." +msgstr[3] "Prašome pateikti %d arba daugiau formų." msgid "Order" msgstr "Nurodyti" @@ -817,6 +841,7 @@ msgid_plural "%(size)d bytes" msgstr[0] "%(size)d baitas" msgstr[1] "%(size)d baitai" msgstr[2] "%(size)d baitai" +msgstr[3] "%(size)d baitai" #, python-format msgid "%s KB" @@ -1087,6 +1112,7 @@ msgid_plural "%d years" msgstr[0] "%d metas" msgstr[1] "%d metai" msgstr[2] "%d metų" +msgstr[3] "%d metų" #, python-format msgid "%d month" @@ -1094,6 +1120,7 @@ msgid_plural "%d months" msgstr[0] "%d mėnuo" msgstr[1] "%d mėnesiai" msgstr[2] "%d mėnesių" +msgstr[3] "%d mėnesių" #, python-format msgid "%d week" @@ -1101,6 +1128,7 @@ msgid_plural "%d weeks" msgstr[0] "%d savaitė" msgstr[1] "%d savaitės" msgstr[2] "%d savaičių" +msgstr[3] "%d savaičių" #, python-format msgid "%d day" @@ -1108,6 +1136,7 @@ msgid_plural "%d days" msgstr[0] "%d diena" msgstr[1] "%d dienos" msgstr[2] "%d dienų" +msgstr[3] "%d dienų" #, python-format msgid "%d hour" @@ -1115,6 +1144,7 @@ msgid_plural "%d hours" msgstr[0] "%d valanda" msgstr[1] "%d valandos" msgstr[2] "%d valandų" +msgstr[3] "%d valandų" #, python-format msgid "%d minute" @@ -1122,6 +1152,7 @@ msgid_plural "%d minutes" msgstr[0] "%d minutė" msgstr[1] "%d minutės" msgstr[2] "%d minučių" +msgstr[3] "%d minučių" msgid "0 minutes" msgstr "0 minučių" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo index 786de09facccc13d7d3585bb62e9f44bb8b9d190..a0771eb559fb76c04b5ec7c0cd681f06192e57da 100644 GIT binary patch delta 7395 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 XRpwv(V0Qbc!mHyp7q1!Ls?vV}$ZZx8 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po index 1a57669..5367e97 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po @@ -3,18 +3,19 @@ # Translators: # edgars , 2011 # NullIsNot0 , 2017 -# NullIsNot0 , 2017 +# NullIsNot0 , 2017-2018 # Jannis Leidel , 2011 # krikulis , 2014 # Māris Nartišs , 2016 +# Mārtiņš Šulcs , 2018 # NullIsNot0 , 2018 # peterisb , 2016-2017 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-17 17:32+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-03 12:12+0000\n" "Last-Translator: NullIsNot0 \n" "Language-Team: Latvian (http://www.transifex.com/django/django/language/" "lv/)\n" @@ -391,6 +392,9 @@ msgstr[1] "" msgstr[2] "" "Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." +msgid "Enter a number." +msgstr "Ievadiet skaitli." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -436,7 +440,7 @@ msgstr "un" #, python-format msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s ar šiem %(field_labels)s jau eksistē." +msgstr "%(model_name)s ar šādu lauka %(field_labels)s vērtību jau eksistē." #, python-format msgid "Value %(value)r is not a valid choice." @@ -450,7 +454,7 @@ msgstr "Šis lauks nevar būt tukšs" #, python-format msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s ar nosaukumu %(field_label)s jau eksistē." +msgstr "%(model_name)s ar šādu lauka %(field_label)s vērtību jau eksistē." #. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. #. Eg: "Title must be unique for pub_date year" @@ -477,6 +481,10 @@ msgstr "Liels (8 baitu) vesels skaitlis" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' vērtībai ir jābūt vai nu True vai False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' vērtībai jābūt True, False, vai None." + msgid "Boolean (Either True or False)" msgstr "Boolean (True vai False)" @@ -652,9 +660,6 @@ msgstr "Šis lauks ir obligāts." msgid "Enter a whole number." msgstr "Ievadiet veselu skaitli." -msgid "Enter a number." -msgstr "Ievadiet skaitli." - msgid "Enter a valid date." msgstr "Ievadiet korektu datumu." @@ -667,6 +672,10 @@ msgstr "Ievadiet korektu datumu/laiku." msgid "Enter a valid duration." msgstr "Ievadiet korektu ilgumu." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Dienu skaitam jābūt no {min_days} līdz {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." @@ -856,7 +865,7 @@ msgid "Wednesday" msgstr "trešdiena" msgid "Thursday" -msgstr "ceturdiena" +msgstr "ceturtdiena" msgid "Friday" msgstr "piektdiena" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo index f7433bfdc05c1b609d51f0e09c06cfe0ae8f7c0a..c195a2a569f26e5ecb3d63ff74ded3b4b0e0159b 100644 GIT binary patch delta 7631 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 CbTnW9 delta 6915 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po index 7626a47..e29166d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po @@ -7,17 +7,17 @@ # Jannis Leidel , 2011 # jargalan , 2011 # Tsolmon , 2011 -# Zorig , 2013-2014,2016,2018 -# Анхбаяр Анхаа , 2013-2016 +# Zorig, 2013-2014,2016,2018 +# Анхбаяр Анхаа , 2013-2016,2018 # Баясгалан Цэвлээ , 2011,2015,2017 # Ганзориг БП , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-02-21 00:40+0000\n" -"Last-Translator: Zorig \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-09 06:54+0000\n" +"Last-Translator: Анхбаяр Анхаа \n" "Language-Team: Mongolian (http://www.transifex.com/django/django/language/" "mn/)\n" "MIME-Version: 1.0\n" @@ -168,7 +168,7 @@ msgid "Georgian" msgstr "Гүрж" msgid "Kabyle" -msgstr "" +msgstr "Кабилэ" msgid "Kazakh" msgstr "Казак" @@ -392,6 +392,9 @@ msgstr[1] "" "Ensure this value has at most %(limit_value)d characters (it has " "%(show_value)d)." +msgid "Enter a number." +msgstr "Тоон утга оруулна уу." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -471,6 +474,10 @@ msgstr "Том (8 байт) бүхэл тоо" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' заавал True эсвэл False утга авах." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + msgid "Boolean (Either True or False)" msgstr "Boolean (Үнэн худлын аль нэг нь)" @@ -643,9 +650,6 @@ msgstr "Энэ талбарыг бөглөх шаардлагатай." msgid "Enter a whole number." msgstr "Бүхэл тоон утга оруулна уу." -msgid "Enter a number." -msgstr "Тоон утга оруулна уу." - msgid "Enter a valid date." msgstr "Зөв огноо оруулна уу." @@ -658,6 +662,10 @@ msgstr "Огноо/цаг-ыг зөв оруулна уу." msgid "Enter a valid duration." msgstr "Үргэлжилэх хугацааг зөв оруулна уу." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "Файл оруулаагүй байна. Маягтаас кодлох төрлийг чагтал. " @@ -1227,6 +1235,10 @@ msgid "" "\">DEBUG=True is in your settings file and you have not configured any " "URLs." msgstr "" +"Таний тохиргооны файл дээр DEBUG=TRUE гэж тохируулсан мөн URLs дээр тохиргоо хийгээгүй учраас " +"энэ хуудасыг харж байна." msgid "Django Documentation" msgstr "Джанго баримтжуулалт" @@ -1235,13 +1247,13 @@ msgid "Topics, references, & how-to's" msgstr "" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "Хичээл: Санал асуулга App" msgid "Get started with Django" msgstr "Джанготой ажиллаж эхлэх" msgid "Django Community" -msgstr "" +msgstr "Django Бүлгэм" msgid "Connect, get help, or contribute" msgstr "Холбогдох, тусламж авах эсвэл хувь нэмрээ оруулах" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo index 92a87f412465c9bb23ec0dcf5691fddb6516bae8..376044aa6398e56941c9590b33ca993052c76dcf 100644 GIT binary patch delta 7321 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 IOtUKg1IthPJ^%m! diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po index 0fa0463..23c7e15 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ # jensadne , 2014-2015 # Jon , 2015-2016 # Jon , 2014 -# Jon , 2017 +# Jon , 2017-2018 # Jon , 2013 # Jon , 2011 # Sigurd Gartmann , 2012 @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-27 12:38+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-30 11:29+0000\n" "Last-Translator: Jon \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" "language/nb/)\n" @@ -168,6 +168,9 @@ msgstr "Japansk" msgid "Georgian" msgstr "Georgisk" +msgid "Kabyle" +msgstr "Kabylsk" + msgid "Kazakh" msgstr "Kasakhisk" @@ -389,6 +392,9 @@ msgstr[1] "" "Sørg for at denne verdien har %(limit_value)d eller færre tegn (den har nå " "%(show_value)d)." +msgid "Enter a number." +msgstr "Oppgi et tall." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -466,6 +472,10 @@ msgstr "Stort (8 byte) heltall" msgid "'%(value)s' value must be either True or False." msgstr "Verdien '%(value)s' må være enten True eller False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s'-verdien må være enten True, False, eller None." + msgid "Boolean (Either True or False)" msgstr "Boolsk (True eller False)" @@ -641,9 +651,6 @@ msgstr "Feltet er påkrevet." msgid "Enter a whole number." msgstr "Oppgi et heltall." -msgid "Enter a number." -msgstr "Oppgi et tall." - msgid "Enter a valid date." msgstr "Oppgi en gyldig dato." @@ -656,6 +663,10 @@ msgstr "Oppgi gyldig dato og tidspunkt." msgid "Enter a valid duration." msgstr "Oppgi en gyldig varighet." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antall dager må være mellom {min_days} og {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Ingen fil ble sendt. Sjekk «encoding»-typen på skjemaet." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo index 6f820e144c237ee4496c2c7a6f060a689569785f..fc25d6d4df3f4af761dd8a8d99d6e8747fff8b84 100644 GIT binary patch delta 7492 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 if_vpgl<(=+xT\n" "Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" "MIME-Version: 1.0\n" @@ -381,6 +381,9 @@ msgstr[1] "" "यो मान बढिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " "%(show_value)d छ ।)" +msgid "Enter a number." +msgstr "संख्या राख्नुहोस ।" + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -406,6 +409,7 @@ msgid "" "File extension '%(extension)s' is not allowed. Allowed extensions are: " "'%(allowed_extensions)s'." msgstr "" +"'%(extension)s' फाइलको अनुमति छैन। अनुमति भएका फाइलहरू: '%(allowed_extensions)s'" msgid "Null characters are not allowed." msgstr "शून्य मान अनुमति छैन।" @@ -457,6 +461,10 @@ msgstr "ठूलो (८ बाइटको) अंक" msgid "'%(value)s' value must be either True or False." msgstr "%(value)s' को मान True अथवा False हुनुपर्दछ ।." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "" + msgid "Boolean (Either True or False)" msgstr "बुलियन (True अथवा False)" @@ -619,9 +627,6 @@ msgstr "यो फाँट अनिवार्य छ ।" msgid "Enter a whole number." msgstr "संख्या राख्नुहोस ।" -msgid "Enter a number." -msgstr "संख्या राख्नुहोस ।" - msgid "Enter a valid date." msgstr "उपयुक्त मिति राख्नुहोस ।" @@ -634,6 +639,10 @@ msgstr "उपयुक्त मिति/समय राख्नुहोस msgid "Enter a valid duration." msgstr "उपयुक्त अवधि राख्नुहोस ।" +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "दिन गन्ती {min_days} र {max_days} बीचमा हुनु पर्छ । " + msgid "No file was submitted. Check the encoding type on the form." msgstr "कुनै फाईल पेश गरिएको छैन । फारममा ईनकोडिङको प्रकार जाँच गर्नुहोस । " @@ -1192,10 +1201,10 @@ msgid "Django Documentation" msgstr "ज्याङ्गो दस्तावेज ।" msgid "Topics, references, & how-to's" -msgstr "" +msgstr "शीर्षक, सन्दर्भ तथा तरिकाहरू" msgid "Tutorial: A Polling App" -msgstr "" +msgstr "मतदान एप उदाहरण " msgid "Get started with Django" msgstr "ज्याङ्गो सुरु गर्नु होस ।" @@ -1204,4 +1213,4 @@ msgid "Django Community" msgstr "ज्याङ्गो समुदाय" msgid "Connect, get help, or contribute" -msgstr "" +msgstr "सहयोग अथवा योगदान गरी जोडिनु होस" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo index cfcc4a3c854e223accf4b7426284907849c362b8..29b40b59f6ce1f0830247d96cf400423d2115da5 100644 GIT binary patch delta 7339 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 delta 7111 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 cT3l*+Mtb|Q4xK87l+Eb1r+(REMMo, 2011 # konryd , 2011 # Łukasz Rekucki (lqc) , 2011 -# m_aciek , 2016-2017 +# m_aciek , 2016-2018 # m_aciek , 2015 # Michał Pasternak , 2013 # p , 2012 @@ -30,8 +30,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-02 15:59+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 23:43+0000\n" "Last-Translator: m_aciek \n" "Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" "MIME-Version: 1.0\n" @@ -420,6 +420,9 @@ msgstr[3] "" "Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " "%(show_value)d)." +msgid "Enter a number." +msgstr "Wpisz liczbę." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -511,6 +514,10 @@ msgstr "Duża liczba całkowita (8 bajtów)" msgid "'%(value)s' value must be either True or False." msgstr "wartość '%(value)s' musi być True lub False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Wartość „%(value)s” musi wynosić True, False lub None." + msgid "Boolean (Either True or False)" msgstr "Wartość logiczna (True lub False – prawda lub fałsz)" @@ -687,9 +694,6 @@ msgstr "To pole jest wymagane." msgid "Enter a whole number." msgstr "Wpisz liczbę całkowitą." -msgid "Enter a number." -msgstr "Wpisz liczbę." - msgid "Enter a valid date." msgstr "Wpisz poprawną datę." @@ -702,6 +706,10 @@ msgstr "Wpisz poprawną datę/godzinę." msgid "Enter a valid duration." msgstr "Wpisz poprawny czas trwania." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Liczba dni musi wynosić między {min_days} a {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo index 4a4a42f4ada173c47e6643c18beaa61182b1fd71..851c672927a409e04723227bc3fd84e8b0eaae48 100644 GIT binary patch delta 8167 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

**-8J`2}(-gxs=92^PSXC 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 Jm6^-S{1@Gl7Ulo| diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po index 34b546a..01569ec 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po @@ -18,17 +18,19 @@ # Jannis Leidel , 2011 # Lucas Infante , 2015 # Luiz Boaretto , 2017 +# Marcelo Moro Brondani , 2018 # Sandro , 2011 # Sergio Garcia , 2015 # Tânia Andrea , 2017 # Wiliam Souza , 2015 +# Xico Petry , 2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-22 16:27+0000\n" -"Last-Translator: Camilo B. Moreira \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-19 17:55+0000\n" +"Last-Translator: Xico Petry \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" "language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -178,6 +180,9 @@ msgstr "Japonês" msgid "Georgian" msgstr "Georgiano" +msgid "Kabyle" +msgstr "Cabila" + msgid "Kazakh" msgstr "Cazaque" @@ -400,6 +405,9 @@ msgstr[1] "" "Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " "possui %(show_value)d)." +msgid "Enter a number." +msgstr "Informe um número." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -481,6 +489,10 @@ msgstr "Inteiro grande (8 byte)" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' valor deve ser True ou False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "O valor '%(value)s' deve ser True, False ou Nenhum." + msgid "Boolean (Either True or False)" msgstr "Booleano (Verdadeiro ou Falso)" @@ -657,9 +669,6 @@ msgstr "Este campo é obrigatório." msgid "Enter a whole number." msgstr "Informe um número inteiro." -msgid "Enter a number." -msgstr "Informe um número." - msgid "Enter a valid date." msgstr "Informe uma data válida." @@ -672,6 +681,10 @@ msgstr "Informe uma data/hora válida." msgid "Enter a valid duration." msgstr "Insira uma duração válida." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "O número de dias deve ser entre {min_days} e {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nenhum arquivo enviado. Verifique o tipo de codificação do formulário." @@ -1144,6 +1157,11 @@ msgid "" "If you're concerned about privacy, use alternatives like for links to third-party sites." msgstr "" +"Se você estiver usando a tag ou incluindo o cabeçalho \"Referrer-Policy: no-referrer\", remova-os. A " +"proteção contra CSRF requer que o cabeçalho 'Referer' faça uma verificação " +"rigorosa do referenciador. Se você estiver preocupado com a privacidade, use " +"alternativas para links para sites de terceiros." msgid "" "You are seeing this message because this site requires a CSRF cookie when " diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo index 9c06471ab5d23fc4d15d412db115c8f89ad202d2..0b0242abb58417d0f5584bde9b414c68a7c84372 100644 GIT binary patch delta 9158 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 C0BZ^W diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po index f43332c..dbc03a6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-17 09:13+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 05:42+0000\n" "Last-Translator: Bogdan Mateescu\n" "Language-Team: Romanian (http://www.transifex.com/django/django/language/" "ro/)\n" @@ -168,7 +168,7 @@ msgid "Georgian" msgstr "Georgiană" msgid "Kabyle" -msgstr "" +msgstr "Kabyle" msgid "Kazakh" msgstr "Kazahă" @@ -381,8 +381,8 @@ msgstr[1] "" "Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " "%(show_value)d)." msgstr[2] "" -"Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " -"%(show_value)d)." +"Asigurați-vă că această valoare are cel puțin %(limit_value)d de caractere " +"(are %(show_value)d)." #, python-format msgid "" @@ -398,22 +398,25 @@ msgstr[1] "" "Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " "%(show_value)d)." msgstr[2] "" -"Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " -"%(show_value)d)." +"Asigurați-vă că această valoare are cel mult %(limit_value)d de caractere " +"(are %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduceţi un număr." #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s cifră în total." msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." -msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." +msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de cifre în total." #, python-format msgid "Ensure that there are no more than %(max)s decimal place." msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s zecimală în total." msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." -msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." +msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de zecimale în total." #, python-format msgid "" @@ -425,7 +428,8 @@ msgstr[0] "" msgstr[1] "" "Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." msgstr[2] "" -"Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." +"Asigurați-vă că nu sunt mai mult de %(max)s de cifre înainte de punctul " +"zecimal." #, python-format msgid "" @@ -436,7 +440,7 @@ msgstr "" "'%(allowed_extensions)s'." msgid "Null characters are not allowed." -msgstr "" +msgstr "Caracterele Null nu sunt permise." msgid "and" msgstr "și" @@ -486,6 +490,10 @@ msgstr "Întreg mare (8 octeți)" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' trebuie să fie True sau False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' valoarea trebuie să fie True, False, sau None." + msgid "Boolean (Either True or False)" msgstr "Boolean (adevărat sau fals)" @@ -660,9 +668,6 @@ msgstr "Acest câmp este obligatoriu." msgid "Enter a whole number." msgstr "Introduceţi un număr întreg." -msgid "Enter a number." -msgstr "Introduceţi un număr." - msgid "Enter a valid date." msgstr "Introduceți o dată validă." @@ -675,6 +680,10 @@ msgstr "Introduceți o dată/oră validă." msgid "Enter a valid duration." msgstr "Introduceți o durată validă." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Numărul de zile trebuie să fie cuprins între {min_days} și {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Nici un fișier nu a fost trimis. Verificați tipul fișierului." @@ -689,13 +698,13 @@ msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." msgid_plural "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr[0] "" -"Verificați că numele fișierului are cel mult %(max)d caractere (are " +"Asigurați-vă că numele fișierului are cel mult %(max)d caracter (are " "%(length)d)." msgstr[1] "" -"Verificați că numele fișierului are cel mult %(max)d caractere (are " +"Asigurați-vă că numele fișierului are cel mult %(max)d caractere (are " "%(length)d)." msgstr[2] "" -"Verificați că numele fișierului are cel mult %(max)d caractere (are " +"Asigurați-vă că numele fișierului are cel mult %(max)d de caractere (are " "%(length)d)." msgid "Please either submit a file or check the clear checkbox, not both." @@ -739,14 +748,14 @@ msgid "Please submit %d or fewer forms." msgid_plural "Please submit %d or fewer forms." msgstr[0] "Trimiteți maxim %d formular." msgstr[1] "Trimiteți maxim %d formulare." -msgstr[2] "Trimiteți maxim %d formulare." +msgstr[2] "Trimiteți maxim %d de formulare." #, python-format msgid "Please submit %d or more forms." msgid_plural "Please submit %d or more forms." msgstr[0] "Trimiteți minim %d formular." msgstr[1] "Trimiteți minim %d formulare." -msgstr[2] "Trimiteți minim %d formulare." +msgstr[2] "Trimiteți minim %d de formulare." msgid "Order" msgstr "Ordine" @@ -774,7 +783,7 @@ msgid "Please correct the duplicate values below." msgstr "Corectaţi valorile duplicate de mai jos." msgid "The inline value did not match the parent instance." -msgstr "" +msgstr "Valoarea în linie nu s-a potrivit cu instanța părinte." msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" @@ -817,9 +826,9 @@ msgstr "da,nu,poate" #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" -msgstr[2] "%(size)d bytes" +msgstr[0] "%(size)d octet" +msgstr[1] "%(size)d octeţi" +msgstr[2] "%(size)d de octeţi" #, python-format msgid "%s KB" @@ -1089,42 +1098,42 @@ msgid "%d year" msgid_plural "%d years" msgstr[0] "%d an" msgstr[1] "%d ani" -msgstr[2] "%d ani" +msgstr[2] "%d de ani" #, python-format msgid "%d month" msgid_plural "%d months" msgstr[0] "%d lună" msgstr[1] "%d luni" -msgstr[2] "%d luni" +msgstr[2] "%d de luni" #, python-format msgid "%d week" msgid_plural "%d weeks" msgstr[0] "%d săptămână" msgstr[1] "%d săptămâni" -msgstr[2] "%d săptămâni" +msgstr[2] "%d de săptămâni" #, python-format msgid "%d day" msgid_plural "%d days" msgstr[0] "%d zi" msgstr[1] "%d zile" -msgstr[2] "%d zile" +msgstr[2] "%d de zile" #, python-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d oră" msgstr[1] "%d ore" -msgstr[2] "%d ore" +msgstr[2] "%d de ore" #, python-format msgid "%d minute" msgid_plural "%d minutes" -msgstr[0] "%d minută" +msgstr[0] "%d minut" msgstr[1] "%d minute" -msgstr[2] "%d minute" +msgstr[2] "%d de minute" msgid "0 minutes" msgstr "0 minute" @@ -1162,6 +1171,12 @@ msgid "" "If you're concerned about privacy, use alternatives like for links to third-party sites." msgstr "" +"Dacă utilizați eticheta sau " +"includeți antetul 'Referrer-Policy: no-referrer', te rugăm sa îl elimini. " +"Protecția CSRF necesită antetul 'Referer' pentru a face verificarea strictă " +"a 'referer'. Dacă sunteți îngrijorat de confidențialitate, utilizați " +"alternative ca pentru linkuri către site-uri " +"terțe." msgid "" "You are seeing this message because this site requires a CSRF cookie when " @@ -1187,7 +1202,7 @@ msgid "No year specified" msgstr "Niciun an specificat" msgid "Date out of range" -msgstr "" +msgstr "Dată în afara intervalului" msgid "No month specified" msgstr "Nicio lună specificată" @@ -1242,7 +1257,7 @@ msgid "Index of %(directory)s" msgstr "Index pentru %(directory)s" msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" +msgstr "Django: Framework-ul web pentru perfecționiști cu termene limită." #, python-format msgid "" @@ -1263,18 +1278,21 @@ msgid "" "\">DEBUG=True is in your settings file and you have not configured any " "URLs." msgstr "" +"Vedeți această pagină deoarece DEBUG=True este în fișierul de setări și nu ați configurat niciun URL." msgid "Django Documentation" msgstr "Documentația Django" msgid "Topics, references, & how-to's" -msgstr "" +msgstr "Subiecte, referinţe, & cum să" msgid "Tutorial: A Polling App" msgstr "Tutorial: O aplicație de votare" msgid "Get started with Django" -msgstr "" +msgstr "Începeți cu Django" msgid "Django Community" msgstr "Comunitatea Django" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/formats.py b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/formats.py index ba3fd73..11f4e2e 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/formats.py +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ro/formats.py @@ -9,13 +9,27 @@ YEAR_MONTH_FORMAT = 'F Y' MONTH_DAY_FORMAT = 'j F' SHORT_DATE_FORMAT = 'd.m.Y' SHORT_DATETIME_FORMAT = 'd.m.Y, H:i' -# FIRST_DAY_OF_WEEK = +FIRST_DAY_OF_WEEK = 1 # The *_INPUT_FORMATS strings use the Python strftime format syntax, # see http://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = +DATE_INPUT_FORMATS = [ + '%d.%m.%Y', + '%d.%b.%Y', + '%d %B %Y', + '%A, %d %B %Y', +] +TIME_INPUT_FORMATS = [ + '%H:%M', + '%H:%M:%S', + '%H:%M:%S.%f', +] +DATETIME_INPUT_FORMATS = [ + '%d.%m.%Y, %H:%M', + '%d.%m.%Y, %H:%M:%S', + '%d.%B.%Y, %H:%M', + '%d.%B.%Y, %H:%M:%S', +] DECIMAL_SEPARATOR = ',' THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = +NUMBER_GROUPING = 3 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo index 604202d90cd106e3c5e492a6412e25e10efe9869..a681d9e843184d2006f3ebfaacbf6a6a564bac57 100644 GIT binary patch delta 7387 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 delta 7150 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po index 7a2563a..ba5c81b 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ # Denis Darii , 2011 # Dimmus , 2011 # eigrad , 2012 -# Eugene MechanisM , 2013 +# Eugene , 2013 # eXtractor , 2015 # Igor Melnyk, 2014 # Ivan Khomutov , 2017 @@ -14,16 +14,16 @@ # lilo.panic, 2016 # Mikhail Zholobov , 2013 # Nikolay Korotkiy , 2018 -# Vasiliy Anikin , 2017 +# Вася Аникин , 2017 # Алексей Борискин , 2013-2017 -# Дмитрий Шатера , 2016 +# Дмитрий Шатера , 2016,2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-13 10:40+0000\n" -"Last-Translator: Nikolay Korotkiy \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-07-23 14:39+0000\n" +"Last-Translator: SeryiMysh \n" "Language-Team: Russian (http://www.transifex.com/django/django/language/" "ru/)\n" "MIME-Version: 1.0\n" @@ -413,6 +413,9 @@ msgstr[3] "" "Убедитесь, что это значение содержит не более %(limit_value)d символов " "(сейчас %(show_value)d)." +msgid "Enter a number." +msgstr "Введите число." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -499,6 +502,10 @@ msgstr "Длинное целое (8 байт)" msgid "'%(value)s' value must be either True or False." msgstr "Значение '%(value)s' должно быть True или False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Значение '%(value)s' должно быть True, False или None." + msgid "Boolean (Either True or False)" msgstr "Логическое (True или False)" @@ -677,9 +684,6 @@ msgstr "Обязательное поле." msgid "Enter a whole number." msgstr "Введите целое число." -msgid "Enter a number." -msgstr "Введите число." - msgid "Enter a valid date." msgstr "Введите правильную дату." @@ -692,6 +696,10 @@ msgstr "Введите правильную дату и время." msgid "Enter a valid duration." msgstr "Введите правильную продолжительность." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Количество дней должно быть в диапазоне от {min_days} до {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo index ec510342b30a31de0e6260586ab3395dc624e47a..75cf0547bd946aa3defad81363b627405f2bf277 100644 GIT binary patch delta 7449 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 HBVzvtIoE3W delta 7065 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, 2011-2014 -# Besnik , 2015-2017 +# Besnik , 2015-2018 # Jannis Leidel , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-29 22:51+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 09:14+0000\n" "Last-Translator: Besnik \n" "Language-Team: Albanian (http://www.transifex.com/django/django/language/" "sq/)\n" @@ -160,6 +160,9 @@ msgstr "Japoneze" msgid "Georgian" msgstr "Gjeorgjiane" +msgid "Kabyle" +msgstr "Kabilase" + msgid "Kazakh" msgstr "Kazake" @@ -382,6 +385,9 @@ msgstr[1] "" "Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenja (ka " "%(show_value)d)." +msgid "Enter a number." +msgstr "Jepni një numër." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -462,6 +468,10 @@ msgstr "Numër i plotë i madh (8 bajte)" msgid "'%(value)s' value must be either True or False." msgstr "Vlera '%(value)s' duhet të jetë True ose False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "Vlera për '%(value)s' duhet të jetë ose True, ose False, ose None." + msgid "Boolean (Either True or False)" msgstr "Buleane (Ose True, ose False)" @@ -638,9 +648,6 @@ msgstr "Kjo fushë është e domosdoshme." msgid "Enter a whole number." msgstr "Jepni një numër të tërë." -msgid "Enter a number." -msgstr "Jepni një numër." - msgid "Enter a valid date." msgstr "Jepni një datë të vlefshme." @@ -653,6 +660,10 @@ msgstr "Jepni një datë/kohë të vlefshme." msgid "Enter a valid duration." msgstr "Jepni një kohëzgjatje të vlefshme." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Numri i ditëve duhet të jetë mes {min_days} dhe {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "" "S’u parashtrua ndonjë kartelë. Kontrolloni llojin e kodimit te formulari." @@ -1217,7 +1228,7 @@ msgid "Index of %(directory)s" msgstr "Tregues i %(directory)s" msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" +msgstr "Django: platforma Web për perfeksionistë me afate." #, python-format msgid "" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo index 1b736db75ffb7aebd9aaba94bea62e4cb5579218..467823bb88a70295ae41ae557057d4cfc0378c0b 100644 GIT binary patch delta 7335 zcmYk>34Bgh8prVy#1czFR4pNIkS0h-Lab5yTKi5FQBkRgEeUFQ6H9BUYEVlTOQ?N{ z(o##?X**R^`%z4%MKhmDfYfOcIvH4p!b9d0K7|mcU0*GdUI+ ztjopPxYp|5v-%HF_xl?Cp(MU1p`P7BU8qPc=jvhzDxZuxp(W~3w8!$;6)WRV^kFut z<10|tTZ?MH6?Ohj3$5BL7mtLHNp;+;6hY;|0NQdqF+!KyloZX zan98zUmf)*x?xf5Yx#kw^M>IN9F4m1-_2vF^FBch=rrmPUAOXEUf%ESkWf#8WQ#R9_jT+HYsP@lTeg&!nFIj$r)o(*}Fxyj z*%9tH5@8sbeyNI;diJRD%sF`_F<@j#G=aUqdL;K zA@kpuL^G?HfE~$CMJB_&h2!x@WWl=;jht(Xi?9uTgsm`)&8`{fg_`n#r~!>ct%=E~ z8!tr7+)`AB3zC_CRcxm~Q@qD2_F2QXu><7+?1Yu*t)_Sw>bxd59Z(nQf;yp>IS93?N1&!Q!<>X_KNYoj z{pMWM^%r0yZpNCbKSF}pbr+Fk;A*fETVgNN3+NeC&$nY$Jc9S*IgG;JP%{_7m%OIb zhq`ec)D7xmIQB-hOG6DL-P7+TlF$XGS%ZAk2%bYt^^2$zHsN4=1vP~wn|n8^gb$Ff zhI#~TQEQ+-K7%7rH@=3t-VM}@-7YNW`4?rrf2N=Wp1?owb3DcufJU;B>CgzaqHb{5 z44B`TH_cLfVW?dM>bwT1-P6v>`Xd&8AvzBnG?~kifk*GX3jM8%z5Slb1~{!=c8umc`ILQZb0qt z%~rq7%6Fm``yRZ&tNiU&?0+qiO>E{QJc@_$4;+OD+IlaP$abEs@iEF%QQPt;cEr&3 z-l83VQRJ6nG`^1Uc*YFjqz2@hnqxZny~VJKf?z7vm>bP)<}R$G3*vnI3TI*n8Ry|kxCWoal!v|Dasqh;@I%1Mx5CaZw3aDo~5mi0|SK$)Ws*O$c%3Gp3&bymkUxVuKRt&`hSRRj|+MP-DdtWx!DEKLeABPx)-#^OFG8%-Wc^AHh`~+~np&m)X zXzzkuuoC&f$m4Vqur(et!DYM721VU9V^>X)N> z{<66rwd#+fI(8K`QzgcD`3M|AJ{eJi&1uR4U09VtqJc63?vse#36s1L>_#CW4F*d=lZ1353MmCI_i(T=e znVjQ&x#i|C|1GK5X$4nMFN%mM-ixRkYU*a8I`Smy#w)G90JZo&MYa1A)xqLZJ;Sj% zc^?+Vhp_?LJB zJ_g$m{Z+uRi}5bS-1su_ZpUnSHB($Py(4ak$MErw%EkXe=dpN2pw6( zNaAB+E^+txhJ;=w&)qG+lf)gOBNrKPPkBD+P|Me(?kwp<;t3**`~s`%h_!;a-D)ei zh=+*DL=;h%&=Jl__a0>|zvSLR(tlWf5%wc`S$^5F{L10}A>>+eW*+JV{1Sdb_(%ui z%f#y`Nn|0&`>WSSBW zc!h2RCeUaV{?p19nq?_(N1P-7EHTW=*W+%YI+1K;V{snQg7!u59YQbrafFWTT7#`f z3?+hS)Eb*(QKAa*FY>d9+r%J3M>h}Gfck2rzaTzX7F9Jo`bScq6E_GQ_tWBaFIo6m zmwZpP^v98}PdrG;uUM9Nm(bCSvJ8Bjn5Kezj%}phB3`qyN%*~`ui^`q4#9OqDA&?a zp6EonJw^rTwAE!Q_wbNv(D}cv=0Z=+HP{$JC6; zX>q>slYBkKXYP48s-RM{%Lny4B!u+p8Q&)@Cw+4I_{{kB zsaa{weMt$4Uc06wnHu{o(3*=cnq$1Gc)5x#72*NE`Hx)|6WI2hPp z*v-7Ifx2DtPv!>RJh{pj*c;dtI2_pJ3mhV!tHkcW{*$w5%PIRPeeLAZlXLFvH&yp` KyJvRmkpBT)uY@Q7 delta 7111 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 z\n" "Language-Team: Serbian (http://www.transifex.com/django/django/language/" "sr/)\n" @@ -392,6 +392,9 @@ msgstr[2] "" "Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " "%(show_value)d)." +msgid "Enter a number." +msgstr "Унесите број." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -474,6 +477,10 @@ msgstr "Велики (8 бајтова) цео број" msgid "'%(value)s' value must be either True or False." msgstr "Вредност '%(value)s' мора бити или True или False." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' вредност мора бити или True, False, или None." + msgid "Boolean (Either True or False)" msgstr "Булова вредност (True или False)" @@ -650,9 +657,6 @@ msgstr "Ово поље се мора попунити." msgid "Enter a whole number." msgstr "Унесите цео број." -msgid "Enter a number." -msgstr "Унесите број." - msgid "Enter a valid date." msgstr "Унесите исправан датум." @@ -665,6 +669,10 @@ msgstr "Унесите исправан датум/време." msgid "Enter a valid duration." msgstr "Унесите исправан временски интервал." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Број дана мора бити између {min_days} и {max_days}." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Фајл није пребачен. Проверите тип енкодирања на форми." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo index 9de95da23f08d1631acc63939a5ad37f92608a2d..49dc53ad55497d0b74d62510042385011a80abd1 100644 GIT binary patch delta 6421 zcmbW*2Xs_b9>?)JBmu+_6+-AZ1W4#6fk1$OC=rY(Ad3swCuV?P5-^#7N*PcwfQV&4 ziUkFcq9QVu!2+&r0dXzZ*2cIhx(cGGNU`kqH}9W4oU>=o*|YEX%je$v?tSmR`$~cz zFY!HluP^**ljNn2E!pQ>8!T+-+$EGRJyosF?P%s)OWcW5@pCM|F&SR}TQQCLM%0k4 zn2x)!3GTJ_LuOKQ=Tc}-_YAvM*5Eg@%CF5A5X$tka@bLn2gJ8|2?*U z6>=?Z1L}lZus+7HDQ-{H!_MuYa54=aT8Dkui24C+fJabQ9tN1!tiqdMm2mGIJHG-#Sd;{B9Ek{&P?8LodKbl z`M4Ha<00&TX;f6t4vuCBw{7*p~Wu)H5(0)o&*1f^J3~XR)6I1{xJ^UQ^||2EXbm!ZbrXZ7%d*5P5)1fr;iW1H1? zqpswA2ywQ|1Gy%VRPo{cnAdppz#Gg0HaSiKkO+31hF&S7@}h3+(rLcLbA zP*3e@)XGFrE3gYSu)g29)3Bx4%^ZkYfsv?{8Hc(>SE43-E$aI*8~fl~Y{28(^-)I>X@CfW~m;!&uHjI(+GwIXHKUV-OOpN7LY zzk7~?mMFP{cYrk1EyzG!aYxjN`=a^{LS7JeE~;NC>cmyZW8$tyt=Mu*!go;PKS1@{ zYkq}cEzLm+@@G`X>WcM?K>Hivcx-~nSdLnuYfumGO{fFkh8h>a z6uj5k*PzC&Lrvt7POQHU@B$5TkGao0YNlp+`%gy=%tJkdL#=(BdA04Ije0ijMD<%^ z?N6FJQRn+4OhK>B_ohDF8h9$|o8BIE!W`6qBGeahEb291!4CV1+Bn0s4G0??Qo6x-02=>VG8D$eau4hZ1Y?kNWT#{7Z;%>oW{pRD|s3+ zKj%kXU?$en`=3ogPjOdsC~6`lW)1eDJ|A@j&tXS=+xGur?TvbPzuo+({r&Jpyc{>+ zKTzWr^>mJ+Ta8Wh{=Z3~5I;vv#D9jjM1`mU#mKkEU19BWQT-RA`oD(ywfdFq*H=vS z#;AT-$barCe&~2h@NC?O;rbK~P$;2 zA8;*kEvo$yRR8@r0n_?=f2!4>CbGopn~}M@H!u}_1+2dYrZEdGSq^GIF*d^>-ib4? z1*Y}$9-eH}%5+Dy7vd9mk<}aZ_u4z4j#G%8aWv}0Gf?B_hpn(2)p0#)LfcRsaFcWp+0@SS-gZxS0u0xGmj?CGuM~(X&HSVyPIwP=`9^3im=to}3Vf=(Oe z?eBVr`$6hPh5r5Mhmu$qDn_%1fUZ>|2LdD6Mw0Z&H_%(MEL=4jOTAnKDn150oo zPQb5`7sHL@iDZ%70=y7+7xS!Y=I!_z=)}dShwwtwi6*0N#dOq)+=aTbyHP8%36pRe z>ejqy`#&{*z$a->9_~%>8SF~^P1Jdg4`=;#;PmsonYTn8xP#Suq4p2Nlkse9h$GCg z=9OldS%vC9!>qOThHf)7Ws4IIKwUoQeIBEqB+x})3c>6n}u3!*q+*oU$j9Q5~ z)_#w*KZd$Bub?LO2I@k>A6elG^MHBS`~x+hA>Un@jvDAkov4d>j09+TDtZV{BbDS?(uEWe^>`P!co!v|$n9hU(RK;hK|*8+X-mE*FA;rw zUM1RkkV8Zd-=*Y3@>dc_d@Cv3O|*>ZWH`~LtJC%wX-ZC2h3!4^G?}jo+t*||smEmR z#XCtU(W^F>+(UFrwY^NPCfAbZNI$**|0KVV3ZiWsxs2qKHslI&Jvo;&Cv}^?f{O`v z$o<6{Cn28)H_z%n<393<)!#RTZfE!hYk0~Oqe)AmubCbiz9-I4wAGNYtN)%dpAjir5L|Y*_LQWxlNsO!_`rov5TTcod$gkGW z5NDGJSwM8`fka!JJg65zouXAJ1e_W=V^iRnqZgeY=5HQuc)aG z`AdTSK&8K|G8CK`tm^6hd#_;Rhm5Aap3(6cdweY>2P!8{@ei3&QBhM_7P`(A)l>yS zWm77nU0eL-OTOr$;-X0NRs$QBT63hR)xr8DWu>LT%E%e5w`T-H{_0SmDikdBPcI8i z@)sqJ7v0}_p09p&bzow!I$GJ*mohjI@=vAaudJyk30C>bs{Q4`>S}*z5>w7~Vmw#6Rsy(p80%IenF3%{2sY|{kggQd-v;>lb4gzXw=9aql44Rs+n?+qChCv-=CM0 z>-8(}=j8Oy%Z*;1m6jBa$8L&moga^FiN|h;#~zKxYW@FSMt?lEG`@9#*BswECmy>y zzO^0FtT=Vezd&H1t~oi#$&N~?16ZU z!U|hFPPQ;H)pblVF&heNnR)c7o0-A;+vk7m%T`YYK9M*AGx1hpMLae)9(z0< zTUmEYkN1frMcyiE9=)x9Nu$W%zRk|pg{|-o6^|`R^sY?|TU)o%oQ@+tdBW;>{aJoy i$qCkZJ^i_nL4BKd_#X}!d0=3A(z#Z;%K^EhS>#iI5kGeJ#SMbyQos5=$*%Y@^iGL6IsYRBNx6+G^-q zY8_%wVi{X4tz{@N)vBfKl=7MO_q_M7_tPiebIv{Y+;h)eUfs1U;?jZ$?@GbQg^ukJ zDM4=JcCK@Ta~uDpR_E>&b}kn0<4BAt;#@tPgzCQ)^W$kOfY*?&?g19W+|T;$#m#uk zNqZw-&$Y0IHf9I2E9RhMcZ|kf$h_PjjKm?fe}wHHg;BImM4ez7=E8I=g!8Pv8e^z$ z4A(v9wo}MM!(Qa#T^8yJPGc#&g%vPYQGb6tYJY9i3EH3*t0QWneNf{JF-M{LO+Za- z3KqjRF)A;G6%=&f+IiOsd0NB0G-%2v)dO#!*7y!;q$gMz0}P`P<1rrwF$tTZW-t~T z;p^B0cVa_)gbd-5xUrgfdwd>y#X8T$QCLqyc|3%w-$vccT*du~#Uf+41k^*&+S>c0 zmS#M1|J`h?gsV_jcm#DpXUt1jlKM^5Jq^ThKh!abv+4>8q6R9CH82si0(~%m1Fill zs{bhLjuTKPI%{4=9hZ$-u{&1((dxgV&g(obM-M|D)V(Q!+EEU5V0GkqaJ5kV+M-U} z74=m0#D+K+~zGlugm!qzHGwMQipdQ9d%*pxPMG89MRZPa~sE)CvdC;&dCgNaB z!}qZoMwfA}1=c}b(RkDfO-4<07HXo4QR8hvO=O4F_hZ1LA&Y``oWNFi9#gPnS$}C$ zQ3Ir*mVP|yil?Ja{2uBStU#VCw+_|sAnLd?$l|%LQ7iTcb!(E!vHlvMJ_U7bX0}1y z!%k*5RKK36ho`?e7@3cX;CC4-Q6Ev+xgT&Lrr@+H{ulNb(%*B}Dd^jN7qtRWRsAb0hH8&T z-NTlc6FZn)&F*Gjb0BJh!%!=ihRnxJMqSVp+dm!S^#0Eb7x;9dmUf?c25VE##_(?f zFFkk3C8GMhfNCF%n&@QPzX+#N-;L|A8Q*2~yNwB`ubPgpfsOS3H>aT2XENr+#i#>5 zMqX97$J(!ABkJFy`d4K%owya|#oksQit0BF6EPDt-UDobQT(#$t!jtf0190wXz4#U zzrZ2X&!cAAye98Bc188ykAtu>qiZ5_Q4`&Or|>wwh%185{TYA3df1|t|4E;S>c6%Y z>(8WI77ZQnA!>#8fpfMa8$YA|o7F$#hd~D%$0C@GI?)rrla1DWgZ1}JYXHNQ76h#Pwxf?VOv~+I?+wk06&{i_5BmZnL#YZ{uETd zzNq6yqb4%d+TTG<)ccTvX0`*h^k1Tu^jFk@u??K#KUbAM8gKyW!12f{?cPSM;8xqe z6E)s()bZb<`aQD!WgGerWgUD@*O*E{CtQczUUwMN@Cj-{!+4Z=liWOv!`;Zwg}Y$& z$Eb-FZOj9T)llPksPDjXoPi&pj<4E;j}f-Q9$MqCDIB1oE>B!{e1d<+7n}K4`W0$P z@1d?Fy1D;w22m?93blWR)mNfcWE*M)cHtsCiYu@`@1TwgaQXW8r;DYaD@;-Y_C;OM zB&*NGGSoMqR_GY&Ub>e2yAblB25g48v76OGV>WX8 z-92Qou39Vp9}S12Cb}1OqT8q|e}Eb|rnSHH#W0e3UDWuEP%F_91K0<3q5WI4{_5aa z$N9LG`fAjKdZhR#9ECd3Qq;g(Q4`&X8u)fQ?ZD zcEV^Jh?>|)jKWFgbaRfm$Xto)zs}rh?U|_aWSQC4?&aVEt$|}u_pmT(iOX7hC9F=p zCPt{8=$X*gkdzFU{6Et{C($SU6|$IU`+{sEOUX^LhuG#hK6tJR(SxDi0BzOCJi_mY z`-BuGQwh(R`ww}Uv?t}s-^kPLM=MOiN2LGL9cB(3O)gnIO7DL@DmTcRME7nsDMYlr zPKuLfRAJM~tP7W%`zH<}pAx=7;cY&D`OdhNgx{R-cjVuAjOYhSo4y5mNjY*>?|*)x z9~(XSPqzvb^sZkdT7I4v*OS~MCrD-TEYX(X6aGzKO_`S`{0uF}ySDE*_9m6cerx*{ zy|4H)l$-^6>^#6A*ab^qU|rF9^tVFzk*G07r8~6k>|-ca))R;Pj-Y$ zd~vZp$>jX5xi#iA#T1fC&JcamuM%y;$OclH93tAflV#zObN|ARtX#tsP00b0MamFu z56L&W|JsWBg#W(H-#5r9@-9)A$>iyFjlvwViuAF@0_Jyk+sb3HBYBnlk1QbCc9ULY zA<1p$cNeG}A!A60Jl&F>7O*oZM)r}7WE0Ug(I@;*E)`3Vlh&4u-xGZkULftr7Lr1= zrJm!@Kr&o4whu@wd5dI|c=8<4HrVHnzxV$r`Tt&2wJ%8{N6AY>TicAz1q*qHDb*qq z$Vf7ctRWv0Z8Lnrzmd_DE0PhUswoAmymHd?rO%C61zgvN=}Uk6)64x$WZ4BI|E5|6N15nU{aZ2a)V$}d}1&$ zF;AzC30+dh4H-QoZA3!Leq&M_l&O^%^!p{3Neng!)($nRl0Oj2U%h?K&|ATKfs8xJ kxidB=wGGuzuAU<_vEGG<(4+?Q0-^Fv`sWFCYCAON@6>%t_W%F@ diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.po index 8d9ab3d..1747595 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/th/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # Translators: # Abhabongse Janthong, 2015 # Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2014 +# Kowit Charoenratchatabhan , 2014,2018 # Naowal Siripatana , 2017 # sipp11 , 2014 # Suteepat Damrongyingsupab , 2011-2012 @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-15 16:15+0100\n" -"PO-Revision-Date: 2017-11-16 01:13+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 00:21+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" "MIME-Version: 1.0\n" @@ -164,6 +164,9 @@ msgstr "ญี่ปุ่น" msgid "Georgian" msgstr "จอร์เจีย" +msgid "Kabyle" +msgstr "" + msgid "Kazakh" msgstr "คาซัค" @@ -288,7 +291,7 @@ msgid "Traditional Chinese" msgstr "จีนตัวเต็ม" msgid "Messages" -msgstr "" +msgstr "ข้อความ" msgid "Site Maps" msgstr "" @@ -300,10 +303,10 @@ msgid "Syndication" msgstr "" msgid "That page number is not an integer" -msgstr "" +msgstr "หมายเลขหน้าดังกล่าวไม่ใช่จำนวนเต็ม" msgid "That page number is less than 1" -msgstr "" +msgstr "หมายเลขหน้าดังกล่าวมีค่าน้อยกว่า 1" msgid "That page contains no results" msgstr "" @@ -372,6 +375,9 @@ msgid_plural "" "%(show_value)d)." msgstr[0] "" +msgid "Enter a number." +msgstr "กรอกหมายเลข" + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -435,13 +441,17 @@ msgstr "จำนวนเต็ม" #, python-format msgid "'%(value)s' value must be an integer." -msgstr "" +msgstr "ค่าของ %(value)s ต้องเป็น integer" msgid "Big (8 byte) integer" msgstr "จำนวนเต็ม (8 byte)" #, python-format msgid "'%(value)s' value must be either True or False." +msgstr "ค่าของ %(value)s ต้องเป็น True หรือ False อย่างใดอย่างหนึ่ง" + +#, python-format +msgid "'%(value)s' value must be either True, False, or None." msgstr "" msgid "Boolean (Either True or False)" @@ -498,7 +508,7 @@ msgid "" msgstr "" msgid "Duration" -msgstr "" +msgstr "ช่วงเวลา" msgid "Email address" msgstr "อีเมล" @@ -607,9 +617,6 @@ msgstr "ฟิลด์นี้จำเป็น" msgid "Enter a whole number." msgstr "กรอกหมายเลข" -msgid "Enter a number." -msgstr "กรอกหมายเลข" - msgid "Enter a valid date." msgstr "กรุณาใส่วัน" @@ -620,6 +627,10 @@ msgid "Enter a valid date/time." msgstr "กรุณาใส่วันเวลา" msgid "Enter a valid duration." +msgstr "ใส่ระยะเวลาที่ถูกต้อง" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." msgstr "" msgid "No file was submitted. Check the encoding type on the form." @@ -656,7 +667,7 @@ msgid "Enter a complete value." msgstr "" msgid "Enter a valid UUID." -msgstr "" +msgstr "ใส่ UUID ที่ถูกต้อง" #. Translators: This is the default suffix added to form field labels msgid ":" @@ -1045,7 +1056,7 @@ msgid "0 minutes" msgstr "0 นาที" msgid "Forbidden" -msgstr "" +msgstr "หวงห้าม" msgid "CSRF verification failed. Request aborted." msgstr "" @@ -1172,10 +1183,10 @@ msgid "Tutorial: A Polling App" msgstr "" msgid "Get started with Django" -msgstr "" +msgstr "เริ่มต้นกับ Django" msgid "Django Community" -msgstr "" +msgstr "ชุมชน Django" msgid "Connect, get help, or contribute" msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo index 83f6d1c32a8eab9f19bf44d048344d8a3feac1d4..b45e506e11ec8140aaed0f2486e4d56b91da23c2 100644 GIT binary patch delta 7301 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 delta 7111 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

HtmzJ9yTO`zhz(u zv5sh`I?}5|1)__ux&8+E|EW5iCQub^ov*i+r@XK1(VEvn%HB*`9$WTIc9FkDtJL(2 z)U@=(jPy3?X(?&xX=!17dZ+dsRW!D6?7b6Ha|@=7YLl3emhSb-N=#30la*c8uKh}X PSz@=e__8I#zpeN`$HVv( diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po index 266d21c..f11c6bb 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # # Translators: # Ahmet Emre Aladağ , 2013 -# BouRock, 2015-2017 +# BouRock, 2015-2018 # BouRock, 2014-2015 # Caner Başaran , 2013 # Cihad GÜNDOĞDU , 2012 @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2017-12-04 11:48+0000\n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-05-18 09:51+0000\n" "Last-Translator: BouRock\n" "Language-Team: Turkish (http://www.transifex.com/django/django/language/" "tr/)\n" @@ -394,6 +394,9 @@ msgstr[1] "" "Bu değerin en fazla %(limit_value)d karaktere sahip olduğuna emin olun (şu " "an %(show_value)d)." +msgid "Enter a number." +msgstr "Bir sayı girin." + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -475,6 +478,10 @@ msgstr "Büyük (8 bayt) tamsayı" msgid "'%(value)s' value must be either True or False." msgstr "'%(value)s' değeri ya True ya da False olmak zorundadır." +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' değeri ya True, False ya da None olmak zorundadır." + msgid "Boolean (Either True or False)" msgstr "Boolean (Ya True ya da False)" @@ -651,9 +658,6 @@ msgstr "Bu alan zorunludur." msgid "Enter a whole number." msgstr "Tam bir sayı girin." -msgid "Enter a number." -msgstr "Bir sayı girin." - msgid "Enter a valid date." msgstr "Geçerli bir tarih girin." @@ -666,6 +670,10 @@ msgstr "Geçerli bir tarih/saat girin." msgid "Enter a valid duration." msgstr "Geçerli bir süre girin." +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Gün sayıları {min_days} ve {max_days} arasında olmak zorundadır." + msgid "No file was submitted. Check the encoding type on the form." msgstr "Hiç dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo index b3a83792afd48f4a1b296467ca28c2126e440e15..66141980d2c3c52adfc22866600f75cbb68ed09b 100644 GIT binary patch delta 7235 zcmY+|3w+P@9>?+T+)Xp)HirFYY}m$zxr_|Mq~(4IQ(G*A4MQmBFBK((CnINwK~J-_$w_xJt(e!u@;Yj*{$-W}vW9#&+oBXtOJ zt}12*JGY7atL0Ve+_(tmD&u&pjs-XZ*JB5aW{}1W<4-kw9-HF|Y>KC_8CIo{tm}oP zF(1n~=XaCIXsrSa!?(N!x6S+#i&B5gJY}9YFPc};N58+Y6INxn-Eb&o;|}bDzDUmr zIGpv}0Ww`^XybD(4hygb?!;Pn5|gn+lymj5B{s%ftgCG$NQ?d%+CqRUtpZ&f2#&^+I1hXCxsJu(YH|Lv$mGP(8L#2%_zJ6PftIxid;)b>Z^cS@%`9EV zIh|k(_Qb}Rfzy!(#2rTV?yg$7GRLZqG8uIO9sHKbL>=V_)B?|=9+#z95qF>l97LVK zd8~l9kv+Te+_@#OIhMe7W+&uo*N=8R?1~uUYYbYG=Ts_JmsE?ur z7REFyr=!Mo!oJuGweUJ~D{9;>)CGNx`iM?i{W-7fcNfWMCs#2T|HgYTIKiv0gjzTX zdj#=F;@gxbu)AlmCeNfMUWq!XwWxVMMQ!jKEQLoWz<17!57JdS$RR!Z^~ zNJ35A40QsjsEwszC}voFCTe3@sFNIo`shYl{Swqow*m{{R^*V~2k7UCa6gkNgP{$) zBlMw;stIafK9Z_wR64Q|LZ%n3+HDqCX z%7c-^aBDCRParqC>(YqVG(Lf?aR;WN9(J8TE7Xyvqb{f$>Yf;YT6hBL{dtI2{rCP)MuN8VVG;}PoXySf|ci>-UqLu`fo;! z|HMy5cl$onb9xkY^w&`vN^as!)C@JCmDvGxS9d|(BbnwSsD%fkZr(g|G;03w7>V<- z2KqOV;dI>*v=1EpwZ>4|U}~p`Mzn zR$rVi63tTu)t-Q5Sl_iKqmJFIVW2qE4xA zK^=J%>ICbd+S^)tZ!7yBBBLW5i5l>fm1kP{HPpa&Q162ss4F;v8h6XuLppdH@uB9a zi)wFT_35Z_T~YIm#$tN@r+OJT6T@kki`wyOtckl(6P-r}xa+7Z*5@FDQT@xCby4%Q z!jjkrHEw|U80tbsVu+sq8G#Jn0oZ_sw^0Lrz>;_hbwwAD`_kP&wYTW#T~Qj=rTi$? z#@W~zw_;BWzTaM8$g99@#RU9Qvc8MS@OIn-btS{ir}06`3sDnZMx98T2fUkV5UN~& zdS!3Mig*yKd;Q44Q0cba=pclo!d1#hDsvr@gh7gbG+ zr(7HL0_%xd_;IX&Q?Vf~vikj=e)p4ATte+UsJFL3dDKRtP&a8DYUdqM6L+<8HflqI zQE$XCsD;L%#;-zsSG-nEZCY6f$s5jIhjKmwL399t*7O06TCt0~U zhEVQ+y24(ljSWL>^hs3zr_C9t3!IN_aV6^e$6X|&0S)_l6QrOf?1;LuEOWTEPe4sH z4fWhFLM^lv)ql6SAN4{yj+(D{Kd)akGZq8?{!g-s)~Jo#kD92P)jw?IA=W!yuI2+GedE7%@ z{bbaJrlS^Ih(F*WT#6GO=I0q!&GNpsFQ7JX*}U#2qXqP{M-9PdSu@;>G-J#J)VM}g zZfUkNGtBO&etoSx&>U*|M_FdPImw)g8aUI+3(Uo+D_w5omF7BB|IJqZ$lPOoZ5}d@ zd-~lOtN7Ktf|}@tm5V&$Em#VRP#=mqsq(1LHUfk2CxUNOH->0V+)3Y&;gJvgyHQ_i ziFE$m8td!%zdIGCk(<=j#U_N3UZYA|h~`#TE>QEoKX*^_7S(O7-=o&$3)B}-BJnEm z0io1K0~=fC*5-ZG6(he~JxImL`vN)dd9FdeJP|{EWugk96B$S}CXy+iKqY=}{x>~L z?kW*X`_nj)@E4`9f=pGSC2=QJC!=pP-OcY2$B22vr^Hr5_dpq9GVv$z1Tl_yj%dW3 zAw(JCd&+tO?j@9tcmy8PPgp-t{E)vJtU>SYS`6HVX9#}8xYLAEH1&hAHPKTQq_xD^ zK#repv@5M48j^n#o2i1NUp`8g2)(ST(ViB>`blIyrXrdsPW(z7BIXcEtBFQLBvFY_ zN@dIeJRc}I_fK;@rdz%heJ+#FBRUWXl>ddBh?j|q#1vis8-&v9L=%GFjgH?Vf&V2x z9rqG<(q_x-z!V~mNvB%fOZW$oMzkO<5c7!$`gFpoI0PLa_g zIQLEk?k8>&?UswDLinimJL`)z;DL;=&?TH$c7Y0iFg9f+r731>BL=pON zp%g}^yHhDEzj${g`I}aL0ecW#tXxnqJG`8~FQpcYd zYs8a8HW5odr4b&k66Mdy*CF;1B`L46wi!5pC`a95ug)L%Ul2c1XiCI*l`aeG(`f;I zV|CNad#G+?7_6-$`t=x>0z}^1tCLmJh}yL}}(yDoeB{-xhsAyiEQk zGlJj>Ve9m&8RPjChg#^~|5TPvxl~oK&UadiP~Nj4JK|Q+f_hQ4LgRhyvxnv9#QX9_`8wt0Zs->k zUj31#35m%GNlko7Nhyt*#U(aKObqVQIiXw5*dh5t@^TZ}W{=KE@ij{L2Fbpp zhAGL3afzhhjO_f;2|Y$-=jIQ~9-TKT#g~!e>yw>3$k$?g-k97$!*cQlIA2 zBZ@VOtyOz$_OLNIb@F3WOShd}utqy!OFc%7$?=_iZl1SA-{~zcoZdWX KL!0)w5&r?3>>k|! delta 7107 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po index 3c376ce..f239ee5 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po @@ -1,11 +1,12 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Bestony , 2017-2018 +# Bai HuanCheng (Bestony) , 2017-2018 # Daniel Duan , 2013 # Jannis Leidel , 2011 # Kevin Sze , 2012 # Lele Long , 2011,2015,2017 +# Le Yang , 2018 # Liping Wang , 2016-2017 # mozillazg , 2016 # Ronald White , 2014 @@ -24,9 +25,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 21:10+0100\n" -"PO-Revision-Date: 2018-01-17 01:14+0000\n" -"Last-Translator: Ziya Tang \n" +"POT-Creation-Date: 2018-05-17 11:49+0200\n" +"PO-Revision-Date: 2018-06-25 13:50+0000\n" +"Last-Translator: Le Yang \n" "Language-Team: Chinese (China) (http://www.transifex.com/django/django/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -389,6 +390,9 @@ msgid_plural "" msgstr[0] "" "确保该变量包含不超过 %(limit_value)d 字符 (目前字符数 %(show_value)d)。" +msgid "Enter a number." +msgstr "输入一个数字。" + #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." @@ -465,6 +469,10 @@ msgstr "大整数(8字节)" msgid "'%(value)s' value must be either True or False." msgstr "’%(value)s‘ 必须为 True 或者 False。" +#, python-format +msgid "'%(value)s' value must be either True, False, or None." +msgstr "'%(value)s' 值必须是 None, True 或 False 之一。" + msgid "Boolean (Either True or False)" msgstr "布尔值(True或False)" @@ -631,9 +639,6 @@ msgstr "这个字段是必填项。" msgid "Enter a whole number." msgstr "输入整数。" -msgid "Enter a number." -msgstr "输入一个数字。" - msgid "Enter a valid date." msgstr "输入一个有效的日期。" @@ -646,6 +651,10 @@ msgstr "输入一个有效的日期/时间。" msgid "Enter a valid duration." msgstr "请输入有效的时长。" +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + msgid "No file was submitted. Check the encoding type on the form." msgstr "未提交文件。请检查表单的编码类型。" diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl b/thesisenv/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl index 9f83e65..48c9190 100755 --- a/thesisenv/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl +++ b/thesisenv/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl @@ -2,8 +2,8 @@ import os import sys -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings") +if __name__ == '__main__': + os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: diff --git a/thesisenv/lib/python3.6/site-packages/django/conf/project_template/project_name/wsgi.py-tpl b/thesisenv/lib/python3.6/site-packages/django/conf/project_template/project_name/wsgi.py-tpl index 0d68b95..1ee28d0 100644 --- a/thesisenv/lib/python3.6/site-packages/django/conf/project_template/project_name/wsgi.py-tpl +++ b/thesisenv/lib/python3.6/site-packages/django/conf/project_template/project_name/wsgi.py-tpl @@ -11,6 +11,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings") +os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') application = get_wsgi_application() diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/actions.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/actions.py index 1bad813..1e1c3bd 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/actions.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/actions.py @@ -4,9 +4,8 @@ Built-in, globally-available admin actions. from django.contrib import messages from django.contrib.admin import helpers -from django.contrib.admin.utils import get_deleted_objects, model_ngettext +from django.contrib.admin.utils import model_ngettext from django.core.exceptions import PermissionDenied -from django.db import router from django.template.response import TemplateResponse from django.utils.translation import gettext as _, gettext_lazy @@ -24,16 +23,9 @@ def delete_selected(modeladmin, request, queryset): opts = modeladmin.model._meta app_label = opts.app_label - # Check that the user has delete permission for the actual model - if not modeladmin.has_delete_permission(request): - raise PermissionDenied - - using = router.db_for_write(modeladmin.model) - # Populate deletable_objects, a data structure of all related objects that # will also be deleted. - deletable_objects, model_count, perms_needed, protected = get_deleted_objects( - queryset, opts, request.user, modeladmin.admin_site, using) + deletable_objects, model_count, perms_needed, protected = modeladmin.get_deleted_objects(queryset, request) # The user has already confirmed the deletion. # Do the deletion and return None to display the change list view again. @@ -45,7 +37,7 @@ def delete_selected(modeladmin, request, queryset): for obj in queryset: obj_display = str(obj) modeladmin.log_deletion(request, obj, obj_display) - queryset.delete() + modeladmin.delete_queryset(request, queryset) modeladmin.message_user(request, _("Successfully deleted %(count)d %(items)s.") % { "count": n, "items": model_ngettext(modeladmin.opts, n) }, messages.SUCCESS) @@ -59,19 +51,19 @@ def delete_selected(modeladmin, request, queryset): else: title = _("Are you sure?") - context = dict( - modeladmin.admin_site.each_context(request), - title=title, - objects_name=str(objects_name), - deletable_objects=[deletable_objects], - model_count=dict(model_count).items(), - queryset=queryset, - perms_lacking=perms_needed, - protected=protected, - opts=opts, - action_checkbox_name=helpers.ACTION_CHECKBOX_NAME, - media=modeladmin.media, - ) + context = { + **modeladmin.admin_site.each_context(request), + 'title': title, + 'objects_name': str(objects_name), + 'deletable_objects': [deletable_objects], + 'model_count': dict(model_count).items(), + 'queryset': queryset, + 'perms_lacking': perms_needed, + 'protected': protected, + 'opts': opts, + 'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME, + 'media': modeladmin.media, + } request.current_app = modeladmin.admin_site.name @@ -83,4 +75,5 @@ def delete_selected(modeladmin, request, queryset): ], context) +delete_selected.allowed_permissions = ('delete',) delete_selected.short_description = gettext_lazy("Delete selected %(verbose_name_plural)s") diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/apps.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/apps.py index df7d669..36c1576 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/apps.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/apps.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ class SimpleAdminConfig(AppConfig): """Simple AppConfig which does not do automatic discovery.""" + default_site = 'django.contrib.admin.sites.AdminSite' name = 'django.contrib.admin' verbose_name = _("Administration") diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/checks.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/checks.py index 97d1a41..8dd5a72 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/checks.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/checks.py @@ -1,3 +1,4 @@ +import warnings from itertools import chain from django.apps import apps @@ -9,10 +10,13 @@ from django.core import checks from django.core.exceptions import FieldDoesNotExist from django.db import models from django.db.models.constants import LOOKUP_SEP +from django.db.models.expressions import Combinable, F, OrderBy from django.forms.models import ( BaseModelForm, BaseModelFormSet, _get_foreign_key, ) from django.template.engine import Engine +from django.utils.deprecation import RemovedInDjango30Warning +from django.utils.inspect import get_func_args def check_admin_app(app_configs, **kwargs): @@ -65,21 +69,21 @@ def check_dependencies(**kwargs): class BaseModelAdminChecks: def check(self, admin_obj, **kwargs): - errors = [] - errors.extend(self._check_autocomplete_fields(admin_obj)) - errors.extend(self._check_raw_id_fields(admin_obj)) - errors.extend(self._check_fields(admin_obj)) - errors.extend(self._check_fieldsets(admin_obj)) - errors.extend(self._check_exclude(admin_obj)) - errors.extend(self._check_form(admin_obj)) - errors.extend(self._check_filter_vertical(admin_obj)) - errors.extend(self._check_filter_horizontal(admin_obj)) - errors.extend(self._check_radio_fields(admin_obj)) - errors.extend(self._check_prepopulated_fields(admin_obj)) - errors.extend(self._check_view_on_site_url(admin_obj)) - errors.extend(self._check_ordering(admin_obj)) - errors.extend(self._check_readonly_fields(admin_obj)) - return errors + return [ + *self._check_autocomplete_fields(admin_obj), + *self._check_raw_id_fields(admin_obj), + *self._check_fields(admin_obj), + *self._check_fieldsets(admin_obj), + *self._check_exclude(admin_obj), + *self._check_form(admin_obj), + *self._check_filter_vertical(admin_obj), + *self._check_filter_horizontal(admin_obj), + *self._check_radio_fields(admin_obj), + *self._check_prepopulated_fields(admin_obj), + *self._check_view_on_site_url(admin_obj), + *self._check_ordering(admin_obj), + *self._check_readonly_fields(admin_obj), + ] def _check_autocomplete_fields(self, obj): """ @@ -206,12 +210,13 @@ class BaseModelAdminChecks: elif not isinstance(obj.fieldsets, (list, tuple)): return must_be('a list or tuple', option='fieldsets', obj=obj, id='admin.E007') else: + seen_fields = [] return list(chain.from_iterable( - self._check_fieldsets_item(obj, obj.model, fieldset, 'fieldsets[%d]' % index) + self._check_fieldsets_item(obj, obj.model, fieldset, 'fieldsets[%d]' % index, seen_fields) for index, fieldset in enumerate(obj.fieldsets) )) - def _check_fieldsets_item(self, obj, model, fieldset, label): + def _check_fieldsets_item(self, obj, model, fieldset, label, seen_fields): """ Check an item of `fieldsets`, i.e. check that this is a pair of a set name and a dictionary containing "fields" key. """ @@ -232,8 +237,8 @@ class BaseModelAdminChecks: elif not isinstance(fieldset[1]['fields'], (list, tuple)): return must_be('a list or tuple', option="%s[1]['fields']" % label, obj=obj, id='admin.E008') - fields = flatten(fieldset[1]['fields']) - if len(fields) != len(set(fields)): + seen_fields.extend(flatten(fieldset[1]['fields'])) + if len(seen_fields) != len(set(seen_fields)): return [ checks.Error( "There are duplicate field(s) in '%s[1]'." % label, @@ -485,7 +490,13 @@ class BaseModelAdminChecks: def _check_ordering_item(self, obj, model, field_name, label): """ Check that `ordering` refers to existing fields. """ - + if isinstance(field_name, (Combinable, OrderBy)): + if not isinstance(field_name, OrderBy): + field_name = field_name.asc() + if isinstance(field_name.expression, F): + field_name = field_name.expression.name + else: + return [] if field_name == '?' and len(obj.ordering) != 1: return [ checks.Error( @@ -554,20 +565,22 @@ class BaseModelAdminChecks: class ModelAdminChecks(BaseModelAdminChecks): def check(self, admin_obj, **kwargs): - errors = super().check(admin_obj) - errors.extend(self._check_save_as(admin_obj)) - errors.extend(self._check_save_on_top(admin_obj)) - errors.extend(self._check_inlines(admin_obj)) - errors.extend(self._check_list_display(admin_obj)) - errors.extend(self._check_list_display_links(admin_obj)) - errors.extend(self._check_list_filter(admin_obj)) - errors.extend(self._check_list_select_related(admin_obj)) - errors.extend(self._check_list_per_page(admin_obj)) - errors.extend(self._check_list_max_show_all(admin_obj)) - errors.extend(self._check_list_editable(admin_obj)) - errors.extend(self._check_search_fields(admin_obj)) - errors.extend(self._check_date_hierarchy(admin_obj)) - return errors + return [ + *super().check(admin_obj), + *self._check_save_as(admin_obj), + *self._check_save_on_top(admin_obj), + *self._check_inlines(admin_obj), + *self._check_list_display(admin_obj), + *self._check_list_display_links(admin_obj), + *self._check_list_filter(admin_obj), + *self._check_list_select_related(admin_obj), + *self._check_list_per_page(admin_obj), + *self._check_list_max_show_all(admin_obj), + *self._check_list_editable(admin_obj), + *self._check_search_fields(admin_obj), + *self._check_date_hierarchy(admin_obj), + *self._check_action_permission_methods(admin_obj), + ] def _check_save_as(self, obj): """ Check save_as is a boolean. """ @@ -643,54 +656,32 @@ class ModelAdminChecks(BaseModelAdminChecks): elif hasattr(obj, item): return [] elif hasattr(model, item): - # getattr(model, item) could be an X_RelatedObjectsDescriptor try: field = model._meta.get_field(item) except FieldDoesNotExist: - try: - field = getattr(model, item) - except AttributeError: - field = None - - if field is None: - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not a " - "callable, an attribute of '%s', or an attribute or method on '%s.%s'." % ( - label, item, obj.__class__.__name__, model._meta.app_label, model._meta.object_name - ), - obj=obj.__class__, - id='admin.E108', - ) - ] - elif isinstance(field, models.ManyToManyField): - return [ - checks.Error( - "The value of '%s' must not be a ManyToManyField." % label, - obj=obj.__class__, - id='admin.E109', - ) - ] + return [] else: + if isinstance(field, models.ManyToManyField): + return [ + checks.Error( + "The value of '%s' must not be a ManyToManyField." % label, + obj=obj.__class__, + id='admin.E109', + ) + ] return [] else: - try: - model._meta.get_field(item) - except FieldDoesNotExist: - return [ - # This is a deliberate repeat of E108; there's more than one path - # required to test this condition. - checks.Error( - "The value of '%s' refers to '%s', which is not a callable, " - "an attribute of '%s', or an attribute or method on '%s.%s'." % ( - label, item, obj.__class__.__name__, model._meta.app_label, model._meta.object_name - ), - obj=obj.__class__, - id='admin.E108', - ) - ] - else: - return [] + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not a callable, " + "an attribute of '%s', or an attribute or method on '%s.%s'." % ( + label, item, obj.__class__.__name__, + model._meta.app_label, model._meta.object_name, + ), + obj=obj.__class__, + id='admin.E108', + ) + ] def _check_list_display_links(self, obj): """ Check that list_display_links is a unique subset of list_display. @@ -901,19 +892,47 @@ class ModelAdminChecks(BaseModelAdminChecks): else: return [] + def _check_action_permission_methods(self, obj): + """ + Actions with an allowed_permission attribute require the ModelAdmin to + implement a has__permission() method for each permission. + """ + actions = obj._get_base_actions() + errors = [] + for func, name, _ in actions: + if not hasattr(func, 'allowed_permissions'): + continue + for permission in func.allowed_permissions: + method_name = 'has_%s_permission' % permission + if not hasattr(obj, method_name): + errors.append( + checks.Error( + '%s must define a %s() method for the %s action.' % ( + obj.__class__.__name__, + method_name, + func.__name__, + ), + obj=obj.__class__, + id='admin.E129', + ) + ) + return errors + class InlineModelAdminChecks(BaseModelAdminChecks): def check(self, inline_obj, **kwargs): - errors = super().check(inline_obj) + self._check_has_add_permission(inline_obj) parent_model = inline_obj.parent_model - errors.extend(self._check_relation(inline_obj, parent_model)) - errors.extend(self._check_exclude_of_parent_model(inline_obj, parent_model)) - errors.extend(self._check_extra(inline_obj)) - errors.extend(self._check_max_num(inline_obj)) - errors.extend(self._check_min_num(inline_obj)) - errors.extend(self._check_formset(inline_obj)) - return errors + return [ + *super().check(inline_obj), + *self._check_relation(inline_obj, parent_model), + *self._check_exclude_of_parent_model(inline_obj, parent_model), + *self._check_extra(inline_obj), + *self._check_max_num(inline_obj), + *self._check_min_num(inline_obj), + *self._check_formset(inline_obj), + ] def _check_exclude_of_parent_model(self, obj, parent_model): # Do not perform more specific checks if the base checks result in an @@ -988,6 +1007,20 @@ class InlineModelAdminChecks(BaseModelAdminChecks): else: return [] + def _check_has_add_permission(self, obj): + cls = obj.__class__ + try: + func = cls.has_add_permission + except AttributeError: + pass + else: + args = get_func_args(func) + if 'obj' not in args: + warnings.warn( + "Update %s.has_add_permission() to accept a positional " + "`obj` argument." % cls.__name__, RemovedInDjango30Warning + ) + def must_be(type, option, obj, id): return [ diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/filters.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/filters.py index b35460c..7cf75bc 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/filters.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/filters.py @@ -27,8 +27,9 @@ class ListFilter: self.used_parameters = {} if self.title is None: raise ImproperlyConfigured( - "The list filter '%s' does not specify " - "a 'title'." % self.__class__.__name__) + "The list filter '%s' does not specify a 'title'." + % self.__class__.__name__ + ) def has_output(self): """ @@ -66,8 +67,9 @@ class SimpleListFilter(ListFilter): super().__init__(request, params, model, model_admin) if self.parameter_name is None: raise ImproperlyConfigured( - "The list filter '%s' does not specify " - "a 'parameter_name'." % self.__class__.__name__) + "The list filter '%s' does not specify a 'parameter_name'." + % self.__class__.__name__ + ) if self.parameter_name in params: value = params.pop(self.parameter_name) self.used_parameters[self.parameter_name] = value @@ -93,7 +95,8 @@ class SimpleListFilter(ListFilter): """ raise NotImplementedError( 'The SimpleListFilter.lookups() method must be overridden to ' - 'return a list of tuples (value, verbose value)') + 'return a list of tuples (value, verbose value).' + ) def expected_parameters(self): return [self.parameter_name] @@ -101,13 +104,13 @@ class SimpleListFilter(ListFilter): def choices(self, changelist): yield { 'selected': self.value() is None, - 'query_string': changelist.get_query_string({}, [self.parameter_name]), + 'query_string': changelist.get_query_string(remove=[self.parameter_name]), 'display': _('All'), } for lookup, title in self.lookup_choices: yield { 'selected': self.value() == str(lookup), - 'query_string': changelist.get_query_string({self.parameter_name: lookup}, []), + 'query_string': changelist.get_query_string({self.parameter_name: lookup}), 'display': title, } @@ -152,9 +155,8 @@ class FieldListFilter(ListFilter): @classmethod def create(cls, field, request, params, model, model_admin, field_path): for test, list_filter_class in cls._field_list_filters: - if not test(field): - continue - return list_filter_class(field, request, params, model, model_admin, field_path=field_path) + if test(field): + return list_filter_class(field, request, params, model, model_admin, field_path=field_path) class RelatedFieldListFilter(FieldListFilter): @@ -162,8 +164,8 @@ class RelatedFieldListFilter(FieldListFilter): other_model = get_model_from_relation(field) self.lookup_kwarg = '%s__%s__exact' % (field_path, field.target_field.name) self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = request.GET.get(self.lookup_kwarg) - self.lookup_val_isnull = request.GET.get(self.lookup_kwarg_isnull) + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) super().__init__(field, request, params, model, model_admin, field_path) self.lookup_choices = self.field_choices(field, request, model_admin) if hasattr(field, 'verbose_name'): @@ -197,26 +199,19 @@ class RelatedFieldListFilter(FieldListFilter): def choices(self, changelist): yield { 'selected': self.lookup_val is None and not self.lookup_val_isnull, - 'query_string': changelist.get_query_string( - {}, - [self.lookup_kwarg, self.lookup_kwarg_isnull] - ), + 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), 'display': _('All'), } for pk_val, val in self.lookup_choices: yield { 'selected': self.lookup_val == str(pk_val), - 'query_string': changelist.get_query_string({ - self.lookup_kwarg: pk_val, - }, [self.lookup_kwarg_isnull]), + 'query_string': changelist.get_query_string({self.lookup_kwarg: pk_val}, [self.lookup_kwarg_isnull]), 'display': val, } if self.include_empty_choice: yield { 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({ - self.lookup_kwarg_isnull: 'True', - }, [self.lookup_kwarg]), + 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), 'display': self.empty_value_display, } @@ -228,8 +223,8 @@ class BooleanFieldListFilter(FieldListFilter): def __init__(self, field, request, params, model, model_admin, field_path): self.lookup_kwarg = '%s__exact' % field_path self.lookup_kwarg2 = '%s__isnull' % field_path - self.lookup_val = request.GET.get(self.lookup_kwarg) - self.lookup_val2 = request.GET.get(self.lookup_kwarg2) + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val2 = params.get(self.lookup_kwarg2) super().__init__(field, request, params, model, model_admin, field_path) if (self.used_parameters and self.lookup_kwarg in self.used_parameters and self.used_parameters[self.lookup_kwarg] in ('1', '0')): @@ -245,33 +240,26 @@ class BooleanFieldListFilter(FieldListFilter): ('0', _('No'))): yield { 'selected': self.lookup_val == lookup and not self.lookup_val2, - 'query_string': changelist.get_query_string({ - self.lookup_kwarg: lookup, - }, [self.lookup_kwarg2]), + 'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}, [self.lookup_kwarg2]), 'display': title, } - if isinstance(self.field, models.NullBooleanField): + if self.field.null: yield { 'selected': self.lookup_val2 == 'True', - 'query_string': changelist.get_query_string({ - self.lookup_kwarg2: 'True', - }, [self.lookup_kwarg]), + 'query_string': changelist.get_query_string({self.lookup_kwarg2: 'True'}, [self.lookup_kwarg]), 'display': _('Unknown'), } -FieldListFilter.register( - lambda f: isinstance(f, (models.BooleanField, models.NullBooleanField)), - BooleanFieldListFilter -) +FieldListFilter.register(lambda f: isinstance(f, models.BooleanField), BooleanFieldListFilter) class ChoicesFieldListFilter(FieldListFilter): def __init__(self, field, request, params, model, model_admin, field_path): self.lookup_kwarg = '%s__exact' % field_path self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = request.GET.get(self.lookup_kwarg) - self.lookup_val_isnull = request.GET.get(self.lookup_kwarg_isnull) + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) super().__init__(field, request, params, model, model_admin, field_path) def expected_parameters(self): @@ -280,9 +268,7 @@ class ChoicesFieldListFilter(FieldListFilter): def choices(self, changelist): yield { 'selected': self.lookup_val is None, - 'query_string': changelist.get_query_string( - {}, [self.lookup_kwarg, self.lookup_kwarg_isnull] - ), + 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), 'display': _('All') } none_title = '' @@ -292,17 +278,13 @@ class ChoicesFieldListFilter(FieldListFilter): continue yield { 'selected': str(lookup) == self.lookup_val, - 'query_string': changelist.get_query_string( - {self.lookup_kwarg: lookup}, [self.lookup_kwarg_isnull] - ), + 'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}, [self.lookup_kwarg_isnull]), 'display': title, } if none_title: yield { 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({ - self.lookup_kwarg_isnull: 'True', - }, [self.lookup_kwarg]), + 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), 'display': none_title, } @@ -387,8 +369,8 @@ class AllValuesFieldListFilter(FieldListFilter): def __init__(self, field, request, params, model, model_admin, field_path): self.lookup_kwarg = field_path self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = request.GET.get(self.lookup_kwarg) - self.lookup_val_isnull = request.GET.get(self.lookup_kwarg_isnull) + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) self.empty_value_display = model_admin.get_empty_value_display() parent_model, reverse_path = reverse_field_path(model, field_path) # Obey parent ModelAdmin queryset when deciding which options to show @@ -396,10 +378,7 @@ class AllValuesFieldListFilter(FieldListFilter): queryset = model_admin.get_queryset(request) else: queryset = parent_model._default_manager.all() - self.lookup_choices = (queryset - .distinct() - .order_by(field.name) - .values_list(field.name, flat=True)) + self.lookup_choices = queryset.distinct().order_by(field.name).values_list(field.name, flat=True) super().__init__(field, request, params, model, model_admin, field_path) def expected_parameters(self): @@ -408,7 +387,7 @@ class AllValuesFieldListFilter(FieldListFilter): def choices(self, changelist): yield { 'selected': self.lookup_val is None and self.lookup_val_isnull is None, - 'query_string': changelist.get_query_string({}, [self.lookup_kwarg, self.lookup_kwarg_isnull]), + 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), 'display': _('All'), } include_none = False @@ -419,17 +398,13 @@ class AllValuesFieldListFilter(FieldListFilter): val = str(val) yield { 'selected': self.lookup_val == val, - 'query_string': changelist.get_query_string({ - self.lookup_kwarg: val, - }, [self.lookup_kwarg_isnull]), + 'query_string': changelist.get_query_string({self.lookup_kwarg: val}, [self.lookup_kwarg_isnull]), 'display': val, } if include_none: yield { 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({ - self.lookup_kwarg_isnull: 'True', - }, [self.lookup_kwarg]), + 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), 'display': self.empty_value_display, } diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/forms.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/forms.py index b1f3bbe..e973c61 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/forms.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/forms.py @@ -8,6 +8,7 @@ class AdminAuthenticationForm(AuthenticationForm): A custom authentication form used in the admin app. """ error_messages = { + **AuthenticationForm.error_messages, 'invalid_login': _( "Please enter the correct %(username)s and password for a staff " "account. Note that both fields may be case-sensitive." @@ -16,7 +17,8 @@ class AdminAuthenticationForm(AuthenticationForm): required_css_class = 'required' def confirm_login_allowed(self, user): - if not user.is_active or not user.is_staff: + super().confirm_login_allowed(user) + if not user.is_staff: raise forms.ValidationError( self.error_messages['invalid_login'], code='invalid_login', diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/helpers.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/helpers.py index 58e92c9..5e8e0ca 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/helpers.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/helpers.py @@ -203,8 +203,7 @@ class AdminReadonlyField: result_repr = self.empty_value_display else: if f is None: - boolean = getattr(attr, "boolean", False) - if boolean: + if getattr(attr, 'boolean', False): result_repr = _boolean_icon(value) else: if hasattr(value, "__html__"): @@ -225,7 +224,9 @@ class InlineAdminFormSet: A wrapper around an inline formset for use in the admin system. """ def __init__(self, inline, formset, fieldsets, prepopulated_fields=None, - readonly_fields=None, model_admin=None): + readonly_fields=None, model_admin=None, has_add_permission=True, + has_change_permission=True, has_delete_permission=True, + has_view_permission=True): self.opts = inline self.formset = formset self.fieldsets = fieldsets @@ -237,13 +238,22 @@ class InlineAdminFormSet: prepopulated_fields = {} self.prepopulated_fields = prepopulated_fields self.classes = ' '.join(inline.classes) if inline.classes else '' + self.has_add_permission = has_add_permission + self.has_change_permission = has_change_permission + self.has_delete_permission = has_delete_permission + self.has_view_permission = has_view_permission def __iter__(self): + if self.has_change_permission: + readonly_fields_for_editing = self.readonly_fields + else: + readonly_fields_for_editing = self.readonly_fields + flatten_fieldsets(self.fieldsets) + for form, original in zip(self.formset.initial_forms, self.formset.get_queryset()): view_on_site_url = self.opts.get_view_on_site_url(original) yield InlineAdminForm( self.formset, form, self.fieldsets, self.prepopulated_fields, - original, self.readonly_fields, model_admin=self.opts, + original, readonly_fields_for_editing, model_admin=self.opts, view_on_site_url=view_on_site_url, ) for form in self.formset.extra_forms: @@ -251,26 +261,30 @@ class InlineAdminFormSet: self.formset, form, self.fieldsets, self.prepopulated_fields, None, self.readonly_fields, model_admin=self.opts, ) - yield InlineAdminForm( - self.formset, self.formset.empty_form, - self.fieldsets, self.prepopulated_fields, None, - self.readonly_fields, model_admin=self.opts, - ) + if self.has_add_permission: + yield InlineAdminForm( + self.formset, self.formset.empty_form, + self.fieldsets, self.prepopulated_fields, None, + self.readonly_fields, model_admin=self.opts, + ) def fields(self): fk = getattr(self.formset, "fk", None) + empty_form = self.formset.empty_form + meta_labels = empty_form._meta.labels or {} + meta_help_texts = empty_form._meta.help_texts or {} for i, field_name in enumerate(flatten_fieldsets(self.fieldsets)): if fk and fk.name == field_name: continue - if field_name in self.readonly_fields: + if not self.has_change_permission or field_name in self.readonly_fields: yield { - 'label': label_for_field(field_name, self.opts.model, self.opts), + 'label': meta_labels.get(field_name) or label_for_field(field_name, self.opts.model, self.opts), 'widget': {'is_hidden': False}, 'required': False, - 'help_text': help_text_for_field(field_name, self.opts.model), + 'help_text': meta_help_texts.get(field_name) or help_text_for_field(field_name, self.opts.model), } else: - form_field = self.formset.empty_form.fields[field_name] + form_field = empty_form.fields[field_name] label = form_field.label if label is None: label = label_for_field(field_name, self.opts.model, self.opts) @@ -331,15 +345,15 @@ class InlineAdminForm(AdminForm): ) def needs_explicit_pk_field(self): - # Auto fields are editable (oddly), so need to check for auto or non-editable pk - if self.form._meta.model._meta.auto_field or not self.form._meta.model._meta.pk.editable: - return True - # Also search any parents for an auto field. (The pk info is propagated to child - # models so that does not need to be checked in parents.) - for parent in self.form._meta.model._meta.get_parent_list(): - if parent._meta.auto_field or not parent._meta.model._meta.pk.editable: - return True - return False + return ( + # Auto fields are editable, so check for auto or non-editable pk. + self.form._meta.model._meta.auto_field or not self.form._meta.model._meta.pk.editable or + # Also search any parents for an auto field. (The pk info is + # propagated to child models so that does not need to be checked + # in parents.) + any(parent._meta.auto_field or not parent._meta.model._meta.pk.editable + for parent in self.form._meta.model._meta.get_parent_list()) + ) def pk_field(self): return AdminField(self.form, self.formset._pk_field.name, False) @@ -368,9 +382,8 @@ class InlineFieldset(Fieldset): def __iter__(self): fk = getattr(self.formset, "fk", None) for field in self.fields: - if fk and fk.name == field: - continue - yield Fieldline(self.form, field, self.readonly_fields, model_admin=self.model_admin) + if not fk or fk.name != field: + yield Fieldline(self.form, field, self.readonly_fields, model_admin=self.model_admin) class AdminErrorList(forms.utils.ErrorList): diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo index 093830397ef37a4a30cfd93c3477bb49d9811fdd..662e8638f0d5b3e165c84041753aea5c905db154 100644 GIT binary patch delta 4401 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, 2011 # Tomáš Ehrlich , 2015 # Vláďa Macek , 2013-2014 -# Vláďa Macek , 2015-2017 +# Vláďa Macek , 2015-2018 # yedpodtrzitko , 2016 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-15 18:01+0000\n" "Last-Translator: Vláďa Macek \n" "Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" #, python-format msgid "Successfully deleted %(count)d %(items)s." @@ -90,6 +91,15 @@ msgstr "Přidat %(verbose_name)s" msgid "Remove" msgstr "Odebrat" +msgid "Addition" +msgstr "Přidání" + +msgid "Change" +msgstr "Změnit" + +msgid "Deletion" +msgstr "Odstranění" + msgid "action time" msgstr "čas operace" @@ -169,11 +179,11 @@ msgstr "" "\"Command\" na Macu)." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Položka typu {name} \"{obj}\" byla úspěšně přidána. Níže ji můžete dále " -"upravovat." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "Položka typu {name} \"{obj}\" byla úspěšně přidána." + +msgid "You may edit it again below." +msgstr "Níže můžete údaje znovu upravovat." #, python-brace-format msgid "" @@ -183,10 +193,6 @@ msgstr "" "Položka typu {name} \"{obj}\" byla úspěšně přidána. Níže můžete přidat další " "položku {name}." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Položka typu {name} \"{obj}\" byla úspěšně přidána." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -194,6 +200,13 @@ msgstr "" "Položka typu {name} \"{obj}\" byla úspěšně změněna. Níže ji můžete dále " "upravovat." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"Položka typu {name} \"{obj}\" byla úspěšně přidána. Níže ji můžete dále " +"upravovat." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -232,6 +245,10 @@ msgstr "%s: přidat" msgid "Change %s" msgstr "%s: změnit" +#, python-format +msgid "View %s" +msgstr "Zobrazit %s" + msgid "Database error" msgstr "Chyba databáze" @@ -241,6 +258,7 @@ msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "Položka %(name)s byla úspěšně změněna." msgstr[1] "%(count)s položky %(name)s byly úspěšně změněny." msgstr[2] "%(count)s položek %(name)s bylo úspěšně změněno." +msgstr[3] "%(count)s položek %(name)s bylo úspěšně změněno." #, python-format msgid "%(total_count)s selected" @@ -248,6 +266,7 @@ msgid_plural "All %(total_count)s selected" msgstr[0] "%(total_count)s položka vybrána." msgstr[1] "Všechny %(total_count)s položky vybrány." msgstr[2] "Vybráno všech %(total_count)s položek." +msgstr[3] "Vybráno všech %(total_count)s položek." #, python-format msgid "0 of %(cnt)s selected" @@ -342,7 +361,7 @@ msgid "Change password" msgstr "Změnit heslo" msgid "Please correct the error below." -msgstr "Opravte níže uvedené chyby." +msgstr "Opravte níže uvedenou chybu." msgid "Please correct the errors below." msgstr "Opravte níže uvedené chyby." @@ -453,8 +472,8 @@ msgstr "" "Opravdu má být odstraněny vybrané položky typu %(objects_name)s? Všechny " "vybrané a s nimi související položky budou odstraněny:" -msgid "Change" -msgstr "Změnit" +msgid "View" +msgstr "Zobrazit" msgid "Delete?" msgstr "Odstranit?" @@ -473,8 +492,8 @@ msgstr "Modely v aplikaci %(name)s" msgid "Add" msgstr "Přidat" -msgid "You don't have permission to edit anything." -msgstr "Nemáte oprávnění nic měnit." +msgid "You don't have permission to view or edit anything." +msgstr "Nemáte oprávnění k zobrazení ani úpravám." msgid "Recent actions" msgstr "Nedávné akce" @@ -537,6 +556,10 @@ msgstr "Vyskakovací okno se zavírá..." msgid "Change selected %(model)s" msgstr "Změnit vybrané položky typu %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Zobrazit vybranou položku typu %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Přidat další %(model)s" @@ -554,6 +577,7 @@ msgid_plural "%(counter)s results" msgstr[0] "%(counter)s výsledek" msgstr[1] "%(counter)s výsledky" msgstr[2] "%(counter)s výsledků" +msgstr[3] "%(counter)s výsledků" #, python-format msgid "%(full_result_count)s total" @@ -568,6 +592,12 @@ msgstr "Uložit a přidat další položku" msgid "Save and continue editing" msgstr "Uložit a pokračovat v úpravách" +msgid "Save and view" +msgstr "Uložit a zobrazit" + +msgid "Close" +msgstr "Zavřít" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Děkujeme za čas strávený s tímto webem." @@ -677,6 +707,10 @@ msgstr "%s: vybrat" msgid "Select %s to change" msgstr "Vyberte položku %s ke změně" +#, python-format +msgid "Select %s to view" +msgstr "Vyberte položku %s k zobrazení" + msgid "Date:" msgstr "Datum:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo index d1f183895dc65a2cb146270a564d9976ffa4c098..d9595162f55eb691dc1eb2c2c21ab0799285f2ec 100644 GIT binary patch delta 566 zcmZY5ze@sP7zgm@)Y8;b%L>{a2Q4A#&L1ULXSGR0G?mm+E-hja*izuo60`(HG*xSZ zR2)HI4b3eC*cKb!wt9?C&C=m7H`D6ge)BBLBhTGAp4!Tv*s=O z^|$9nc5T}8bFg;R*3PVdEi+C^a^N84g!42>QG1$llMB{GX~l)h zZZzc}tP(=x&y5oYNl7W?==;pCratfco7emO-aBf2Y}q|j+>$~x7$#aGqThO=TDYJR z)xi~54cFN%7)RcLHL${-Lk;-`;-hEw9pXs(flW}sCJV;l036lG{cl)AK{ncEOHelO zI3GYc&_ho7 z6?QmERE7Kk<$!N+41RL%ZzP&S9)d-93Mb%H47Zn=J!3DLd2tB?*l^9>a{WH$jR(6! zT4y@bk=DC}k1>afwr6K1Z8PbZrk)agA|rAl=~$*A5((k-n(eZvqi7V` V)K%|GwE_h*sul8)vS&v}f`1kHNrnIb diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po index a880e62..7785061 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Vláďa Macek \n" "Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" @@ -17,7 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" #, javascript-format msgid "Available %s" @@ -77,6 +78,7 @@ msgid_plural "%(sel)s of %(cnt)s selected" msgstr[0] "Vybrána je %(sel)s položka z celkem %(cnt)s." msgstr[1] "Vybrány jsou %(sel)s položky z celkem %(cnt)s." msgstr[2] "Vybraných je %(sel)s položek z celkem %(cnt)s." +msgstr[3] "Vybraných je %(sel)s položek z celkem %(cnt)s." msgid "" "You have unsaved changes on individual editable fields. If you run an " @@ -101,29 +103,9 @@ msgstr "" "Byla vybrána operace a jednotlivá pole nejsou změněná. Patrně hledáte " "tlačítko Provést spíše než Uložit." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Poznámka: Váš čas o %s hodinu předstihuje čas na serveru." -msgstr[1] "Poznámka: Váš čas o %s hodiny předstihuje čas na serveru." -msgstr[2] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Poznámka: Váš čas se o %s hodinu zpožďuje za časem na serveru." -msgstr[1] "Poznámka: Váš čas se o %s hodiny zpožďuje za časem na serveru." -msgstr[2] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." - msgid "Now" msgstr "Nyní" -msgid "Choose a Time" -msgstr "Vyberte čas" - -msgid "Choose a time" -msgstr "Vyberte čas" - msgid "Midnight" msgstr "Půlnoc" @@ -136,6 +118,28 @@ msgstr "Poledne" msgid "6 p.m." msgstr "6h večer" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Poznámka: Váš čas o %s hodinu předstihuje čas na serveru." +msgstr[1] "Poznámka: Váš čas o %s hodiny předstihuje čas na serveru." +msgstr[2] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." +msgstr[3] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Poznámka: Váš čas se o %s hodinu zpožďuje za časem na serveru." +msgstr[1] "Poznámka: Váš čas se o %s hodiny zpožďuje za časem na serveru." +msgstr[2] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." +msgstr[3] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." + +msgid "Choose a Time" +msgstr "Vyberte čas" + +msgid "Choose a time" +msgstr "Vyberte čas" + msgid "Cancel" msgstr "Storno" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo index 5b2d0df585b693243b83aae82a4dcf6850427e56..76fe1a6af23480ae52bd7d3df49d835affc679ee 100644 GIT binary patch delta 4224 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 delta 3858 zcmYk;2~bs49LMp)L%|in1;Hg=3IYQ1o(Kdg?zmMLrsh_mJP}JMMO@IHYno_=XlkaI zhRb9rzG`Z0Y|6@+#!6?>Y8aO^r=~?))oRMVzjqHa-I*VsbML#$IsbF+)x*m}zFO+P z*uL3T!*-B#Bh#82a}{4~#UHk$2xB^7GDhPd?1~d{3eLk`_=!FKI}Tw#vYj!RSctlQ z9fsj<499v5HO6mVrO}214fcc+s0%(sb*K?L;BAb-Hj&Pa5|C$^ROCjcKeog{*aAo6 zGAzW^cm~_zgeYeqGckFOZ|1iQ4VNTzl*K05##V% zbYnR6uD~Q5hr4hsUdLRlFkQ6oKz>gboK(*KAQ!~BctV6>kl&NP{>$g_+G z)qydn8%#tkmg%S)m0)kILhfPqqe}Tcssf*(rsN9h{2%ZL-oXSs(w$cs&!H;fze6LB zMmQ7CU`#%Gun3uMvl$oQA=HE8D9gP#21nvHOvOuhKell*9XJ)&U_ELIQ|@M=VisyZ zn~+b9-|TQ2rVdrQdQ{I|N6pbYs8XFqjr1()1{X0Kzr$*DvtTsx!>I4U8>lt&Hm<}| zn1W+^8Z!qgaiHG+uW4xHaq-MA=Ax!xrnMY(!zxq<{iu#SYk%K~>d*megFSv6n{oUU zZVq7p$a*%9^l~b@2)pupvx&wKd(NTwsBQwOq;SvLjf*NJm!Xk?2}Jzk5dzy^DKJ1%4Y0IHM;$xdkxq89C& zs0y9IF#H_#!D+Pqf?ECIy`A%8u_gN%y{SLdHv>7qy-g8ngzK>d?!tR;KdR@KP#wFC znu2DOOXo!)i^+6B4Zw|B{Rya!-ipc{FFS%sSVBYqkxSvnJ}kz`p1 z;b`_pp+>YBH{do@hvL1?jW?nyu@!Znz1R*9+27wr&Ha1!_*Ls~s44S@_H{-Sj;%P* z-R>u$K1_M2l8r}|bTX==b5SL%#3BJ&^>_B8Q2R0H*Xm59LA6af>OsY*5&eNKGy|MD4n@8Hosd~G+i?+|Mou*& z20C-S0td5Shk83MqdI;ab-%w+Q~9sHzxttlp3|c^)CGM|BO8FNF&{OOLJUD|yNEiY zZ6BFQ#uAlUqkE7vZHsBtH|^kfqN(br`G17Qd_tAX1B5CE-&rt4Bwr0SmDEGj^M&Lo zqOF!ZPBgdLwvs(0nan2I${ozZ)}EL^p4R-&BD;yUjpPNQ`Q(i;%ZWC93p6#_mXXR} z%lW66Y6hzoiWTb~OnxqkJt4R&%MMjXO zZ556EcBd4dB?rh}GKH)m+9r@u!Irb~htqz7u;w&=XX9fKe4UEzeiwY%w#8)I9`?Uu z>9p6`{RQYIONkbvwn+}bzcKvvkpeQ9I2+GzK}(CQY3od5Eg3`fWm6Yp$^B##=|;AZ z=|tNKvOd^y{-nV3WS%`1iC(gq%&^C_=mh|_}``A4u3X~sicl1 zk|kssY1)!(BO6=V_Djeo#k@#TNmnwCJV|fb?+Nk(tUjM7Vh#g_x#cdU*NAE z>qFZ5ic2fpMP-XCW|x+g1m29_6Ox&o=JBR^bKKsn+#b<9+TYPS(2@`ep<>@#%n?kf>SZ^L!OWB|i7b{bj}T)RCQeH6i~2J2#n# diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po index 5d8d225..a4cbcdf 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # Translators: # Christian Joergensen , 2012 # Dimitris Glezos , 2012 -# Erik Wognsen , 2013,2015-2017 +# Erik Wognsen , 2013,2015-2018 # Finn Gruwier Larsen, 2011 # Jannis Leidel , 2011 # valberg , 2014-2015 @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 21:25+0000\n" "Last-Translator: Erik Wognsen \n" "Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" "MIME-Version: 1.0\n" @@ -90,6 +90,15 @@ msgstr "Tilføj endnu en %(verbose_name)s" msgid "Remove" msgstr "Fjern" +msgid "Addition" +msgstr "Tilføjelse" + +msgid "Change" +msgstr "Ret" + +msgid "Deletion" +msgstr "Sletning" + msgid "action time" msgstr "handlingstid" @@ -168,25 +177,29 @@ msgstr "" "Hold \"Ctrl\" (eller \"Æbletasten\" på Mac) nede for at vælge mere end en." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" blev tilføjet. Du kan redigere den/det igen herunder." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" blev tilføjet." + +msgid "You may edit it again below." +msgstr "Du kan redigere den/det igen herunder." #, python-brace-format msgid "" "The {name} \"{obj}\" was added successfully. You may add another {name} " "below." -msgstr "{name} \"{obj}\" blev tilføjet. Du kan endnu en/et {name} herunder." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" blev tilføjet." +msgstr "" +"{name} \"{obj}\" blev tilføjet. Du kan tilføje endnu en/et {name} herunder." #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" blev ændret. Du kan redigere den/det igen herunder." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" blev tilføjet. Du kan redigere den/det igen herunder." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -225,8 +238,12 @@ msgstr "Tilføj %s" msgid "Change %s" msgstr "Ret %s" +#, python-format +msgid "View %s" +msgstr "Vis %s" + msgid "Database error" -msgstr "databasefejl" +msgstr "Databasefejl" #, python-format msgid "%(count)s %(name)s was changed successfully." @@ -444,8 +461,8 @@ msgstr "" "Er du sikker på du vil slette de valgte %(objects_name)s? Alle de følgende " "objekter og deres relaterede emner vil blive slettet:" -msgid "Change" -msgstr "Ret" +msgid "View" +msgstr "Vis" msgid "Delete?" msgstr "Slet?" @@ -464,8 +481,8 @@ msgstr "Modeller i applikationen %(name)s" msgid "Add" msgstr "Tilføj" -msgid "You don't have permission to edit anything." -msgstr "Du har ikke rettigheder til at foretage ændringer." +msgid "You don't have permission to view or edit anything." +msgstr "Du har ikke rettigheder til at se eller redigere noget." msgid "Recent actions" msgstr "Seneste handlinger" @@ -528,6 +545,10 @@ msgstr "Popup lukker..." msgid "Change selected %(model)s" msgstr "Redigér valgte %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Vis valgte %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Tilføj endnu en %(model)s" @@ -558,6 +579,12 @@ msgstr "Gem og tilføj endnu en" msgid "Save and continue editing" msgstr "Gem og fortsæt med at redigere" +msgid "Save and view" +msgstr "Gem og vis" + +msgid "Close" +msgstr "Luk" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Tak for den kvalitetstid du brugte på websitet i dag." @@ -669,6 +696,10 @@ msgstr "Vælg %s" msgid "Select %s to change" msgstr "Vælg %s, der skal ændres" +#, python-format +msgid "Select %s to view" +msgstr "Vælg %s, der skal vises" + msgid "Date:" msgstr "Dato:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo index 640300aa1d68cff03a93602464fca796657abec8..9270ea4f05cdeb4766988a7b2e46bbb3464b49b4 100644 GIT binary patch delta 26 hcmZ3cyi9q+BraYHT?12HLvsZ~Ln~8*&GWg~*#T%02G#%o delta 26 hcmZ3cyi9q+BraYvT?12HLvsZqV=F_W&GWg~*#T$z2Gsxn diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po index ca72e9e..17e0d5a 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Mathias Rav \n" "Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" @@ -102,27 +102,9 @@ msgstr "" "Du har valgt en handling, og du har ikke udført nogen ændringer på felter. " "Det, du søger er formentlig Udfør-knappen i stedet for Gem-knappen." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Obs: Du er %s time forud i forhold til servertiden." -msgstr[1] "Obs: Du er %s timer forud i forhold til servertiden." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Obs: Du er %s time bagud i forhold til servertiden." -msgstr[1] "Obs: Du er %s timer bagud i forhold til servertiden." - msgid "Now" msgstr "Nu" -msgid "Choose a Time" -msgstr "Vælg et Tidspunkt" - -msgid "Choose a time" -msgstr "Vælg et tidspunkt" - msgid "Midnight" msgstr "Midnat" @@ -135,6 +117,24 @@ msgstr "Middag" msgid "6 p.m." msgstr "Klokken 18" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Obs: Du er %s time forud i forhold til servertiden." +msgstr[1] "Obs: Du er %s timer forud i forhold til servertiden." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Obs: Du er %s time bagud i forhold til servertiden." +msgstr[1] "Obs: Du er %s timer bagud i forhold til servertiden." + +msgid "Choose a Time" +msgstr "Vælg et Tidspunkt" + +msgid "Choose a time" +msgstr "Vælg et tidspunkt" + msgid "Cancel" msgstr "Annuller" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo index 4d60e59f2cb26d874c9764289bf06897ef1045cb..5ff5a3503467b6c14b59e06573b23048eb2db0d0 100644 GIT binary patch delta 4295 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, 2016-2017 +# Michael Wolf , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 00:02+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-24 18:57+0000\n" "Last-Translator: Michael Wolf \n" "Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" "language/dsb/)\n" @@ -87,6 +87,15 @@ msgstr "Dalšne %(verbose_name)s pśidaś" msgid "Remove" msgstr "Wótpóraś" +msgid "Addition" +msgstr "Pśidanje" + +msgid "Change" +msgstr "Změniś" + +msgid "Deletion" +msgstr "Wulašowanje" + msgid "action time" msgstr "akciski cas" @@ -164,11 +173,11 @@ msgid "" msgstr "´Źaržćo „ctrl“ abo „cmd“ na Mac tłocony, aby wusej jadnogo wubrał." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" jo se wuspěšnje pśidał. Móžośo jen dołojce znowego " -"wobźěłowaś." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" jo se wuspěšnje pśidał." + +msgid "You may edit it again below." +msgstr "Móźośo dołojce znowego wobźěłaś." #, python-brace-format msgid "" @@ -177,10 +186,6 @@ msgid "" msgstr "" "{name} \"{obj}\" jo se wuspěšnje pśidał. Móžośo dołojce dalšne {name} pśidaś." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" jo se wuspěšnje pśidał." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -188,6 +193,13 @@ msgstr "" "{name} \"{obj}\" jo se wuspěšnje změnił. Móžośo jen dołojce znowego " "wobźěłowaś." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" jo se wuspěšnje pśidał. Móžośo jen dołojce znowego " +"wobźěłowaś." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -225,6 +237,10 @@ msgstr "%s pśidaś" msgid "Change %s" msgstr "%s změniś" +#, python-format +msgid "View %s" +msgstr "%s pokazaś" + msgid "Database error" msgstr "Zmólka datoweje banki" @@ -337,7 +353,7 @@ msgid "Change password" msgstr "Gronidło změniś" msgid "Please correct the error below." -msgstr "Pšosym skorigěrujśo slědujucu zmólku." +msgstr "Pšosym korigěrujśo slědujucu zmólku." msgid "Please correct the errors below." msgstr "Pšosym skorigěrujśo slědujuce zmólki." @@ -446,8 +462,8 @@ msgstr "" "Cośo napšawdu wubrany %(objects_name)s lašowaś? Wšykne slědujuce objekty a " "jich pśisłušne zapiski se wulašuju:" -msgid "Change" -msgstr "Změniś" +msgid "View" +msgstr "Pokazaś" msgid "Delete?" msgstr "Lašowaś?" @@ -466,8 +482,8 @@ msgstr "Modele w nałoženju %(name)s" msgid "Add" msgstr "Pśidaś" -msgid "You don't have permission to edit anything." -msgstr "Njejsćo pšawo něco wobźěłowaś." +msgid "You don't have permission to view or edit anything." +msgstr "Njamaśo pšawo něco pokazaś abo wobźěłaś" msgid "Recent actions" msgstr "Nejnowše akcije" @@ -530,6 +546,10 @@ msgstr "Wuskokujuce wokno se zacynja..." msgid "Change selected %(model)s" msgstr "Wubrane %(model)s změniś" +#, python-format +msgid "View selected %(model)s" +msgstr "Wubrany %(model)s pokazaś" + #, python-format msgid "Add another %(model)s" msgstr "Dalšny %(model)s pśidaś" @@ -562,6 +582,12 @@ msgstr "Składowaś a dalšny pśidaś" msgid "Save and continue editing" msgstr "Składowaś a dalej wobźěłowaś" +msgid "Save and view" +msgstr "Składowaś a pokazaś" + +msgid "Close" +msgstr "Zacyniś" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Źěkujomy se, až sćo źinsa wěsty cas na websedle pśebywał." @@ -673,6 +699,10 @@ msgstr "%s wubraś" msgid "Select %s to change" msgstr "%s wubraś, aby se změniło" +#, python-format +msgid "Select %s to view" +msgstr "%s wubraś, kótaryž ma se pokazaś" + msgid "Date:" msgstr "Datum:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo index e819a5f9ad79cea699da0b7bb73cf2776879d744..185749c4a91325ecef9e0593eaaf0759e114a9a2 100644 GIT binary patch delta 26 icmbQCK0|%OBraYHT?12HLvsZ~Ln~8*&GWf_asU8l`v\n" "Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" @@ -102,6 +102,21 @@ msgstr "" "Sćo akciju wubrał, ale njejsćo jadnotliwe póla změnił. Nejskerjej pytaśo " "skerjej za tłocaškom Start ako za tłocaškom Składowaś." +msgid "Now" +msgstr "Něnto" + +msgid "Midnight" +msgstr "Połnoc" + +msgid "6 a.m." +msgstr "6:00 góź. dopołdnja" + +msgid "Noon" +msgstr "Połdnjo" + +msgid "6 p.m." +msgstr "6:00 wótpołdnja" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -118,27 +133,12 @@ msgstr[1] "Glědajśo: Waš cas jo wó %s góźinje za serwerowym casom." msgstr[2] "Glědajśo: Waš cas jo wó %s góźiny za serwerowym casom." msgstr[3] "Glědajśo: Waš cas jo wó %s góźin za serwerowym casom." -msgid "Now" -msgstr "Něnto" - msgid "Choose a Time" msgstr "Wubjeŕśo cas" msgid "Choose a time" msgstr "Wubjeŕśo cas" -msgid "Midnight" -msgstr "Połnoc" - -msgid "6 a.m." -msgstr "6:00 góź. dopołdnja" - -msgid "Noon" -msgstr "Połdnjo" - -msgid "6 p.m." -msgstr "6:00 wótpołdnja" - msgid "Cancel" msgstr "Pśetergnuś" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po index 7c50d9a..79f4c26 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" "PO-Revision-Date: 2010-05-13 15:35+0200\n" "Last-Translator: Django team\n" "Language-Team: English \n" @@ -14,319 +14,345 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/admin/actions.py:50 +#: contrib/admin/actions.py:45 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "" -#: contrib/admin/actions.py:62 contrib/admin/options.py:1707 +#: contrib/admin/actions.py:54 contrib/admin/options.py:1841 #, python-format msgid "Cannot delete %(name)s" msgstr "" -#: contrib/admin/actions.py:64 contrib/admin/options.py:1709 +#: contrib/admin/actions.py:56 contrib/admin/options.py:1843 msgid "Are you sure?" msgstr "" -#: contrib/admin/actions.py:89 +#: contrib/admin/actions.py:82 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "" -#: contrib/admin/apps.py:11 +#: contrib/admin/apps.py:12 msgid "Administration" msgstr "" -#: contrib/admin/filters.py:107 contrib/admin/filters.py:205 -#: contrib/admin/filters.py:241 contrib/admin/filters.py:278 -#: contrib/admin/filters.py:384 +#: contrib/admin/filters.py:108 contrib/admin/filters.py:203 +#: contrib/admin/filters.py:238 contrib/admin/filters.py:272 +#: contrib/admin/filters.py:391 msgid "All" msgstr "" -#: contrib/admin/filters.py:242 +#: contrib/admin/filters.py:239 msgid "Yes" msgstr "" -#: contrib/admin/filters.py:243 +#: contrib/admin/filters.py:240 msgid "No" msgstr "" -#: contrib/admin/filters.py:257 +#: contrib/admin/filters.py:250 msgid "Unknown" msgstr "" -#: contrib/admin/filters.py:316 +#: contrib/admin/filters.py:320 msgid "Any date" msgstr "" -#: contrib/admin/filters.py:317 +#: contrib/admin/filters.py:321 msgid "Today" msgstr "" -#: contrib/admin/filters.py:321 +#: contrib/admin/filters.py:325 msgid "Past 7 days" msgstr "" -#: contrib/admin/filters.py:325 +#: contrib/admin/filters.py:329 msgid "This month" msgstr "" -#: contrib/admin/filters.py:329 +#: contrib/admin/filters.py:333 msgid "This year" msgstr "" -#: contrib/admin/filters.py:359 +#: contrib/admin/filters.py:341 msgid "No date" msgstr "" -#: contrib/admin/filters.py:360 +#: contrib/admin/filters.py:342 msgid "Has date" msgstr "" -#: contrib/admin/forms.py:14 +#: contrib/admin/forms.py:13 #, python-format msgid "" "Please enter the correct %(username)s and password for a staff account. Note " "that both fields may be case-sensitive." msgstr "" -#: contrib/admin/helpers.py:27 +#: contrib/admin/helpers.py:21 msgid "Action:" msgstr "" -#: contrib/admin/helpers.py:286 +#: contrib/admin/helpers.py:303 #, python-format msgid "Add another %(verbose_name)s" msgstr "" -#: contrib/admin/helpers.py:289 +#: contrib/admin/helpers.py:306 msgid "Remove" msgstr "" -#: contrib/admin/models.py:39 +#: contrib/admin/models.py:17 +msgid "Addition" +msgstr "" + +#: contrib/admin/models.py:18 +#: contrib/admin/templates/admin/edit_inline/stacked.html:12 +#: contrib/admin/templates/admin/edit_inline/tabular.html:34 +#: contrib/admin/templates/admin/index.html:40 +#: contrib/admin/templates/admin/related_widget_wrapper.html:12 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:10 +msgid "Change" +msgstr "" + +#: contrib/admin/models.py:19 +msgid "Deletion" +msgstr "" + +#: contrib/admin/models.py:41 msgid "action time" msgstr "" -#: contrib/admin/models.py:46 +#: contrib/admin/models.py:48 msgid "user" msgstr "" -#: contrib/admin/models.py:51 +#: contrib/admin/models.py:53 msgid "content type" msgstr "" -#: contrib/admin/models.py:54 +#: contrib/admin/models.py:56 msgid "object id" msgstr "" #. Translators: 'repr' means representation (https://docs.python.org/3/library/functions.html#repr) -#: contrib/admin/models.py:56 +#: contrib/admin/models.py:58 msgid "object repr" msgstr "" -#: contrib/admin/models.py:57 +#: contrib/admin/models.py:59 msgid "action flag" msgstr "" -#: contrib/admin/models.py:59 +#: contrib/admin/models.py:61 msgid "change message" msgstr "" -#: contrib/admin/models.py:64 +#: contrib/admin/models.py:66 msgid "log entry" msgstr "" -#: contrib/admin/models.py:65 +#: contrib/admin/models.py:67 msgid "log entries" msgstr "" -#: contrib/admin/models.py:74 -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - #: contrib/admin/models.py:76 #, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#: contrib/admin/models.py:78 +#, python-format msgid "Changed \"%(object)s\" - %(changes)s" msgstr "" -#: contrib/admin/models.py:81 +#: contrib/admin/models.py:83 #, python-format msgid "Deleted \"%(object)s.\"" msgstr "" -#: contrib/admin/models.py:83 +#: contrib/admin/models.py:85 msgid "LogEntry Object" msgstr "" -#: contrib/admin/models.py:109 +#: contrib/admin/models.py:111 #, python-brace-format msgid "Added {name} \"{object}\"." msgstr "" -#: contrib/admin/models.py:111 +#: contrib/admin/models.py:113 msgid "Added." msgstr "" -#: contrib/admin/models.py:115 contrib/admin/options.py:1917 +#: contrib/admin/models.py:117 contrib/admin/options.py:2055 msgid "and" msgstr "" -#: contrib/admin/models.py:119 +#: contrib/admin/models.py:121 #, python-brace-format msgid "Changed {fields} for {name} \"{object}\"." msgstr "" -#: contrib/admin/models.py:123 +#: contrib/admin/models.py:125 #, python-brace-format msgid "Changed {fields}." msgstr "" -#: contrib/admin/models.py:127 +#: contrib/admin/models.py:129 #, python-brace-format msgid "Deleted {name} \"{object}\"." msgstr "" -#: contrib/admin/models.py:130 +#: contrib/admin/models.py:132 msgid "No fields changed." msgstr "" -#: contrib/admin/options.py:196 contrib/admin/options.py:225 +#: contrib/admin/options.py:202 contrib/admin/options.py:233 msgid "None" msgstr "" -#: contrib/admin/options.py:261 +#: contrib/admin/options.py:271 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" -#: contrib/admin/options.py:1115 contrib/admin/options.py:1186 +#: contrib/admin/options.py:1202 contrib/admin/options.py:1226 #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgid "The {name} \"{obj}\" was added successfully." msgstr "" -#: contrib/admin/options.py:1129 +#: contrib/admin/options.py:1204 +msgid "You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:1216 #, python-brace-format msgid "" "The {name} \"{obj}\" was added successfully. You may add another {name} " "below." msgstr "" -#: contrib/admin/options.py:1139 -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#: contrib/admin/options.py:1176 +#: contrib/admin/options.py:1266 #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" -#: contrib/admin/options.py:1199 +#: contrib/admin/options.py:1276 +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:1289 #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " "below." msgstr "" -#: contrib/admin/options.py:1211 +#: contrib/admin/options.py:1301 #, python-brace-format msgid "The {name} \"{obj}\" was changed successfully." msgstr "" -#: contrib/admin/options.py:1296 contrib/admin/options.py:1564 +#: contrib/admin/options.py:1386 contrib/admin/options.py:1682 msgid "" "Items must be selected in order to perform actions on them. No items have " "been changed." msgstr "" -#: contrib/admin/options.py:1315 +#: contrib/admin/options.py:1405 msgid "No action selected." msgstr "" -#: contrib/admin/options.py:1336 +#: contrib/admin/options.py:1430 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "" -#: contrib/admin/options.py:1397 +#: contrib/admin/options.py:1509 #, python-format msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" msgstr "" -#: contrib/admin/options.py:1475 +#: contrib/admin/options.py:1596 #, python-format msgid "Add %s" msgstr "" -#: contrib/admin/options.py:1475 +#: contrib/admin/options.py:1598 #, python-format msgid "Change %s" msgstr "" -#: contrib/admin/options.py:1543 +#: contrib/admin/options.py:1600 +#, python-format +msgid "View %s" +msgstr "" + +#: contrib/admin/options.py:1658 msgid "Database error" msgstr "" -#: contrib/admin/options.py:1606 +#: contrib/admin/options.py:1730 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "" msgstr[1] "" -#: contrib/admin/options.py:1633 +#: contrib/admin/options.py:1761 #, python-format msgid "%(total_count)s selected" msgid_plural "All %(total_count)s selected" msgstr[0] "" msgstr[1] "" -#: contrib/admin/options.py:1639 +#: contrib/admin/options.py:1769 #, python-format msgid "0 of %(cnt)s selected" msgstr "" -#: contrib/admin/options.py:1755 +#: contrib/admin/options.py:1886 #, python-format msgid "Change history: %s" msgstr "" #. Translators: Model verbose name and instance representation, #. suitable to be an item in a list. -#: contrib/admin/options.py:1911 +#: contrib/admin/options.py:2049 #, python-format msgid "%(class_name)s %(instance)s" msgstr "" -#: contrib/admin/options.py:1918 +#: contrib/admin/options.py:2056 #, python-format msgid "" "Deleting %(class_name)s %(instance)s would require deleting the following " "protected related objects: %(related_objects)s" msgstr "" -#: contrib/admin/sites.py:40 contrib/admin/templates/admin/base_site.html:3 +#: contrib/admin/sites.py:41 contrib/admin/templates/admin/base_site.html:3 msgid "Django site admin" msgstr "" -#: contrib/admin/sites.py:43 contrib/admin/templates/admin/base_site.html:6 +#: contrib/admin/sites.py:44 contrib/admin/templates/admin/base_site.html:6 msgid "Django administration" msgstr "" -#: contrib/admin/sites.py:46 +#: contrib/admin/sites.py:47 msgid "Site administration" msgstr "" -#: contrib/admin/sites.py:398 contrib/admin/templates/admin/login.html.py:61 +#: contrib/admin/sites.py:383 contrib/admin/templates/admin/login.html:61 #: contrib/admin/templates/registration/password_reset_complete.html:18 -#: contrib/admin/tests.py:131 +#: contrib/admin/tests.py:123 msgid "Log in" msgstr "" -#: contrib/admin/sites.py:525 +#: contrib/admin/sites.py:510 #, python-format msgid "%(app)s administration" msgstr "" @@ -343,20 +369,20 @@ msgstr "" #: contrib/admin/templates/admin/500.html:6 #: contrib/admin/templates/admin/app_index.html:9 #: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/base.html:56 +#: contrib/admin/templates/admin/base.html:61 #: contrib/admin/templates/admin/change_form.html:18 #: contrib/admin/templates/admin/change_list.html:31 -#: contrib/admin/templates/admin/delete_confirmation.html:13 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:13 +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:14 #: contrib/admin/templates/admin/invalid_setup.html:6 #: contrib/admin/templates/admin/object_history.html:6 #: contrib/admin/templates/registration/logged_out.html:4 #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_form.html:7 #: contrib/admin/templates/registration/password_reset_complete.html:6 -#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: contrib/admin/templates/registration/password_reset_confirm.html:7 #: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:7 msgid "Home" msgstr "" @@ -378,24 +404,24 @@ msgid "" "email and should be fixed shortly. Thanks for your patience." msgstr "" -#: contrib/admin/templates/admin/actions.html:4 +#: contrib/admin/templates/admin/actions.html:8 msgid "Run the selected action" msgstr "" -#: contrib/admin/templates/admin/actions.html:4 +#: contrib/admin/templates/admin/actions.html:8 msgid "Go" msgstr "" -#: contrib/admin/templates/admin/actions.html:10 +#: contrib/admin/templates/admin/actions.html:16 msgid "Click here to select the objects across all pages" msgstr "" -#: contrib/admin/templates/admin/actions.html:10 +#: contrib/admin/templates/admin/actions.html:16 #, python-format msgid "Select all %(total_count)s %(module_name)s" msgstr "" -#: contrib/admin/templates/admin/actions.html:12 +#: contrib/admin/templates/admin/actions.html:18 msgid "Clear selection" msgstr "" @@ -410,72 +436,72 @@ msgid "Enter a username and password." msgstr "" #: contrib/admin/templates/admin/auth/user/change_password.html:17 -#: contrib/admin/templates/admin/auth/user/change_password.html:54 -#: contrib/admin/templates/admin/base.html:44 +#: contrib/admin/templates/admin/auth/user/change_password.html:55 +#: contrib/admin/templates/admin/base.html:49 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "" -#: contrib/admin/templates/admin/auth/user/change_password.html:27 -#: contrib/admin/templates/admin/change_form.html:47 -#: contrib/admin/templates/admin/change_list.html:58 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#: contrib/admin/templates/admin/change_form.html:43 +#: contrib/admin/templates/admin/change_list.html:51 #: contrib/admin/templates/admin/login.html:21 #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Please correct the error below." msgstr "" -#: contrib/admin/templates/admin/auth/user/change_password.html:27 -#: contrib/admin/templates/admin/change_form.html:47 -#: contrib/admin/templates/admin/change_list.html:58 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#: contrib/admin/templates/admin/change_form.html:43 +#: contrib/admin/templates/admin/change_list.html:51 #: contrib/admin/templates/admin/login.html:21 #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Please correct the errors below." msgstr "" -#: contrib/admin/templates/admin/auth/user/change_password.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:32 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "" -#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/base.html:35 msgid "Welcome," msgstr "" -#: contrib/admin/templates/admin/base.html:35 +#: contrib/admin/templates/admin/base.html:40 msgid "View site" msgstr "" -#: contrib/admin/templates/admin/base.html:40 +#: contrib/admin/templates/admin/base.html:45 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:4 msgid "Documentation" msgstr "" -#: contrib/admin/templates/admin/base.html:46 +#: contrib/admin/templates/admin/base.html:51 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "" #: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/change_list.html:49 +#: contrib/admin/templates/admin/change_list_object_tools.html:8 #, python-format msgid "Add %(name)s" msgstr "" -#: contrib/admin/templates/admin/change_form.html:33 +#: contrib/admin/templates/admin/change_form_object_tools.html:5 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "" -#: contrib/admin/templates/admin/change_form.html:35 +#: contrib/admin/templates/admin/change_form_object_tools.html:7 #: contrib/admin/templates/admin/edit_inline/stacked.html:14 #: contrib/admin/templates/admin/edit_inline/tabular.html:36 msgid "View on site" msgstr "" -#: contrib/admin/templates/admin/change_list.html:69 +#: contrib/admin/templates/admin/change_list.html:62 msgid "Filter" msgstr "" @@ -492,13 +518,14 @@ msgstr "" msgid "Toggle sorting" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:17 -#: contrib/admin/templates/admin/related_widget_wrapper.html:23 -#: contrib/admin/templates/admin/submit_line.html:6 +#: contrib/admin/templates/admin/delete_confirmation.html:18 +#: contrib/admin/templates/admin/related_widget_wrapper.html:30 +#: contrib/admin/templates/admin/submit_line.html:7 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:24 msgid "Delete" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:23 +#: contrib/admin/templates/admin/delete_confirmation.html:24 #, python-format msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " @@ -506,40 +533,40 @@ msgid "" "following types of objects:" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:31 #, python-format msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " "following protected related objects:" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:37 +#: contrib/admin/templates/admin/delete_confirmation.html:38 #, python-format msgid "" "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " "All of the following related items will be deleted:" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:39 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:38 +#: contrib/admin/templates/admin/delete_confirmation.html:40 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:39 msgid "Objects" msgstr "" -#: contrib/admin/templates/admin/delete_confirmation.html:46 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:49 -msgid "Yes, I'm sure" -msgstr "" - #: contrib/admin/templates/admin/delete_confirmation.html:47 #: contrib/admin/templates/admin/delete_selected_confirmation.html:50 +msgid "Yes, I'm sure" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:48 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:51 msgid "No, take me back" msgstr "" -#: contrib/admin/templates/admin/delete_selected_confirmation.html:16 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:17 msgid "Delete multiple objects" msgstr "" -#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:23 #, python-format msgid "" "Deleting the selected %(objects_name)s would result in deleting related " @@ -547,14 +574,14 @@ msgid "" "types of objects:" msgstr "" -#: contrib/admin/templates/admin/delete_selected_confirmation.html:29 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:30 #, python-format msgid "" "Deleting the selected %(objects_name)s would require deleting the following " "protected related objects:" msgstr "" -#: contrib/admin/templates/admin/delete_selected_confirmation.html:36 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:37 #, python-format msgid "" "Are you sure you want to delete the selected %(objects_name)s? All of the " @@ -563,9 +590,9 @@ msgstr "" #: contrib/admin/templates/admin/edit_inline/stacked.html:12 #: contrib/admin/templates/admin/edit_inline/tabular.html:34 -#: contrib/admin/templates/admin/index.html:37 -#: contrib/admin/templates/admin/related_widget_wrapper.html:9 -msgid "Change" +#: contrib/admin/templates/admin/index.html:38 +#: contrib/admin/templates/admin/related_widget_wrapper.html:15 +msgid "View" msgstr "" #: contrib/admin/templates/admin/edit_inline/tabular.html:20 @@ -587,27 +614,28 @@ msgid "Models in the %(name)s application" msgstr "" #: contrib/admin/templates/admin/index.html:31 -#: contrib/admin/templates/admin/related_widget_wrapper.html:16 +#: contrib/admin/templates/admin/related_widget_wrapper.html:23 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:17 msgid "Add" msgstr "" -#: contrib/admin/templates/admin/index.html:47 -msgid "You don't have permission to edit anything." +#: contrib/admin/templates/admin/index.html:51 +msgid "You don't have permission to view or edit anything." msgstr "" -#: contrib/admin/templates/admin/index.html:55 +#: contrib/admin/templates/admin/index.html:59 msgid "Recent actions" msgstr "" -#: contrib/admin/templates/admin/index.html:56 +#: contrib/admin/templates/admin/index.html:60 msgid "My actions" msgstr "" -#: contrib/admin/templates/admin/index.html:60 +#: contrib/admin/templates/admin/index.html:64 msgid "None available" msgstr "" -#: contrib/admin/templates/admin/index.html:74 +#: contrib/admin/templates/admin/index.html:78 msgid "Unknown content" msgstr "" @@ -653,7 +681,7 @@ msgid "Show all" msgstr "" #: contrib/admin/templates/admin/pagination.html:11 -#: contrib/admin/templates/admin/submit_line.html:3 +#: contrib/admin/templates/admin/submit_line.html:4 msgid "Save" msgstr "" @@ -661,17 +689,25 @@ msgstr "" msgid "Popup closing..." msgstr "" -#: contrib/admin/templates/admin/related_widget_wrapper.html:8 +#: contrib/admin/templates/admin/related_widget_wrapper.html:11 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:9 #, python-format msgid "Change selected %(model)s" msgstr "" -#: contrib/admin/templates/admin/related_widget_wrapper.html:15 +#: contrib/admin/templates/admin/related_widget_wrapper.html:14 +#, python-format +msgid "View selected %(model)s" +msgstr "" + +#: contrib/admin/templates/admin/related_widget_wrapper.html:22 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:16 #, python-format msgid "Add another %(model)s" msgstr "" -#: contrib/admin/templates/admin/related_widget_wrapper.html:22 +#: contrib/admin/templates/admin/related_widget_wrapper.html:29 +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:23 #, python-format msgid "Delete selected %(model)s" msgstr "" @@ -692,18 +728,26 @@ msgstr[1] "" msgid "%(full_result_count)s total" msgstr "" -#: contrib/admin/templates/admin/submit_line.html:8 +#: contrib/admin/templates/admin/submit_line.html:9 msgid "Save as new" msgstr "" -#: contrib/admin/templates/admin/submit_line.html:9 +#: contrib/admin/templates/admin/submit_line.html:10 msgid "Save and add another" msgstr "" -#: contrib/admin/templates/admin/submit_line.html:10 +#: contrib/admin/templates/admin/submit_line.html:11 msgid "Save and continue editing" msgstr "" +#: contrib/admin/templates/admin/submit_line.html:11 +msgid "Save and view" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:12 +msgid "Close" +msgstr "" + #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." msgstr "" @@ -728,13 +772,13 @@ msgid "" msgstr "" #: contrib/admin/templates/registration/password_change_form.html:54 -#: contrib/admin/templates/registration/password_reset_confirm.html:24 +#: contrib/admin/templates/registration/password_reset_confirm.html:32 msgid "Change my password" msgstr "" #: contrib/admin/templates/registration/password_reset_complete.html:7 #: contrib/admin/templates/registration/password_reset_done.html:7 -#: contrib/admin/templates/registration/password_reset_form.html:7 +#: contrib/admin/templates/registration/password_reset_form.html:8 msgid "Password reset" msgstr "" @@ -742,25 +786,25 @@ msgstr "" msgid "Your password has been set. You may go ahead and log in now." msgstr "" -#: contrib/admin/templates/registration/password_reset_confirm.html:7 +#: contrib/admin/templates/registration/password_reset_confirm.html:8 msgid "Password reset confirmation" msgstr "" -#: contrib/admin/templates/registration/password_reset_confirm.html:17 +#: contrib/admin/templates/registration/password_reset_confirm.html:18 msgid "" "Please enter your new password twice so we can verify you typed it in " "correctly." msgstr "" -#: contrib/admin/templates/registration/password_reset_confirm.html:21 +#: contrib/admin/templates/registration/password_reset_confirm.html:24 msgid "New password:" msgstr "" -#: contrib/admin/templates/registration/password_reset_confirm.html:23 +#: contrib/admin/templates/registration/password_reset_confirm.html:29 msgid "Confirm password:" msgstr "" -#: contrib/admin/templates/registration/password_reset_confirm.html:29 +#: contrib/admin/templates/registration/password_reset_confirm.html:38 msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." @@ -802,50 +846,55 @@ msgstr "" msgid "The %(site_name)s team" msgstr "" -#: contrib/admin/templates/registration/password_reset_form.html:15 +#: contrib/admin/templates/registration/password_reset_form.html:16 msgid "" "Forgotten your password? Enter your email address below, and we'll email " "instructions for setting a new one." msgstr "" -#: contrib/admin/templates/registration/password_reset_form.html:19 +#: contrib/admin/templates/registration/password_reset_form.html:22 msgid "Email address:" msgstr "" -#: contrib/admin/templates/registration/password_reset_form.html:19 +#: contrib/admin/templates/registration/password_reset_form.html:25 msgid "Reset my password" msgstr "" -#: contrib/admin/templatetags/admin_list.py:387 +#: contrib/admin/templatetags/admin_list.py:410 msgid "All dates" msgstr "" -#: contrib/admin/views/main.py:81 -#, python-format -msgid "Select %s" -msgstr "" - #: contrib/admin/views/main.py:83 #, python-format +msgid "Select %s" +msgstr "" + +#: contrib/admin/views/main.py:85 +#, python-format msgid "Select %s to change" msgstr "" -#: contrib/admin/widgets.py:92 +#: contrib/admin/views/main.py:87 +#, python-format +msgid "Select %s to view" +msgstr "" + +#: contrib/admin/widgets.py:101 msgid "Date:" msgstr "" -#: contrib/admin/widgets.py:93 +#: contrib/admin/widgets.py:102 msgid "Time:" msgstr "" -#: contrib/admin/widgets.py:175 +#: contrib/admin/widgets.py:164 msgid "Lookup" msgstr "" -#: contrib/admin/widgets.py:363 +#: contrib/admin/widgets.py:343 msgid "Currently:" msgstr "" -#: contrib/admin/widgets.py:364 +#: contrib/admin/widgets.py:344 msgid "Change:" msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po index 0e51c84..2b335c9 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2010-05-13 15:35+0200\n" "Last-Translator: Django team\n" "Language-Team: English \n" @@ -72,21 +72,21 @@ msgstr "" msgid "Click to remove all chosen %s at once." msgstr "" -#: contrib/admin/static/admin/js/actions.js:47 +#: contrib/admin/static/admin/js/actions.js:48 #: contrib/admin/static/admin/js/actions.min.js:2 msgid "%(sel)s of %(cnt)s selected" msgid_plural "%(sel)s of %(cnt)s selected" msgstr[0] "" msgstr[1] "" -#: contrib/admin/static/admin/js/actions.js:116 -#: contrib/admin/static/admin/js/actions.min.js:4 +#: contrib/admin/static/admin/js/actions.js:117 +#: contrib/admin/static/admin/js/actions.min.js:5 msgid "" "You have unsaved changes on individual editable fields. If you run an " "action, your unsaved changes will be lost." msgstr "" -#: contrib/admin/static/admin/js/actions.js:128 +#: contrib/admin/static/admin/js/actions.js:129 #: contrib/admin/static/admin/js/actions.min.js:5 msgid "" "You have selected an action, but you haven't saved your changes to " @@ -94,76 +94,76 @@ msgid "" "action." msgstr "" -#: contrib/admin/static/admin/js/actions.js:130 -#: contrib/admin/static/admin/js/actions.min.js:5 +#: contrib/admin/static/admin/js/actions.js:131 +#: contrib/admin/static/admin/js/actions.min.js:6 msgid "" "You have selected an action, and you haven't made any changes on individual " "fields. You're probably looking for the Go button rather than the Save " "button." msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:74 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:118 +msgid "Now" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:14 +msgid "Midnight" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:15 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:16 +msgid "Noon" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:17 +msgid "6 p.m." +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:83 #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." msgstr[0] "" msgstr[1] "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:91 #, javascript-format msgid "Note: You are %s hour behind server time." msgid_plural "Note: You are %s hours behind server time." msgstr[0] "" msgstr[1] "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:109 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:149 -msgid "Now" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:116 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:136 msgid "Choose a Time" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:146 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:166 msgid "Choose a time" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:150 -msgid "Midnight" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:151 -msgid "6 a.m." -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:152 -msgid "Noon" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:153 -msgid "6 p.m." -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:157 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:281 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:343 msgid "Cancel" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:217 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:274 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:248 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:328 msgid "Today" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:224 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:265 msgid "Choose a Date" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:272 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:322 msgid "Yesterday" msgstr "" -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:276 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:334 msgid "Tomorrow" msgstr "" @@ -252,11 +252,12 @@ msgstr "" #: contrib/admin/static/admin/js/collapse.js:10 #: contrib/admin/static/admin/js/collapse.js:21 -#: contrib/admin/static/admin/js/collapse.min.js:1 +#: contrib/admin/static/admin/js/collapse.min.js:4 +#: contrib/admin/static/admin/js/collapse.min.js:5 msgid "Show" msgstr "" #: contrib/admin/static/admin/js/collapse.js:18 -#: contrib/admin/static/admin/js/collapse.min.js:1 +#: contrib/admin/static/admin/js/collapse.min.js:4 msgid "Hide" msgstr "" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo index 784da64c9edd0f23889c230a9e10ca54450924e5..46468a9281d2004258357d7baa071c8e6d3a1413 100644 GIT binary patch delta 4245 zcmYk;d2p2F0mtzt7fA@=2xmCo5CRF1xJd{|KoJPHL8KrOtsMs|e-yOe-@Xspclhn+dER~Zea`m{ z4_E&x68TF;;vU0sf%GLulZ^Q{4o~BQ<4#9oy5n8!f!|;s?9s`XXR!zeV=L_rbV!_KzjuGA9j}+9if1;-5A!Bjp}d*OA| z56_{d@@@P5Rn(Ni1d5YM4A^dzi7P4$MRiu%b8fuM55Q zgdf%5DqG)*+SPke4@49P;CtxcU$Fso(JW}hEqDb>v78;OhPR;_d<`|wQ>c!fk5JIm zUq)un+(Py6b7c97&U-{sF{5iH6vG1 zOBDGt1^w`2Jcsu&2T!ozdH6fj4Bf{k@f&2&=1Hc(gA0-EVzy%=9!53X(=q00oPbmC zRUD2VVmT&e88c1K{~QXNIB@{Arr9iTB^IDYwgvT6?6mGhP2~Yp$IhUZ>@C#HUAA7c z-`_xu{1$44KStg6zc@$KYD%tQ0{#KDxo+VG`~-_}`5^mZ!W!!D;1ih5 zv}tC%n2T#rOLfe80d?PBq6TmgJJ7zlX)m~q>e*fEJ$wEkYGkQ{jX531k5MD}*${V+ ze1KZxzoTX@p4QcYDn8ggW+RTn!#EoMhI;J#LiavC z)J(0!X&7mtpq^jGb$A08;>;rV!V}nu`gvRbHL8QxP#wCB4&FiCC$-pJ%C4w}2coXe zL0vx@HA7`cM+K62q9rL!XBcoQbEb_c1b*6O*`0Io6>rcn>#Y`WSbLcjFT3M^GJX z$2@Aux}sjenW&}9Ld{eWYR`;8b#w;mJy2o4Utqs~ek}8!$rp8;(2chv%VqZB5xkDt zRCT;x^`dG)t@%1^!B*q}GAaCJ>V>251)PPG@E4ea@#EYVS1#&)Q>?ScG5@-86(`d1 zIn?7;i|SCbt#3vx(Js_TkE2HRHu6S}9oc;H5SSOqVxoq5`pgfAuGO*K#q7Z|Do5-I zjkc0h+xjB>9%1RfJ)W|qV(a&@FJT$Y9HJ4|5*(nOvmX9?TL)RAGNC(+XqBCn7QWSiO#QqY>8 zAkUE<?Zq&o`1bd`jh?SJoyRHvEC*2AKw9L ze+DTho5?|ua+dIe6< z>ON0lkUjYrHj}5xT6=CG=8?{19yvfxlVqZ!H(3=c@g~Kg!fH-$JF?C)&2&5C>R~qxiUU65DNRE>oe9SB>Mus*y#t|=eA1@Ry$38--~V2`i^d& z6LuOxv1+uXZ&gx?na?*)PPpx6R<|zvYH5S7+R4eS4OROBdEw~otnG0<^!FniDU(C>P5$=} zgrf5b<|al@7ww8~=dGdF)oq@Vvh+s!8+7XE5oe;cC4r=3hEeU;X}1t=tas{t4ZfO? zTW4S|H2535!S99^jDAwOA#UOdZ<9Cd1bsn2U)IqBUpVybz5R~&{WrN$wU=KPm`O_l WTx+Y&9LMnm1QoSV6D1;U%0q>#7gR_TA7mP4s2KRl4B@JvfdZm{b<@H!OHk}( z_^3dwNsDflO%1&?8+$sFmBW~0jgys=mc6Dl`u^@&X4;wm{p=pjIlKGc-9wx2O0Dmk zK3yI&lzqf?#2ul=e1}cp{7?p8WlTRDf{{2LqcI=nVL2w?C-(YpIFWY5)y9m%T-5Uq zVHobjuGoSh#`w&BDm}T-YHw&mJ#Yjypmywwf8hY^8R5Jr9_h;@BQG*zuse>&ZkUbt zU@ks@pJOk~>+MXW5X0!-)KJlb>#z@QvhGCsG_4qg@1jQDjsx*KOvErAqH2br?w^1u zIKy6Fk4ok?)PQ%P`a6K3^luJPQEJ+-KORAKcna0QpQw&wNrN(zh}U8!uE9CD5|85n zyy+Ta7UQq@9M0t-J$Hp44YV)os7%D8Pa_&ZWddg5^>{yOK+j?xK96zOfy*(DQ3m4{ zRI0b32Dk$!VGDM_AF&oM;A~vR`suyzqn7;G0P?Q~zv6;YciP@?0hQuEP^pU|9U5^Q zs^e5-vSt+O`D`RfW+t-CrU*5FRj3Kppzhmf+gnim?T#Y!TV_q~Uj>2cIRzec70JdzCaFKU31KDIc^WTKJ2j0ZJ< zsi+s^qc+O|)QgtjP^?AXVfLU>`5r0*pP`oITh#qO;Y-+o@%T~_lXWVy{&T!qi0I*uhR({L(I!6z^oPh$@Dbg>*bAM3CMwS-AGuu(A$HKBUs zQ{yvFITf=DmAV$x$X-RQ(OalgeTx&tvB`CC(p59hT&hRP1u1- zc?2(0htbIDnGvWZ%|-2P#Jgz_4oa_24BYq&@;rz#6jeQn#0%? zPoX+Ki`vu|Q3D7a>g@g)WFMO0*bS!*CI4i_T$N z<57>?&%E)$93in_i+;9K>4r+6?qXu*d^##3*TGGf-&csqt&re28@HW&0=U}qV ze;F0+$|lsNdjpk`qo`BSZrkT@H|@)qfIHHh|B8oE9sGd$UvLqXfuwY2t+O$b_G+xa z%{T;u+1aM?runDzP&8W;A zMD39_)IdMA?GxzJ3(is@Yvxyc4im>Xo8=?ahvo#T?X9vO9_=S2Xm)&5Gqp}wEl~UorKDx#CAfTVNQs-k5I`b8Ui)v_*B{Y zG$bj3bSkx#_WDy+vB}nlVJN}=4SaQ%p)ZRcl_|v2gpSwQh1fKO^#j{keT>L;PPx=7u$<#iaUcVrGSQbCs34DvB$; z{=Wx49MsEOR9xvQD6OtsT3ous|61Jcpi${=Pl`Kbv@0boW8~;0Pm0GAK4ZE&*IQLw zQCwE)o>Wlj&2Xi9QqtWiscsMVjm$_*_isv=65>BOq%7E, 2012-2013 -# Baptiste Darthenay , 2013-2017 +# Baptiste Darthenay , 2013-2018 # Claude Paroz , 2016 # Dinu Gherman , 2011 # kristjan , 2012 @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-12-09 14:27+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-30 21:41+0000\n" "Last-Translator: Baptiste Darthenay \n" "Language-Team: Esperanto (http://www.transifex.com/django/django/language/" "eo/)\n" @@ -92,6 +92,15 @@ msgstr "Aldoni alian %(verbose_name)sn" msgid "Remove" msgstr "Forigu" +msgid "Addition" +msgstr "Aldono" + +msgid "Change" +msgstr "Ŝanĝi" + +msgid "Deletion" +msgstr "Forviŝo" + msgid "action time" msgstr "aga tempo" @@ -170,11 +179,11 @@ msgstr "" "Premadu la stirklavon, aŭ Komando-klavon ĉe Mac, por elekti pli ol unu." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"La {name} \"{obj}\" estis aldonita sukcese. Vi rajtas ĝin redakti denove " -"sube." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "La {name} \"{obj}\" estis aldonita sukcese." + +msgid "You may edit it again below." +msgstr "Eblas redakti ĝin sube." #, python-brace-format msgid "" @@ -184,16 +193,19 @@ msgstr "" "La {name} \"{obj}\" estis sukcese aldonita. Vi povas sube aldoni alian {name}" "n." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "La {name} \"{obj}\" estis aldonita sukcese." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" "La {name} \"{obj}\" estis sukcese ŝanĝita. Vi povas sube redakti ĝin denove." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"La {name} \"{obj}\" estis aldonita sukcese. Vi rajtas ĝin redakti denove " +"sube." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -232,6 +244,10 @@ msgstr "Aldoni %sn" msgid "Change %s" msgstr "Ŝanĝi %s" +#, python-format +msgid "View %s" +msgstr "Vidi %sn" + msgid "Database error" msgstr "Datumbaza eraro" @@ -340,7 +356,7 @@ msgid "Change password" msgstr "Ŝanĝi pasvorton" msgid "Please correct the error below." -msgstr "Bonvolu ĝustigi la erarojn sube." +msgstr "Bonvolu ĝustigi la eraron sube." msgid "Please correct the errors below." msgstr "Bonvolu ĝustigi la erarojn sube." @@ -450,8 +466,8 @@ msgstr "" "Ĉu vi certas, ke vi volas forigi la elektitajn %(objects_name)s? Ĉiuj el la " "sekvaj objektoj kaj iliaj rilataj eroj estos forigita:" -msgid "Change" -msgstr "Ŝanĝi" +msgid "View" +msgstr "Vidi" msgid "Delete?" msgstr "Forviŝi?" @@ -470,8 +486,8 @@ msgstr "Modeloj en la %(name)s aplikaĵo" msgid "Add" msgstr "Aldoni" -msgid "You don't have permission to edit anything." -msgstr "Vi ne havas permeson por redakti ĉion ajn." +msgid "You don't have permission to view or edit anything." +msgstr "Vi havas nenian permeson por vidi aŭ redakti." msgid "Recent actions" msgstr "Lastaj agoj" @@ -534,6 +550,10 @@ msgstr "Ŝprucfenestro fermante…" msgid "Change selected %(model)s" msgstr "Redaktu elektitan %(model)sn" +#, python-format +msgid "View selected %(model)s" +msgstr "Vidi elektitan %(model)sn" + #, python-format msgid "Add another %(model)s" msgstr "Aldoni alian %(model)sn" @@ -564,6 +584,12 @@ msgstr "Konservi kaj aldoni alian" msgid "Save and continue editing" msgstr "Konservi kaj daŭre redakti" +msgid "Save and view" +msgstr "Konservi kaj vidi" + +msgid "Close" +msgstr "Fermi" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Dankon pro pasigo de kvalita tempon kun la retejo hodiaŭ." @@ -675,6 +701,10 @@ msgstr "Elekti %sn" msgid "Select %s to change" msgstr "Elekti %sn por ŝanĝi" +#, python-format +msgid "Select %s to view" +msgstr "Elektu %sn por vidi" + msgid "Date:" msgstr "Dato:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo index d5b01200f8ef8c7a829e09cca10c5381f014cf6c..9b6aa8f21ec04911ba7ba4797c09b7aa2d7afde5 100644 GIT binary patch delta 26 icmaE&^h9aHBraYHT?12HLvsZ~Ln~8*&GWgAvH<{fc?b;v delta 26 icmaE&^h9aHBraYvT?12HLvsZqV=F_W&GWgAvH<{fVF(NW diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po index 01df2e9..f101319 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Baptiste Darthenay \n" "Language-Team: Esperanto (http://www.transifex.com/django/django/language/" @@ -101,27 +101,9 @@ msgstr "" "Vi elektas agon, kaj vi ne faris ajnajn ŝanĝojn ĉe unuopaj kampoj. Vi " "verŝajne serĉas la Iru-butonon prefere ol la Ŝirmu-butono." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Noto: Vi estas %s horo antaŭ la servila horo." -msgstr[1] "Noto: Vi estas %s horoj antaŭ la servila horo." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Noto: Vi estas %s horo post la servila horo." -msgstr[1] "Noto: Vi estas %s horoj post la servila horo." - msgid "Now" msgstr "Nun" -msgid "Choose a Time" -msgstr "Elektu horon" - -msgid "Choose a time" -msgstr "Elektu tempon" - msgid "Midnight" msgstr "Noktomezo" @@ -134,6 +116,24 @@ msgstr "Tagmezo" msgid "6 p.m." msgstr "6 ptm" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Noto: Vi estas %s horo antaŭ la servila horo." +msgstr[1] "Noto: Vi estas %s horoj antaŭ la servila horo." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Noto: Vi estas %s horo post la servila horo." +msgstr[1] "Noto: Vi estas %s horoj post la servila horo." + +msgid "Choose a Time" +msgstr "Elektu horon" + +msgid "Choose a time" +msgstr "Elektu tempon" + msgid "Cancel" msgstr "Malmendu" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo index 335a9c79f825db9542046cca291fb3c67f77c0ef..cfdc2b0dc81646d50148d08ab82f1d0d267038b6 100644 GIT binary patch delta 4251 zcmYk;32;@_9mnzWvXGS&!V(BcxPgQaNXQFeO(2E@HOL}Fpe&X0B$x0otwTzyz&I5b59NHLdOvo&wlFWfd_kuQ5hZ|4>+KWB#ZR~>|q8{`W#^b+{ zF_|Bc2b!4f#w1`o>U=7$#eTRRcVkz~O4Woy%#?~AScSUr5#*nl=~{J16^s`RtpdK~Q7MzG{F$UkqHQ3pQ{Qr_l71Ps$_oDW~ zVbqPMQK@{(J>Q8+`DIiJzef%D4yxls(m*mySJeI4$ZD8;WP6x#r~ynxO|T}N{OdxW zd%%zCaHZScgxb}+P%lIn`{VD?!oOn>bTnNgqOYR{dL~3g zss8}Up1Fn^;kU^0nIDkJnfOd+rUOs|@uD6y4z+ixP!F7ndY%u5U^8k02T+-P2bGad z)Dne0qoNyc;Ay;#x%eszo{t})GISfu@g6d1Q%)MZI2YM2W;3?nE2xgsEMul%B|eNV zVgY`N(=aC6m`Qs7AEUB?1N%{HI*_v4_q&~ z=P#pXehro38>r|0groKT#||`R3kSxdQgR8S@nh8Hx`yrePb|T@9QVV7OKHE2<8dHq zQ)YZP7@tBd)iKwzsOMflP2fFDrhjwQz2FPf$Zop+;2yt=npwgiz6Bm`My32np3~tw zs5Sls7vlG*RM#*HwvP#+mTn&|z|WCYHl_KTi=#4!N<1z^wf(4F+lX3{cI1^cTao28 z$5E-gi0a@=Ou(N|&xvINXh~8~?JU&u^4#NNP#LWrLjDg^`LlbXVW=~*Hq-<6q1Ns= zvhPe7HS>>AoAxG>eRCJp(Ez4Ra?DWVkf}i}NgL{|*o{?q0`>NMS3v&t1-!+9WK1q} zI_Qguw7sYc%TOIuqEbB>*$$=-i*XAk;RRHtE}>F<9k-zwrmb$wc07-%Mb00i&JdOB z9GJqpq|_JjG`;VmQK_DR+ANKz@4?gfDDK4J_!a8DJ~Y;#h4g9m;cEO7YTysDb2Y$e zsP;Up!O$Wqn&F#x0x#fl^p9|M|7WO_e~lW*J&dgFNawyR9Ki8hR0gXt6=z`-E7nAyoy15 zel(w1^o-$Sh38O9lRQ@au_!~RsKfE7UHuSh4Huw=D^LS`8GGX))UJOEyW(F^1HX>S zSr?2hgDJnq1um|f}ov6_l)v{zsi-a-pYX$;5ts0_b=TC#&xA!bA690&B^ z^R5@MC+)vt5Bv{mcY7u}Z$S!bW|^q_RR$93WCgK+P|Cf;ZwSp=WwV3Xi6>R3|42E) z?;N7mX`09JSA^F0eyMOPyrGfu48Iw~SmH6_L1G!9@)EHqQggl+sw!h_1=FDhWdm`) z|Hy&C{Juy$9BKXh(?T`cZEBr2y7f({bgNi|Hd`w(k9dP%-$uSATB0;U84eIH5beZs z>c4>s-xTvI@oQoWae`3M>!uMtL})p-5{C&b#U5fcQBFKfsALka5bKF!gi0f!w`Vai zlgK0H6HamGKY^BZx=KHSZ%(8o2k_g=5E%64K~ zq~`oAfkSS)1}n9?3#sI|2a9kOF@;#`9-E8#L^om+#&=4NlZBA57eW2M6uS;DU9cS0uk;8X-&Fm7_ zP;0gN?G+u9GR7w6He10!q#0hFF+Vom%;t=h+uU(AyJvUqS`@Tvt=z%O0=0I1eslPX z?9HAu-E0M#EStV8U&E^45`RP8Fw?Qg$_%#-Jm48QrqDaGaCos*JfgICRH3)T>rI^g zXkm@r>ThOjg%f>2yVM%)E#|t>g(X}!s&vHI@TA-|(Q$Q6cAc*_5PpAfjwk95r^5fr zzu<|ro0@!0;lo2qW8x|U)H(lo(S&HucVw2#(`745PI)rydW$O=SgjrO)z@>GwanLS z`JV7C4TQ@^mPf~~vRdt?j^$&fbhnwK)!1TlZL{s;aQN()tS;$hw%x>;2zGKkDhtBP^aAsP!-QFY+~64Zd0*v-ghgpYU^cTPn_Y{s){z_fh}= delta 3888 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po index c62ab2a..9931f7b 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po @@ -3,13 +3,13 @@ # Translators: # Jannis Leidel , 2011 # Leonardo José Guzmán , 2013 -# Ramiro Morales, 2013-2017 +# Ramiro Morales, 2013-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-31 16:49+0000\n" "Last-Translator: Ramiro Morales\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" "language/es_AR/)\n" @@ -89,6 +89,15 @@ msgstr "Agregar otro/a %(verbose_name)s" msgid "Remove" msgstr "Eliminar" +msgid "Addition" +msgstr "Agregado" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Borrado" + msgid "action time" msgstr "hora de la acción" @@ -168,9 +177,11 @@ msgstr "" "más de uno." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "Se agregó con éxito {name} \"{obj}\". Puede modificarlo/a abajo." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "Se agregó con éxito {name} \"{obj}\"." + +msgid "You may edit it again below." +msgstr "Puede modificarlo/a nuevamente mas abajo." #, python-brace-format msgid "" @@ -179,16 +190,17 @@ msgid "" msgstr "" "Se agregó con éxito {name} \"{obj}\". Puede agregar otro/a {name} abajo." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Se agregó con éxito {name} \"{obj}\"." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" "Se modificó con éxito {name} \"{obj}\". Puede modificarlo/a nuevamente abajo." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "Se agregó con éxito {name} \"{obj}\". Puede modificarlo/a abajo." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -204,8 +216,8 @@ msgid "" "Items must be selected in order to perform actions on them. No items have " "been changed." msgstr "" -"Deben existir items seleccionados para poder realizar acciones sobre los " -"mismos. No se modificó ningún item." +"Deben existir ítems seleccionados para poder realizar acciones sobre los " +"mismos. No se modificó ningún ítem." msgid "No action selected." msgstr "No se ha seleccionado ninguna acción." @@ -226,6 +238,10 @@ msgstr "Agregar %s" msgid "Change %s" msgstr "Modificar %s" +#, python-format +msgid "View %s" +msgstr "Ver %s" + msgid "Database error" msgstr "Error de base de datos" @@ -335,7 +351,7 @@ msgid "Change password" msgstr "Cambiar contraseña" msgid "Please correct the error below." -msgstr "Por favor, corrija los siguientes errores." +msgstr "Por favor, corrija el error detallado mas abajo." msgid "Please correct the errors below." msgstr "Por favor corrija los errores detallados abajo." @@ -447,11 +463,11 @@ msgid "" "following objects and their related items will be deleted:" msgstr "" "¿Está seguro de que desea eliminar el/los objetos %(objects_name)s?. Todos " -"los siguientes objetos e items relacionados a los mismos también serán " +"los siguientes objetos e ítems relacionados a los mismos también serán " "eliminados:" -msgid "Change" -msgstr "Modificar" +msgid "View" +msgstr "Ver" msgid "Delete?" msgstr "¿Eliminar?" @@ -470,8 +486,8 @@ msgstr "Modelos en la aplicación %(name)s" msgid "Add" msgstr "Agregar" -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." +msgid "You don't have permission to view or edit anything." +msgstr "No tiene permiso para ver o modificar nada." msgid "Recent actions" msgstr "Acciones recientes" @@ -534,6 +550,10 @@ msgstr "Cerrando ventana emergente..." msgid "Change selected %(model)s" msgstr "Modificar %(model)s seleccionados/as" +#, python-format +msgid "View selected %(model)s" +msgstr "Ver %(model)s seleccionados/as" + #, python-format msgid "Add another %(model)s" msgstr "Agregar otro/a %(model)s" @@ -564,6 +584,12 @@ msgstr "Guardar y agregar otro" msgid "Save and continue editing" msgstr "Guardar y continuar editando" +msgid "Save and view" +msgstr "Guardar y ver" + +msgid "Close" +msgstr "Cerrar" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." @@ -679,6 +705,10 @@ msgstr "Seleccione %s" msgid "Select %s to change" msgstr "Seleccione %s a modificar" +#, python-format +msgid "Select %s to view" +msgstr "Seleccione %s que desea ver" + msgid "Date:" msgstr "Fecha:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo index e103c1278b84250f1793b10d69cac75ccf6e0370..daf4fb3e01a61686ade583af152a88aaae5ef347 100644 GIT binary patch delta 26 hcmbQEHb-s4BraYHT?12HLvsZ~Ln~8*&GWfxIRIyy2R{G+ delta 26 hcmbQEHb-s4BraYvT?12HLvsZqV=F_W&GWfxIRIya2R;A* diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po index 80c96f1..ed9155d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: Ramiro Morales\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" @@ -101,6 +101,21 @@ msgstr "" "campos individuales. Es probable que lo que necesite usar en realidad sea el " "botón Ejecutar y no el botón Guardar." +msgid "Now" +msgstr "Ahora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 AM" + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 PM" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -121,27 +136,12 @@ msgstr[1] "" "Nota: Ud. se encuentra en una zona horaria que está %s horas atrasada " "respecto a la del servidor." -msgid "Now" -msgstr "Ahora" - msgid "Choose a Time" msgstr "Seleccione una Hora" msgid "Choose a time" msgstr "Elija una hora" -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 AM" - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "6 PM" - msgid "Cancel" msgstr "Cancelar" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo index 44aee60d4055f6a905bef6b9dd45f61a6f299966..a84dbe0eaacc079c97a380b82a041438acdabe38 100644 GIT binary patch delta 4212 zcmY+`eNa@_8OQO%OGFS+d^ZujqOhVY!XlywieeS08Z}s7Vyas~ShMb0SW#njV+ul| zw$W8xC(D$ zK9&uz+gIak>RYi4ub`g)2ll}}1C2?;{+MD+*bJqRNyA9g4f&`C+^7N7;9y*fBQS)z zZy)x>gUA@nQRIc@ET-c{=kqJLgZi(q17~N`IsO`l(ZBhSf?jwZ_26eX2)}R~K!w4Z zTpWoW)C?A2E;gVGw;+$0H&OS$jV1U#l2r51`TSp~c_iu^O-9XiQ-=8dxqa!vY+SVf5okOvY^1NgWJ94KxSmVjiaA2HcLp5#)b4h5Iz< z#WhS*d!Zin;Br(d*PuQRqEgp=DrjtK4WTQH?oO&^8x6i_U_$-dWX0)&iLwFh&V-7cWVE`-eF{DY|rsE*I!0*v8& z%(ILs#ErNJU&lJUhn+hArDN^2{3)*BgKMZ6<*?8?4K7DFDutz}fz3fJRXr+Wt57pt zgL>YN<=BpU@H}ef731vhi5l#$^FN=$OMI{lOEHFI(PWNir(ywC;XzaeZsG*|J8CJ0 zkv5r&DOiLWs0THm+0N&SPy<`#*r;~;HvtN%_yYDMkrO1lX0*%hunO5nW(5W@gl@cx zO8Fp0vj(g1c|3}fFulOuBW0)oR-)Ft7WMws7}gqYr@(TV1E>ctIrTfpB+XZ-RF9)K z&8XC|8np=*qB7Hf+RQ;bhr945PUfZRFuBlv-&o9`KCh7cYgaF!K?7KW7KTx~{uq|v z71Tf+uBk#f&1meK6{at_bz~TvR4D6p??WW+x4r$t$R} z-;cb*oW~0M81=&8lkI_7s2Nq@9$bmt_zB*|07pdiI!1pNZ=z=WuE*~9Dr(@j!W6P7 z{1bKF)7XJt9ECNw6ZPO#?7{2Ufc`18;rpn8ca+&P+=F`GacskjsDY24YRs4D#^X4N zqoMZjbqYf%+;SQoV1Me5P#vdCvwz>Sa5(icRH_%EI&MMjksuDngE$dSqn7jo)O`<8 zGyWX)-ci#NKj&fNqM)^|M!jg2V;BcfKZ#7zyo)?*9^juak9BzsQ)cidiCvFP6noeh z9Cee*nboOrp$1TcIarVCrv+U)|NAItMDO4Pd@u0<-%vP$diG3qK2Aj4w+Pj~616#7 zkz|>ZXyM10jbEZNHei-rccC&j9Vav31}qEH&{1uSCUFJT!DIX;Ce7xD2iGFo!yH4M zf)DUh{2OWjx91r1GG?-2I`J^F>}J$lCWlKgf`7ql82XyM#M9@o{)cIpPeC2u!F0Um z)E}Zw!&j(Zv8U$SDJ?|ZUyEb#8PpzXLmkVP^?4Hi#X{|g8@2Wle1bXDAK-hKQAhq4 zQTSb*ox&&UjrlJ1rML-iAxGZK|GNF#5JIK)I_kxL#$f@!Gx z7vlhIL`@*Hfc!Ji#BaAY)9XYkp)ZL;gszut5;NOLx!tL6z-2_fQ{RsvqRXi_q6Vw$ zO`F8BsQ7|Y{|@~dmcx9XSWD>A`PFrf7*Fh0h3i#9*?NUoO0*I|Lf0%}NTS5%!qY^l zQx~fVj(#Fro7KQYvb6vCUk$;MB(5LwcL|}iZA-Lprjd*#{!=-@Y4hPYVi)lSp$*7# z8;j8O9MMcD-8zPaLk)W3ztobpzDhM3~i#dcyY zp$)u+Xdqk!hvR?OLZ`F`e?W}Z{KrtxEQ%YL>)t2vx&aM^F#{KpWu7MJVEpj-y?oP{P)Uq z3N!F1(M>!}tRdQna>7sOi)R{ff|x|;80tGk{hKpH8nJ`;2BB-ZP2!s_K)I99cffk5 zz2317s|X#}!9)?Uky1TYZ&|T(v5WCt zR_t=@LcGh0ou-*$QRINDJQ{JWP0Eb*#&^Xo#k=`@cl5IfzfVa!tp}<6yzo?N#_coq zi>R+HdA46#yxWTJj(0}SRQ{shz)s%P8}CZIni2Fy8fzzd;+-Gu{p*W+c||uL?$*ex gcxUWv>;nIK<9n=lH*Igndii_V(paP2wWZ1b0mH&6(EtDd delta 3907 zcmYk;3vg7`9mnyLhY3jlV?;ALIc`15?poc&_c!6lxkZ#bX<(W2#$T|$c(RwqvH3s_hzPN`0wYOo4xm( z^FQa@<>tPy(|f{vmlGoQ7|OFm3i04A#$3aLv3yXRLyfru@5bRc8I!RRmtqrU;yd>B zFL4U(_*;!BzzWp;+b{|bV>I?)gfTwTOJy(@PT5~LgSz1j)PVZ&cKiktad5o#pbVrh zGX{B(DZv<=jDv6{{v0cC3;rF4;KJLii7dw``Zw#T=*EqhfE~7nkv`2SOu|=DBk#vF zyoOmA#Z6SrSk(8+(1UaB>zh!?+>IJ=7plMK@fP|wuTW8H&fo}q1J&UNs1E*z>Nu4& zC^K1jCzj%4xELSB3-~-v9cIi5{2Y(r5^mCc-}9k?-p)EI6B+2!i1MhE;XODCH=_pB zjSKNPOvjs8hv|$m9CxBpy&E;aLpTk4FcSZZZFn6Q;cC`T&wUNGjNxdr#Tzov8kfB$0o8 zp^ppN)n_pd`!N;&g$|4+-!16Gxp)ZM@iQ#OwcMwK%D~@HOL7(U{ZH^D-oy+% zIg+D{|3qcPcazE_D$y)FlQH+98@W7H;=i#29c&oQ z{CBAL!Aqz;^LyNcZ($CWk2Yo%uEkQF{|~8X=BeqdFBYSgV7YB0>Va*j0s2q_*>3;+ z0BS%dY){$OPh%w4-@*f7OaMuusmZkZYsX~zH{Db;lQXE4e~n7@kSyyJI{^!5`%yFa zGe+T8sDXZmTI)fKULB;Mo>PLXim5=|*JQU3BV#dV(5Dn%qoNsofqJlZh%yq5+O=ue zi~0Buyo&1RB}Sepho-}evfbCQ9RFv(Dl0U)_tw0b_Wi@-KZt$#!T!* zy?8F7GW#j2UtcskPir_7HM2Zq8O?Om8aAQ6xC=Go{ip|@M&8cmO;jqcpq_KXcGLvx zg)|izv#CV>nGQZaz}IoV&VP3ituWS~1*)c6T4KHXkD=ahZ=wcp6?s>g|DZaGX2Y=Y z%^1{x7N8R!wy$qPPPXZ@|9%k@Xq8s-uYv;z{}sz2Wq7P|>>oiijk%d7dCt$fS8DRI~n9yVkDHLiS^5 zUqoPweSN>J(2Grlcba~3Lz_1pR}((=Sg5e1<^YjE7fbB=)c?CSj`}vc z-HHxk1EFK7vdALzsk2{A%puAMtI+=-YHIdT2~|peuf1c;MTFwur#v!z-c!ms3VW52>!IZE<)T*0t2sHmnR}r5_0^D0I0! zE>DreGrl;#D97z_yJP3haaB~Wt!=JtY;aBUwp158a@`)jSLDjgb9g2c7v%fD%ScRX ztnt>@d#fBX8k?J|Ya1N18&|b>Yv{r;adu68f!po&=ViVd=P7ZlscUWW)|I;b$yxjS zpJc`R6P!hH!S4Rft50+WPxg2E=R4C}72F?VN&1, 2015 # Arash Fazeli , 2012 # Jannis Leidel , 2011 +# MJafar Mashhadi , 2018 # Mohammad Hossein Mojtahedi , 2017 # Pouya Abbassi, 2016 # Reza Mohammadi , 2013-2014 @@ -12,16 +13,16 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Mohammad Hossein Mojtahedi \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-23 22:46+0000\n" +"Last-Translator: MJafar Mashhadi \n" "Language-Team: Persian (http://www.transifex.com/django/django/language/" "fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #, python-format msgid "Successfully deleted %(count)d %(items)s." @@ -92,6 +93,15 @@ msgstr "افزودن یک %(verbose_name)s دیگر" msgid "Remove" msgstr "حذف" +msgid "Addition" +msgstr "افزودن" + +msgid "Change" +msgstr "تغییر" + +msgid "Deletion" +msgstr "کاستن" + msgid "action time" msgstr "زمان اقدام" @@ -171,11 +181,11 @@ msgstr "" "دارید." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -" {name} \"{obj}\" به موفقیت اضافه شد. شما میتوانید در قسمت پایین، آنرا " -"ویرایش کنید." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" با موفقیت اضافه شد." + +msgid "You may edit it again below." +msgstr "می‌توانید مجدداً ویرایش کنید." #, python-brace-format msgid "" @@ -185,10 +195,6 @@ msgstr "" "{name} \"{obj}\" با موفقیت اضافه شد. شما میتوانید {name} دیگری در قسمت پایین " "اضافه کنید." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" با موفقیت اضافه شد." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -196,6 +202,13 @@ msgstr "" "{name} \"{obj}\" با موفقیت تغییر یافت. شما میتوانید دوباره آنرا در قسمت " "پایین ویرایش کنید." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +" {name} \"{obj}\" به موفقیت اضافه شد. شما میتوانید در قسمت پایین، آنرا " +"ویرایش کنید." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -224,7 +237,7 @@ msgstr "%(name)s·\"%(obj)s\" با موفقیت حذف شد." #, python-format msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s با آی‌دی «%(key)s» وجود ندارد. شاید حذف شده است؟" +msgstr "%(name)s با کلید «%(key)s» وجود ندارد. ممکن است حذف شده باشد." #, python-format msgid "Add %s" @@ -234,6 +247,10 @@ msgstr "اضافه کردن %s" msgid "Change %s" msgstr "تغییر %s" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "خطا در بانک اطلاعاتی" @@ -241,11 +258,13 @@ msgstr "خطا در بانک اطلاعاتی" msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s با موفقیت تغییر کرد." +msgstr[1] "%(count)s %(name)s با موفقیت تغییر کرد." #, python-format msgid "%(total_count)s selected" msgid_plural "All %(total_count)s selected" msgstr[0] "همه موارد %(total_count)s انتخاب شده" +msgstr[1] "همه موارد %(total_count)s انتخاب شده" #, python-format msgid "0 of %(cnt)s selected" @@ -449,8 +468,8 @@ msgstr "" "آیا در خصوص حذف %(objects_name)s انتخاب شده اطمینان دارید؟ تمام موجودیت‌های " "ذیل به همراه موارد مرتبط با آنها حذف خواهند شد:" -msgid "Change" -msgstr "تغییر" +msgid "View" +msgstr "" msgid "Delete?" msgstr "حذف؟" @@ -469,8 +488,8 @@ msgstr "مدلها در برنامه %(name)s " msgid "Add" msgstr "اضافه کردن" -msgid "You don't have permission to edit anything." -msgstr "شما اجازهٔ ویرایش چیزی را ندارید." +msgid "You don't have permission to view or edit anything." +msgstr "شما اجازهٔ مشاهده یا ویرایش چیزی را ندارید." msgid "Recent actions" msgstr "فعالیتهای اخیر" @@ -533,6 +552,10 @@ msgstr "در حال بستن پنجره..." msgid "Change selected %(model)s" msgstr "تغییر دادن %(model)s انتخاب شده" +#, python-format +msgid "View selected %(model)s" +msgstr "" + #, python-format msgid "Add another %(model)s" msgstr "افزدون %(model)s دیگر" @@ -548,6 +571,7 @@ msgstr "جستجو" msgid "%(counter)s result" msgid_plural "%(counter)s results" msgstr[0] "%(counter)s نتیجه" +msgstr[1] "%(counter)s نتیجه" #, python-format msgid "%(full_result_count)s total" @@ -562,6 +586,12 @@ msgstr "ذخیره و ایجاد یکی دیگر" msgid "Save and continue editing" msgstr "ذخیره و ادامهٔ ویرایش" +msgid "Save and view" +msgstr "ذخیره و نمایش" + +msgid "Close" +msgstr "بستن" + msgid "Thanks for spending some quality time with the Web site today." msgstr "متشکر از اینکه مدتی از وقت خود را به ما اختصاص دادید." @@ -672,6 +702,10 @@ msgstr "%s انتخاب کنید" msgid "Select %s to change" msgstr "%s را برای تغییر انتخاب کنید" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "تاریخ:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo index ddd5dd80889b979a03141a15163d75ee2e327dd4..7c6fa113bca69db59948fe3edd106db159bdadb2 100644 GIT binary patch delta 485 zcmXZYJxBs!7{Kx8?A!DFC}}G$BGN(d1j~$au0?PNl9r&LK|+M4z$1tvL5QTLK8T>9 zNw^`3wi=rQ=fbHa+M=QV+r4n`yXSeIkN56%x|M7{8Sb?qvK$oI6p>F;WC%+kkr7-& zj-;yH#R%~M^2nL?2B(PIIEioCA5?S3Es;^oU;&q~h)0&V|ARUt)S|BT3svJUGDD(a z|9lJwi4$4}dx`U?E>^&PEMgN^v>&ME)F@JWTx}!b`VFTf*d^ykt=#E?2ka2P;5S}I z{Q)O2{~{MyCVz`+urW+8hS22C-s2zZDmRSK_q8{w_KKO$*6@Bjb+ delta 473 zcmXZY&npCR7{~Ev7K_=P-DPXbfmWO3u(dNA%WhJNgA(U0MLB5?QgYlsVviDMQficK zqi9Nr+}NBP{J0Vqit_&2r@r-?&olEp-|u&7BR9iGr&e{_5}C6_JP~<~h;(CLR3wQR ziA}C= z23#jv2f4>G`4LUM*dwx!GZ^8|zGH*@(<>6f6K-W}sAq%vaIOaGrFxb0%WdPG&R8}# mnsp0lFJE*$f7hO{9JiESuWW9tR3>vJ+aHJ?hy3MuzT*!uDmvQ$ diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po index 7f5d4fb..5f8db3b 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: Mohammad Hossein Mojtahedi \n" "Language-Team: Persian (http://www.transifex.com/django/django/language/" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #, javascript-format msgid "Available %s" @@ -77,6 +77,7 @@ msgstr "برای حذف یکجای همهٔ %sی انتخاب شده کلیک ک msgid "%(sel)s of %(cnt)s selected" msgid_plural "%(sel)s of %(cnt)s selected" msgstr[0] " %(sel)s از %(cnt)s انتخاب شده‌اند" +msgstr[1] " %(sel)s از %(cnt)s انتخاب شده‌اند" msgid "" "You have unsaved changes on individual editable fields. If you run an " @@ -102,25 +103,9 @@ msgstr "" "شما عملی را انجام داده اید، ولی تغییری انجام نداده اید. احتمالا دنبال کلید " "Go به جای Save میگردید." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "توجه: شما %s ساعت از زمان سرور جلو هستید." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "توجه: شما %s ساعت از زمان سرور عقب هستید." - msgid "Now" msgstr "اکنون" -msgid "Choose a Time" -msgstr "یک زمان انتخاب کنید" - -msgid "Choose a time" -msgstr "یک زمان انتخاب کنید" - msgid "Midnight" msgstr "نیمه‌شب" @@ -133,6 +118,24 @@ msgstr "ظهر" msgid "6 p.m." msgstr "۶ بعدازظهر" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "توجه: شما %s ساعت از زمان سرور جلو هستید." +msgstr[1] "توجه: شما %s ساعت از زمان سرور جلو هستید." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "توجه: شما %s ساعت از زمان سرور عقب هستید." +msgstr[1] "توجه: شما %s ساعت از زمان سرور عقب هستید." + +msgid "Choose a Time" +msgstr "یک زمان انتخاب کنید" + +msgid "Choose a time" +msgstr "یک زمان انتخاب کنید" + msgid "Cancel" msgstr "انصراف" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo index e7420b47dcc6a29d9877f587aa3cfab7f51d55cd..73edb24d1e822287c7b2c6068c542fad332f9014 100644 GIT binary patch delta 4261 zcmYk<3vg7`9mnw#@+1Ky0TKwW8$w6|SxkWNmPZ0=RFIcEEf|wavNUAFK4J`nm6t#O zL86VC1_41uQ-Lm8s^d5mOLT_vuv4g=!P=2dWomUC$1;>y`~B^`j6K7DKj+-NdmjID z?gc*I5%bmVnDA$5anBpdNn#LjB;J^BuposG%9p*2>4!Hk9e>1un0}Wr%W({jz&)tz zr*I}-!eUJ8?fm|JOrX6I6Vb+4W5Q-Fl^$GJ=iaapHQ+YXgxatVp2q%o9@Wv`F$upy z=48G{Iy7;q#&pLd)c0xFgadIazKA_>NSYQDW~EfrVJYf|42B<+zG=#IT3FGj0xE?$Elm8`DN?D#dZbO}g z!>At~N2T&N?)ROjlwUxl@LSY`yHEoslLnGudZK=xh3tmOM~;V?ikiS2)B+b|l7HP; z?q2Ys25fNKJ5Z;(74<+wa43F&7XB53sGH_N2)E-ooQ!ih!5VlcYQUFJ3q6LK=!q~D zrT#-Cd*%vihF>GwXTC!gXOadxD;9C4xlpoE-E9P zs4WWrg^GUo1s=znn1ipe;raLnREBQiH2e`+w3$X43UL{7Tud{D@DOU?49l2@umtbJ zy;y)(aW2MX8B?a`e<77^Txdt_X*L_Y6i1_0wjK3UJnPzuN@Y80VjZY0JB7;Jhpr#H z-(Ntj{0b_=U!eNEjT7|z$7dU}iwpOlQt~mz;wPxXbpaW;a~FbFcq^T3PoI#_pC` zxrOYSNoT{=&qR#J>8KUXMooMXs=sBfYw!^5^&`pueky}UIj8ajTC~ri2EOiI|Cf7R z%hJ=3g}g(|6l76m5vE`h>QL@P9oBbI_uoRj==yk^!LCcnh_# z6lU$ia5@#;@H8I4XHXq^ik%g=p;CAhd*BDCy*%%Je+{+bf1nnSJl=WC(ov^9-A2wF&Q2(cWIfUic|0^H~-a<2QEULdCzJt4wu}vwDL<4TbD!hqd`ZlYkJO5y4!)n?+XE@JiJ!(b$ zXF7jhXQR%*%cu!-pfd9|-i2pSXX&!r{?z^c2I~Ir-S&S`8A>i8|9MmfvJ7=R3z?Le zk00Sa)C885I)|web&9L;Eo{VlF@KhGChBkl?RK1lnY`|l`fAjc?LlSsG^(GAv&nxq zDu3gGQg$7+k}lLK?LqH-aTscACSWGcMy>oYj6s!bLXYGV#7ZKE;OUM&{|Ttl>|mb9 z4%M~)Dz6YriApsnKO-I`CaB?-8Lm9S(XxflK?LVC`c7cZ(MK1|FNg|NC=WZB-N;cf zEpB@o-Wfl7Nn5d(xG&oJ=_5on)@=^J?QVSsZglGwzDm>+%L#3d4qY8Ficofyav$*w zv6 znpjONB65ipgj3x0b0DK9R2K&l#i~%I6UU-8=OfOo2VHG^ozR(4d5(CI(4kEuh7fJU z3F2i!Ws^hnAHG91{)5C^;%VXlp;F{vyf}+E?zY7d!b7wYDFlzV`8lCdO4JaGiC%0YazyapF$lZ5jQ4-AU9F5+LRgexiVwL%cv_5qfRkDSB%3 zHdWbAJR7Y!AJuTsZ7;wQ?e1e#hPxN<#wUq~h$i>iGR!A>6ORz>#2Z8+p^`~7L~G9L zbtLs)xot6pxc~p!stzN{i83AQ_()E#?%fh9y+N<9HZrRB(r$4zzJMLsl-3lRXxG@$ z%U%5zB_!5XTJ>K0iI%cKlag}+R?ru1Mj8jLh)*($`Nql#v|P&So64^$f_9~qlegAa zY1iZjBG0w(%jdUj#2$1@r8nst~^g{!o9YC zt?iHG6|9I$Ss1FT^Veb$gYTMtE zKWS}xqg9jZdwh)@WI@*1gYK7+?UVkTP%zWI(cGzUk6G;V`mF%{*4S3S8?@aoTOtM7 vk-8ZP-4g3{gD=$LFBv|f&KIh;HN@FtB*OMS) zw1CKslp_I3vx*vs1_)76qo}Ba03tCGC1@1Um?(aK`(6_#`R`}m?0au!{xk3G-d^wc zZneXItz+00Lpe-5NK6km<|giJ!v|$Rdt*A|K#a!`*aN5F)9Ax~_^I7~7e{g&`+zZN zSctlQHAdiWjKn4kHO6m_QHi0U#XjLZ)CK2J1G<87_!oA?m{{vZeUZM*VB|(78>4Xq zM&Vd|0SobE{2be1aR+N6voV7H%`z&wa5;9wb+)^aK1~aD!!xLnU%}pZ6Z>NX7g042 zqt4GkH%_$M>rlyTL=AWks=wnHPXFc|DoV|J*agp{I=qVN;7?S?38X=p>5tuU7%su5 zumUgQam?#v%pCj;-@vI{r0f3SLj#Rt9hHf`=+}r+spMcTK7=b!1KN+pcmxyiJ}$&W zMj3+js8lzi2Dl6Ju?fTQC#=O^@JU?2`su#sP)mNHEBV)j-_W4cUAIs81(o7^sMK{M z9U5^Ws^b)7vL+36{a7SPW)iZ@rW7@RYSaXmq0U=lAJ?P$+uM!&>x2_DXji|FZSe{w z;E(9UNb+5U18^el!c}+&v#^GX)o}~zerHiLy@(pPB;M5Y{61Fb7eoJd4V}XQ(Cl9(DfD*o^nFFE;n&QN~NCjQHH58guUnRl@c zKR_22^f6{W*5EKb|2L>;<_U?cFJ_^ZV76^J>V~zb0s2t`*x1DGa0i z18i_G0aQk3^|O|GG4`N;Q%|K5kD*f8tG~7B#^X$m%W)KbhFbH^j4}eiarm3WMP)9Q4C7+_2rDq0M`9i>#(nr5YH!qyuzprw zMXh;sjx~UIR3;Me0d%4ER>}!dHS1r_Z0e5_3552^WTLe!rP9=TfJFq`j=ucXE4GpYt;r;UWe=te zObIbs6^aI`_106cn0S#;X&@F7jXI!gA@&jj2`!&WxrKIou=L@xFYyZf2mh<>4mKO} zD!xvH5j^_lB|=3{#-?D+`d3?H*T*5-C77*Htg_p;+lqB|op+gja)W=%6LA6IXX%1v z44*rQjzlVpcheUH)!1t*mW`0uIK%)?Gfs$?c-{6655d3oGMRR1V6j-=^-W%IfPZ{KZ=?* zS8LJETtyTR+O-;DH)1@ok$8~UM$8~omJ@4(HS5C#TM3`trbo?9Y$l$y+w|1wiD{#o zYv+d$WyBgnWjOIvux5R%hiSwfqCc^Wm`=2o0d^$=qwV@WPDKjo<-qN&hj#6rMJox_`CO7M>|icx5`;kwzO)Vw`^|UWa3^&T1HZ`JIS5tbf;$x z$#f;Vlat#_oRC!Lsqt2N%gd7TOR79sΞ~=Vi8@=MJpv_f}|N^dMJgWL|mM9ItOt z!;SpTfySiaVS#Jzwc&A|N~g!?^HlpPot4$znvya`ur#AfXv5*GnSsICA4SAYDfjyL Y&gWd{u?Coz8yV72obL?m&%faK4?lvY>i_@% diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po index a1b211a..7957b6e 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po @@ -1,15 +1,15 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Claude Paroz , 2013-2017 +# Claude Paroz , 2013-2018 # Claude Paroz , 2011,2013 # Jannis Leidel , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 15:45+0000\n" "Last-Translator: Claude Paroz \n" "Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" "MIME-Version: 1.0\n" @@ -88,6 +88,15 @@ msgstr "Ajouter un objet %(verbose_name)s supplémentaire" msgid "Remove" msgstr "Supprimer" +msgid "Addition" +msgstr "Ajout" + +msgid "Change" +msgstr "Modifier" + +msgid "Deletion" +msgstr "Suppression" + msgid "action time" msgstr "heure de l'action" @@ -167,11 +176,11 @@ msgstr "" "en sélectionner plusieurs." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"L'objet {name} « {obj} » a été ajouté avec succès. Vous pouvez continuer " -"l'édition ci-dessous." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "L'objet {name} « {obj} » a été ajouté avec succès." + +msgid "You may edit it again below." +msgstr "Vous pouvez l'éditer à nouveau ci-dessous." #, python-brace-format msgid "" @@ -181,10 +190,6 @@ msgstr "" "L'objet {name} « {obj} » a été ajouté avec succès. Vous pouvez ajouter un " "autre objet « {name} » ci-dessous." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "L'objet {name} « {obj} » a été ajouté avec succès." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -192,6 +197,13 @@ msgstr "" "L'objet {name} « {obj} » a été modifié avec succès. Vous pouvez continuer " "l'édition ci-dessous." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"L'objet {name} « {obj} » a été ajouté avec succès. Vous pouvez continuer " +"l'édition ci-dessous." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -232,6 +244,10 @@ msgstr "Ajout %s" msgid "Change %s" msgstr "Modification de %s" +#, python-format +msgid "View %s" +msgstr "Afficher %s" + msgid "Database error" msgstr "Erreur de base de données" @@ -341,7 +357,7 @@ msgid "Change password" msgstr "Modifier le mot de passe" msgid "Please correct the error below." -msgstr "Corrigez les erreurs suivantes." +msgstr "Corrigez l'erreur ci-dessous." msgid "Please correct the errors below." msgstr "Corrigez les erreurs ci-dessous." @@ -455,8 +471,8 @@ msgstr "" "Voulez-vous vraiment supprimer les objets %(objects_name)s sélectionnés ? " "Tous les objets suivants et les éléments liés seront supprimés :" -msgid "Change" -msgstr "Modifier" +msgid "View" +msgstr "Afficher" msgid "Delete?" msgstr "Supprimer ?" @@ -475,8 +491,8 @@ msgstr "Modèles de l'application %(name)s" msgid "Add" msgstr "Ajouter" -msgid "You don't have permission to edit anything." -msgstr "Vous n'avez pas la permission de modifier quoi que ce soit." +msgid "You don't have permission to view or edit anything." +msgstr "Vous n'avez pas la permission de voir ou de modifier quoi que ce soit." msgid "Recent actions" msgstr "Actions récentes" @@ -540,6 +556,10 @@ msgstr "Fenêtre en cours de fermeture…" msgid "Change selected %(model)s" msgstr "Modifier l'objet %(model)s sélectionné" +#, python-format +msgid "View selected %(model)s" +msgstr "Afficher l'objet %(model)s sélectionné" + #, python-format msgid "Add another %(model)s" msgstr "Ajouter un autre objet %(model)s" @@ -570,6 +590,12 @@ msgstr "Enregistrer et ajouter un nouveau" msgid "Save and continue editing" msgstr "Enregistrer et continuer les modifications" +msgid "Save and view" +msgstr "Enregistrer et afficher" + +msgid "Close" +msgstr "Fermer" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Merci pour le temps que vous avez accordé à ce site aujourd'hui." @@ -686,6 +712,10 @@ msgstr "Sélectionnez %s" msgid "Select %s to change" msgstr "Sélectionnez l'objet %s à changer" +#, python-format +msgid "Select %s to view" +msgstr "Sélectionnez l'objet %s à afficher" + msgid "Date:" msgstr "Date :" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo index a0f397f3de082fc89ba35c74b05f9795e24ea56a..919247d9914d64090e6dcbe73611c575c5f62cb5 100644 GIT binary patch delta 26 icmeyb@?T}cBraYHT?12HLvsZ~Ln~8*&GWe)umb>lRtRGN delta 26 icmeyb@?T}cBraYvT?12HLvsZqV=F_W&GWe)umb>lJ_up} diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po index 94f93da..4b17b0c 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-10-21 13:28+0000\n" "Last-Translator: Claude Paroz \n" "Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" @@ -101,27 +101,9 @@ msgstr "" "sur des champs. Vous cherchez probablement le bouton Envoyer et non le " "bouton Enregistrer." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Note : l'heure du serveur précède votre heure de %s heure." -msgstr[1] "Note : l'heure du serveur précède votre heure de %s heures." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Note : votre heure précède l'heure du serveur de %s heure." -msgstr[1] "Note : votre heure précède l'heure du serveur de %s heures." - msgid "Now" msgstr "Maintenant" -msgid "Choose a Time" -msgstr "Choisir une heure" - -msgid "Choose a time" -msgstr "Choisir une heure" - msgid "Midnight" msgstr "Minuit" @@ -134,6 +116,24 @@ msgstr "Midi" msgid "6 p.m." msgstr "18:00" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Note : l'heure du serveur précède votre heure de %s heure." +msgstr[1] "Note : l'heure du serveur précède votre heure de %s heures." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Note : votre heure précède l'heure du serveur de %s heure." +msgstr[1] "Note : votre heure précède l'heure du serveur de %s heures." + +msgid "Choose a Time" +msgstr "Choisir une heure" + +msgid "Choose a time" +msgstr "Choisir une heure" + msgid "Cancel" msgstr "Annuler" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo index 07c1153a93dabf7d06ad631475645bb5d6975c5f..ad734b846271161caffddc33ecc06afb6ee25a2c 100644 GIT binary patch delta 4197 zcmY+`3vdFc9`@eyIPxF!y(E1Vf!k@tTSH4F8Cexz%KWgJ%M@HAJ?Of zzl#syIn2k@_U`p1*oOVt7>|BzWfrytG}>}tq4$Fos0Xe_b*LFT;t}kMr%^Zh6DHu_ zkUrVJkQ-WD2eU*>K%Gy;dhCI#@O5m5>8Tn}n32-Z4U140jzj*lsh*X{U~Cz7!?map z?7}{{9|z#Ck$c-s)bA7NbuM;8ifZFg=O4u+oQo+u--0ys;Cj>#*PuGI9@Fp@)Pwh< z9&`fLfv-`O`ZspRww=tD-~e2R+wmZ#@}qh93BHM$%%duE8pFE5XEfBazoJTW2UXH! zo<0`4V>-@6b!-_`MI~qfx~0bmL~! zTG)xY@DQq$?|bJ@qDp=iRl0QJBn-hKmWRc}JQ5D~l=KSl@tfVHR}O@caHgD0>6C$fU|;1^L3+=3eDUQ|cl z4%1NSKSio%7f?O?8ks)3feg+PdbuO*gX%~Q>PDkbYo`cx!!p$Ud^iY0r~zz4RrW(v zMNXooD13>AF1&(=@Fr&9ZYF#no4JvhxVn}CJ* z2sYvnyoeJquD4mK-v22yR&!u0YEJty!80%$HL^9Rw_>B`CR8c6qB^!8HD&LjD)*`9 zDewGQ)W|QODtrZX-&;6b?|furp8BV*C~7#meW=p? z9ChJYq!{*h)JQuFb{ACv>V9RY`%Oa)XtsC0%5yn3b9}>K>c5-DAXbJJ(Rt*YUBx8q zoaIh|gAV)Is1B5)-ijbn9BaUKco6gOBh>464O!1NDBG=A36`=y8(ZU^Z0fH$JIH}# zJcYXPXQAz!QMf}V3+VUjOSH(3Af=z9Gc5F zLC3>%_Z*Fl*cRuo!tTKu{B_rKMdjPxX{l7p%CBKe(U2K$VA5;g5Q6ur87TnDHF%=s$o~u`FY4GYerpv3H82TLsjVIv1SYKl;`k=s6SP-78*gkj4D}K zp}TmFqNe7VBEDu=k9te~gBod@Vz)BMsF8L;bu0^e;3(AfGf=OaA63bxQ5CB#rvCcj zIu2;=cO%cVBX|^Vp)UB~VfWK{3_G)b0yp93$h2DR58M$R!X51Y87E=GBko-P4kxf5 zTjD;r9JRRTm4w}qEagB?4y-`UX)|gn4q!VxiW=FkP#w608rgM>L2X)`dE{9#n`Dq2 z@)Bu7w5@fqS8>1EJU_a<$=?~I!riqeaTejN`QJ9yYw_www;%IYoo1oi6hbkg^9#|B z&RjLv%3bUyIEplR`>XNp^P`6{`P)dS*8gpF?6vZaXeF=l+6}nEYdiQBSxlZF2Z^TU z88Vop5mi>}YXf*vBg@HrQc3ixYI~G~-{8+UqE$YJ+}-qD=uZxlSP~+W$RaX?l#$J(H|a?3 zZhAWsy`7hFK}BU{Nn5>K>sCrhF& z_Zu*X_5p8Sj3g!B+gGy>@sUz3>(-Hsl*HIJ6@l77O)xUJ{fyYS>Y9*0vNE;4RlL92 zA3c1#^VBx+!3t+_!2fJhY0nW!86l^(Cb}D0)^ld-1e?woCnMB!u6L&nTs61WU*TkA zE~u&SR}TzDzUaL+CQTPRHH#cS&vJahrL|RoU}d&7H8{N@i~DYi$$ua#CqFAM*U7!F zAou>PoMAaRNt4R6Ci@o$Li8=G*jMW>aPo3;-QSIHaz+#k%Zrp|9E*!Ds$1kN3WOp_ zgQm5LJN`i+7v#wXeoozTF3Uzpx>Ju5Bp&%&!Q>EHXk6RhC|72F`? Tn_I=R7}1@v!y|twPK*67*%|Vg delta 3849 zcmX}u2~bs49LMp)svs&NVhG67P*Hfu!!1w*4A)!`#oX%&Bq%~6T1xg3GZ)MyT*?K^ zL~YaPmF8rcnqyNr>NHt1=2F(^Xp>Dj)zlPyfA3y8R#1b=ujJb)sLiwR2wlk&^_Qoj8!Wf)_)3FkJ;(5FMKIU*8-rkr2n2&mX z4F+R9w!%gXFvervrV>U&lYPSp)B|Tx1G<78@lSjJ!@{i>^+5VE$;gY$U<|=5Y>lIF zIp*W@coExTK?iFhg&0i#W*HSdxB?@v*0vt$(==f;ohSPXR&;7%X2HKHzR3>_$MN?kPR(1;UI z9j76aH3Lx3k4BPYCL+shickYsjGEvw)O~C1>&>YC_C%9^-S7?#+SMnq4PL=`yoC;I zMZT*r5%X|2uEw7+1DEiyI&MO}?=)(rmrw)!29^4skYt#DQ3H(fu*F#>6NB_+Qc(jK zgL=Uf)MlB5deL0$gVo48%zjiVPopw$0ktIGqwc?php`!Z;NduqGJb{1h^Lv#P%5oh zcqU^;U@E$ivL9pU-yEfK6Td`luA{w-VN#|wqnUtxa4#-HR>8#ewlXvXTXUUjI}WwU zrl2NJg4%3VsOQ!rb2V=wuQC_VqfPTC6}_kp3mk%xsP?Y5F5Jm=E*`)esJ*defcQi zbzG}JXGaao%(f>HBrGTku@2cuFy3a8+7UvLNhh3a7I0PFsrkfUvyF&twDTA6X8Hs45OC3oB4d z?%7I3DX+(NcpUY@&oK&bqh{EQ>L83Wr&PzG?n^{HKOD8W3Q;p(jas5($fM>)@EyKn~a*k zBdAQwL1lU_YUwJ_sq?>vN^csDU>CfB4*VO{aqJN56P=9bxz0fiw0$P)j=8AJJ%{6P zBkJ#0aVSRc6NwX1$M^|UMnbZTSwR0LTNONnB*VmJ8&i%2NQ%rSsLj$p$6AV8_zc(g zQJZVwFl&a(QJJVg&9D|VuzeVVUer=vKxO7z^k_|gqryKE_%KHYN1|R7lxuzY+F>WI zBXBz=qB8a|zKVA+57!U3mhLK!rMd~V`%j@p zegW0-HPp!OqaUj5CTe^&>wh_g)OBLw2|YWRXempnG`3veBtlCNsr7%1$|8b&WF`{q zL*GUL<0k0SS2Vy>LdWMR;#oqajwmCx=z_A9*h45oC4`EWQDwG;@1*pg{sR5`{;yVV z|KUa4K`2dpE6j6*%4lMfuV($Pc8OhAn%QT*tOa0|-TsQLsI}`U7)0n8CJ^%pkJepf zB(amwI`t#8L7arj^TcMNCo!C8DJ!Y$w=YU@195=ZOH3zL5h?}5C|}JwqPf(cB>L<8 zx0Jb5x)DWogO1`pyDp~Lb@t}}r7yKL_SIr^5IPw;mMV{0_O<}B2+K$ zMEDcs#9BgSC^6MnvwqgY45ESPMJyv`5-last_;EuyZ$Qbd$Nm2CiD%+BNh^Uh=W89 z;ro88l23Fe<`F}PEaGM2abf|X^0bBZpHu49-XGhA_kCvqTI2lw5r(qSNC;(ZHtRas~qm~rBx-R<#WA96888F801WK zIbG=v*T9Va=}D=s)YQE6Sa@?yBMpM_Q_j`_i3hX%5$*jI?xbZO_wz z-h!mb0p7zY-av0fzhNPDXNIJEqcSJA>fk7LxJxVP$5D1>Po=xC#JfNDu3wv?l4AEF OuG~c>-XBIp`~L^qDWs_Y diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po index 734d7ed..ef8f4bc 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-22 17:29+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-29 09:32+0000\n" "Last-Translator: GunChleoc\n" "Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" "language/gd/)\n" @@ -90,6 +90,15 @@ msgstr "Cuir %(verbose_name)s eile ris" msgid "Remove" msgstr "Thoir air falbh" +msgid "Addition" +msgstr "Cur ris" + +msgid "Change" +msgstr "Atharraich" + +msgid "Deletion" +msgstr "Sguabadh às" + msgid "action time" msgstr "àm a’ ghnìomha" @@ -167,11 +176,11 @@ msgid "" msgstr "Cum sìos “Control” no “Command” air Mac gus iomadh nì a thaghadh." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Chaidh {name} “{obj}” a chur ris gu soirbheachail. ’S urrainn dhut a " -"dheasachadh a-rithist gu h-ìosal." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "Chaidh {name} “{obj}” a chur ris gu soirbheachail." + +msgid "You may edit it again below." +msgstr "’S urrainn dhut a dheasachadh a-rithist gu h-ìosal." #, python-brace-format msgid "" @@ -181,10 +190,6 @@ msgstr "" "Chaidh {name} “%{obj}” a chur ris gu soirbheachail. ’S urrainn dhut {name} " "eile a chur ris gu h-ìosal." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Chaidh {name} “{obj}” a chur ris gu soirbheachail." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -192,6 +197,13 @@ msgstr "" "Chaidh {name} “{obj}” atharrachadh gu soirbheachail. ’S urrainn dhut a " "dheasachadh a-rithist gu h-ìosal." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"Chaidh {name} “{obj}” a chur ris gu soirbheachail. ’S urrainn dhut a " +"dheasachadh a-rithist gu h-ìosal." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -232,6 +244,10 @@ msgstr "Cuir %s ris" msgid "Change %s" msgstr "Atharraich %s" +#, python-format +msgid "View %s" +msgstr "Seall %s" + msgid "Database error" msgstr "Mearachd an stòir-dhàta" @@ -461,8 +477,8 @@ msgstr "" "sguabadh às? Thèid a h-uile oibseact seo ’s na nithean dàimheach aca a " "sguabadh às:" -msgid "Change" -msgstr "Atharraich" +msgid "View" +msgstr "Seall" msgid "Delete?" msgstr "A bheil thu airson a sguabadh às?" @@ -481,8 +497,8 @@ msgstr "Modailean ann an aplacaid %(name)s" msgid "Add" msgstr "Cuir ris" -msgid "You don't have permission to edit anything." -msgstr "Chan eil cead agad gus dad a dheasachadh." +msgid "You don't have permission to view or edit anything." +msgstr "Chan eil cead agad gus dad a shealltainn no a dheasachadh." msgid "Recent actions" msgstr "Gnìomhan o chionn goirid" @@ -546,6 +562,10 @@ msgstr "Tha a’ phriob-uinneag ’ga dùnadh…" msgid "Change selected %(model)s" msgstr "Atharraich a’ %(model)s a thagh thu" +#, python-format +msgid "View selected %(model)s" +msgstr "Seall %(model)s a thagh thu" + #, python-format msgid "Add another %(model)s" msgstr "Cuir %(model)s eile ris" @@ -578,6 +598,12 @@ msgstr "Sàbhail is cuir fear eile ris" msgid "Save and continue editing" msgstr "Sàbhail is deasaich a-rithist" +msgid "Save and view" +msgstr "Sàbhail is seall" + +msgid "Close" +msgstr "Dùin" + msgid "Thanks for spending some quality time with the Web site today." msgstr "" "Mòran taing gun do chuir thu seachad deagh-àm air an làrach-lìn an-diugh." @@ -697,6 +723,10 @@ msgstr "Tagh %s" msgid "Select %s to change" msgstr "Tagh %s gus atharrachadh" +#, python-format +msgid "Select %s to view" +msgstr "Tagh %s gus a shealltainn" + msgid "Date:" msgstr "Ceann-là:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo index 0234ad8653ae9c555befd98feb36b2a310f7dc36..e7c0103c22850fbcb53a14dff3a51a3cb2b2c590 100644 GIT binary patch delta 26 hcmdm?xkGcqBraYHT?12HLvsZ~Ln~8*&GWe=xd3e42O9tY delta 26 hcmdm?xkGcqBraYvT?12HLvsZqV=F_W&GWe=xd3d%2O0nX diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po index 43c29dc..f198aa4 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-22 17:29+0000\n" "Last-Translator: GunChleoc\n" "Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" @@ -106,6 +106,21 @@ msgstr "" "’S dòcha gu bheil thu airson am putan “Siuthad” a chleachdadh seach am putan " "“Sàbhail”." +msgid "Now" +msgstr "An-dràsta" + +msgid "Midnight" +msgstr "Meadhan-oidhche" + +msgid "6 a.m." +msgstr "6m" + +msgid "Noon" +msgstr "Meadhan-latha" + +msgid "6 p.m." +msgstr "6f" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -130,27 +145,12 @@ msgstr[2] "" msgstr[3] "" "An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." -msgid "Now" -msgstr "An-dràsta" - msgid "Choose a Time" msgstr "Tagh àm" msgid "Choose a time" msgstr "Tagh àm" -msgid "Midnight" -msgstr "Meadhan-oidhche" - -msgid "6 a.m." -msgstr "6m" - -msgid "Noon" -msgstr "Meadhan-latha" - -msgid "6 p.m." -msgstr "6f" - msgid "Cancel" msgstr "Sguir dheth" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo index 94510e426340c3057cbd347e5eabf1e07a3bc104..23854f0bc95d894bee99b1a7c606820d2a1640c7 100644 GIT binary patch delta 4279 zcmYk-3s6+o9mny5fINHx8Wdj_5oHAwP()FDfK8$VgKyMUyU3~wxEpy0zOt1_F{DNf zT0;yb7_CXQQD>7jF=<*8h&7WKC$(nAX-qq|ncCK5GPZHXYVG&8_d4|q|NWeM?&F;E zKj&V4w>|8G=CHuk_=x?6a+(-Q9EmjM8_ej%59M!tjTwm7@gcm2L-3(~#w^Di9F4nB z?Qh^Lyok9N-`~FfQS8a_N{m7eh8q(w>#6jnVS{tQlc)}xQ3E=N3HTNc!jDl8`YT4` zKanw+emx^XV@XBIiGMJ8i5<6vw> z&EN=*#1l9MKSiExZlSJ^Vbs|;7)h!rMxCFJvA7!h(!cRhQODa*7q*}Vv^;DkMjV41@MU}*nu7B%2IsE%Vv1IaLbQ1>Szt6^No_At{>11LdFa6uCJ z*M)AU!Hep!(K+6U+SLb8FGLVW;BU~vFR>1FQ7P183x0_CIFB8yj-N(#_yTI8ub~Ed zDnLc4??SR?E~7^HHL`r>CNen_JJM1d<*bmKKViMKEnkFnq``~;PuTR0u>A(J-KNkbMcL$-@)#d_>Sb)0A!^B5N5 zBe)wg@N=Ap5y{5P(fhxUN;3@|s5MPtfy;0lYGy5{w_>m30aPkGPy;)GTCz7#nd@>q z@0`DYn)zi^hOeQX`yb5H`yZKN%ri6;pi*)k!|^lJ=DLhc_!pdjYezXBCamQ6EiAwk z(x%L~F%7q(mg=bEY1DInjhet&>`njXqI1C)sF7WFyy>*xMa?W`G=mD`X4KyJ^B6nz z-=WsH554{tU8oHH9a#-i zauSuPUm_n%a~5^|pHNE^KE-aIfc@y-ETEzXlw)6PM0MPPZ{tfi7MJDQpWGd&j^4yV zd>37K57}SFHPy~c88&lVg=+s6m!dVz{`cL80iC!&MJMh$Cl-^ZJsclLZN6!I_}w@c z)$s|`rV65#>TMi^XHlE%3Tnx&Imb60@1QanIm6ylaWlw&5)COd=!WUY@|$_sflr}! zYw}EcGo>S&#*D`XEJ8NCc?Y%jH*gas%(DNGZ;YF=14S zX^6uT)Qnf5I$Dp~WZO|U>_g486E)K_sQXp4DS4Sf16zq25N~fNlggS(tBu)@Cse2Z zPO`CJv zjQ9HwHKp;pn|LI2^#7lFs^QMzU~F;fJMl@UZsE^}jl^=|b%On9o*>eRL_!(%6VDP& z#MA2EM@4IXj95iHLmVem^m=K84-@(}>>>^mT8bBl%>;YO{D@G|T6YpVh@*tc211*B z4Y7zAL#!a|;>@3Y5n4|*4k2=)qTse$MeeY$x>oYu^kf4icw` zmk5>ZHla6eg!(Tg<`F+84iPHa)hb?MHgQr1PC0_w%?F5HL;+Dns1y;^#1f(}p|X|O zLR1oK32k7N`9$DFe&!O|_2tCbt;4;-sHl5i7qv`~?1u?jb}b&gI5&glD1SkDS?o!9RRruQ%F5mD{0^#r%aZwrs| zRC_|rcLpx%8Re_6HhMh`ZF7cBiA}Aw>inU@;O3z#BBRX`&RD6nZ5NXV#BtZ^I!}d_ znzr6w;i-1j2ERyd4NKI`mcPdG(3j=*ZK_-6^{pLe+ICvQf*Vr~h2>7p%*xHo$+og5 z=4VgJ%$ksu6j{6A zdvn|HyyB5esiD5ShUN^b%3oKrsrx-^z1ynw+t<(@T$gt{azLr>;K*=8=x*w5?t+B4 zrC#p#ZF*qZl?5GP1^2J9+~t0&!Czj{eWvRmL+EN5XG%T@cE9Ig*cN&6RJpBs9|L>f Ls$jy5H^cr18O94j delta 3833 zcmYk;2~bs49LMp)DiA43DTv0CKu{zfC@7SHxk4_8p}Djmkl_L;hzi-u4Y$->TFBhP zr75?kO{QsCOjb5(o6T65Ii;hP)ikY>^!>einCZ;?{hWK=d-t64KmU92y~Tbf=lgk@ z+66vmXuF6`#Ka(DF5$~z{6kA>ZOrZ14clWj#^4wnk2A3=eqzUe!~R@Hv@s?f3sApb ziov)ETVVqR7~?Uo(+Ou_zx~27)DId_3p$UH_$NkTc!YDK1Y|DL1G$m88$&T0LogTT zVF50}Gk7Z&wskgAjKR!rYUt>P^RXSSux>);H2X0c-$kwbJjUTAOvGS*MAzJf`hE_k zV!j<;fJ)|i)Pgso=G%io%x~VLqtqP34%mpA@Eg39F~j}{uqIVuwg=+TOL(aFL4@D5yvTF^Eu#N8N=%{UF?S*1U& zL8W>W??ly*2Mc!_d9{w=~>i5ze1({I+6@?6Scth9!i{JGBLPC~XJJuriFgsAGJb}u6bafO|XhDB~BXjCh*q+)Jkw z2hV2AV02>O{G6e?z*HnbXf z)p$(3(=nS-scS&3>>%olj-pa^3boU-s2en4AH0Gq&_%&$=dYpO2ZvBKa~K!k2bhd` zcN#MVtFfP+|BH0A^VoRK7qd`DP;9M0-LMw5Ko4pmtL*0+Pz%~=-EYT_U?Afk;HQ3U z0Cm)xyE>UYh%wA>KBn^yUPh&8SE5sVeypY+*IjTDK7x9VPhc>9h04?g48hB&BKsM& z0sn5!8?!aKxK2cEbSSbGQ;eQaI!ozjXKRr&Ftxi#lCpjj)zcbny3@% z#t9gPS*VN*vY!t_ULB?oHDNhwo@J3aC3y9b75nOtg zG0X7^>If=(Iy+y6DzXMt>bAWPBznwRNbJuSDH=8|sDiDr&;_QD^=+@<5qu*bdwDc8VyfIs444B~*h<8kEl%vIC`F`4`Y#W>_a zF{MbknANCE9K*$U){c+O;)wP9*U>4&Ce#ml-|d`zF>3q>K8tPdaf)pl7ID1~HE}!A zrW%Sy9Zf7oVIr!ga!?z~wb$cNH8Tl4`k;yq$6*%XMm&rv!m;-{MN)*3T$kc(oQqxY z7o3Yx+0MIvEq3PmBJ$vvW>h9qa-5DzK5794IpklDPYDB>U?wV6br_EIsGaOU z?c_M>25MTU9$B^RL@{wc5liUU9w1tp7TM5pfujk^gM#)r&vzvkWZ#S;I38ab!I$R2 z>d=%aowpXMEIdW1tt0f#Sg#A(bHo-xH9&>?T7~sttDcYqqK^4}|5w{&KUj$`5rIS+ z@id{9OQ;6a<`LDtp7W=;AAMypfT*(L^;WUM_ElS|lXN1Um`Zq5v1&tz4TRF)i)c^i z4AmA9YY3hBAflx$q_e|bl;J93C$WtfPb?OAF>`8L*x@P2))2|5&a3@GpkMk5l2iR zc(<5r;zi<7VmhHV$HDjF8AHF;`+e(BfA1d=h5p`x$l3t!m+cFJ*JX50^VW189TeiK zD0fwsRh4@Gj$7_`YiUVYm8+anR{=m wb@hFRcmp#33JMufFC5>;rzoBtK#cXfu{)hbj11&V0DgXcg diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po index 227a11b..bd6c92f 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Michael Wolf , 2016-2017 +# Michael Wolf , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 00:02+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-24 18:59+0000\n" "Last-Translator: Michael Wolf \n" "Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" "language/hsb/)\n" @@ -87,6 +87,15 @@ msgstr "Přidajće nowe %(verbose_name)s" msgid "Remove" msgstr "Wotstronić" +msgid "Addition" +msgstr "Přidaće" + +msgid "Change" +msgstr "Změnić" + +msgid "Deletion" +msgstr "Zhašenje" + msgid "action time" msgstr "akciski čas" @@ -164,9 +173,11 @@ msgid "" msgstr "Dźeržće „ctrl“ abo „cmd“ na Mac stłóčeny, zo byšće přez jedyn wubrał." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} „{obj}“ je so wuspěšnje přidał. Móžeće jón deleka wobdźěłować." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} „{obj}“ je so wuspěšnje přidał." + +msgid "You may edit it again below." +msgstr "Móžeće deleka unowa wobdźěłać." #, python-brace-format msgid "" @@ -175,15 +186,16 @@ msgid "" msgstr "" "{name} „{obj}“ je so wuspěšnje přidał. Móžeće deleka dalši {name} přidać." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} „{obj}“ je so wuspěšnje přidał." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} „{obj}“ je so wuspěšnje změnił. Móžeće jón deleka wobdźěłować." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} „{obj}“ je so wuspěšnje přidał. Móžeće jón deleka wobdźěłować." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -221,6 +233,10 @@ msgstr "%s přidać" msgid "Change %s" msgstr "%s změnić" +#, python-format +msgid "View %s" +msgstr "%s pokazać" + msgid "Database error" msgstr "Zmylk datoweje banki" @@ -442,8 +458,8 @@ msgstr "" "Chceće woprawdźe wubrane %(objects_name)s zhašeć? Wšě slědowace objekty a " "jich přisłušne zapiski so zhašeja:" -msgid "Change" -msgstr "Změnić" +msgid "View" +msgstr "Pokazać" msgid "Delete?" msgstr "Zhašeć?" @@ -462,8 +478,8 @@ msgstr "Modele w nałoženju %(name)s" msgid "Add" msgstr "Přidać" -msgid "You don't have permission to edit anything." -msgstr "Nimaće prawo něšto wobdźěłować." +msgid "You don't have permission to view or edit anything." +msgstr "Nimaće prawo něšto pokazać abo wobdźěłać." msgid "Recent actions" msgstr "Najnowše akcije" @@ -526,6 +542,10 @@ msgstr "Wuskakowace wokno so začinja..." msgid "Change selected %(model)s" msgstr "Wubrane %(model)s změnić" +#, python-format +msgid "View selected %(model)s" +msgstr "Wibrany %(model)s pokazać" + #, python-format msgid "Add another %(model)s" msgstr "Druhi %(model)s přidać" @@ -558,6 +578,12 @@ msgstr "Skłaodwac a druhi přidać" msgid "Save and continue editing" msgstr "Składować a dale wobdźěłować" +msgid "Save and view" +msgstr "Składować a pokazać" + +msgid "Close" +msgstr "Začinić" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Wulki dźak, zo sće dźensa rjane chwile z websydłom přebywali." @@ -668,6 +694,10 @@ msgstr "%s wubrać" msgid "Select %s to change" msgstr "%s wubrać, zo by so změniło" +#, python-format +msgid "Select %s to view" +msgstr "%s wubrać, kotryž ma so pokazać" + msgid "Date:" msgstr "Datum:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo index 1694fc6bcd0d653b1ca8d60bb6932453d9f84043..48ff13aed2bbb30349cd7ec8588efa981b04e264 100644 GIT binary patch delta 26 hcmcbweqVjVBraYHT?12HLvsZ~Ln~8*&GWe&I01BM2a5mz delta 26 hcmcbweqVjVBraYvT?12HLvsZqV=F_W&GWe&I01A}2Z{gy diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po index 2e6fa49..e33aed6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 00:02+0000\n" "Last-Translator: Michael Wolf \n" "Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" @@ -103,6 +103,21 @@ msgstr "" "Sće akciju wubrał, a njejsće žane změny na jednotliwych polach přewjedł. " "Pytajće najskerje za tłóčatkom „Pósłać“ město tłóčatka „Składować“." +msgid "Now" +msgstr "Nětko" + +msgid "Midnight" +msgstr "Połnóc" + +msgid "6 a.m." +msgstr "6:00 hodź. dopołdnja" + +msgid "Noon" +msgstr "připołdnjo" + +msgid "6 p.m." +msgstr "6 hodź. popołdnju" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -119,27 +134,12 @@ msgstr[1] "Kedźbu: Waš čas je wo %s hodźinje za serwerowym časom." msgstr[2] "Kedźbu: Waš čas je wo %s hodźiny za serwerowym časom." msgstr[3] "Kedźbu: Waš čas je wo %s hodźin za serwerowym časom." -msgid "Now" -msgstr "Nětko" - msgid "Choose a Time" msgstr "Wubjerće čas" msgid "Choose a time" msgstr "Wubjerće čas" -msgid "Midnight" -msgstr "Połnóc" - -msgid "6 a.m." -msgstr "6:00 hodź. dopołdnja" - -msgid "Noon" -msgstr "připołdnjo" - -msgid "6 p.m." -msgstr "6 hodź. popołdnju" - msgid "Cancel" msgstr "Přetorhnyć" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo index 7d8b48f14cfcd3c5398484e62128552561531596..3988ba7924d4b077c59c108180dd7792448ef0d2 100644 GIT binary patch delta 4361 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 Vvy3TL`od)W<59h%m&R_1`yZ;0GsXY_ delta 3905 zcmYk;3vg7`9mnyrn-_!x!b2b;=7NEQB&)l5K_ZZdC?q0aHI))B=Vil=zqminmpZ)}kre>BtDSY8i@|)^V_pseNj-ZSecsdo$yi`R8-)&As>h z@Bf^0lYz~ia~nLdk47aPFtlfgYlwT3jQJR!OyvhHcepWE;WQkJ6*vKx;oaDZQ}L{O z{$F?##~CAxDZv`l{o64ak6;S+VuCR-bDT~ZCr-K-ypFoz3@V|EI2!+h<1sD6dC(MO zEK`6y$lQoSu>yx+6+VnLxEar3IxZdQyvQm{W_;65M>lT7QMl9f2r{NQiJABYD)Wmt z89&AxOy(xK=6clil^DRq?)goqV(v#J+=UwN1ST=Qd4-Nj^E!^hGpGSCp$7N@HEiH>F-Rf#DWQ$|H}Dsc{8i;tob zI*Lp2SO*o@g^>BYUMQtwA4*okwo7ZdSM*nywna%^J$^xQtwl>cfx_1BFbazdr+ zcQ5!1RpQT4rOTuo$~YS}a3S)trUZ3=6;dQ~2Qtm39+kja)C;zwuG`@r??sK*ok{(5 z!3&(ws{T0+!;6@Om(ju$>K(;gT#TK#4gZSe*v8Eo_$2CiZ=&AxJSx%OqDuc4q!?xZ zmEhPIOPpyk6OgftAC*8g>H*78i=`Izpa#st4&)i;DO4%nL{;Ej)Rg=Ib^V|5dAx#C z@cD^sWqco1k=PYFv+1NT@w|+=75x}QrrSJ@Yw=msz*&@K0aoKYd;$xw9~WYp#dP33 zxCMJrQgoB73Z)D*08Z9zS-1C?M5mB?=Q z_lHplJ?(nZJ^v~ua{g`H=HUfU<1Cr#e8^gG0^^(QbZYS!PD5{wv-k>7i){gxVJGsk z=0nt*eu)~`OV&y-4V731CgVh8c1<=iwwZ%$DARznr zjMi~tGj?JtPWBmN;{j~Ls_Tt8j;B#KhIyJwyA_qlF-$`nHD#xfOU+2XGhij|;CMdj zZ^L`I5))$_u?WSN;L&eQ(yqN9Cz88rpo8P0{nQFCjd61f3i!duXX|8vb_ zh3dY$a2D311~`g2coxUtzfo%-m6fiF?8n=*|4-4GgUL5Kzo^37IBr3me--!O0BWG! zGo6GEp{C{q)EYX4UObKCu@5y>ze82*GHOcxi{o%8*~XOFBszMdQapL(7pcdT)R7EdUP=C$QKivxxE1fwT zhkDaoRK~@wbI`-FS|_n7-gExTSw&w}%OW&wONhayqHL#WO*oh($yt;WWnA z$3cs2uxV>-BdQ5~FqC2@v5?q9TthrT)DmhNiO1qS=SMz#pJ;W@X@Lib$B8=koOajk zM5-Qs72zeq#12A@9Torn#}D}NUE&_1i^w6`iF=8`mg{z=<50KXgM6dRlSBbAfmlpD zK;#k65H}I=zhvsv5R-{D#7v@s_yMt!_zt1=phNs0jAisY>`#Ud_1a%#EcMzoqdOAp z560Fc?<<{HXtz(iGiiv`61F0Z(UASs&kqEMOI)&c}a1;pO(5H7>W9p zvj}3+tQsqKelXmyJ~++(+0^m`J0b6LubtpKn_yq?k4n0>z*-Y* z>pLEe1g&7Z6>RS7sjF+WRyWr5^)v;ec4DdR-FI%rLc6N0EotAS*=hEOiUXeXpcQEk RwKjz!?a@%!{(I#v&(|?(uj~K- diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po index d6be505..3e67ac7 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po @@ -2,7 +2,8 @@ # # Translators: # Ádám Krizsány , 2015 -# András Veres-Szentkirályi, 2016 +# Akos Zsolt Hochrein , 2018 +# András Veres-Szentkirályi, 2016,2018 # Jannis Leidel , 2011 # János R (Hangya), 2017 # János R (Hangya), 2014 @@ -13,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: János R (Hangya)\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-31 07:37+0000\n" +"Last-Translator: András Veres-Szentkirályi\n" "Language-Team: Hungarian (http://www.transifex.com/django/django/language/" "hu/)\n" "MIME-Version: 1.0\n" @@ -93,6 +94,15 @@ msgstr "Újabb %(verbose_name)s hozzáadása" msgid "Remove" msgstr "Törlés" +msgid "Addition" +msgstr "Hozzáadás" + +msgid "Change" +msgstr "Módosítás" + +msgid "Deletion" +msgstr "Törlés" + msgid "action time" msgstr "művelet időpontja" @@ -172,9 +182,11 @@ msgstr "" "kiválasztásához." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "\"{obj}\" {name} sikeresen létrehozva. Alább ismét szerkesztheti." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "\"{obj}\" {name} sikeresen létrehozva." + +msgid "You may edit it again below." +msgstr "Alább ismét szerkesztheti." #, python-brace-format msgid "" @@ -183,15 +195,16 @@ msgid "" msgstr "" "\"{obj}\" {name} sikeresen létrehozva. Alább újabb {name} hozható létre." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "\"{obj}\" {name} sikeresen létrehozva." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "\"{obj}\" {name} sikeresen módosítva. Alább ismét szerkesztheti." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "\"{obj}\" {name} sikeresen létrehozva. Alább ismét szerkesztheti." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -230,6 +243,10 @@ msgstr "Új %s" msgid "Change %s" msgstr "%s módosítása" +#, python-format +msgid "View %s" +msgstr "%s megtekintése" + msgid "Database error" msgstr "Adatbázishiba" @@ -338,7 +355,7 @@ msgid "Change password" msgstr "Jelszó megváltoztatása" msgid "Please correct the error below." -msgstr "Kérem, javítsa az alábbi hibákat." +msgstr "Kérem javítsa a hibát alább." msgid "Please correct the errors below." msgstr "Kérem javítsa ki a lenti hibákat." @@ -450,8 +467,8 @@ msgstr "" "Biztosan törölni akarja a kiválasztott %(objects_name)s objektumokat? Minden " "alábbi objektum, és a hozzájuk kapcsolódóak is törlésre kerülnek:" -msgid "Change" -msgstr "Módosítás" +msgid "View" +msgstr "Megtekintés" msgid "Delete?" msgstr "Törli?" @@ -470,8 +487,8 @@ msgstr "%(name)s alkalmazásban elérhető modellek." msgid "Add" msgstr "Új" -msgid "You don't have permission to edit anything." -msgstr "Nincs joga szerkeszteni." +msgid "You don't have permission to view or edit anything." +msgstr "Nincs jogosultsága megkinteni vagy módosítani akármit." msgid "Recent actions" msgstr "Legutóbbi műveletek" @@ -532,6 +549,10 @@ msgstr "A popup bezáródik..." msgid "Change selected %(model)s" msgstr "Kiválasztott %(model)s szerkesztése" +#, python-format +msgid "View selected %(model)s" +msgstr "Kiválasztott %(model)s megtekintése" + #, python-format msgid "Add another %(model)s" msgstr "Újabb %(model)s hozzáadása" @@ -562,6 +583,12 @@ msgstr "Mentés és másik hozzáadása" msgid "Save and continue editing" msgstr "Mentés és a szerkesztés folytatása" +msgid "Save and view" +msgstr "Mentés és megtekintés" + +msgid "Close" +msgstr "Bezárás" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Köszönjük hogy egy kis időt eltöltött ma a honlapunkon." @@ -672,6 +699,10 @@ msgstr "%s kiválasztása" msgid "Select %s to change" msgstr "Válasszon ki egyet a módosításhoz (%s)" +#, python-format +msgid "Select %s to view" +msgstr "Válasszon ki egyet a megtekintéshez (%s)" + msgid "Date:" msgstr "Dátum:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo index a5877ca82102c07c2e5113efde3b81cbf62fa54b..fd76d35a639dc5e128e4b370c79ed1b56ef381a6 100644 GIT binary patch delta 26 hcmZ3ZyheG$BraYHT?12HLvsZ~Ln~8*&GWf<*#T)v2Iv3) delta 26 hcmZ3ZyheG$BraYvT?12HLvsZqV=F_W&GWf<*#T)X2Il|( diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po index eadd3d4..5642e40 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: János R (Hangya)\n" "Language-Team: Hungarian (http://www.transifex.com/django/django/language/" @@ -102,27 +102,9 @@ msgstr "" "Kiválasztott egy műveletet, és nem módosított egyetlen mezőt sem. " "Feltehetően a Mehet gombot keresi a Mentés helyett." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Megjegyzés: %s órával a szerveridő előtt jársz" -msgstr[1] "Megjegyzés: %s órával a szerveridő előtt jársz" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Megjegyzés: %s órával a szerveridő mögött jársz" -msgstr[1] "Megjegyzés: %s órával a szerveridő mögött jársz" - msgid "Now" msgstr "Most" -msgid "Choose a Time" -msgstr "Válassza ki az időt" - -msgid "Choose a time" -msgstr "Válassza ki az időt" - msgid "Midnight" msgstr "Éjfél" @@ -135,6 +117,24 @@ msgstr "Dél" msgid "6 p.m." msgstr "Este 6 óra" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Megjegyzés: %s órával a szerveridő előtt jársz" +msgstr[1] "Megjegyzés: %s órával a szerveridő előtt jársz" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Megjegyzés: %s órával a szerveridő mögött jársz" +msgstr[1] "Megjegyzés: %s órával a szerveridő mögött jársz" + +msgid "Choose a Time" +msgstr "Válassza ki az időt" + +msgid "Choose a time" +msgstr "Válassza ki az időt" + msgid "Cancel" msgstr "Mégsem" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo index 752280eb65eb9df54f94ed39fe0ba0ea887d4931..2a76a535916d77de9bd6f9bca29150416559f09d 100644 GIT binary patch delta 4410 zcmY+`3vg7`9mnyLkdOxuLwG;E0RjnOLlWKz@(ShsCMXZJ+>py=VRsXIuZt##3lb5fo+T&Icd#PL*P{)Gct@xgT?%a{&$6FcHJ*bO^AWXwV=#lE-`)qV!Y z;$<9yIoXNlCt*wKPhuK6*ut2o2~cQF!wUBc>rfqTLJjC3w!?GS884w;bRE<2Q)Eo$ z-^dG1N?T(xFdcP22OF^)Zp0U`4ff2@grdxpf?imGdTUMcto`nYaYA=-&h>sN+V|7q_4Wv=ckwUR1};sE*!7 z4d50kQ(t0NY~9|N)z}YL;1PTcbNJFyJdZD7KI^E=T*9bc@Fxly**{RJ`3jZNR`fmw zyJAmVgc?`_&cpTC2R}eR-os?{u}YM26Kdzg`^0Zd0ta86h9uP@qe zgAdi=YPY@>wX64|4nzze#$Td^pI{jErCAWcE%-K;;S6@LI^Krr@BnI}Cs6}^JxW2T zzkp=VTtSWS7P5TiHZnPr-Xk&7UZ{Z-qh2%;wRb8|FPx5gpN;)7gqpx%RA%2mW#l4i ziJ~7-(1X|T6yCu+Ji&q&;BQeGx`U(e8)VXE6lo~N1;}b-Yyn9hG{Z)0}Q@CYg;?_dl318Q?!!Kd->I0(Ic+#e=fM*SQO*8JIYZBT!2)9o4=VH6TBZ#Rk+&-$Zr%G1lO9)BtC2HXAU2%H$2yd;W>a=znn% zMw3bs4O4Iv4RdfJeu$c}RhsCyFRG)#sNGwRdhrxgCT3!MfT)fdP|t66?>~cWsh>m* z@Mp-MfvEY2f?jkRwLAZVdN7-_rc`#sOdNoE!7$X!Cu2KY?$)EIfgHuv_zRqY!v^ym z+>HD)U+@t>6+^VtEKUUlby$fSz(UmVsCV6ln)wmbPw@%Y^VpvHU$7m1hMGvq(8Qj} zzz)=NQ18n}mfeg-4IqH=^S_Nk4h{S8Aw22Ue~Qmhzl7S&Pq20S;1<+oZAOx1&LSJ$ z+;s1^AD+n62;5KmRMh=z_!wr5FlH_;#b_RdHz>@(zv4_B#GkI!xB=DCJq%&X@ zm6468)3F0J@V&0bu_N^}?)`UN-$yOwRn#83QBM9lQ@BHeHcj@(#2<<7_$>9ws2Bek zlkq0%!B24y-o^2_i{D?(@QP%z;)D& zKgVpm>)LvBVx~P%OV!t{kH94Ay7bel&fiq8-v%rvROwTZajf4m`| zPo-Vw|G_IlrG?wj1-H26t+>uDTlfmGl2}N*MzC#69igS@MCka|61xcfMctlj$fnsJn5E2idzo5I`~6En^f0c;srvRO#7rKagcbOc#+VxK0*8_ zKCJ$y5;KU+#9=~LNdn`;@x&>&E{+rWA=yu~BG~NlUpO!ogr9hn$Rcz-MXV*35ne(k zPS4U3-Y#@lxWW z29CJ(IXF(MyO=^Bw{ak@A*Ki&1E3rCWGG-|DCth{yqMVrY zKwZUNgiTD=woZ-ZWo0C{toDU{wZT|n_Wa}&e{IN#t>cFc=Npul`YeP)z(U% zv#M!w_Ys+SAuC)Puf`g>FG@`}k8;P#3pHKNZQqusmV}*ZD=$A#TkZG@Lb0p4+mkx! zVXL;@a_GylgKNSyzM!|rG;Otd#8&n`oD?1IDIVe}EwM@lmz50l6b~vc&YU&VGsju! z3o$m&csuNrS*67#d~c|yWVls2sBF-X!eXw>X?7^=sjRnyA-^52tuM1CIQ46+xs2Xk zWe2U1UMEoH_*XeqW4r;|=Pz1P8yLkyL2tzNI-W|$4wPB3=koR>r&rp6D!axG#&Yuq zCZ|?L!jZbz%>LV3w3_7vy)|}SB*eWBJrh%MC)xFOomJ=5SJ}ShK5MxXvi*9}s`gdU zYfVv8&(fZ;1*LtG+f>sUwgYuO|8hIn6d61^n*>IJ;mC3;;P`ztb~yIx;C-p(bk29| zpqZX%C8K7VZu3qnzGim$cznE+g3HT@Pl{hk6DopzwiE>Vqcd}Nctb_1T!Z9 delta 3893 zcmYk;3s6*59LMnk3L+vtNJGik3{b+wT@c6xd}nE-NZ}*3T7_hl7KMcr(#_0L$q3QZ z%4cCVlcuxfq%}S4HPhIXO=XRyQ%+Oa!x<}Wn##Vvy~ml(_}|aDclX|N&j0-H#iJ|U zZ4RIA+jWzn?Io@u=ENCu7N1GvgElnTn0}az{c$v=;dHzc>oE&Ivgd!tu^jjAWlRB9 zpsrto@wgqkVJCJmCT#Z6N#evo`-3-77rcj>&`C_eKQR@PdOJ7DM8-11kQd#y79hQEJ}6tMNV5fM25qxP%%woir#jLvSFL;!>Q6 zOYk`E$MIJgb1z=NXK@x6>AHXT&_q+%M`a=t!~g)wDK2G?}JxRHFFpr z!VfS9Ctq*OLTtiPJ^$a((aO^^*kAOawqU-s4t2v8)C9w*i9Bw{o2Yp5ft6>eircv>uhh zt#}LWvd8CeHOCk5W?afMs+GQl%E0@mfj+}zJc-(pbEpiQNBu6z>x?rHb$vLCj(#u< z``{$h3}+*6U(<}bQ3t9Bx1cUOfJ)&ZOvGc@2T!0@{v+xI)FaQif4a2c!NPAIl8X%8OCeJ+Q`<)9y{`5w zF`u}VNGCMeJBTZ78J*562dHeb3;g9J|98_-I$5-tMv%SeBM8P%OjL)ajPMjii|T${ zL8x^QwZujp&^8e}iEJX89jqhN?sAB}?zPpAX#ejew%ae(<5PqxR>kxnp*D$7@u@8* znxZ}DPccb}KHExd$e!P76|J_Pi*W??8ZFF47#_!mnqDeT6H0eJp@QM%7Htpn*-m5; zH$~4lAFE)GJr3aG#Ph^%;!a{Up;k%U674y4F@gSKf(K3OciIBbi=)aO55(teU(B-o z@&7xgB3xsS8_`8PKv0*_Hp41ZnAOBoVhrIl#!sN9YP`~}rt>Hkjo!j7ODvZ7eo$a?2PdjxjkODccjZ(=o>LI$K&;Q63eH$E2^6U4S~9# zdxAey?Q`XMyhU!W*PS=Q, 2014 -# Fery Setiawan , 2015-2017 +# Fery Setiawan , 2015-2018 # Jannis Leidel , 2011 # M Asep Indrayana , 2015 # oon arfiandwi (OonID) , 2016 @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-24 14:12+0000\n" -"Last-Translator: rodin \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-18 23:35+0000\n" +"Last-Translator: Fery Setiawan \n" "Language-Team: Indonesian (http://www.transifex.com/django/django/language/" "id/)\n" "MIME-Version: 1.0\n" @@ -93,6 +93,15 @@ msgstr "Tambahkan %(verbose_name)s lagi" msgid "Remove" msgstr "Hapus" +msgid "Addition" +msgstr "Tambahan" + +msgid "Change" +msgstr "Ubah" + +msgid "Deletion" +msgstr "Penghapusan" + msgid "action time" msgstr "waktu aksi" @@ -171,11 +180,11 @@ msgstr "" "Tekan \"Control\", atau \"Command\" pada Mac, untuk memilih lebih dari satu." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" telah berhasil ditambahkan. Anda dapat mengeditnya kembali " -"di bawah." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" telah berhasil ditambahkan." + +msgid "You may edit it again below." +msgstr "Anda dapat menyunting itu kembali dibawah." #, python-brace-format msgid "" @@ -185,10 +194,6 @@ msgstr "" "{name} \"{obj}\" telah berhasil ditambahkan. Anda dapat menambahkan {name} " "lain di bawah." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" telah berhasil ditambahkan." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -196,6 +201,13 @@ msgstr "" " {name} \"{obj}\" telah berhasil diubah. Anda dapat mengeditnya kembali di " "bawah." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" telah berhasil ditambahkan. Anda dapat mengeditnya kembali " +"di bawah." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -233,6 +245,10 @@ msgstr "Tambahkan %s" msgid "Change %s" msgstr "Ubah %s" +#, python-format +msgid "View %s" +msgstr "Melihat %s" + msgid "Database error" msgstr "Galat basis data" @@ -339,7 +355,7 @@ msgid "Change password" msgstr "Ganti sandi" msgid "Please correct the error below." -msgstr "Perbaiki galat di bawah ini." +msgstr "Harap perbaiki kesalahan dibawah." msgid "Please correct the errors below." msgstr "Perbaiki galat di bawah ini." @@ -450,8 +466,8 @@ msgstr "" "Yakin akan menghapus %(objects_name)s terpilih? Semua objek berikut beserta " "objek terkait juga akan dihapus:" -msgid "Change" -msgstr "Ubah" +msgid "View" +msgstr "Tampilan" msgid "Delete?" msgstr "Hapus?" @@ -470,8 +486,8 @@ msgstr "Model pada aplikasi %(name)s" msgid "Add" msgstr "Tambah" -msgid "You don't have permission to edit anything." -msgstr "Anda tidak memiliki izin untuk mengubah apapun." +msgid "You don't have permission to view or edit anything." +msgstr "Anda tidak mempunyai perizinan untuk melihat atau menyunting apapun." msgid "Recent actions" msgstr "Tindakan terbaru" @@ -533,6 +549,10 @@ msgstr "Menutup jendela sembulan..." msgid "Change selected %(model)s" msgstr "Ubah %(model)s yang dipilih" +#, python-format +msgid "View selected %(model)s" +msgstr "Melihat%(model)sterpilih" + #, python-format msgid "Add another %(model)s" msgstr "Tambahkan %(model)s yang lain" @@ -562,6 +582,12 @@ msgstr "Simpan dan tambahkan lagi" msgid "Save and continue editing" msgstr "Simpan dan terus mengedit" +msgid "Save and view" +msgstr "Simpan dan tampilkan" + +msgid "Close" +msgstr "Tutup" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Terima kasih telah menggunakan situs ini hari ini." @@ -673,6 +699,10 @@ msgstr "Pilih %s" msgid "Select %s to change" msgstr "Pilih %s untuk diubah" +#, python-format +msgid "Select %s to view" +msgstr "Pilih %s untuk melihat" + msgid "Date:" msgstr "Tanggal:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo index 58281943c65537bb37cb2dccb0173d7cf3be19ec..6b7bff39c635b74cac9f69fbadbb49f9cbe4e2bc 100644 GIT binary patch delta 26 icmdn4v|VY#BraYHT?12HLvsZ~Ln~8*&GWftumJ#URR@Lu delta 26 icmdn4v|VY#BraYvT?12HLvsZqV=F_W&GWftumJ#UJqLvV diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po index 9878dec..aa096df 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: rodin \n" "Language-Team: Indonesian (http://www.transifex.com/django/django/language/" @@ -101,25 +101,9 @@ msgstr "" "Anda telah memilih sebuah aksi, tetapi belum mengubah bidang apapun. " "Kemungkinan Anda mencari tombol Buka dan bukan tombol Simpan." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Catatan: Waktu Anda lebih cepat %s jam dibandingkan waktu server." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Catatan: Waktu Anda lebih lambat %s jam dibandingkan waktu server." - msgid "Now" msgstr "Sekarang" -msgid "Choose a Time" -msgstr "Pilih Waktu" - -msgid "Choose a time" -msgstr "Pilih waktu" - msgid "Midnight" msgstr "Tengah malam" @@ -132,6 +116,22 @@ msgstr "Siang" msgid "6 p.m." msgstr "18.00" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Catatan: Waktu Anda lebih cepat %s jam dibandingkan waktu server." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Catatan: Waktu Anda lebih lambat %s jam dibandingkan waktu server." + +msgid "Choose a Time" +msgstr "Pilih Waktu" + +msgid "Choose a time" +msgstr "Pilih waktu" + msgid "Cancel" msgstr "Batal" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo index 2f6413d4deddbbe7cab2e1c957309f4634edfd7b..f16efbd9f3f43898246224a67f73b4014bda7071 100644 GIT binary patch delta 4192 zcmYk;dvH|M0mtzZNFWIy5CRbha(N^Y!iKy9Aqk)erY7BCq1hu{cy9JJ%K!*syf(vEGvzr8opp7EE@Id|{l zoO92)`1w;eI%7iDlVbN7%4w2H_Qo0WH4Y!fAIh1#j2Vls<2ZZ|C*pN{6#t3oxN4+* zd>byL{R$S~r>N^kjWT8krsGg_;b3Dzrhv+D4$O5 z<_+XVCV~n09>(Lx*nyv77p@&`%m}=O8pxk<2+uczlI#l;kpIjW$8@CgW-gA$a#YXP z<5Xn}A z98E9Op=?}*MK~SzU?ZNzK{%QBqA8z>>R=`=!aR({t@tE%;2OMxy6^Jw%)j3KT860$ zJ*X*cLY>fon(8jp)SX0i_$=zd?;wLV5!CgcAhT{hM_#+Rh3ddyrbz>gN1d1Av?ots z{`J5t=Rg^1byuP`fEOoY3tG4jgLod7VJ0U(hug3iV_C6!@O;z*m!Sqyjp}F}YUki;)4E0e-qw+W}JOg*2rl=3g@EkH&^9^R>NT!43VHRKuu0cKceXPKL;1Ybm zGG-R;!H4kzmSe&c7BW^LuQX(?Qd!G^8>o?$^1`(nmN-_Trm_mvu^QAX+lZREcE^zO zdlzct-KZ%(fV%JNScDgGH{Qm0?f=j;`vbBQHRav-G#_0fT0^(`bQCo+7jXk#!5UmhuTJ7I^k796vxR3-9j%;g zTOFbj&w zW%Q%g#E@e9ooAqCrV}-jpI{aK2bW_NAB7!w97EA}Sz@o=VpI>0qTX3QYAu|@5%??A z$p3&E(PyabcoTL0x2TSPhdO^KUng~REb6{4z1aS->B*`$u#O;nyBKUIaYg=nScso|7%ypJT1R_6+Fg>(~(tRgD$F2L1#?{41+Ls2D<{7= zr_hz1mz|xsY^iI7r_~$q`hBiN?x3gG%FWKvw|RXWGbuLHHn5v$cxH_&QzH+s3^f5W^n@7TCz;!P~?Ku6gd(M4*U?g1~d7!KZ6|S>ZQIUyJ!K D@cs79 delta 3791 zcmYk;3s6->9LMp+cqpO)rXpb62oMDll!su5C|QyjX+UaLqNG-8Dkw^N^M$45BT#&6 z7En`abaN(qXo-$Z<@lH>YpATu(dlXBqp8%szjKzEcIJOSyXW3>cK5%#2Yy)OcY2}s zn{fYihVlv#O*|N2%o*Gg%m*d0voT$2{&r&k{hPO`C^h@BJ03=L_%*77E2xfRNP{xd3nMWXtMCDwi6?M3 z4!y~kNAVAQ3CD1g?z_r|2HJ&nR3_rls}c35G8l*8&A0?Lpq*HZuVNft$0sn3QMSXi zs8rXX2DlXqumSz?N36!*uoNF>{q)=x)RKQ3LH>2)DK02=r|l1ZL#6mKDs??bhejNS z>bM^=S(Aafe>jpPb04zIW)f-um8c2MNB!#e#=N&}N^aN_4U!YR|Gm;E*4K=`SUbZ;PWTKG1Oe$&s zg{TLVpf<~R)Pp8tAFM{6VH#1XJc!D`G1QWLkNW*jxCgIeJnreqQO3_u8S!4HGKfkL z3(sWCFigb>$a0$(uo7QIbsR%lMqnY{iS?L_r*R~Pcvub`hs&@5wS-Bxuu(A+HKEnW ztHx_Kx)rk>mAVGh$lgM&(R-*=eTtgt3Dg6=!7MzFE78M-(ac{*y$|-H_RKz9j7KmD z3vV^%F`R?BI{)8M(adAwSYOOREx|=Ov+?nK9=G@+=yD^&rmZxkLvh$REqyWt$84` z(99!Idn*x{qsc|Kftg_23(>2Y?4+Ux>_LtA9aKjLtS50A?Xx%+NB4Gr{|Rc3e2#(m z3wFSZsQa&>Hg#AZclRfuc7HAgVR0Yw&!o+GE~Ma6`@=U;OK=FaYmcMeV3+On5EfF$ zEyCIx_4^!TQ<-6?-;Y2IunhH_d8mPIM-8MgiTo=i`?)X$Td@oa*wRhdgyncIquYdg zQRlemHrFz2PrJgp0Pmt*gX-`YDx;ThEdGt`LsQ(B&aui%MI(yg%;~`is2c`gDdyVt zI^0it6F!V%(%e+_WR1HIpXP$lpZXMWzKc(C<-eeg&0@tLVY5nQkUBQQr?kE!7Cr?}}0T&rGAD z^S=Q*q7OBr1E`KqSii#OX`jPHtju!n+lJcp`;cs#7S!>*gdXfZ!0m7VuBTmu+5_jX zROdf9+ew8fL#6I*9F5=NeVCrZpJc2-WgwWB!4!-_4R9%HiB_Z5em!==M%0YoLQUv> z)Ui8ezdwauJ>V=Aj;gtUA7SL}?i=n5YLi?*b$k(@#sJ<{Y-Ce|n!sKx!i+)gX{tdc zZ(c$Ts1VyEW*mot(2 z-9!wbje0-PR_0M@XltOd%PO*eyzX(DO@r(@=_cz=XJ94}!&ISYCaHurMRp;Ajc zLDZ>1Sx4+3lu<2{$_y9tko8uKCu->5`Co0D{X!dT6QOqiC&)=RIDb;ts6tsl%yDY& zpJKA_WKBy|VXtqrij}smCDTdZfH?ooJ&xWXe5l+>Y$lZM{zNw-g-}^atR)hNJBYTj zgi51rOvP116S0#RODrQ)iix|NntOB$s6R=hyW7Y8W-{p5Omdsfk$l@{ufdx&5?yerX;m`*%PsBl7@f0vvFAI}lvi0wo# zVm|R8(N+>|B?~*)`isar#%v*yi729om`U^@ULo=c)6-T)VJz_&aXXPmY#<&XrV%Pt zF3t<5gnG4aSLcWPePLaWcBuV1x}Pt#=jed;o*C0Uv!_;+``(CM;a58(F5EXWZnIx# zR!VAGN?NujEi)%QJ1I4-Haa1q6Bo1FE~fhO6Ltmo{!GegUpp?nzi({%m+fkYW~KX9 oXH5$T^0d6@nN$9#FFE&+Ur5=k@_7{#Jk!gkPOtQ3=e_3lA8SyHcmMzZ diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po index c07a5b3..bd8d939 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po @@ -4,13 +4,13 @@ # Hafsteinn Einarsson , 2011-2012 # Jannis Leidel , 2011 # Kári Tristan Helgason , 2013 -# Thordur Sigurdsson , 2016-2017 +# Thordur Sigurdsson , 2016-2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-22 20:44+0000\n" "Last-Translator: Thordur Sigurdsson \n" "Language-Team: Icelandic (http://www.transifex.com/django/django/language/" "is/)\n" @@ -89,6 +89,15 @@ msgstr "Bæta við öðrum %(verbose_name)s" msgid "Remove" msgstr "Fjarlægja" +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "Breyta" + +msgid "Deletion" +msgstr "" + msgid "action time" msgstr "tími aðgerðar" @@ -167,10 +176,11 @@ msgstr "" "Haltu inni „Control“, eða „Command“ á Mac til þess að velja fleira en eitt." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ hefur verið bætt við. Þú getur breytt því aftur að neðan." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} „{obj}“ var bætt við." + +msgid "You may edit it again below." +msgstr "Þú mátt breyta þessu aftur hér að neðan." #, python-brace-format msgid "" @@ -179,15 +189,17 @@ msgid "" msgstr "" "{name} „{obj}“ hefur verið breytt. Þú getur bætt við öðru {name} að neðan." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} „{obj}“ var bætt við." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} „{obj}“ hefur verið breytt. Þú getur breytt því aftur að neðan." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} „{obj}“ hefur verið bætt við. Þú getur breytt því aftur að neðan." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -225,6 +237,10 @@ msgstr "Bæta við %s" msgid "Change %s" msgstr "Breyta %s" +#, python-format +msgid "View %s" +msgstr "Skoða %s" + msgid "Database error" msgstr "Gagnagrunnsvilla" @@ -333,7 +349,7 @@ msgid "Change password" msgstr "Breyta lykilorði" msgid "Please correct the error below." -msgstr "Vinsamlegast leiðréttu villurnar hér að neðan." +msgstr "Vinsamlegast lagfærðu villuna fyrir neðan." msgid "Please correct the errors below." msgstr "Vinsamlegast leiðréttu villurnar hér að neðan." @@ -442,8 +458,8 @@ msgstr "" "Ertu viss um að þú viljir eyða völdum %(objects_name)s? Öllum eftirtöldum " "hlutum og skyldum hlutum verður eytt:" -msgid "Change" -msgstr "Breyta" +msgid "View" +msgstr "Skoða" msgid "Delete?" msgstr "Eyða?" @@ -462,8 +478,8 @@ msgstr "Módel í appinu %(name)s" msgid "Add" msgstr "Bæta við" -msgid "You don't have permission to edit anything." -msgstr "Þú hefur ekki réttindi til að breyta neinu" +msgid "You don't have permission to view or edit anything." +msgstr "Þú hefur ekki réttindi til að skoða eða breyta neinu." msgid "Recent actions" msgstr "Nýlegar aðgerðir" @@ -525,6 +541,10 @@ msgstr "Sprettigluggi lokast..." msgid "Change selected %(model)s" msgstr "Breyta völdu %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Skoða valið %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Bæta við %(model)s" @@ -555,6 +575,12 @@ msgstr "Vista og búa til nýtt" msgid "Save and continue editing" msgstr "Vista og halda áfram að breyta" +msgid "Save and view" +msgstr "Vista og skoða" + +msgid "Close" +msgstr "Loka" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Takk fyrir að verja tíma í vefsíðuna í dag." @@ -668,6 +694,10 @@ msgstr "Veldu %s" msgid "Select %s to change" msgstr "Veldu %s til að breyta" +#, python-format +msgid "Select %s to view" +msgstr "Veldu %s til að skoða" + msgid "Date:" msgstr "Dagsetning:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo index 33c7039930fc1cdd315525b55c9b66a2614e9cd3..3f47b7b22ad2e2a5441d444ae6c40b471b6cdf99 100644 GIT binary patch delta 599 zcmXZYJ4nM&6b9fEt=2xZh>Hphv^Z3YNl{vh*hx|Gg$n8-+-gKhnwF$ExKt2F73}7s z&QcJIi*^trB0_O-)mdq%KrzSBJd4eIQS9%LO$3P za2E0lJ0Z_?3&W5Pib9?rg!?clyn`OpnV_@q6yyud2g}aIRWvY*HXsicMQ|5hqTYk& zaG>2;qyc&E4UWSP$OlI|h>m#T0X0pw54TD`<9usWLFtYXgZ@DGyXd{`&PHB1PqX8rbYSMXdo+!7VRKPIn9^<2c1?69@z_v$ zD}skW4^pUJm58vnklX$N;zh)>foJP+T(%kUk{!q0K)&jxde zFpz+A7+lh(pt_hrwb&Ky4L#3kSE0J70#*JlJcN$+3yh(DoD3Isp;~A!*$)qP(ZEvF zhbs6|2an-<)F<5c7AS*I3^ykJP64eDG-s{1UlXe=}W|3!Gbfgz{+g9k}wIR5kG GlgNLiGHu}i diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po index 024e77a..847c39c 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po @@ -4,14 +4,15 @@ # gudbergur , 2012 # Hafsteinn Einarsson , 2011-2012 # Jannis Leidel , 2011 +# Matt R, 2018 # Thordur Sigurdsson , 2016-2017 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Thordur Sigurdsson \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2018-05-18 14:09+0000\n" +"Last-Translator: Matt R\n" "Language-Team: Icelandic (http://www.transifex.com/django/django/language/" "is/)\n" "MIME-Version: 1.0\n" @@ -99,27 +100,9 @@ msgstr "" "Þú hefur valið aðgerð en hefur ekki gert breytingar á reitum. Þú ert líklega " "að leita að 'Fara' hnappnum frekar en 'Vista' hnappnum." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Athugaðu að þú ert %s klukkustund á undan tíma vefþjóns." -msgstr[1] "Athugaðu að þú ert %s klukkustundum á undan tíma vefþjóns." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Athugaðu að þú ert %s klukkustund á eftir tíma vefþjóns." -msgstr[1] "Athugaðu að þú ert %s klukkustundum á eftir tíma vefþjóns." - msgid "Now" msgstr "Núna" -msgid "Choose a Time" -msgstr "Veldu tíma" - -msgid "Choose a time" -msgstr "Veldu tíma" - msgid "Midnight" msgstr "Miðnætti" @@ -132,6 +115,24 @@ msgstr "Hádegi" msgid "6 p.m." msgstr "6 e.h." +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Athugaðu að þú ert %s klukkustund á undan tíma vefþjóns." +msgstr[1] "Athugaðu að þú ert %s klukkustundum á undan tíma vefþjóns." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Athugaðu að þú ert %s klukkustund á eftir tíma vefþjóns." +msgstr[1] "Athugaðu að þú ert %s klukkustundum á eftir tíma vefþjóns." + +msgid "Choose a Time" +msgstr "Veldu tíma" + +msgid "Choose a time" +msgstr "Veldu tíma" + msgid "Cancel" msgstr "Hætta við" @@ -148,40 +149,40 @@ msgid "Tomorrow" msgstr "Á morgun" msgid "January" -msgstr "Janúar" +msgstr "janúar" msgid "February" -msgstr "Febrúar" +msgstr "febrúar" msgid "March" -msgstr "Mars" +msgstr "mars" msgid "April" -msgstr "Apríl" +msgstr "apríl" msgid "May" -msgstr "Maí" +msgstr "maí" msgid "June" -msgstr "Júní" +msgstr "júní" msgid "July" -msgstr "Júlí" +msgstr "júlí" msgid "August" -msgstr "Ágúst" +msgstr "ágúst" msgid "September" -msgstr "September" +msgstr "september" msgid "October" -msgstr "Október" +msgstr "október" msgid "November" -msgstr "Nóvember" +msgstr "nóvember" msgid "December" -msgstr "Desember" +msgstr "desember" msgctxt "one letter Sunday" msgid "S" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo index fc356713b9b5bd29b350122e64cdb11a8fa03643..e978d93602d6fbd1cede5594d39cbe1ddb82af76 100644 GIT binary patch delta 4355 zcmZA33vg7`9mnyL7kLm65?>O{>XgChFcmxC(C=^eQaU}8|9;Lrd-tAm z{^y)K`S9takJctd|CE#ZqM;lkdJ_B7jQIfvwdI5IU3+6X^T+xDGX--I$9XU^hI6deFC+ zf!B~RnSUVtJ#a1V!gkm@M-z%NQ!093HR^{o$e)?xT8~V|G-DpN zqGqrk`{H3N#6Kd>HaAiCXEN$C%tMlDrlP)o2(xf0wx@sNr=pHqP&cke4QMlV#TQT= zA4YX_8a06Hs7(Ec-7&k9F)OhUm*cDWF6MC4GW-}{#{sOPGII{2dcY+r8reTksrea| z(zf(I7Q16_T!-3ABM;Y#;<18P_AL>-72-j65I!arjebyF=wa6O*J5jcY#td5^Ub@(!BqHm!F zdNfK!ss9wop1F(~;dNyB%nf96CZktkrhQQZDMdY~3bl8tQ4gGsdY%^tVhA;Xy{OFo z7L}1Rs3nSiNku=ribwD!7T}vKcoBYv%Fs<5jdzeqo6)496c-@d#k67s_n|uOY8f*P z$Kxd2f`jl1&cM_@#!S)qpG{>Q4SP^)n$H5y#}d@c)}v0vHrJh~RPI3y>@aG{j-xX7 zsq0zy`}3%oUq)s4D(bnnuu|tgE#H`pG>k%}H++p6+4rtD-1eVQGt2C6%=1b77?tup zg^3v*N3HQWT!7zUF^*>xtd{ZPRNRbX@C)Pwn!FbTz}>IEow=Az%;yr%48ZFLo?6CmDqP6`QJcgHw~HCk6~L_f*Qz7 z)Bxrq`_j~*M!p6$z}?7xGw+~&{~2n4SCB`VTc}gipPeU1qK;)PYT_FQk$=4bx6_b~ z2T`Zt1Zn_hQ8T#cUVo0d|1YT2-bDUP7f)iK)u`h-6FIrY!RPQVkQq`9oI`xGyep29IvA`U0r$N zbTy!69>N-oHdE1B{T|ojC43YYv(m*H@F(OXnKln3u8UCjS7I_w zLQSLwvv3(|372Dz&VMTvZN5FI4i322?e5`E0tN+zc&>Pz=IlD1!@gvV0_o3_P|=Vy%n_?_aiefr%)NW zgu3rkwAwRK+&cEc689k(Lez~qnQDC1n5kMCiWhRAb1p(nG>SS+G0eqN9A)z+@e5)j@iw8-h0q8eBy=J+6R#0kqL+zgf-Mq1?+`zh`*1CBKn;}T zLP$7^*TrP9xB9E?v8(})(gZ2=Y$9f-Na9^w#@PN;MzR>o_I zcfmmF@3_}uBr*Aau2tYT6>@W+Zf%ui1B1wwXgbxuo4y6v;$ z&9^(xX_M}+vzi=x#f~XGhi4UptZ*QH8EfvjFfGH(;~T3WwBtgbP96Ex(y(1;6%1$$ z)Y-nGQ0(hItw~+=V=EA}Z2Gdi{wKl>j=#Rd?AT!SiZ$i$O|pl1N-I3&Wmee(Bg%$) zN{5t|X4TI0%(9!D5M%R9@P_RXR(WX|_f>j^lv?FwBg#sPODS2?yrHmXPSEQQ`Mlvk zaD-Lu4f+DsbSD__TUFJ=CXQ`XwZsX>Ru&YeWYpI?5r5cg#r6%@o1E6*MCzQ_sN!2G z*%N(EqvQ8B)1e)!9K0>HsMZcz%e+m2pgqW18VCk$erx#(?O>25D-;Na1EH|jAGTxP z3~5Tvw#iB;;`KSr&E6fehfe53svhSN_gWcPY}3#QZQ42fj>Pe)%$=|5mHXd}Ss{|B zL3m?dRvk*3X$KqaP{{fJC)rlOBFD}$XQ`LL_#-}_*VIM=&b?N$Q0MSXpebN2k2r|| K$M%hWDd|7b^dr^) delta 3937 zcmYk;3vg7`9mnyrc^eR8VgfNhu9y%Y1a<>SNPr|fsuC$+t2n1TPoVK_L=zED0g zml=;-$V|l>unJRf4nBsp*oA+>8*$Oi_KnnG67!o5Iy!MZrsHQ!3R;49{<-Z?B{&nI-29&xF zoFDX|QhW`Sx@^*+73ZNQE=F$Fl%UR^gCxn^gKV>@M=hWYb%PzK-)(h{ccA7wluiEi zgI5?(RlkXY@Dk?Yr)Xg^`3~b4T!8y=Gk%Q~*v`qC_&Dl%XHa)~9<|WFpi=)8k_>Yl zwZN#`PUITqC@Pg_P#Jg|wIv^+e*Y!DjQyC8 zFOT3+#&=N}iS*N{q?63Xb2H`+bfXv9ZnG2H@I}f(9W4q* zcm8wK``}en&78swcoqw>=5}Kq!FHUk=l?@Gy7SyT_7^KqTTtg1L|w2GwZI5!Ax}8p zKZ{z>^Nz=z@z*ec@w3?N;s#I|T{haTffmeRezTR%QtU;ouph~`DJ(GNZmhv7dtU%4XZXEg7%C<4UKXZ%^ zJq_iIuSd44&bv%Vri|qeI{)xZkxOIY^!YLE&)Xqm`s1f!2ci>&P9jQz6XVg|*!+QK4 zb)ygQi0P^7j?htY#e3|>BpG!=I@Vw|-h}nI8N;{&|BL$F@?z(EyjkC)7V4z(43!*!T2nU|ZM|4nqZGw?o^;7UF;(E(IyUqLP4O;jSMenrGu^)M zJE-Ekf=cB_xC#G`Jo08ur7^4U2+qV?s_bH0g1V6o)D|AY415D!cpkN&cdE$0Qv5js zTIn^%xN5tohM-OyiCTFv>H=!}i4C!y{Z~#M{kw@=LX$2e2HF}ry#oh$FTw7ztr25> zM5mP?%jO<}-G~(&7%y>$Iy6`kw31K@+Qhb1-P;M( z$m7f(`&;b*s&x}TB@&2YVjZD2hj=R1vtLNG)e z{W;f&5$&7Woy4<*>R}R*Mex##wJtt)5Tl77#769ojd0XC_Tv-8^Tc67g}aGRTSVxs zs5X+AO{i`r>-isO4RmfJ>YagG@n=q7EOq*`{%>p|{VmRM8(PGp1P?~6EpZgX2p=(@ zs3z>j{3-NQd;@JLoy~+^zj_~NiP^+F;z?pSv71;vh}i3L2G$azh)0NNL=~YI&kCZ6P+M&idmIF@zD!ewMjjtBZ{LPBkoO1v4YK3t3T|Eem82H>qcL_KWurM*MwL4 zn;W9P$~)w$FDr6;iah0(r?g^nd7<0mcBd|wUsUUB_qY0k%|)}lVPAz+?Dp`x@}lBN zmS;*u$>c&eEp@K9HC(hX$y}mJz6%U uJgFyAnG-!-xz{x!k^avcZl3 diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po index d8f79ab..2f2c9c6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po @@ -1,12 +1,14 @@ # This file is distributed under the same license as the Django package. # # Translators: -# bbstuntman , 2017 +# Topolino_Hackerino , 2017 +# Carlo Miron , 2018 # Denis Darii , 2011 # Flavio Curella , 2013 # Jannis Leidel , 2011 # Luciano De Falco Alfano, 2016 # Marco Bonetti, 2014 +# Mirco Grillo , 2018 # Nicola Larosa , 2013 # palmux , 2014-2015 # Mattia Procopio , 2015 @@ -15,9 +17,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: palmux \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-30 21:10+0000\n" +"Last-Translator: Carlo Miron \n" "Language-Team: Italian (http://www.transifex.com/django/django/language/" "it/)\n" "MIME-Version: 1.0\n" @@ -95,6 +97,15 @@ msgstr "Aggiungi un altro %(verbose_name)s." msgid "Remove" msgstr "Elimina" +msgid "Addition" +msgstr "Aggiunta " + +msgid "Change" +msgstr "Modifica" + +msgid "Deletion" +msgstr "Eliminazione" + msgid "action time" msgstr "momento dell'azione" @@ -173,11 +184,11 @@ msgstr "" "Tieni premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi modificarlo " -"nuovamente qui sotto." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "Il {name} \"{obj}\" è stato aggiunto con successo." + +msgid "You may edit it again below." +msgstr "Puoi modificarlo di nuovo qui sotto." #, python-brace-format msgid "" @@ -187,10 +198,6 @@ msgstr "" "Il {name} \"{obj}\" è stato aggiunto con successo. Puoi aggiungere un altro " "{name} qui sotto." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Il {name} \"{obj}\" è stato aggiunto con successo." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -198,6 +205,13 @@ msgstr "" "Il {name} \"{obj}\" è stato modificato con successo. Puoi modificarlo " "nuovamente qui sotto." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi modificarlo " +"nuovamente qui sotto." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -237,6 +251,10 @@ msgstr "Aggiungi %s" msgid "Change %s" msgstr "Modifica %s" +#, python-format +msgid "View %s" +msgstr "Vista %s" + msgid "Database error" msgstr "Errore del database" @@ -346,7 +364,7 @@ msgid "Change password" msgstr "Modifica password" msgid "Please correct the error below." -msgstr "Correggi l'errore qui sotto." +msgstr "Per favore, correggi l'errore sottostante" msgid "Please correct the errors below." msgstr "Correggi gli errori qui sotto." @@ -458,8 +476,8 @@ msgstr "" "Confermi la cancellazione dell'elemento %(objects_name)s selezionato? " "Saranno rimossi tutti i seguenti oggetti e le loro voci correlate:" -msgid "Change" -msgstr "Modifica" +msgid "View" +msgstr "Vista" msgid "Delete?" msgstr "Cancellare?" @@ -478,8 +496,8 @@ msgstr "Modelli nell'applicazione %(name)s" msgid "Add" msgstr "Aggiungi" -msgid "You don't have permission to edit anything." -msgstr "Non hai i privilegi per modificare nulla." +msgid "You don't have permission to view or edit anything." +msgstr "Non hai i permessi per visualizzare o modificare nulla" msgid "Recent actions" msgstr "Azioni recenti" @@ -542,6 +560,10 @@ msgstr "Chiusura popup..." msgid "Change selected %(model)s" msgstr "Modifica la selezione %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Visualizza il %(model)s selezionato" + #, python-format msgid "Add another %(model)s" msgstr "Aggiungi un altro %(model)s" @@ -572,6 +594,12 @@ msgstr "Salva e aggiungi un altro" msgid "Save and continue editing" msgstr "Salva e continua le modifiche" +msgid "Save and view" +msgstr "Salva e visualizza" + +msgid "Close" +msgstr "Chiudi" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Grazie per aver speso il tuo tempo prezioso su questo sito oggi." @@ -683,6 +711,10 @@ msgstr "Scegli %s" msgid "Select %s to change" msgstr "Scegli %s da modificare" +#, python-format +msgid "Select %s to view" +msgstr "Seleziona %s per visualizzarlo" + msgid "Date:" msgstr "Data:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo index 19b04ddb7e28cd0dde87dcac4a78bb163c3c4eb4..85f5ce8e858af9c5aa770f4b011883dcaf324c89 100644 GIT binary patch delta 26 hcmdm~yi<9@BraYHT?12HLvsZ~Ln~8*&GWgW*a2(q2M+)M delta 26 hcmdm~yi<9@BraYvT?12HLvsZqV=F_W&GWgW*a2(S2Mz!L diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po index 0625ab8..baa69c6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: palmux \n" "Language-Team: Italian (http://www.transifex.com/django/django/language/" @@ -104,27 +104,9 @@ msgstr "" "Hai selezionato un'azione, e non hai ancora apportato alcuna modifica a " "campi singoli. Probabilmente stai cercando il pulsante Go, invece di Save." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Sei %s ora in anticipo rispetto al server." -msgstr[1] "Nota: Sei %s ore in anticipo rispetto al server." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Sei %s ora in ritardo rispetto al server." -msgstr[1] "Nota: Sei %s ore in ritardo rispetto al server." - msgid "Now" msgstr "Adesso" -msgid "Choose a Time" -msgstr "Scegli un orario" - -msgid "Choose a time" -msgstr "Scegli un orario" - msgid "Midnight" msgstr "Mezzanotte" @@ -137,6 +119,24 @@ msgstr "Mezzogiorno" msgid "6 p.m." msgstr "6 del pomeriggio" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Sei %s ora in anticipo rispetto al server." +msgstr[1] "Nota: Sei %s ore in anticipo rispetto al server." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Sei %s ora in ritardo rispetto al server." +msgstr[1] "Nota: Sei %s ore in ritardo rispetto al server." + +msgid "Choose a Time" +msgstr "Scegli un orario" + +msgid "Choose a time" +msgstr "Scegli un orario" + msgid "Cancel" msgstr "Annulla" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo index a2cafadd795569b6a4adcff5d5a5961055eabf9e..7743bd897c7b0680277671c615df277c8292c21d 100644 GIT binary patch delta 4244 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po index 221e43e..8220896 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po @@ -3,15 +3,15 @@ # Translators: # Claude Paroz , 2016 # Jannis Leidel , 2011 -# Shinya Okano , 2012-2017 +# Shinya Okano , 2012-2018 # Tetsuya Morimoto , 2011 # 上田慶祐 , 2015 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-20 04:31+0000\n" "Last-Translator: Shinya Okano \n" "Language-Team: Japanese (http://www.transifex.com/django/django/language/" "ja/)\n" @@ -90,6 +90,15 @@ msgstr "%(verbose_name)s の追加" msgid "Remove" msgstr "削除" +msgid "Addition" +msgstr "追加" + +msgid "Change" +msgstr "変更" + +msgid "Deletion" +msgstr "削除" + msgid "action time" msgstr "操作時刻" @@ -169,9 +178,11 @@ msgstr "" "Command キーを使ってください" #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" を追加しました。続けて編集できます。" +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" を追加しました。" + +msgid "You may edit it again below." +msgstr "以下で再度編集できます。" #, python-brace-format msgid "" @@ -179,15 +190,16 @@ msgid "" "below." msgstr "{name} \"{obj}\" を追加しました。 別の {name} を以下から追加できます。" -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" を追加しました。" - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" を変更しました。 以下から再度編集できます。" +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" を追加しました。続けて編集できます。" + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -224,6 +236,10 @@ msgstr "%s を追加" msgid "Change %s" msgstr "%s を変更" +#, python-format +msgid "View %s" +msgstr "%sを表示" + msgid "Database error" msgstr "データベースエラー" @@ -441,8 +457,8 @@ msgstr "" "本当に選択した %(objects_name)s を削除しますか? 以下の全てのオブジェクトと関" "連する要素が削除されます:" -msgid "Change" -msgstr "変更" +msgid "View" +msgstr "表示" msgid "Delete?" msgstr "削除しますか?" @@ -461,8 +477,8 @@ msgstr "%(name)s アプリケーション内のモデル" msgid "Add" msgstr "追加" -msgid "You don't have permission to edit anything." -msgstr "変更のためのパーミッションがありません。" +msgid "You don't have permission to view or edit anything." +msgstr "表示または変更のためのパーミッションがありません。" msgid "Recent actions" msgstr "最近行った操作" @@ -524,6 +540,10 @@ msgstr "ポップアップを閉じています..." msgid "Change selected %(model)s" msgstr "選択された %(model)s の変更" +#, python-format +msgid "View selected %(model)s" +msgstr "選択された%(model)sの表示" + #, python-format msgid "Add another %(model)s" msgstr "%(model)s の追加" @@ -553,6 +573,12 @@ msgstr "保存してもう一つ追加" msgid "Save and continue editing" msgstr "保存して編集を続ける" +msgid "Save and view" +msgstr "保存して表示" + +msgid "Close" +msgstr "閉じる" + msgid "Thanks for spending some quality time with the Web site today." msgstr "ご利用ありがとうございました。" @@ -661,6 +687,10 @@ msgstr "%s を選択" msgid "Select %s to change" msgstr "変更する %s を選択" +#, python-format +msgid "Select %s to view" +msgstr "表示する%sを選択" + msgid "Date:" msgstr "日付:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo index de2a04490e23e0735028b29e303bd1ed50f6b16a..24824f82dc96b9574e42e197c2da898a53fbe37a 100644 GIT binary patch delta 26 icmcbhazSOoBraYHT?12HLvsZ~Ln~8*&GWf7vI78d$_Lf} delta 26 icmcbhazSOoBraYvT?12HLvsZqV=F_W&GWf7vI78dvIo@w diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po index d041ecd..3768547 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Shinya Okano \n" "Language-Team: Japanese (http://www.transifex.com/django/django/language/" @@ -96,25 +96,9 @@ msgstr "" "操作を選択しましたが、フィールドに変更はありませんでした。もしかして保存ボタ" "ンではなくて実行ボタンをお探しですか。" -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間進んでいます。" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間遅れています。" - msgid "Now" msgstr "現在" -msgid "Choose a Time" -msgstr "時間を選択" - -msgid "Choose a time" -msgstr "時間を選択" - msgid "Midnight" msgstr "0時" @@ -127,6 +111,22 @@ msgstr "12時" msgid "6 p.m." msgstr "午後 6 時" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間進んでいます。" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間遅れています。" + +msgid "Choose a Time" +msgstr "時間を選択" + +msgid "Choose a time" +msgstr "時間を選択" + msgid "Cancel" msgstr "キャンセル" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo index 820c8b6403f02b409132c82a427a9e8b8cd8019c..e2614c36427c2bd8b02f94c432a7c3a65bd93e29 100644 GIT binary patch delta 4193 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 yx, 2011 # Jannis Leidel , 2011 # Le Tartuffe , 2014,2016 +# Noh Seho , 2018 # Seacbyul Lee , 2017 # Taesik Yoon , 2015 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Seacbyul Lee \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-18 09:00+0000\n" +"Last-Translator: Noh Seho \n" "Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -92,6 +93,15 @@ msgstr "%(verbose_name)s 더 추가하기" msgid "Remove" msgstr "삭제하기" +msgid "Addition" +msgstr "추가" + +msgid "Change" +msgstr "변경" + +msgid "Deletion" +msgstr "삭제" + msgid "action time" msgstr "액션 타임" @@ -169,11 +179,11 @@ msgid "" msgstr "하나 이상을 선택하려면 \"Control\" 키, Mac은 \"Command\"키를 누르세요." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다시 수정할 수 있습니" -"다." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\"가 성공적으로 추가되었습니다." + +msgid "You may edit it again below." +msgstr "아래 내용을 수정해야 합니다." #, python-brace-format msgid "" @@ -184,12 +194,15 @@ msgstr "" "수 있습니다." #, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\"가 성공적으로 추가되었습니다." +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다시 수정할 수 있습니" +"다." #, python-brace-format msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." +"The {name} \"{obj}\" was added successfully. You may edit it again below." msgstr "" "{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다시 수정할 수 있습니" "다." @@ -234,6 +247,10 @@ msgstr "%s 추가" msgid "Change %s" msgstr "%s 변경" +#, python-format +msgid "View %s" +msgstr "뷰 %s" + msgid "Database error" msgstr "데이터베이스 오류" @@ -340,7 +357,7 @@ msgid "Change password" msgstr "비밀번호 변경" msgid "Please correct the error below." -msgstr "아래의 오류를 수정하십시오." +msgstr "아래 오류를 해결해주세요." msgid "Please correct the errors below." msgstr "아래의 오류들을 수정하십시오." @@ -450,8 +467,8 @@ msgstr "" "선택한 %(objects_name)s를 정말 삭제하시겠습니까? 다음의 오브젝트와 연관 아이" "템들이 모두 삭제됩니다:" -msgid "Change" -msgstr "변경" +msgid "View" +msgstr "" msgid "Delete?" msgstr "삭제" @@ -470,8 +487,8 @@ msgstr "%(name)s 애플리케이션의 모델" msgid "Add" msgstr "추가" -msgid "You don't have permission to edit anything." -msgstr "수정할 권한이 없습니다." +msgid "You don't have permission to view or edit anything." +msgstr "조회하거나 수정할 수 있는 권한이 없습니다." msgid "Recent actions" msgstr "최근 활동" @@ -533,6 +550,10 @@ msgstr "팝업 닫는 중..." msgid "Change selected %(model)s" msgstr "선택된 %(model)s 변경" +#, python-format +msgid "View selected %(model)s" +msgstr "" + #, python-format msgid "Add another %(model)s" msgstr "%(model)s 추가" @@ -562,6 +583,12 @@ msgstr "저장 및 다른 이름으로 추가" msgid "Save and continue editing" msgstr "저장 및 편집 계속" +msgid "Save and view" +msgstr "저정하고 조회하기" + +msgid "Close" +msgstr "닫기" + msgid "Thanks for spending some quality time with the Web site today." msgstr "사이트를 이용해 주셔서 고맙습니다." @@ -672,6 +699,10 @@ msgstr "%s 선택" msgid "Select %s to change" msgstr "변경할 %s 선택" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "날짜:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo index 04d137279d7b7d2703905ebbcbcb4cd0a8510eb0..8ef689d23183688fecd40f364cf779df26b6630d 100644 GIT binary patch delta 26 hcmeBG?p59}iHp}l*T7WQ&|JaL(8|\n" "Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" @@ -99,25 +99,9 @@ msgstr "" "개별 필드에 아무런 변경이 없는 상태로 액션을 선택했습니다. 저장 버튼이 아니" "라 진행 버튼을 찾아보세요." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Note: 서버 시간보다 %s 시간 빠릅니다." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Note: 서버 시간보다 %s 시간 늦은 시간입니다." - msgid "Now" msgstr "현재" -msgid "Choose a Time" -msgstr "시간 선택" - -msgid "Choose a time" -msgstr "시간 선택" - msgid "Midnight" msgstr "자정" @@ -130,6 +114,22 @@ msgstr "정오" msgid "6 p.m." msgstr "오후 6시" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Note: 서버 시간보다 %s 시간 빠릅니다." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Note: 서버 시간보다 %s 시간 늦은 시간입니다." + +msgid "Choose a Time" +msgstr "시간 선택" + +msgid "Choose a time" +msgstr "시간 선택" + msgid "Cancel" msgstr "취소" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo index e39a229f6050ba705d95698e2da4bef90dff5a6d..f866f81e5fd430d057ee43e6621fc4c00dc5f737 100644 GIT binary patch delta 4431 zcma*pdvKK18OQOH3zv`p;SvxC`bLtF5E6Dnf+S=iAeV-63AX|w(j{47!)61!n{a1A zxye;r1c7psT51u{S;Z<9+nJ;-7iS{UR%u~+8>iH z=RM~+=Y7MGO-a|bBt`G^Ont#nE)dzofeyyp#f)@*D6e%hCJSH3KKL^nfOqf-{0HXa zobLAV^*EOHi&&1gQ1@qM8q*Q;u@e?!iZM}BP9=i_70v|{Q8!FQ4X6%#;U;_t51=|a zhn?{aWDMqAq(gHZ)3Dt+e+xIz{sV47Zx3U-;wRXL=bL*})M0v0`^KKgKa=e^44H%( zhy8FSY6by(6eBno4spa1IR*6 zuz!E@uL}#E18&pM|GHmL$DAv@Y$%0 zu0UmC18QlWLtP&|OyvTVbC`zE;n;*q@fLg9YOsO!67=8) zsEl+cZ3Q?4wKTIF7hwwR<*0!-p$4|mIll|jc)mHL3Z8OKoW)eyZ((+_F+W1y81wO9 zdq!WN*0u{zU5)v;08b#RWB!R+vi^m}wBUTy{q5Kp?_wH$fl(c}PerNhzyfLpS;%%U zIY<)B7}QMbkbP%1qB=N=y8dO<{jZ}2{uAf;Pf;1YfkFH&uEps^_FHkai2Q3Nzvh4j z@^@5++A&(Y4AjVTQM=WH8o&(H0D?#|%xYu~<|JyDUqxl&HkRUj)b+!P?TJ;Oo-?If0ZXtQyWqbuu@oHC1M^Xz-U(QbZ($6xhw&N5*YG5E z^zeLSA#cjVveUaptMX24s3mY(oOwRlZcViLL)%hQy2KZxC zX0M?JaMNkK+1dMPM=Pl;q;egVk|AaGfJUG?n2J4c9;%}T)ZPfA2D%?LffLAHH5XAC zdmGi?4b=5_uqWO}?UC-~i9HZCy{V|ORr3xMBV=eYGPMVe}BwPDw@G(sLho+(!L-EHS(co;bhcWFGpR! z9X0Uds7#zeE#aHU>Y0yFdm^pEeme>L z!}*G6GmS+Jqz0A3S*R2)L#=7pX>Y^Co1!z!tHn$+1O@fwf%`bjXv7fkyECW1=a&X$a0&5*bU!z{0(YTeu~;#e?bkxRIhH%FbzF}Vh<(Jj2^Gyye4OS73cMm$SQA}m5> zA+c1??@na^F_dr<&k!p5-_3)fP4*L=AIi;I{5;=#Nqo{vpaSQ)>|!p->P^`_U;a`_MF~5 zI9nI-)mwQ5jZO8wKw&t3J7;H7UtMH1g)AR^THfHA$TEL$X^DyLum;9k1|3go99irt zFD`Xk?y^evh+@}pm#a(d^x~Pm7JryA6p!~te3e$I%WYpb(sH>gODl?8lrB@e;Yji9 zkT)0(cq2`rN^7z=81#p&DLy|Vu&Npo&FVm+S>g{aX^L&iYmb(VvQ`9|L*9U=AZX=T zZkOfpSZ*sn-*Vb6YqaIAu-31)?DHL#a;Do;h>|J6s9 zn@$opSvekh9AlMMTEk-}^WTlt44xg^Hu!4HRq$ncZOC8WdZ@wQ=ncnn3!}+tbJ{M~ zdqZm?{`gBpEh!nb-nLWTfIpbHpzpAIsl~M+4mCCUEPvanh}R$HQmgH-R>ackEjG--lvXss_b!hxUoz zsXCH0e{$Q|uod)0nnV7G&x-h1q_+6ieR%yAU50%1-lg6ae`B-1#7tt4x|CB4-&*bs UMHofmlIEtbM;JdmdUMi$0G)X~X#fBK delta 4014 zcmYk;3vg7`9mnyLkN|neD-a1mb3^kEf!#pB1U3nnVxb5j1#EZ}w@HdimJLZZ5fbV` zB!WUwSSV_MfEWaeVrI)st0Gm)FhlDAouPEf0Ik%iV;!W`qMfPG?{DwTOwY`JKj+-N z_nve9=iIydyDc#vDfi52n2+{FEfd{FX+88Zg+F%>H?9hc%VY{4A- z$T|KM&Z0eHxG^PIgSvhj4#tBx1p9E1F(LB?m1GX|J14w{y5KBoKvyvZzrnGXJi@+F zHqw`wh}_7`zyz$op*RE1eyW>HmPt%WS_&#dn zS8)Q~#9SQAMO4is)cKX@#%kwy7b=;1Py_Bo_4g*m)4%x@6{Y4qydTe^I=qJJ;A>RJ z8Kgm($;EN#!S(nOxBd3uAhq}$t*&a+0>&3(1w~|2kN|Mo%SwNe}~e@ zzfO3I1KQPRFbS_>2L2r_974W>n1|JP0Jq{TEW>s#R>%FQ`+b0#=_S-a|Ab2Y=SVWl zUDN|0n zv+?8uJj!?(m66arD&xhKu?>%-I?f<1^Kl+Ng8OhH-oOQzY_S}; z9J{d(wSRC- zMl(NwdLNuZ?U`R=7oNjHocA4L)?hn&^!)#oie{dX#rk3yY6GW?dQ>n*)VihjUwI9PCET{c8F2(<# zZcxoAHB%p|;})mA5tXrS)CBe-t7{G;b2MjA6TOLS2XhxgxS@mkLvg=Cg8^fr;qcT*3n&IR42nLZcn0Ijqeu``GHqwPz z&Lg%1w}q(agfVV=WDlTHnTP7w?X-8|F53HWCFYZsB;1M`P#86{*Ks7CLfz*aDsvZ6 z1HFYh|GyZEp_D0hs!~xmoQ%3)29Cm7)SmF8*1Q>Y<1SQ3+fi$M0QCYph3sQ<0rg_L zuvX9iO)7f9cuMR)4iQYD{cjwN3DfMEJ&0PiHjDX1`Kbp}shQ3-OPr&6G34zA%8A z!B^{WsDX5$GPeVjnZu~1JmIv@pfY?OLupj5Q_?YQP@U%wzb_i)I#*UDJTWaKGa(P@C>;)ZRH=LH;$P3mj0YuQ`5( z8u`~wJGRnp4@cgl(Q<&#E~l<#sUyBmWDx3fF)>g!Q0W_J;1385aJ1Hc6_r+kY@0;{ z%Mwi|7%wqL6^ix-Pir)FPvTRAN|^8yd(@!pB@Pi<$|newCL8l3M`bCSc!vI?|J4pU zU;GSTCX{v_QL~9qnM=G7t=a!-+nxG+WHq8$9E3sV_)CsryHnQ^#}hnQ(Z6$z7@Ez8 ziZ)sgp^Y+yNF|C0l`X_BLeKSgiGlJom7`8W8*(S{8u1FTjOZp*mJr{I*6b&(iuyWY zs-FLWvYJXJQSTfWhp#$yQR~zn{=Z|Bsq1B;(neUsMuG<OX^9b!y4Ka;aKs-;3C-xC536;&nbJ3dpQ3yXLTAX8ga@@pj;>XT0ZT3fr zMBRK05laM!X9*RasOaCNXoHU(#B!pS$R#?66~sWvb1Ks@!Koic-a%$RF_B0os)=Tz zfH+3XBBHNNRceR{#2R8IQ9-;&JWi}7RMy+re@>})M&1~f5F0r&Vo7XdTuSGl$idW_ z!I8V;yW@viO#!Rb7i@?eoA6xBeGT=#pyds02tMHptd7)Y9g6W!FLJqy+@+R#TG`an zLYLd+N~~U3RMXJzYxOk+imJT9hBB+z<>tK7f%9C2E=uBjZ)>n(5>h}hlTFR_P zy+LoQRps^hH`IHrnQPUothbw!>YCPun{zH!Pnlt@^S8Bl{hqu)w%g_LxUHNVOI25< z$L+Q%ESFUlZI^qB^;PsV*G#v|+PKj^k1t&LoapAn;_&6%)8V6emEmvmBH@eqmm~cJ zPsK(`i`oW7-f?{y7rs`KmR#p!T#bIOuio1lxmwZ_8`=HPz4&l%`Gm+POh gTF8, 2011 # lauris , 2011 -# Matas Dailyda , 2015-2017 +# Matas Dailyda , 2015-2018 # Nikolajus Krauklis , 2013 # Simonas Kazlauskas , 2012-2013 # sirex , 2011 @@ -11,17 +11,18 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Matas Dailyda \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 01:29+0000\n" +"Last-Translator: Jannis Leidel \n" "Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" "lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " +"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " +"1 : n % 1 != 0 ? 2: 3);\n" #, python-format msgid "Successfully deleted %(count)d %(items)s." @@ -92,6 +93,15 @@ msgstr "Pridėti dar viena %(verbose_name)s" msgid "Remove" msgstr "Pašalinti" +msgid "Addition" +msgstr "Pridėjimas" + +msgid "Change" +msgstr "Pakeisti" + +msgid "Deletion" +msgstr "Pašalinimas" + msgid "action time" msgstr "veiksmo laikas" @@ -171,10 +181,11 @@ msgstr "" "daugiau nei vieną." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite jį vėl redaguoti žemiau." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" buvo sėkmingai pridėtas." + +msgid "You may edit it again below." +msgstr "Galite tai dar kartą redaguoti žemiau." #, python-brace-format msgid "" @@ -183,15 +194,17 @@ msgid "" msgstr "" "{name} \"{obj}\" buvo sėkmingai pridėtas. Galite pridėti kitą {name} žemiau." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" buvo sėkmingai pridėtas." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" buvo sėkmingai pakeistas. Galite jį koreguoti žemiau." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite jį vėl redaguoti žemiau." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -229,6 +242,10 @@ msgstr "Pridėti %s" msgid "Change %s" msgstr "Pakeisti %s" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "Duomenų bazės klaida" @@ -238,6 +255,7 @@ msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s sėkmingai pakeistas." msgstr[1] "%(count)s %(name)s sėkmingai pakeisti." msgstr[2] "%(count)s %(name)s " +msgstr[3] "%(count)s %(name)s " #, python-format msgid "%(total_count)s selected" @@ -245,6 +263,7 @@ msgid_plural "All %(total_count)s selected" msgstr[0] "%(total_count)s pasirinktas" msgstr[1] "%(total_count)s pasirinkti" msgstr[2] "Visi %(total_count)s pasirinkti" +msgstr[3] "Visi %(total_count)s pasirinkti" #, python-format msgid "0 of %(cnt)s selected" @@ -339,7 +358,7 @@ msgid "Change password" msgstr "Keisti slaptažodį" msgid "Please correct the error below." -msgstr "Ištaisykite žemiau esancias klaidas." +msgstr "Prašome ištaisyti žemiau esančią klaidą." msgid "Please correct the errors below." msgstr "Ištaisykite žemiau esančias klaidas." @@ -448,8 +467,8 @@ msgstr "" "Ar esate tikri, kad norite ištrinti pasirinktus %(objects_name)s? Sekantys " "pasirinkti bei susiję objektai bus ištrinti:" -msgid "Change" -msgstr "Pakeisti" +msgid "View" +msgstr "Peržiūrėti" msgid "Delete?" msgstr "Ištrinti?" @@ -468,8 +487,8 @@ msgstr "%(name)s aplikacijos modeliai" msgid "Add" msgstr "Pridėti" -msgid "You don't have permission to edit anything." -msgstr "Neturite teisių ką nors keistis." +msgid "You don't have permission to view or edit anything." +msgstr "Jūs neturite teisių peržiūrai ir redagavimui." msgid "Recent actions" msgstr "Paskutiniai veiksmai" @@ -532,6 +551,10 @@ msgstr "Langas užsidaro..." msgid "Change selected %(model)s" msgstr "Keisti pasirinktus %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Peržiūrėti pasirinktus %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Pridėti dar vieną %(model)s" @@ -549,6 +572,7 @@ msgid_plural "%(counter)s results" msgstr[0] "%(counter)s rezultatas" msgstr[1] "%(counter)s rezultatai" msgstr[2] "%(counter)s rezultatai" +msgstr[3] "%(counter)s rezultatai" #, python-format msgid "%(full_result_count)s total" @@ -563,6 +587,12 @@ msgstr "Išsaugoti ir pridėti naują" msgid "Save and continue editing" msgstr "Išsaugoti ir tęsti redagavimą" +msgid "Save and view" +msgstr "Išsaugoti ir peržiūrėti" + +msgid "Close" +msgstr "Uždaryti" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Dėkui už šiandien tinklalapyje turiningai praleistą laiką." @@ -674,6 +704,10 @@ msgstr "Pasirinkti %s" msgid "Select %s to change" msgstr "Pasirinkite %s kurį norite keisti" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "Data:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo index d00b3f93b29913cf85f42ca627ac7411a76406c3..77922d36b36361a7b19065faf5983f39435c9102 100644 GIT binary patch delta 626 zcma*j&q@MO6bA4!nprlZRtiB<$0AWsoS8KLj)I#af`WFnszs|IBB(_P`UFAv06jq% z4bdW_O$4ocgo1Xif@skq=)28r-)4Su?!D)mbLT1Xki6ceSK zYfuang<_x>6a&o3It|5uCLDtm=`u_!M4Qrf$nCqtG$Q8~iro8f%e}!P7R01|Jj4fH zp$HzpJNN;6u#0PoeH+&lLC0_nHf8+`+o=2S3~o#kt-}|HA5GZ^5#}NjiaHmU3k7LO zT9H~2XUkjkYsHM7&lm+ZjB;LgE&^Glm8q6L!Ni%=oE5ZY)YDu-n=_?E&P0 zP9P6-0eOI`&i9Z9e1z@rMf(n4k-xPy{GGo$4K&ZWhJ5aApwPV80}4E89dhFr5sNy}0q5)r(VVM{47Dx^p>a>_Dz ltI;M$loa`Vvkx1x4~+_qMmg)t+HbxUXL&zxX&(hku762aP5J-; diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po index 1aad1b1..a922bd6 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Matas Dailyda \n" "Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" @@ -19,8 +19,9 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " +"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " +"1 : n % 1 != 0 ? 2: 3);\n" #, javascript-format msgid "Available %s" @@ -80,6 +81,7 @@ msgid_plural "%(sel)s of %(cnt)s selected" msgstr[0] "pasirinktas %(sel)s iš %(cnt)s" msgstr[1] "pasirinkti %(sel)s iš %(cnt)s" msgstr[2] "pasirinkti %(sel)s iš %(cnt)s" +msgstr[3] "pasirinkti %(sel)s iš %(cnt)s" msgid "" "You have unsaved changes on individual editable fields. If you run an " @@ -103,35 +105,9 @@ msgstr "" "Pasirinkote veiksmą, bet neesate pakeitę laukų reikšmių. Jūs greičiausiai " "ieškote mygtuko Vykdyti, o ne mygtuko Saugoti." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Pastaba: Jūsų laikrodis rodo %s valanda daugiau nei serverio laikrodis." -msgstr[1] "" -"Pastaba: Jūsų laikrodis rodo %s valandomis daugiau nei serverio laikrodis." -msgstr[2] "" -"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Pastaba: Jūsų laikrodis rodo %s valanda mažiau nei serverio laikrodis." -msgstr[1] "" -"Pastaba: Jūsų laikrodis rodo %s valandomis mažiau nei serverio laikrodis." -msgstr[2] "" -"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." - msgid "Now" msgstr "Dabar" -msgid "Choose a Time" -msgstr "Pasirinkite laiką" - -msgid "Choose a time" -msgstr "Pasirinkite laiką" - msgid "Midnight" msgstr "Vidurnaktis" @@ -144,6 +120,36 @@ msgstr "Vidurdienis" msgid "6 p.m." msgstr "18:00" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Pastaba: Jūsų laikrodis rodo %s valanda daugiau nei serverio laikrodis." +msgstr[1] "" +"Pastaba: Jūsų laikrodis rodo %s valandomis daugiau nei serverio laikrodis." +msgstr[2] "" +"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." +msgstr[3] "" +"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Pastaba: Jūsų laikrodis rodo %s valanda mažiau nei serverio laikrodis." +msgstr[1] "" +"Pastaba: Jūsų laikrodis rodo %s valandomis mažiau nei serverio laikrodis." +msgstr[2] "" +"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." +msgstr[3] "" +"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." + +msgid "Choose a Time" +msgstr "Pasirinkite laiką" + +msgid "Choose a time" +msgstr "Pasirinkite laiką" + msgid "Cancel" msgstr "Atšaukti" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo index 38c0f8a212a1f0a8127a012d3c5eddf01f1393f1..5c2ec1ac6b18103c017be2247332a5f270282837 100644 GIT binary patch delta 4324 zcmYk;dvuh=8OQMnNk|Ccl7I;};pLJ*APEUKAwmog%0&nPks>H|Aqy_q>_T=EAV9W3 zDHtwR10owD znR&^j`pfI%B3IHAb{LLkq8D)}(U=>U+nyhePdgfO4_?Cz{1$s+MkizD<1oy|t*G;_ z<9IxWBQd?R`}`DaOMM|Gp%>$giI^%1shn70Z>UE#xB=CnJ=g``!fyC3>P7#=Wc(cI zlld?5LX(hYOgl_QT~Eh#*b|?^UDyG8r)xkFMoK|1oQQgG8uHJ~u`WdhW9qOwHljvw z2>anN9Ek5D?>4tk_qU_hh1eZQs(BD~eHNzRV(du!CO|!?h9jXf~6t1+u^Ag;id@ik26rX_d^58@!^QJHxcBYMH#DX3?kp;B`PmD2XK zUV=TaH!eVRtPUT>1{{DNq91Q#8}u_>8zeQ!F z6*WbXk16QEt9Tr5VHUp1gy-N{REBP0F@B2-+7y$90(=BnE~XJ{a6hWyOvjk%H~}Z) zGnk7XVi_j%HD;>z|3efuaAGfNPWv;#^DrMZvW=)+@vLjHKm6CTb9?zo|*F{{9pWtv@I>3IIa2fTta2)n0 zZOV)X2jN=ORJ~$tM!omDA}V7uQB(35s^eAmdbK@YkILw_!Q_7zg|s1V14mIKYr%GS3Dv=Wp*~bM ztck27rLZTmLCj#({gaVdGP96>riLF4S(u8W zQHyL6YP-!qZO1vNln0PLnMTxoZ=gE*2h>`)fDL#9YjH)sF+1>6)NZMd40Zok`U*9I z)$FMZd=fRX-KdeiiAw1iEWwM&hB29iZpX&pQtBnhdNjYlHFy@)v8lt{_s>F&d;u=P zNCgGm(28sEeJsK0EOljID{4f$u|1x^&Ug}2@GNSiAE7#U6V>7P5$iU zkWYh2D{|jA8lR$GhU_@=0nWm2upGBGkw~!605oWoqF# zS1)SBepDvHsQWjgQoI8-=ZEe2W>m+2hsw}j#*u%e;v-IIj&GrQ+P0V#jD@HNK1O{y z|Bc=7GyEwgJm7A>4cL!*GcLyqSb&pC+$pR@X4!1VH2fQ?1D8u8?jH_ca6&!)61B?X z#=GBv4ps*>lHsViF1GdA7)M=)ra<$%l2}Oa)sA)I=cugdXmp8v1CFUo`?2F7zw?L+ zw;Efyk5Xpse0P-C5<4t*Jjrh_f@wDo5tE22LWkDP;#i5#v2_bFgQm&WH{jj&W2dwh zo*^d3YTy6VP>i?L?zqvGH(|XkJ9wC=CFT>a5v;S=bm$A2NhtL}VjHoZcv|fTD6nDy@Y%Z;@Co8& zTc3>+G`l~cFuEw(Jg-fHKN#{x8`9UsCwcwe*y-E% z%xRkxsBmh1-jz*LdyPrS3OV6mtQxKBwIDIs%;k!c6>2)yw`&?tEe?AtoUB1r!3wWG zCltNhw=phL4?DqX$4gs|C$KvFgfFl(-!yGjPFqH<2Bwu@brF9z!Oc&IoKx2S6AE8R2`1~dPq1vxvr(jy)aQsrFXXd8&d=Wy{IaM=NTgr-pB9lUfsSJj+9so^Z?2 za8v21`AzkslH0mxqFY8aC1#uPcQ2EiA5{FFG8XlY!~yL==pJtasLNejUKcB delta 3912 zcmYk;4N#R;9>?(m=oOL7BuPc%$v~7By%*#~k{1c{Fdk>)-B^w5@O``l=UwJbWGVXS-*iyXgIzcrH+t?w`ZNb{6uyZX`6(QS zXE6hPJVez@Lfv1E0j%=c*P@cS88zTuRDUnvK>9bYP*G}L$1CtSs>4rE9sGjoIF&Rg zGZ{DN2MHR;FWkEYCyYj z9zKm}cmbO+jZwy8H!9VeQ3Kq871)OZ@Eh#JbGQJTSUy1uo5-F4%B_?z3XmNf4fGJf8FpR z4cgUj;1E28srVIIIEZ{lZ~|804txN=$6{>fVRd`}^}Zvhnf9Xw`ZrYSzeAE?{)-x5 za+EF3GMN;lFXKlIpc3_h`KZmZ81jc4#iOte@IT!i;y zA8HA+u41EN0ct`IAzw97v(2rTUR3J(P$N5tTBF0LRK0_mX+P=(pJE|?jT_No!)WHu zp}r4ZLhYGDxE4=f7FJ$uOe3~qiO&CLR5bI{G}af3QA@DYGmLs+Cu)FE)Ic_Qf8UN8 z&{LiVy!O{{0PQF6a10Ybt^NA(u1{bJ{hLEnI`BiRz^V*mSQWDcr=gA7bU&b8Fr86q zrZuRJYdxD$d!QXP!1c%hGFy?=G5fvi_fYTu8l#%2Z=##(;iwUhL$zmk?Rlsa&cto_ z7V5=I*bo}fY8;H+7?0agUpRX`Uqxl^ePkb+GpPIjlS%%`zVWdz+C-VC87x2@mqskW zHKBz{YIyueHCIhA!NW?Kn1v z^y6mK?$4a${)p^Cor?6y?o6hkW>$mRtjn+*S0Ve-96}A~6gJ@J$Tl#Q9I;LeN2zE; z-=b3T6KaOPV=eju?%zYWhU*nrj^ASY1B;5Bj?n_=eZpYMGZIw)zQ_c7fwOGBFs!=Uzu7=!i}gU?nSNr zQM?QPiHmjq7fx}{@5`v&J|o|KaTJGh{V*zpdr+J08P6lAUHlJJ=6*$`JeCb(VHzgk zEYyH&P#FlKPQwb!)%owHqLCl-Za9l0xc&*1;=zUPbuw<{Ivd#*<|t0Y^Qik$irni7 zs2NuyC)%{5-nRqSp^Y2>Q#6$yEc!P~sZ`-hsMPt2jrjvk#v5@JYIB}I&2;uPtSjDx z%FI#Elc<^YV>137b^i~jrTPuE#6w84GLekV@Berz8c{y(!zJj>$=UHTS=qrPTjOq!QYYHxn1jYASsfFYqQp1H4@8e>;^ng6x{P1gqer5loP{ zRuzh7pjm1_cMD2#3|IYtvJH0>r1s@~y zHO$F#(hbf}>cgr~?k3uun)_2s_MKlko#%+xzRgo?^y-sPN121-duZB2^&{2Gd7(+ZtEGAUChz(B7{m6o?M61`PogN?_A!@xgovs^*1igF&5lgfX z>j{-oVxd!WKmH7hh+ZOt=pb$-E|v*ir4V)IRh}UDt}%}j*+dFaMXVrn-1iaF3Fm86 zm1<%f(MU`q%80)bONcuOl~pdz7teg^o%WYQ2glmK44W5gS0{DG*&iiW`+5q-=Een^ zn|n%&GVHx$Ck~9a!Yx)?C{l0#Hf}@ACG~Zoh!t#E9a$D?X|P{T+ZD5@FvlOr2~4#D z1;taQX88kte?rxqoa*}aP+KV6l2Z|k)E8U1{y5^G64a$+kir&B5Am zW2io2H61&A{Mou-o7GW&=drFPJ3W6>Y|qKUIrh||u7N(QIk@~-m;G}|Z_H5cX{m1t P(^MOdOtL>H+Ys|VQA)B{ diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po index 024552e..ed2f0f1 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po @@ -2,7 +2,8 @@ # # Translators: # edgars , 2011 -# Edgars Voroboks , 2017 +# NullIsNot0 , 2017 +# NullIsNot0 , 2018 # Jannis Leidel , 2011 # Māris Nartišs , 2016 # peterisb , 2016 @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-18 07:25+0000\n" -"Last-Translator: Edgars Voroboks \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-03 12:04+0000\n" +"Last-Translator: NullIsNot0 \n" "Language-Team: Latvian (http://www.transifex.com/django/django/language/" "lv/)\n" "MIME-Version: 1.0\n" @@ -91,6 +92,15 @@ msgstr "Pievienot vēl %(verbose_name)s" msgid "Remove" msgstr "Dzēst" +msgid "Addition" +msgstr "Pievienošana" + +msgid "Change" +msgstr "Izmainīt" + +msgid "Deletion" +msgstr "Dzēšana" + msgid "action time" msgstr "darbības laiks" @@ -170,11 +180,11 @@ msgstr "" "izvēlētos vairāk par vienu." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" tika veiksmīgi pievienots. Zemāk var turpināt veikt " -"izmaiņas." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" tika veiksmīgi pievienots." + +msgid "You may edit it again below." +msgstr "Jūs varat to atkal labot zemāk. " #, python-brace-format msgid "" @@ -184,16 +194,19 @@ msgstr "" "{name} \"{obj}\" tika veiksmīgi pievienots. Zemāk var pievienot vēl citu " "{name}." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" tika veiksmīgi pievienots." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" "{name} \"{obj}\" tika veiksmīgi mainīts. Zemāk var turpināt veikt izmaiņas." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" tika veiksmīgi pievienots. Zemāk var turpināt veikt " +"izmaiņas." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -228,6 +241,10 @@ msgstr "Pievienot %s" msgid "Change %s" msgstr "Labot %s" +#, python-format +msgid "View %s" +msgstr "Apskatīt %s" + msgid "Database error" msgstr "Datubāzes kļūda" @@ -338,7 +355,7 @@ msgid "Change password" msgstr "Paroles maiņa" msgid "Please correct the error below." -msgstr "Lūdzu, izlabojiet kļūdas zemāk." +msgstr "Lūdzu izlabojiet zemāk redzamo kļūdu." msgid "Please correct the errors below." msgstr "Lūdzu labo kļūdas zemāk." @@ -447,8 +464,8 @@ msgstr "" "Vai esat pārliecināts, ka vēlaties dzēst izvēlētos %(objects_name)s " "objektus? Visi sekojošie objekti un tiem piesaistītie objekti tiks izdzēsti:" -msgid "Change" -msgstr "Izmainīt" +msgid "View" +msgstr "Apskatīt" msgid "Delete?" msgstr "Dzēst?" @@ -467,8 +484,8 @@ msgstr "Modeļi %(name)s lietotnē" msgid "Add" msgstr "Pievienot" -msgid "You don't have permission to edit anything." -msgstr "Jums nav tiesības neko labot." +msgid "You don't have permission to view or edit anything." +msgstr "Jums nav tiesību neko apskatīt vai labot." msgid "Recent actions" msgstr "Nesenās darbības" @@ -530,6 +547,10 @@ msgstr "Logs aizveras..." msgid "Change selected %(model)s" msgstr "Mainīt izvēlēto %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Apskatīt izvēlēto %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Pievienot citu %(model)s" @@ -561,6 +582,12 @@ msgstr "Saglabāt un pievienot vēl vienu" msgid "Save and continue editing" msgstr "Saglabāt un turpināt labošanu" +msgid "Save and view" +msgstr "Saglabāt un apskatīt" + +msgid "Close" +msgstr "Aizvērt" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Paldies par pavadīto laiku mājas lapā." @@ -672,6 +699,10 @@ msgstr "Izvēlēties %s" msgid "Select %s to change" msgstr "Izvēlēties %s, lai izmainītu" +#, python-format +msgid "Select %s to view" +msgstr "Izvēlēties %s, lai apskatītu" + msgid "Date:" msgstr "Datums:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo index 059a9f58d18e201370e7a1456d79e5f1c7d6c9db..61e6e33e7e9d79b2c50de6bbfecb87c59953585c 100644 GIT binary patch delta 463 zcmXZZze~eF7{>9p@kiR!ShWa>Ak|<8p^yxvwM)TG(QXdKP6c%-sHo5_OHrhB5OHwo zpw>l1DCi>Y{sS)EI=T1{IQf0e!I4i$F3&x8dCER!U*2QkTTEor5vhuZH6b#FH5|n{ z#_<4cJi;V4aU5Hiz&1|d4W_V%Gx&cZ>zg@4yLgX7?BE5*Vc~2#a?ZGrF*l3IpO7V^XI$x5N7ih&nDg_w dppXfIQr^GrI%TJF)@W>;R1Q!5{*P0R{{f9RE`|UA delta 468 zcmXZZyGz4R7{=kR-cn=Jcv(bH0zwQz(N??_p_2%LgNslnBSOIng_gRNEFuUhg5cnw zgGE6dgp77`cXW2s#lJy+pE+>I6OxnnyyxV>fA(KGsi>0@S+_;XB4TAkdNITvtY8`s z(84ATU<>>31pDy<2k{zRe8ORT#UXr0hJ11<;twui;7Ifz5IQ1skSc2Mp|OR!z!7SJ zbK@0i(HmnMwdf;iff(=c4exM2o8)A9so#yF&Yy6jBzTGk+HeN7$O`JhYxsei#(-^V zkzdpkve@1RW>AB-@fdfojbC_%ryNHYj*TRa8$Hk5Od@|md}Cmoj?3N4ma~wXozLYL gy~12EU%0%rOYZ7kC9F5Rty;adTdOwWZ@ZNK1A1vOoB#j- diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po index a626a9e..4f1b55f 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po @@ -1,16 +1,16 @@ # This file is distributed under the same license as the Django package. # # Translators: -# Edgars Voroboks , 2017 +# NullIsNot0 , 2017 # Jannis Leidel , 2011 # peterisb , 2016 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-11-18 08:13+0000\n" -"Last-Translator: Edgars Voroboks \n" +"Last-Translator: NullIsNot0 \n" "Language-Team: Latvian (http://www.transifex.com/django/django/language/" "lv/)\n" "MIME-Version: 1.0\n" @@ -103,6 +103,21 @@ msgstr "" "Jūs esat izvēlējies veikt darbību un neesat izmainījis nevienu lauku. Jūs " "droši vien meklējat pogu 'Aiziet' nevis 'Saglabāt'." +msgid "Now" +msgstr "Tagad" + +msgid "Midnight" +msgstr "Pusnakts" + +msgid "6 a.m." +msgstr "06.00" + +msgid "Noon" +msgstr "Pusdienas laiks" + +msgid "6 p.m." +msgstr "6:00" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -117,27 +132,12 @@ msgstr[0] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." msgstr[1] "Piezīme: Tavs laiks ir %s stundu pēc servera laika." msgstr[2] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." -msgid "Now" -msgstr "Tagad" - msgid "Choose a Time" msgstr "Izvēlies laiku" msgid "Choose a time" msgstr "Izvēlieties laiku" -msgid "Midnight" -msgstr "Pusnakts" - -msgid "6 a.m." -msgstr "06.00" - -msgid "Noon" -msgstr "Pusdienas laiks" - -msgid "6 p.m." -msgstr "6:00" - msgid "Cancel" msgstr "Atcelt" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo index dba2a8ff3aa838e61dbbaeef39845e625aa00c5c..a649b24ec2275fd0b4d9a52e5b2fcc26c75df347 100644 GIT binary patch delta 4387 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 Nj8F4_IO$;ce*uuAebWE{ delta 3926 zcmYk;3vg7`9mnyL7kQAxlt&;$$bx~q(@lV+34tU8L?U1ahKC`QB}CYeCguSGsjNY$ zLI@NBRUQF?24qGdxN31wP?!|Q(RQ~lJ57~Qw03-U91D)ErQhG)o0*>Be?RA5?!D)n z|2gMw4)+HA=V*}UgAt(z4dprFPGV)4F*opN6bDLbtTCf84dbyG6LBd%fGs!$-?guQ zi=~{$-C@jhtVBKkBo4!47><1yVvNVUKqZO-9-> znaGRG42;BLjKKN$C|2Tj^kEEE{m2?fEe@l7vxSNt?7$J&X?qN5)11cyd=u64L7ap) zFa?M45LJ_ny1xW-u)@B+4VBCTs16@TwRaZ7Xy06*qSRc%F*tx~@O@MRw@?iykp^WZ z1;^n`+=R=q8U1(`%SIXV5PpNt;0hknb3brUM@KS`%EV;!s7F(&l;CWffRCd(bP}uZ z3?}1kY`|oC8I1c-sXl<}U=Pm0J`BarupPg~Ww@UC(|fO?ru^-(tkcLg<4KdPgDL8bl+BpK$vs1C+^ zSmI2RNkrN*PE-fVQ7>4ES}ZlF7p=u~Y)9T`)cv31IlPUN@!WW} zGX4pb5zlQZv#5kK@eIb?jZSnS({1+S20VjmIEl0@z;c|2Phlor$3+}Vwx;|9TUP8^$Yp7JcgBqzH^@0yDAOC@!=wQKUV@s74th`>*<=6z5mbjx z+n%?tU&K(ZU&FIO3;;F7?NhAw4q_thn|>-C_zwOU7o}L+a4SB{c@I`&EWKl}rXJOS z-KY^BLZ$dLYR+Fot*PIj*2o~zwz-8G=$&cSTF6I_9;l(B#nX(DxE-}x_h4X~;M<({ z;{dj&TOBDSpY+YtqB7Ho>{xRcNviQ8%gelntUvQF)Y=-sf>FC=ndE;em1SHgz)p1F z0O|#Q$8wCyvbJLt>cI`jf0>=Aj=qA!@hyzTKO)IAAEG)Kk!@{LCu*SUk@al0W|Mz4 z)We0(@J+mo&od8SVFTTL39EBRHFFr3YrS9sy-wnK4l1RKQ7Lc0RoH=d<3|{WY154P z0~X>ujGfLF#HAi8>QQE%bz?C`a9)93xWYdF6hG(upQvs1H3lu z2T|{N4QbO1pw`0os1Hy)>DK>yvZ*+zoVuFwdeoK8We~1*+jO#n$4Rg?fG^>b|weMlhRjhW39i6)mRsQL8no#A+xN zlQ>^s+kkWF=x$VoeqU2dN^*g>(8J%KtBQv z#^U|NP}xkSZ|DS<5SoHfn*Rr>v=S^#vzRC#lui{FLDmCBUqUCLjy*zbB~-eJ2I7ED zCqPk30IfijQd5khI6N@(F^5h~k>eT3G)TwJD1Y2qaD0I`Em(OO}N1`l&>xlb^62dC9A3<&S&^hY!_yoZs5B#{OiwOj4&+H}iOZF5| zL#T8Ry8<=qkO99UTI_53=H&J@|Xd;+sBz6)ivxwz^nswL>)x>ck zh1f!@B!)_=UCGBtyWWd@?#)pmlh6*UAexDE;yI#}2z>QasU#*5^+XX-Ogv4jB7R1w zY_hQaIHlh1{UkOr*n2CkD%e{&vOUE6=lIHD-Ff44y<5gF35#$vH9A_|ZFS!7C+!M~ zsaxZ2bGRBex2d?Lt`pXJQS$|-Q<N6YHV$AwKcUAI(++l{rqqGdnTn*R<5Zi~IeL`7U-pnVTAv L?fq`y$>9G1uaVXU diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po index eed7fde..d7fc5e4 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po @@ -4,16 +4,16 @@ # Ankhbayar , 2013 # Jannis Leidel , 2011 # jargalan , 2011 -# Zorig , 2016 -# Анхбаяр Анхаа , 2013-2016 +# Zorig, 2016 +# Анхбаяр Анхаа , 2013-2016,2018 # Баясгалан Цэвлээ , 2011,2017 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Баясгалан Цэвлээ \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-09 04:47+0000\n" +"Last-Translator: Анхбаяр Анхаа \n" "Language-Team: Mongolian (http://www.transifex.com/django/django/language/" "mn/)\n" "MIME-Version: 1.0\n" @@ -91,6 +91,15 @@ msgstr "Өөр %(verbose_name)s нэмэх " msgid "Remove" msgstr "Хасах" +msgid "Addition" +msgstr "Нэмэгдсэн" + +msgid "Change" +msgstr "Өөрчлөх" + +msgid "Deletion" +msgstr "Устгагдсан" + msgid "action time" msgstr "үйлдлийн хугацаа" @@ -170,9 +179,11 @@ msgstr "" "байгаад сонгоно." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" амжилттай нэмэгдлээ. Та дахин засах боломжтой." +msgid "The {name} \"{obj}\" was added successfully." +msgstr " {name} \"{obj}\" амжилттай нэмэгдлээ." + +msgid "You may edit it again below." +msgstr "Та дараахийг дахин засах боломжтой" #, python-brace-format msgid "" @@ -182,15 +193,16 @@ msgstr "" "{name} \"{obj}\" амжилттай нэмэгдлээ. Доорх хэсгээс {name} өөрийн нэмэх " "боломжтой." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr " {name} \"{obj}\" амжилттай нэмэгдлээ." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" амжилттай өөрчилөгдлөө. Та дахин засах боломжтой." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" амжилттай нэмэгдлээ. Та дахин засах боломжтой." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -229,6 +241,10 @@ msgstr "%s-ийг нэмэх" msgid "Change %s" msgstr "%s-ийг өөрчлөх" +#, python-format +msgid "View %s" +msgstr "%s харах " + msgid "Database error" msgstr "Өгөгдлийн сангийн алдаа" @@ -337,7 +353,7 @@ msgid "Change password" msgstr "Нууц үг өөрчлөх" msgid "Please correct the error below." -msgstr "Доорх алдаануудыг засна уу." +msgstr "Доорх алдааг засна уу" msgid "Please correct the errors below." msgstr "Доор гарсан алдаануудыг засна уу." @@ -446,8 +462,8 @@ msgstr "" "Та %(objects_name)s ийг устгах гэж байна итгэлтэй байна? Дараах обектууд " "болон холбоотой зүйлс хамт устагдах болно:" -msgid "Change" -msgstr "Өөрчлөх" +msgid "View" +msgstr "Харах" msgid "Delete?" msgstr "Устгах уу?" @@ -466,8 +482,8 @@ msgstr "%(name)s хэрэглүүр дэх моделууд." msgid "Add" msgstr "Нэмэх" -msgid "You don't have permission to edit anything." -msgstr "Та ямар нэг зүйл засварлах зөвшөөрөлгүй байна." +msgid "You don't have permission to view or edit anything." +msgstr "Танд харах болон засах эрх алга." msgid "Recent actions" msgstr "Сүүлд хийсэн үйлдлүүд" @@ -530,6 +546,10 @@ msgstr "Цонх хаагдлаа" msgid "Change selected %(model)s" msgstr "Сонгосон %(model)s-ийг өөрчлөх" +#, python-format +msgid "View selected %(model)s" +msgstr "Сонгосон %(model)s-ийг харах" + #, python-format msgid "Add another %(model)s" msgstr "Өөр %(model)s нэмэх" @@ -560,6 +580,12 @@ msgstr "Хадгалаад өөрийг нэмэх" msgid "Save and continue editing" msgstr "Хадгалаад нэмж засах" +msgid "Save and view" +msgstr "Хадгалаад харах." + +msgid "Close" +msgstr "Хаах" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Манай вэб сайтыг ашигласанд баярлалаа." @@ -670,6 +696,10 @@ msgstr "%s-г сонго" msgid "Select %s to change" msgstr "Өөрчлөх %s-г сонгоно уу" +#, python-format +msgid "Select %s to view" +msgstr "Харахын тулд %s сонгоно уу" + msgid "Date:" msgstr "Огноо:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo index b50885a4b85846fe870772096de9865d13fa3c0c..e6c59868573afc47e36605d1a92250d22b33a614 100644 GIT binary patch delta 452 zcmXZYyGz4h6vpAVDqf$qdV5p z6uTwPV-+LIb^IV-;Vd_MG{Pasmt0F1`eRZDhM44{XN8ivY_6E)cC|C=af^9B%m)iz Q5G;m%z3HsBf1RDaKPY}K_y7O^ delta 475 zcmXZY%_~Gv7{~Ev5ax1?cPn)l7PBxiqf0b23n`Sl5H&TWiSe?~t=VYqW{QO!F$-B) zU?HZ|B&KXFEG%r4A`2@U|A39};i=R8+~3nV&v`nJ(U0i$eW-X45}C0?JP~>o7;X_c#v9~r@go0yGiY)yQe+x_@)UZpfM$>*-FS*G zoYfHIcB~{3-`~JYPzd2F)v{u8v<>5J{ diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po index 509cedd..28a8598 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po @@ -2,16 +2,16 @@ # # Translators: # Tsolmon , 2012 -# Zorig , 2014,2018 +# Zorig, 2014,2018 # Анхбаяр Анхаа , 2011-2012,2015 # Ганзориг БП , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2018-02-21 00:38+0000\n" -"Last-Translator: Zorig \n" +"Last-Translator: Zorig\n" "Language-Team: Mongolian (http://www.transifex.com/django/django/language/" "mn/)\n" "MIME-Version: 1.0\n" @@ -99,27 +99,9 @@ msgstr "" "Та 1 үйлдлийг сонгосон байна бас та ямарваа өөрчлөлт оруулсангүй. Та Save " "товчлуур биш Go товчлуурыг хайж байгаа бололтой." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Та серверийн цагаас %s цагийн түрүүнд явж байна" -msgstr[1] "Та серверийн цагаас %s цагийн түрүүнд явж байна" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Та серверийн цагаас %s цагаар хоцорч байна" -msgstr[1] "Та серверийн цагаас %s цагаар хоцорч байна" - msgid "Now" msgstr "Одоо" -msgid "Choose a Time" -msgstr "Цаг сонгох" - -msgid "Choose a time" -msgstr "Цаг сонгох" - msgid "Midnight" msgstr "Шөнө дунд" @@ -132,6 +114,24 @@ msgstr "Үд дунд" msgid "6 p.m." msgstr "Оройн 6 цаг" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Та серверийн цагаас %s цагийн түрүүнд явж байна" +msgstr[1] "Та серверийн цагаас %s цагийн түрүүнд явж байна" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Та серверийн цагаас %s цагаар хоцорч байна" +msgstr[1] "Та серверийн цагаас %s цагаар хоцорч байна" + +msgid "Choose a Time" +msgstr "Цаг сонгох" + +msgid "Choose a time" +msgstr "Цаг сонгох" + msgid "Cancel" msgstr "Болих" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo index eb47b17444ce9c458ec4e89448bf7437d616f264..dd7b5e69f7ac81c8d9115c52c2f3d9741c10f0ed 100644 GIT binary patch delta 4222 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, 2011 # jensadne , 2013-2014 # Jon , 2015-2016 -# Jon , 2017 +# Jon , 2017-2018 # Jon , 2013 # Jon , 2011,2013 # Sigurd Gartmann , 2012 @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-27 12:33+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-30 11:34+0000\n" "Last-Translator: Jon \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" "language/nb/)\n" @@ -94,6 +94,15 @@ msgstr "Legg til ny %(verbose_name)s" msgid "Remove" msgstr "Fjern" +msgid "Addition" +msgstr "Tillegg" + +msgid "Change" +msgstr "Endre" + +msgid "Deletion" +msgstr "Sletting" + msgid "action time" msgstr "tid for handling" @@ -172,9 +181,11 @@ msgstr "" "Hold nede «Control», eller «Command» på en Mac, for å velge mer enn en." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" ble lagt til. Du kan redigere videre nedenfor." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" ble lagt til." + +msgid "You may edit it again below." +msgstr "Du kan endre det igjen nedenfor." #, python-brace-format msgid "" @@ -182,15 +193,16 @@ msgid "" "below." msgstr "{name} \"{obj}\" ble lagt til. Du kan legge til en ny {name} nedenfor." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" ble lagt til." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" ble endret. Du kan redigere videre nedenfor." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" ble lagt til. Du kan redigere videre nedenfor." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -227,6 +239,10 @@ msgstr "Legg til ny %s" msgid "Change %s" msgstr "Endre %s" +#, python-format +msgid "View %s" +msgstr "Se %s" + msgid "Database error" msgstr "Databasefeil" @@ -335,7 +351,7 @@ msgid "Change password" msgstr "Endre passord" msgid "Please correct the error below." -msgstr "Vennligst korriger feilene under." +msgstr "Vennligst korriger feilen under." msgid "Please correct the errors below." msgstr "Vennligst korriger feilene under." @@ -446,8 +462,8 @@ msgstr "" "Er du sikker på vil slette det valgte %(objects_name)s? De følgende " "objektene og deres relaterte objekter vil bli slettet:" -msgid "Change" -msgstr "Endre" +msgid "View" +msgstr "Se" msgid "Delete?" msgstr "Slette?" @@ -466,8 +482,8 @@ msgstr "Modeller i %(name)s-applikasjonen" msgid "Add" msgstr "Legg til" -msgid "You don't have permission to edit anything." -msgstr "Du har ikke rettigheter til å redigere noe." +msgid "You don't have permission to view or edit anything." +msgstr "Du har ikke tillatelse til å vise eller endre noe." msgid "Recent actions" msgstr "Siste handlinger" @@ -529,6 +545,10 @@ msgstr "Lukker popup..." msgid "Change selected %(model)s" msgstr "Endre valgt %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Se valgte %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Legg til ny %(model)s" @@ -559,6 +579,12 @@ msgstr "Lagre og legg til ny" msgid "Save and continue editing" msgstr "Lagre og fortsett å redigere" +msgid "Save and view" +msgstr "Lagre og se" + +msgid "Close" +msgstr "Lukk" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Takk for i dag." @@ -669,6 +695,10 @@ msgstr "Velg %s" msgid "Select %s to change" msgstr "Velg %s du ønsker å endre" +#, python-format +msgid "Select %s to view" +msgstr "Velg %s å se" + msgid "Date:" msgstr "Dato:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo index 02c8aac5bc34fbde9a14b1cc639783d74bacf9b8..5f34eb3aa73596a29608cd1ea8383041fafd3f17 100644 GIT binary patch delta 26 hcmbQPG+k-KBraYHT?12HLvsZ~Ln~8*&GWe`*Z^hK2POaj delta 26 hcmbQPG+k-KBraYvT?12HLvsZqV=F_W&GWe`*Z^g{2PFUi diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po index f00cbfa..7588b48 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Jon \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" @@ -101,27 +101,9 @@ msgstr "" "Du har valgt en handling, og har ikke gjort noen endringer i individuelle " "felter. Du ser mest sannsynlig etter Gå-knappen, ikke Lagre-knappen." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Merk: Du er %s time foran server-tid." -msgstr[1] "Merk: Du er %s timer foran server-tid." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Merk: Du er %s time bak server-tid." -msgstr[1] "Merk: Du er %s timer bak server-tid." - msgid "Now" msgstr "Nå" -msgid "Choose a Time" -msgstr "Velg et klokkeslett" - -msgid "Choose a time" -msgstr "Velg et klokkeslett" - msgid "Midnight" msgstr "Midnatt" @@ -134,6 +116,24 @@ msgstr "12:00" msgid "6 p.m." msgstr "18:00" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Merk: Du er %s time foran server-tid." +msgstr[1] "Merk: Du er %s timer foran server-tid." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Merk: Du er %s time bak server-tid." +msgstr[1] "Merk: Du er %s timer bak server-tid." + +msgid "Choose a Time" +msgstr "Velg et klokkeslett" + +msgid "Choose a time" +msgstr "Velg et klokkeslett" + msgid "Cancel" msgstr "Avbryt" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo index d10694a1087ae6a94f2829d878dc3b8613b381f1..7f9761593840316a6ec9265e89d6ce0641391d58 100644 GIT binary patch delta 2646 zcmZA2e@s8v3>(}}tan6-3WoL8QbXI@lR;{VMKj$8n>lxqsdY zbNHnC+v@nh$h6&t)I{7%G^ZM)iciz|A?0|C$we>LVgScs2bSU&AVZy*jG0)9**G6Z<8ssk>QU{Qa3scDci{-i-L8i)O!*{w z@jB{(w@~+I4>x8gj=^*jH^xV13>5_!z`3ZIG@xeQjOwTZHL$m_0^dgs>@u#xYnXx+ zOk4L?Vj3<(wW~q?%o={2{#DQOO*0vF+=lAlB^-r2P&4g9b#xdtlU~=;sF|N}%LAyb z`4t(9@z7}v=Hf2ggyr}fYCy$w7T3%|WV8Z{P!FobyKy7tVGPyb>!=&MQA@cWHPFL& zKb}Sn;2JUplg{Wgfl;WfEkd=QhQ(Mpg7u$IriF@o@Cb(R8`R$ah3z;Z#~8NHyo`GA zo2WhPcHM_s(u2q?<|t|+r%(g=0%zh`)Ic(swGOG*%lfk#CYOqNI1x3FI-G>tP%}T^ zdK`7*XUHVY=cosqb+2DS4e+Y#A8!3k)POuJ$G#!li{mLDi?bfxWco25n^^Y+_!?^I zzC$gUjhfjF9E)k3OkMY(mOkW`*P*s3irTt%^x+#g2S3D0yowrlJjgn$<8oBPDx89w zQ6t=qe(b}o_&pZk3J#10`~vDh@1j<+51l1PwL6Pp{1Y{iVn#m|=V1xYH_c=UsMw2j z_$6vUMfBQ_WvC@hXJ6ED4r+!zWIIg(PQ+5w1JghH=t(zid(jD3FULB70Tl?b{=QqYW6aV%67{2_az_nBUVtpg6cOwXWFV2I2{{M zThN6?aWWUlXvC@hRgWO_Hpk{ml^=ZA1kD_OSF)!kJT#6S_ z^@aJ#*L(~582DQlXFJU?o~EVz8nuT%pa%3aYAb$6+M3&LIiLL^Yf5k@u0{>$66(I2 zI0G{Z`9Fel@ge*hw_+s+L+wu$vHr>oP@x-dxfe16$p({Lm!f9A89BJ7136Eo3pp;P z7nzXrnO=cftwn?$I*-sQrV!dbrKbqS$hRP#{IIA}OZYG`jnE0zlGPI%h;pKlm_<|* z|4)qDNu_sOSV(@;9c5*;nv)3~K;C4X|73a`M!ESXF_q8^Hxo+;Cg`NKu1~vii1iwo z$B1;In5ZB)tIn6T7M1j|8ccJ@tRdJ96R&Y=AHfHRO1HcbR}(XdWyFKTVnRu0Mf*FL zv^7diNu1YMU(GbPtTQ!*(AMcy)CWr`LZ^NLF`igO3??0R9bBal5pi0O(HBYwa43;a%qE5{vi?Cq?U8BE@Zq8=jLXi8EQl(mK<;hlba;Mq`m^ z%pcqGOy?2r)YSI2NaqD_Rq3o?s5Dp-_J?Pbhs%PY>7mfDn(E-n$a9TtbRS$?7mJkp zOG4pfyIKBFxV&U`V$H~NDLIF1tJk(ZvaM6juhm(UyRCBY@qXK~?4Az0r->D0N-pnA=}TZ2ps delta 2599 zcmZA2e@sH5Q5@6Wl%we^heeLd$n=RD_mzRz5beK-VzNEfC9 z6rKpLxtrGRDS59EZa>p6NOly&NyaB;1LK z_yOwvP8^KgsD97j82l2`dA_+uMI(QNn&}f%M=8%l29$=S9Os}qXu;R<9gN1CsQd3= z4ECX}>qli^z&-!SZGVEA=wMDp^L#Us%19iInrSAgqhi!d%3PPDW?tzYH=>pzfb?lP za1tKJWq1Ym;#i(mgk7kC{fwGmKL(VFzo_Ve@jNXBlW-iSp*k)_-MAE$(v_$IZ@^4^ z3pJ3#$TLk3Y9g0VOZyY*`umuH4{;t&8czPlQ`yM0JlKk(@dUQucgSj({1K4{m!Z~j zsp|?<>Q^I|no86}8c_pj!F+5(4dgs(b6!N|Y_5zT|1+rEp`jR~$cqM4g41y=Dg*Dj zzK_oCMkZl8-S*R{%$#@q-fh2zT~Wr|MJ>$^((n;>;1tXYkna*IYfvdWgi6&Z)QrBx zv3SEhKY&X4W7LwQvtzYX**Fmw;T)_%W#9;^pEK_HUYyBsA8J5>IPz^#$;9or1k>;` zYJ?9^4;aBlQOYt=9T%XkTYz5NiW>MQn2l#~7T(9Hn8GZoun;w%4!o}S|0ETqZU;|M z$GcH8JAkZ;IfSWr0`-7vsO$UD!aq^>C9rO#I3DwG9Wr)v0JZ75U2mag{*QAUAZ={j zmuOgsO5uK7hNtkhF2oAf@Ft(H7LGHXi#)IsOLZOU0S{11IELP5VLTW%qQTJWM9Q+ZhF?yOY z-{2N}8K*Ms?O2bxZ@_g}dgT5LeSdXgHVtwmYUa(z1~u=YW^xpni1RLklPyaXx3Gnr zfzES}dA{?{N{5TxHo;5dEXjXO0b`bPG@sC}RjD9&U7hznRt=Q(gl1GkloLycGD77Q zLLVs=4-xIuB1@vGkJwB+Pbf>u^g4n$8GV18*94rR^(`SZ`&wcnp^PZq%7pfT-v1Yf zEyUA8W}TwtQ<+OFB(#yW)+)J#_QxjTRbmhk&{s}na0KT~&|B~Zv4Ge>u)NNHJa9f9 zE0CAMDH;4$5j8}j)51HBlZh;16`?&chj?0e^PEztWEW7??u>Do__m`y$tpvL)kGdq zOz1t=$7T&Nlu(&OloERNRCo)`YvF`p@lnC)anr)paXryvH#amj`8NA4f345*H8nLf zS(|)Y8{WeKyJZPhlP)#z(_v#z+oHaT=w)`u*d#@epvh2`jcBt3x{=yC&v%7cMp*?n}jn)tC(Aobr zbvfq`a`K=Z`rPhrr*>FvpB^*8{SynrjT7z;4Yo~ADL6+fCwsWY4js2cM>*gz7ht#3 k(ChSZfo^CD*&#-=i{}Ol(yU-&+Q@MAw98S!#pyNw0-S|ajsO4v diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po index 19baad9..14b83e8 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po @@ -1,13 +1,14 @@ # This file is distributed under the same license as the Django package. # # Translators: +# A S Alam , 2018 # Jannis Leidel , 2011 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 01:29+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" "language/pa/)\n" @@ -23,7 +24,7 @@ msgstr "%(count)d %(items)s ਠੀਕ ਤਰ੍ਹਾਂ ਹਟਾਈਆਂ ਗ #, python-format msgid "Cannot delete %(name)s" -msgstr "" +msgstr "%(name)s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" msgid "Are you sure?" msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਚਾਹੁੰਦੇ ਹੋ?" @@ -33,7 +34,7 @@ msgid "Delete selected %(verbose_name_plural)s" msgstr "ਚੁਣੇ %(verbose_name_plural)s ਹਟਾਓ" msgid "Administration" -msgstr "" +msgstr "ਪਰਸ਼ਾਸ਼ਨ" msgid "All" msgstr "ਸਭ" @@ -84,14 +85,23 @@ msgstr "%(verbose_name)s ਹੋਰ ਸ਼ਾਮਲ" msgid "Remove" msgstr "ਹਟਾਓ" +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "ਬਦਲੋ" + +msgid "Deletion" +msgstr "" + msgid "action time" msgstr "ਕਾਰਵਾਈ ਸਮਾਂ" msgid "user" -msgstr "" +msgstr "ਵਰਤੋਂਕਾਰ" msgid "content type" -msgstr "" +msgstr "ਸਮੱਗਰੀ ਕਿਸਮ" msgid "object id" msgstr "ਆਬਜੈਕਟ id" @@ -161,8 +171,10 @@ msgid "" msgstr "" #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." msgstr "" #, python-brace-format @@ -172,12 +184,13 @@ msgid "" msgstr "" #, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" #, python-brace-format msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." +"The {name} \"{obj}\" was added successfully. You may edit it again below." msgstr "" #, python-brace-format @@ -214,6 +227,10 @@ msgstr "%s ਸ਼ਾਮਲ" msgid "Change %s" msgstr "%s ਬਦਲੋ" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "ਡਾਟਾਬੇਸ ਗਲਤੀ" @@ -316,7 +333,7 @@ msgid "Change password" msgstr "ਪਾਸਵਰਡ ਬਦਲੋ" msgid "Please correct the error below." -msgstr "ਹੇਠ ਦਿੱਤੀਆਂ ਗਲਤੀਆਂ ਠੀਕ ਕਰੋ ਜੀ।" +msgstr "" msgid "Please correct the errors below." msgstr "" @@ -413,8 +430,8 @@ msgid "" "following objects and their related items will be deleted:" msgstr "" -msgid "Change" -msgstr "ਬਦਲੋ" +msgid "View" +msgstr "" msgid "Delete?" msgstr "ਹਟਾਉਣਾ?" @@ -433,8 +450,8 @@ msgstr "" msgid "Add" msgstr "ਸ਼ਾਮਲ" -msgid "You don't have permission to edit anything." -msgstr "ਤੁਹਾਨੂੰ ਕੁਝ ਵੀ ਸੋਧਣ ਦਾ ਅਧਿਕਾਰ ਨਹੀਂ ਹੈ।" +msgid "You don't have permission to view or edit anything." +msgstr "" msgid "Recent actions" msgstr "" @@ -490,6 +507,10 @@ msgstr "" msgid "Change selected %(model)s" msgstr "" +#, python-format +msgid "View selected %(model)s" +msgstr "" + #, python-format msgid "Add another %(model)s" msgstr "" @@ -520,6 +541,12 @@ msgstr "ਸੰਭਾਲੋ ਤੇ ਹੋਰ ਸ਼ਾਮਲ" msgid "Save and continue editing" msgstr "ਸੰਭਾਲੋ ਤੇ ਸੋਧਣਾ ਜਾਰੀ ਰੱਖੋ" +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + msgid "Thanks for spending some quality time with the Web site today." msgstr "ਅੱਜ ਵੈੱਬਸਾਈਟ ਨੂੰ ਕੁਝ ਚੰਗਾ ਸਮਾਂ ਦੇਣ ਲਈ ਧੰਨਵਾਦ ਹੈ।" @@ -621,6 +648,10 @@ msgstr "%s ਚੁਣੋ" msgid "Select %s to change" msgstr "ਬਦਲਣ ਲਈ %s ਚੁਣੋ" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "ਮਿਤੀ:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo index 0d95b1080c4ddb00530b1796dbf61ed4d2b2e01a..57cc79f362f435fe40510fb614cd108d25f558e4 100644 GIT binary patch delta 26 hcmdnaxt()E5EHM3u7Rnpp}B&gp_Qq@=6I$ECIDb527mwn delta 26 hcmdnaxt()E5EHMNu7Rnpp}B&Qv6Z3G=6I$ECIDa&27dqm diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po index 12cdeb3..2a36046 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-19 16:41+0000\n" "Last-Translator: Jannis Leidel \n" "Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" @@ -86,27 +86,9 @@ msgid "" "button." msgstr "" -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - msgid "Now" msgstr "ਹੁਣੇ" -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ਸਮਾਂ ਚੁਣੋ" - msgid "Midnight" msgstr "ਅੱਧੀ-ਰਾਤ" @@ -119,6 +101,24 @@ msgstr "ਦੁਪਹਿਰ" msgid "6 p.m." msgstr "" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ਸਮਾਂ ਚੁਣੋ" + msgid "Cancel" msgstr "ਰੱਦ ਕਰੋ" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo index 802ce6b9781c308ddb222aad2e74f2ea4d90936d..0f767acf709d3e782a1a48170cd29c7d36bb3005 100644 GIT binary patch delta 4309 zcmYk<3s9A19>?*An!yZ(a9@@OJ-=^ z%~G?Ao7u6c+0C(B)XmXyoym4~w{<3Ss;Q}MoN{MV+3)YXFH`UI=kq-8dEe*qf1c-c zy1yap)|RlqzvCl!8Lm@AKjLVVF+bpl&ivu}I?k9L_zm{NHtdT%A24Pq=HOs#M%_P+ z6Y(nMVSHEn{i)c2`f`j$H%1r}FqITyxv|=L;3-sxn^6PWj|uo5_QuPohHha;{0^<<}wD6vTsqTxra(=XL_H2 ziI{}TPy?&Sg}5FE;b&NZcQG72tdlyZKn=78Ct(9d;yGN07kiWcMHGseo*Led+6ynE zUOb6P<-5-B7f~ty7?r{wQ3Jk<>NtipkPOoW^?ow48YT_d9%d|R05ee&oR>)c^`OhS z;X!q{)~Rnr?dsjA0};dlcor?Zfz_yo=0FWL;sq?gS?pkS{0yqYeW;1Ph8pNw0SZce zE0R5P9W}!5k>xYDk;$2k{q30!L=7Yh)zDbf-YG^kI1|;L3x}Z}HGxB@%>D_Lk&CD$ z3jBkDUc8AX@eZcqaTYucub?t?2ghR@GHElOG-TltWV@IqtihL19rv<~nSn((1-Ih} z{0wJdWU?{SbpGd4*vyTCs5MPtffr*2YG#e7Q?bKwH!76}Q3E@HTC&rq%(Xgx7^9*)Bl(x%L~ za40^BTB>7?r%>&lK~3O8jHQ2b)p_7^)X2VZyzSh-hniWZ!5p`6UPiKPM$(H?KOeQm z<#-9Vpi(?H&3^7M7E%8IOE7}<(XlVXKoo@r3ffE?QS~O&2%p1__#!HGuOiEDK0uDJ zxq)mK^Iz0b^c-%Rgv#7t)cd)p_Qs)>Vg~wg$#C*tN8t)Lw1!jIA#8ZF2sNN;R7TdJ zcI{?V!+RWGK@H?IY5-S|Nt#bF6WdS&&rG+E;S|iKz8LjYPu;Zsgr0Ce%`H zL$&h)_Qp4mRWq%qQ}Z*1{{8RHzZ7~f1vSHb?15A9FfK< z@4^vy7JK4%_yR_ZHHLj^_Td8jt7Ct@TH1f6iozm1;`j?5pgx}uzSivo1%Qhq{CT;?a;8avf|ApF2 zH&J`xE8KxUA=||?awPZ)n=`l?zd)KY3;66=xD%O^c?UJ1+o&aKD+(ABMj@uyUi(_YNBFy# zD7CBRclanV+Np~PPFZWNYa`K*P{!sH4-u7wF0Fe>sAL~!75_l6^r6hEzL{w6U-i(x zTHA3-sP^lh8j2B4wGTEr<*oRXQ?~FGVhypBc#~kinpFf}_s~hwn)`@ni4DXv>fcKt zmpD%Rp4djbLFm#h)(9sP+EC5J%Y-)NKBAsrPnxF*UHyrdh)u*XLYMYK2Jtwd-9Lm_ zM%b4#|B2MJb9MD4w5fCz60e0y_8;vDUDYa^V%p$fBhX`HSHlbrTiSkLOE{+m9&%24vgm(5yLRT?SK|Dgl5xSlv))D1I z8KIAnuDL|u0DqO|ZVL0I@<`7lH2x2C&he#$8i1tgTqmxs49(T0= zfKL#Io%%d1(&|1&VUTk(6YGc>M1ym038oQUiG{>L;&mdL(3ME64V8=;g~NzHI(6|N zG4(ff6$cV7Vwx5zN_VWHx|aKc6N8iEz7Fe9>Z$hlyusmJ7l%hy`26nR`uK*3Xm^D> zbo*|P1s$TjrPdmcyS8OozcDeXeyiFSss`)(EsN@C9^n@&)!%Y8xqCO>DyeptTB$=T zeWmV-G=K2(K|N_awse>KRqiiJty1B&Mn9u zm7X;+D=TKs?DTo=H6A}>OP}Pbb{AMVS=sh;`BqkbL2gcPT53yV^dw)Y%jdy3U&3QNmT!f-ysEygyd^w;Vpk?x>T_Cwr4Rh|8nv%h)BT}vd)WU0Z44Jg delta 3850 zcmYk;2~bs49LMqV*i=G6aVO)YfGA+^AxnS;n7Nf3hAUcxWVk>AqCoiy+=|o`&D0dM z)K-_Cnr%APR5P~PXgOo4)mXMqdsCzK{k?mb>5P9q|9iRjo^$`_oGTYsxUMv~eCN7^ zY&5i|iED|XP-DKrC&KwbOYCG!HynW7F&ATSGET=zOu+Z;`QI_0$2pPmG9i9u$xCWs;ExnH=nZx!4{@gHYG!p%*9E z^9`tCZa@vV1=ZhP45fc_ghZt|iaqcxREM9VI`|9KaV%v}W%^@p9EwYDDlWv6xEF8k zYRujED?W+SxJmb2=7$Cv%{;0S@#xct29xCBFuV>MQ3KkEh4>7{;Z>ZEaf~tu*P%+i z0X4vFI2?Cj2!4n4_%lwydCZ@l`zC72PxPezy75y^sC4J;1wW%o{3oh(y(ou99Ea*S z6?s{cj=Fy|QY14GnPxK^HGoB^7py~F_mDkahw87j7xmW#`#GUieGIR`vlxrtpc~s! z?`llM3Ahbc;!l{3HQcO@51^j+2I@^uq6T^fRr(*0Vwfwa0e1JX#F-`&gY;!Qr~!;Y zJzz3wvCKq0Xbuj#9xpepboYD&IDUH?7q!>bsN`}(kz@ieL;zN;iRk+fst zc^NYTJy?uPw^@&i@EKIcv6SUD9D^fq6DH$%9ETBZrUPf-a@>WQ!ldh2sF;Czp|!}T z#%DG=iD^NVZWn4~2T^nM8md(9q2BZ)>H+646E9&Cx>+!K^XF0DgF~n_^D;KzJD7xH z`WZ79YjCLc{}&{B^Vm4%7qd}QP-3k>J+K}%Kp$!#YwYj0q6W0bdcdB46+<}x4#oxX z0!Wd}F9}X%JNIV_>E9%hoWS9z5=Jr#T{sJe;ZiKY*Qhi!lfF+;P?-)Bxt9`fW_2{`6s*IB^3WLXG$$YCBylkC*dXWA+JVtM z%W*wwyC$$j^yWDjfm5xen9p$~vaHNO)SI5ca=d`)IG(rKh|7H>x*#UiDOEqz6nL=$ zvoR8%#TW4v9FGeII~~7{S`#Pi@decNKcc4OGU`o3(wy^d)POyxMeQ3((uE`+RhrvT zBcFvTT?1+rZ^0;RK@E66YEd1*j`%66W%hcH#~-|cp6#wrY6hzlF%3Vm&le?SfR zchp)6zsY&yXuO8wMAUyqX&Ctbe*_7GHig)XYf&Zbm+LH&fv7nigzIn!CgTUV5dTH~ znFV>yZh8Uf+kAlPFoG?i()UCc_Crl&d_MJ8iEreD7TGA&svL{DVIt~Hick-#L>H=U zBN_sk^H)v@`K?4Op=ne_+gdG&)>vDcM8a}o9r##yBvk~{VkQ!*gvzQ`OpFL*&RWp) zL=%gNrS`lkHlNsFk2hi~F@U&-P^)k-v#i=-@x%)H5B#mR-Tq=VZXr|+wz_$MP#aA= z8pxc#YHMtM8>-Zr9#yWIP}}Sf_}OIhL8x_-PQ(%O2%r9gQ5#8YB{VOC39VSIQnh7- z<~@P9g=lMyB)jc_7UUXY53!S&PAn(X3W-sH%=u;vC%>0S)BbO3b4acyX4@0J@hO{& zX*R$4f9Gx>UuBOMp_{mmU;_o3c2QgFNm5FTC-MlV(Z9Bc7FS#AL9&tNuYgRY0pKWmsn5SWzR+6SRz~x??wa><-|jT8apuX=ThK+ zACC|-h!&zhQAZRJZ7tCznb^VRJCJWx;MwK=dW%5`1d{ zd-`#_lUP8gEpZ5ZA10I6>)1W4wmC1cw?8cMlFR>BRAG?6Ai6%-|4H|Pu;z?Dss6e? zlS13OE6UwfW!0trfBHV`>R39vtlC{%UR!-nS@|6Q;kZ^;dS;5po8rxKdo!}rvXVSr zk0*S>_>_XunzE|0it?1<#nq+R?o^LAGsT9qe!P zhJ-dhml5mVlW{z#xh^Zq|6bNFq0JxXcJW`$-RkO;?7pkkT~aZxV*cW?(s}+*^4Gfl E1G9OSJ^%m! diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po index b7ea462..ad093b4 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ # Karol , 2012 # konryd , 2011 # konryd , 2011 -# m_aciek , 2016-2017 +# m_aciek , 2016-2018 # m_aciek , 2015 # Ola Sitarska , 2013 # Ola Sitarska , 2013 @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-12-12 01:04+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 08:42+0000\n" "Last-Translator: m_aciek \n" "Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" "MIME-Version: 1.0\n" @@ -99,6 +99,15 @@ msgstr "Dodaj kolejne %(verbose_name)s" msgid "Remove" msgstr "Usuń" +msgid "Addition" +msgstr "Dodanie" + +msgid "Change" +msgstr "Zmień" + +msgid "Deletion" +msgstr "Usunięcie" + msgid "action time" msgstr "czas akcji" @@ -178,10 +187,11 @@ msgstr "" "więcej niż jeden wybór." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}” został dodany pomyślnie. Można edytować go ponownie poniżej." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} „{obj}” został dodany pomyślnie." + +msgid "You may edit it again below." +msgstr "Poniżej możesz ponownie edytować." #, python-brace-format msgid "" @@ -190,10 +200,6 @@ msgid "" msgstr "" "{name} „{obj}” został dodany pomyślnie. Można dodać kolejny {name} poniżej." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} „{obj}” został dodany pomyślnie." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -201,6 +207,12 @@ msgstr "" "{name} „{obj}” został pomyślnie zmieniony. Można edytować go ponownie " "poniżej." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} „{obj}” został dodany pomyślnie. Można edytować go ponownie poniżej." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -238,6 +250,10 @@ msgstr "Dodaj %s" msgid "Change %s" msgstr "Zmień %s" +#, python-format +msgid "View %s" +msgstr "Obejrzyj %s" + msgid "Database error" msgstr "Błąd bazy danych" @@ -350,7 +366,7 @@ msgid "Change password" msgstr "Zmiana hasła" msgid "Please correct the error below." -msgstr "Proszę, popraw poniższe błędy." +msgstr "Prosimy poprawić poniższy błąd." msgid "Please correct the errors below." msgstr "Proszę, popraw poniższe błędy." @@ -461,8 +477,8 @@ msgstr "" "Czy chcesz skasować zaznaczone %(objects_name)s? Następujące obiekty oraz " "obiekty od nich zależne zostaną skasowane:" -msgid "Change" -msgstr "Zmień" +msgid "View" +msgstr "Obejrzyj" msgid "Delete?" msgstr "Usunąć?" @@ -481,8 +497,8 @@ msgstr "Modele w aplikacji %(name)s" msgid "Add" msgstr "Dodaj" -msgid "You don't have permission to edit anything." -msgstr "Nie masz uprawnień, by cokolwiek edytować." +msgid "You don't have permission to view or edit anything." +msgstr "Nie masz uprawnień do oglądania ani edycji niczego." msgid "Recent actions" msgstr "Ostatnie działania" @@ -545,6 +561,10 @@ msgstr "Zamykanie okna..." msgid "Change selected %(model)s" msgstr "Zmień wybrane %(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "Obejrzyj wybrane %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Dodaj kolejny %(model)s" @@ -577,6 +597,12 @@ msgstr "Zapisz i dodaj nowy" msgid "Save and continue editing" msgstr "Zapisz i kontynuuj edycję" +msgid "Save and view" +msgstr "Zapisz i obejrzyj" + +msgid "Close" +msgstr "Zamknij" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Dziękujemy za spędzenie cennego czasu na stronie." @@ -691,6 +717,10 @@ msgstr "Zaznacz %s" msgid "Select %s to change" msgstr "Zaznacz %s do zmiany" +#, python-format +msgid "Select %s to view" +msgstr "Wybierz %s do obejrzenia" + msgid "Date:" msgstr "Data:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo index 0d7d2890eae23a52215cdc8da39be2e8fdc61465..af684a98b304fd8087c9d0b6c3a80d173a23fc16 100644 GIT binary patch delta 26 hcmZqCXwld(iHp}l*T7WQ&|JaL(8|\n" "Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" @@ -105,6 +105,21 @@ msgstr "" "Wybrano akcję, lecz nie dokonano żadnych zmian w polach. Prawdopodobnie " "szukasz przycisku „Wykonaj”, a nie „Zapisz”." +msgid "Now" +msgstr "Teraz" + +msgid "Midnight" +msgstr "Północ" + +msgid "6 a.m." +msgstr "6 rano" + +msgid "Noon" +msgstr "Południe" + +msgid "6 p.m." +msgstr "6 po południu" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -137,27 +152,12 @@ msgstr[3] "" "Uwaga: Czas lokalny jest przesunięty o %s godzin do tyłu w stosunku do czasu " "serwera." -msgid "Now" -msgstr "Teraz" - msgid "Choose a Time" msgstr "Wybierz Czas" msgid "Choose a time" msgstr "Wybierz czas" -msgid "Midnight" -msgstr "Północ" - -msgid "6 a.m." -msgstr "6 rano" - -msgid "Noon" -msgstr "Południe" - -msgid "6 p.m." -msgstr "6 po południu" - msgid "Cancel" msgstr "Anuluj" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo index 80ffb01e7145c58475c30fd4a60541e68f3aff6d..9530505344bbde757c561038c85fa70809058628 100644 GIT binary patch delta 4375 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 delta 3917 zcmY+`2~bs49LMqVKtKqSTu3D4X`r(99*80?pou1#5elVd`GOas_%IezsGe(P7PwZL zibjZ*Yp;DbYizU98LNpY#+vpfn{3Kf`~Kd&%+#6rzt6eXd+#~tfByGM^D0NvGKc@O zUfs4B+Fs%^;>IvzzQFBK{LqG7Y)oHF##qe5cr3+PSc60Ggnj-O9M5q~Ph+yN7+wJ0^2au7{56{Cz=yS>Rk<9jD-( zSd6Ri1MGn%mskra!*Iqo4Rmzla_oicYAt`D(L{T*kIF<6`Zc30I{7#O2jWW9gdV{X+=q#H0jn^PS%%;S zRH`?lCb$D9VjFhD@30Zi;`O+I{nK-gp|QM`9KwY=iKHh*DZ&w`o*9C_;p{jlbFTxH?z^~DX z5#+lLhhY)!z%}?I=Hg;**1$(l&wCBE(vzr(evC@}4@ff1Kd1@D`YCa?$;2aL85e2- zg{TLVqKah>>OmElf{n;C%pO!KUqfZ!ebknGj=KJPJcJi82@eh6RmRh(jQB6m8Am6A zjb|}t61vcXY`58n^|%i;Z~|$WiiJ2CAH+25#Az7qWIJ#+uEsXh7N!oOP;mrmLCwgg z#&5P-9n*qJT^njH(kONc;xZp_78q%J-wb2T!4D<~dw}$1xQP zFE?gBF2=EX|Ig6T$`caVU(7{qL78ne>Vb`@3HnhJX|n(QVbp}$ZI9UJU%+mhKaTqy zECBTyE*)akKr_ZOzG_61n+sRnKaT$)oeW)7w2E#Fg*+yU_Y66#_Y9Jmp z!3@;(qmeb566A$4OOahS8_}UDQfXp;CATm*H7lgNu@_0nVcy97bVi z0?DX>v(Sn8s3P>Bo>Pw+cqMkn-6`ZhiOyr3;92Ga)C&GUy-q#Yu+caW_4>?0O}GkG zoJ&vxH=`!L6_uG5)Ryi+4R{ol*-li(qB+q0ebUIkUZYe_EWydR2w%nL(VcFL7k|LL zSe#*{^iQPjOy4W4OpQdXbP^WeEL3K8p(gY?R^dCy?wK53F(1zL(+Q#TJ}M=rFbX?x zHhzVg@dP)YSuDi)*oit{m}zCE7-Kjt$DUY^dfsZ}%`{D@Ej@@A;Y+CE^uI+%8F&wM z!*{46IfqJ7be6S(%dr>7DX4+RqP}DWsJ)$o8h8O}g^l)cD=Jd~R7Or?Gyaa1djHoB zH)b0r&Y`NjDcf4n3Dk-@Q3L*jn$USvRrefWO*|Qu;sX14s_i_~{i{$lvIV2D#s2sG z=+gWDCLN{dchn7Wd{tsG1$D!C)JmtJYT{O8`^}&nt7wZ*6KJrHm!pdAaiosTTc}U` zFSs5fM_I+V4NDo{9H%n_2j*Hg)S`}eVhNtZbvT7rK`S|pjo69Wve{#->Muv_>3r;s z)u;umL@j7N>iTw64IDmlnSW~^|B9M9lnn;BRGY}eb0euS5}mdGcp#`r2My$)SX6}*NhBvhQ5 zVjMAzXeKTr9wg=vYRidxgFWjf74(+W*ym!87?vCpZvuOXuJ@V-O{;Um@(YP?Co zKbL|B{M<*(CR&K0L<4an(bb08osk%6_je=T9J8HBBjSl7;xkQrzgFg>ih zv)bpZt*r9~{uq3(qldS=vd-!8Ev=hZ>8l7low&>4ADQlQr@Kcv-6L{`k4km9U9PC2 zYtxIpiz{m@t9|JcJ$2q(XQs=|b)(WVvz+dn-0b10E?U%7PitqTW;CO`qWnbPP!i4fIUe9ujyWZFgv3 zuIp$wN7|-A*|Cm{Ku-2EA)7*T3Ig7oGhtEQ8mF(?TFkm}Cma!sa;*JWYhZo8-|;U1 CNVsqS diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po index b3385bf..9e092cc 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po @@ -7,23 +7,26 @@ # dudanogueira , 2012 # Elyézer Rezende , 2013 # Fábio C. Barrionuevo da Luz , 2015 -# Francisco Petry Rauber , 2016 +# Xico Petry , 2016 # Gladson , 2013 # Guilherme Ferreira , 2017 # semente, 2012-2013 # Jannis Leidel , 2011 +# João Paulo Andrade , 2018 # Lucas Infante , 2015 # Luiz Boaretto , 2017 +# Marcelo Moro Brondani , 2018 # Marco Rougeth , 2015 +# Otávio Reis Perkles , 2018 # Raysa Dutra, 2016 # Sergio Garcia , 2015 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: andrewsmedina \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-25 18:02+0000\n" +"Last-Translator: Marcelo Moro Brondani \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" "language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -101,6 +104,15 @@ msgstr "Adicionar outro(a) %(verbose_name)s" msgid "Remove" msgstr "Remover" +msgid "Addition" +msgstr "Adição" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Eliminação" + msgid "action time" msgstr "hora da ação" @@ -180,11 +192,11 @@ msgstr "" "mais de uma opção." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"O {name} \"{obj}\" foi adicionado com sucesso. Você pode editar ele " -"novamente abaixo." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "O {name} \"{obj}\" foi adicionado com sucesso." + +msgid "You may edit it again below." +msgstr "Você pode editá-lo novamente abaixo." #, python-brace-format msgid "" @@ -194,10 +206,6 @@ msgstr "" "O {name} \"{obj}\" foi adicionado com sucesso. Você pode adicionar outro " "{name} abaixo." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "O {name} \"{obj}\" foi adicionado com sucesso." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -205,6 +213,13 @@ msgstr "" "O {name} \"{obj}\" foi alterado com sucesso. Você pode modificar ele " "novamente abaixo." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"O {name} \"{obj}\" foi adicionado com sucesso. Você pode editar ele " +"novamente abaixo." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -243,6 +258,10 @@ msgstr "Adicionar %s" msgid "Change %s" msgstr "Modificar %s" +#, python-format +msgid "View %s" +msgstr "Visualizar %s" + msgid "Database error" msgstr "Erro no banco de dados" @@ -351,7 +370,7 @@ msgid "Change password" msgstr "Alterar senha" msgid "Please correct the error below." -msgstr "Por favor, corrija o erro abaixo." +msgstr "Por favor corrija o erro abaixo " msgid "Please correct the errors below." msgstr "Por favor, corrija os erros abaixo." @@ -462,8 +481,8 @@ msgstr "" "Tem certeza de que deseja apagar o %(objects_name)s selecionado? Todos os " "seguintes objetos e seus itens relacionados serão removidos:" -msgid "Change" -msgstr "Modificar" +msgid "View" +msgstr "Visualizar" msgid "Delete?" msgstr "Apagar?" @@ -482,8 +501,8 @@ msgstr "Modelos na aplicação %(name)s" msgid "Add" msgstr "Adicionar" -msgid "You don't have permission to edit anything." -msgstr "Você não tem permissão para edição." +msgid "You don't have permission to view or edit anything." +msgstr "Você não tem permissão para ver ou editar nada." msgid "Recent actions" msgstr "Ações recentes" @@ -546,6 +565,10 @@ msgstr "Fechando popup..." msgid "Change selected %(model)s" msgstr "Alterar %(model)s selecionado" +#, python-format +msgid "View selected %(model)s" +msgstr "Visualizar %(model)s selecionados" + #, python-format msgid "Add another %(model)s" msgstr "Adicionar outro %(model)s" @@ -576,6 +599,12 @@ msgstr "Salvar e adicionar outro(a)" msgid "Save and continue editing" msgstr "Salvar e continuar editando" +msgid "Save and view" +msgstr "Salvar e visualizar" + +msgid "Close" +msgstr "Fechar" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Obrigado por visitar nosso Web site hoje." @@ -687,6 +716,10 @@ msgstr "Selecione %s" msgid "Select %s to change" msgstr "Selecione %s para modificar" +#, python-format +msgid "Select %s to view" +msgstr "Selecione %s para visualizar" + msgid "Date:" msgstr "Data:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo index 51a2977b1b7d6829675273e1d87147284fd8506e..f499f4fe940d433eca671494bd21cd24c4b1fd11 100644 GIT binary patch delta 26 hcmeBH=~me=iHp}l*T7WQ&|JaL(8|2L}KE delta 26 hcmeBH=~me=iHp}v*T7WQ&|JaD*vimo^L(xxb^v3p2L=ED diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po index a0e4632..a5a872b 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" "Last-Translator: Tarsis Azevedo \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" @@ -102,27 +102,9 @@ msgstr "" "Você selecionou uma ação, e você não fez alterações em campos individuais. " "Você provavelmente está procurando o botão Ir ao invés do botão Salvar." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Você está %s hora à frente do horário do servidor." -msgstr[1] "Nota: Você está %s horas à frente do horário do servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Você está %s hora atrás do tempo do servidor." -msgstr[1] "Nota: Você está %s horas atrás do horário do servidor." - msgid "Now" msgstr "Agora" -msgid "Choose a Time" -msgstr "Escolha um horário" - -msgid "Choose a time" -msgstr "Escolha uma hora" - msgid "Midnight" msgstr "Meia-noite" @@ -135,6 +117,24 @@ msgstr "Meio-dia" msgid "6 p.m." msgstr "6 da tarde" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Você está %s hora à frente do horário do servidor." +msgstr[1] "Nota: Você está %s horas à frente do horário do servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Você está %s hora atrás do tempo do servidor." +msgstr[1] "Nota: Você está %s horas atrás do horário do servidor." + +msgid "Choose a Time" +msgstr "Escolha um horário" + +msgid "Choose a time" +msgstr "Escolha uma hora" + msgid "Cancel" msgstr "Cancelar" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo index 3959ec522fab226e69fe427a8d44e4e8aaf8203e..e4406be649ad53b3b1d8608b60577ae86e34e607 100644 GIT binary patch delta 4362 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, 2011,2014 # Ionel Cristian Mărieș , 2012 @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Razvan Stefanescu \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 07:39+0000\n" +"Last-Translator: Bogdan Mateescu\n" "Language-Team: Romanian (http://www.transifex.com/django/django/language/" "ro/)\n" "MIME-Version: 1.0\n" @@ -91,6 +92,15 @@ msgstr "Adăugati încă un/o %(verbose_name)s" msgid "Remove" msgstr "Elimină" +msgid "Addition" +msgstr "Adăugare" + +msgid "Change" +msgstr "Schimbă" + +msgid "Deletion" +msgstr "Ștergere" + msgid "action time" msgstr "timp acțiune" @@ -170,11 +180,11 @@ msgstr "" "mult de unul." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" a fost adăugat cu succes. Poți să îl editezi în continuare " -"mai jos." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" a fost adăugat cu succes." + +msgid "You may edit it again below." +msgstr "O poți edita din nou mai jos." #, python-brace-format msgid "" @@ -183,10 +193,6 @@ msgid "" msgstr "" "{name} \"{obj}\" a fost adăugat cu succes. Poți adăuga alt {name} mai jos." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" a fost adăugat cu succes." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -194,6 +200,13 @@ msgstr "" "{name} \"{obj}\" a fost modificat cu succes. Poți să îl editezi în " "continuare mai jos." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" a fost adăugat cu succes. Poți să îl editezi în continuare " +"mai jos." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -231,6 +244,10 @@ msgstr "Adaugă %s" msgid "Change %s" msgstr "Schimbă %s" +#, python-format +msgid "View %s" +msgstr "Vizualizează %s" + msgid "Database error" msgstr "Eroare de bază de date" @@ -341,7 +358,7 @@ msgid "Change password" msgstr "Schimbă parola" msgid "Please correct the error below." -msgstr "Corectați erorile de mai jos" +msgstr "Corectați eroarea de mai jos." msgid "Please correct the errors below." msgstr "Corectați erorile de mai jos." @@ -361,7 +378,7 @@ msgid "Documentation" msgstr "Documentație" msgid "Log out" -msgstr "Deautentificare" +msgstr "Deconectează-te" #, python-format msgid "Add %(name)s" @@ -453,8 +470,8 @@ msgstr "" "Sigur doriţi să ștergeți %(objects_name)s conform selecției? Toate obiectele " "următoare alături de cele asociate lor vor fi șterse:" -msgid "Change" -msgstr "Schimbă" +msgid "View" +msgstr "Vizualizează" msgid "Delete?" msgstr "Elimină?" @@ -473,8 +490,8 @@ msgstr "Modele în aplicația %(name)s" msgid "Add" msgstr "Adaugă" -msgid "You don't have permission to edit anything." -msgstr "Nu nicio permisiune de editare." +msgid "You don't have permission to view or edit anything." +msgstr "Nu aveți permisiunea de a edita sau vizualiza nimic." msgid "Recent actions" msgstr "Acțiuni recente" @@ -537,6 +554,10 @@ msgstr "Fereastra se închide..." msgid "Change selected %(model)s" msgstr "Modifică %(model)s selectat" +#, python-format +msgid "View selected %(model)s" +msgstr "Vizualizați %(model)s selectate" + #, python-format msgid "Add another %(model)s" msgstr "Adaugă alt %(model)s" @@ -568,6 +589,12 @@ msgstr "Salvați și mai adăugați" msgid "Save and continue editing" msgstr "Salvați și continuați editarea" +msgid "Save and view" +msgstr "Salvează și vizualizează" + +msgid "Close" +msgstr "Închide" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Mulţumiri pentru timpul petrecut astăzi pe sit." @@ -681,6 +708,10 @@ msgstr "Selectează %s" msgid "Select %s to change" msgstr "Selectează %s pentru schimbare" +#, python-format +msgid "Select %s to view" +msgstr "Selecteză %s pentru a vizualiza" + msgid "Date:" msgstr "Dată:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo index 1fd0c66021f75b5c4ddb2ca4a4fb917044839f0a..73da12644ec309c2be025f30b43ba640b0922062 100644 GIT binary patch delta 530 zcmXZYze@sP9LMoTtt@|>R$~+nQbSzmnf-57Ppqh-cR=&5BGYW?{m-RdpzIKk7)DRRl9cyk?{$U6GHs@h3LVJ zfMX85tn+HUgF)71?85`>##2>4Lx#9g-XW3V0ei8HBlwP^*a?W*f6ySQGH@8>4~(H~ zJc07y6v{>^zKJR7^C*K4@dS_Y21EVK@e#RbF*o3tRxU);WJ$TK%qX+1Ezhhs zIHSjsdVD$(kDJL@z2O^5P%(6aieV;<@feRUYgMZHdf6&gcCBiuY(~V>L3C*^ zQIgTEE=isO=^jysx_FMDL--GL>N`5L%tCs0Ow2K(SOw81-(uR#oY628EG#7)=>zu*{bK^Jt$RBjjYp(-yp1Ni|K zAaA?^`Nnm~8^wi5$p71gR%k#4mLT7E2(RENtiVYu^7_xP8-9qmsgyenK9RtnAAE2b z^b2_d+W^rGbihk^4|#*7!OnUF&LQ4_yzm7)hE;eA$A^fH;5)=cQ*^jvOt__rNnFT; z31PAxwTA3+K=b%DJ*awpVclz1rO`-G^Mo`#r0Rk2ls@6XBQ3LhL0dCeHlJpNoDo)6 z*, 2011 # Ionel Cristian Mărieș , 2012 @@ -11,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Razvan Stefanescu \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2018-02-27 12:32+0000\n" +"Last-Translator: Bogdan Mateescu\n" "Language-Team: Romanian (http://www.transifex.com/django/django/language/" "ro/)\n" "MIME-Version: 1.0\n" @@ -106,29 +107,9 @@ msgstr "" "Ați selectat o acţiune și nu ațţi făcut modificări în cîmpuri individuale. " "Probabil căutați butonul Go, în loc de Salvează." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Notă: Sunteți cu %s ora înaintea orei serverului." -msgstr[1] "Notă: Sunteți cu %s ore înaintea orei serverului." -msgstr[2] "Notă: Sunteți cu %s ore înaintea orei serverului." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Notă: Sunteți cu %s oră în urma orei serverului." -msgstr[1] "Notă: Sunteți cu %s ore în urma orei serverului." -msgstr[2] "Notă: Sunteți cu %s ore în urma orei serverului." - msgid "Now" msgstr "Acum" -msgid "Choose a Time" -msgstr "Alege o oră" - -msgid "Choose a time" -msgstr "Alege o oră" - msgid "Midnight" msgstr "Miezul nopții" @@ -141,6 +122,26 @@ msgstr "Amiază" msgid "6 p.m." msgstr "6 p.m." +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Notă: Sunteți cu %s oră înaintea orei serverului." +msgstr[1] "Notă: Sunteți cu %s ore înaintea orei serverului." +msgstr[2] "Notă: Sunteți cu %s de ore înaintea orei serverului." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Notă: Sunteți cu %s oră în urma orei serverului." +msgstr[1] "Notă: Sunteți cu %s ore în urma orei serverului." +msgstr[2] "Notă: Sunteți cu %s de ore în urma orei serverului." + +msgid "Choose a Time" +msgstr "Alege o oră" + +msgid "Choose a time" +msgstr "Alege o oră" + msgid "Cancel" msgstr "Anulează" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo index 0e41898d6191f79e97c2a741f624025d7b74e855..2e9cd28517335405b35e8fcdf03d799c1583d349 100644 GIT binary patch delta 4468 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po index bafa193..4800060 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po @@ -4,17 +4,18 @@ # Ivan Ivaschenko , 2013 # Denis Darii , 2011 # Dimmus , 2011 -# Eugene MechanisM , 2016-2017 -# inoks , 2016 +# Eugene , 2016-2017 +# Sergey , 2016 # Jannis Leidel , 2011 # Алексей Борискин , 2012-2015 +# Дмитрий Шатера , 2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Eugene MechanisM \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-06-29 07:41+0000\n" +"Last-Translator: Дмитрий Шатера \n" "Language-Team: Russian (http://www.transifex.com/django/django/language/" "ru/)\n" "MIME-Version: 1.0\n" @@ -94,6 +95,15 @@ msgstr "Добавить еще один %(verbose_name)s" msgid "Remove" msgstr "Удалить" +msgid "Addition" +msgstr "Добавление" + +msgid "Change" +msgstr "Изменить" + +msgid "Deletion" +msgstr "Удаление" + msgid "action time" msgstr "время действия" @@ -173,11 +183,11 @@ msgstr "" "значений." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" был успешно добавлен. Вы можете отредактировать его еще раз " -"ниже." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" было успешно добавлено." + +msgid "You may edit it again below." +msgstr "Вы можете снова изменить этот объект ниже." #, python-brace-format msgid "" @@ -187,10 +197,6 @@ msgstr "" "{name} \"{obj}\" был успешно добавлен. Вы можете добавить еще один {name} " "ниже." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" было успешно добавлено." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -198,6 +204,13 @@ msgstr "" "{name} \"{obj}\" был изменен успешно. Вы можете отредактировать его снова " "ниже." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" был успешно добавлен. Вы можете отредактировать его еще раз " +"ниже." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -234,6 +247,10 @@ msgstr "Добавить %s" msgid "Change %s" msgstr "Изменить %s" +#, python-format +msgid "View %s" +msgstr "Просмотреть %s" + msgid "Database error" msgstr "Ошибка базы данных" @@ -346,7 +363,7 @@ msgid "Change password" msgstr "Изменить пароль" msgid "Please correct the error below." -msgstr "Пожалуйста, исправьте ошибки ниже." +msgstr "Пожалуйста, исправьте ошибку ниже." msgid "Please correct the errors below." msgstr "Пожалуйста, исправьте ошибки ниже." @@ -456,8 +473,8 @@ msgstr "" "Вы уверены, что хотите удалить %(objects_name)s? Все следующие объекты и " "связанные с ними элементы будут удалены:" -msgid "Change" -msgstr "Изменить" +msgid "View" +msgstr "Просмотреть" msgid "Delete?" msgstr "Удалить?" @@ -476,8 +493,8 @@ msgstr "Модели в приложении %(name)s" msgid "Add" msgstr "Добавить" -msgid "You don't have permission to edit anything." -msgstr "У вас недостаточно прав для редактирования." +msgid "You don't have permission to view or edit anything." +msgstr "У вас недостаточно полномочий для просмотра или изменения чего либо." msgid "Recent actions" msgstr "Последние действия" @@ -541,6 +558,10 @@ msgstr "Всплывающее окно закрывается..." msgid "Change selected %(model)s" msgstr "Изменить выбранный объект типа \"%(model)s\"" +#, python-format +msgid "View selected %(model)s" +msgstr "Просмотреть выбранный объект типа \"%(model)s\"" + #, python-format msgid "Add another %(model)s" msgstr "Добавить ещё один объект типа \"%(model)s\"" @@ -573,6 +594,12 @@ msgstr "Сохранить и добавить другой объект" msgid "Save and continue editing" msgstr "Сохранить и продолжить редактирование" +msgid "Save and view" +msgstr "Сохранить и просмотреть" + +msgid "Close" +msgstr "Закрыть" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Благодарим вас за время, проведенное на этом сайте." @@ -685,6 +712,10 @@ msgstr "Выберите %s" msgid "Select %s to change" msgstr "Выберите %s для изменения" +#, python-format +msgid "Select %s to view" +msgstr "Выберите %s для просмотра" + msgid "Date:" msgstr "Дата:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo index b7e8c798abf4ee681ec4ef84d644d9034800b531..4a51b2f5f1d531f4ecb6d6cbf16febd8abab1215 100644 GIT binary patch delta 480 zcmXZYJxD@P6u|LgS&5~T86`p}ZGobQ^g&cZG_*A~1c|&%@YxV8HavocC<>x72qKHN zmdK{4O{l%*=woUPT$=jd-hs#aopU(%+{?Mj)G{{@9w*)+GUpfB6OmGv2%-F95ZeMG zgc4Tc*hik!du}XPhE`!$}+rit|5Uktt?SiJ!S}L)})7(MSDK zy;kqAo%$p4Nke_X50A(vHnGv|&b<%0KB4J<4LNS`MZvuE2k8}GuWJOq$%pYB!(q3- ziRPhR4sBr%n$1;llM63!8Hf5Q;?95wij;b{QrSd$ rB$iH(XH$pg{@Lh+wO+8wR?@ceE4gxU&7LmUxne1qU$yJr&RXyf^};*g delta 483 zcmXZY&nrYx6u|K_6l2W1G)zX4NljKWnfF2@tRyu{3(JY;$704rv-MJzeiSK2F$!Cv zWFciY#hxV=YxNOF$lq`nyDahk2jrMy1{L|43q5sR-NzvHGxc1( z!8+>q$R}0x310&u@A!q)CV%c-)b{~R|8vyygAWSkrQb-egqwXk@RK}^FBos}`+v|p zG{~VfjG@_F8CSXR6lbx!l_GA&MOd_Ku_oiTx|`5oPd!i%)#IzF+JX8=U#h1!mFZ8| n&S1vgISP$+X5H!eTw!53n;3FSb8f*M&1)r}E-o!zHdd@Zf&4xl diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po index 9fe33f3..281cd51 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po @@ -3,8 +3,8 @@ # Translators: # Denis Darii , 2011 # Dimmus , 2011 -# Eugene MechanisM , 2012 -# Eugene MechanisM , 2016 +# Eugene , 2012 +# Eugene , 2016 # Jannis Leidel , 2011 # Алексей Борискин , 2012,2014-2015 # Андрей Щуров , 2016 @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Eugene MechanisM \n" +"Last-Translator: Eugene \n" "Language-Team: Russian (http://www.transifex.com/django/django/language/" "ru/)\n" "MIME-Version: 1.0\n" @@ -109,6 +109,21 @@ msgstr "" "воспользоваться кнопкой \"Выполнить\", а не кнопкой \"Сохранить\". Если это " "так, то нажмите \"Отмена\", чтобы вернуться в интерфейс редактирования. " +msgid "Now" +msgstr "Сейчас" + +msgid "Midnight" +msgstr "Полночь" + +msgid "6 a.m." +msgstr "6 утра" + +msgid "Noon" +msgstr "Полдень" + +msgid "6 p.m." +msgstr "6 вечера" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -129,27 +144,12 @@ msgstr[2] "" msgstr[3] "" "Внимание: Ваше локальное время отстаёт от времени сервера на %s часов." -msgid "Now" -msgstr "Сейчас" - msgid "Choose a Time" msgstr "Выберите время" msgid "Choose a time" msgstr "Выберите время" -msgid "Midnight" -msgstr "Полночь" - -msgid "6 a.m." -msgstr "6 утра" - -msgid "Noon" -msgstr "Полдень" - -msgid "6 p.m." -msgstr "6 вечера" - msgid "Cancel" msgstr "Отмена" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo index 803629286460505874f42ba69ee6a9765d61a5e7..a4a7938b2420258606d1175f0fe29b52979c35b5 100644 GIT binary patch delta 4152 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 delta 3849 zcmYk;dr*{B7{~F$Rlp=t!MnVoqM+#R8YmbZai%jo`#I;Z?|aU9&Us%r-x2lE zgHfTc2gmjpN*^(rSQuwaKWbmIto7B%zZn1N?-5`K^Tm}D;2 z_Z{@22i0GVN@fr>;Sg%P9T>;>rk9FVv=@irA=H2;Py>998u$__GXqG+NF0Or;Vf*% zWB4+TA8O1>ynqKVpNn+eSA1wfzoRk{$9{%1qajp^F$2fq-KYs|#0uPu6R;mwV=S|b z#%5HigQy9v#}e$sSbP`T@k6`==d*vh?*Y`7A0AHrb>ZuDD0Qdo7d}L#_%l@M{zA<- zmb7T#!N_7wD(d5Y_lmrO`rm`z$K{f`E9!yHQoaw$iKeuC>=W0`*0v0$8>xf z9sB`_P2iYL?r-2Q|Q9)PUzv zdwcYfswg&;md(>qkxSk0~r~GnHhH@H*_pQ<%zCZTKnb@hN40 zG_gyl3)7~%EB2r=H5(V;JS16WHx9tl*oE(+wzQl_s{=P<0w#yNZe^I&!R7oS3$@}d zJc`>c)SpBhzAsQKzlhrNf6>9wyc9ISLev6owe5w-tHRVENidr* zUB~-PDtdQ+iD~#FDz#Cw+=(RPm$V(^+?c;ndz_i?ey+<{rwxTpOMTtWLRCgFracZJhYFQ`1!fCZ@E zm!Y;|sci>P3vENaFScNagJ^oG^x`|H!%|&j|GuLx2;vs(#OauFtud`wjAi&Lj={KM z_kX_es4ZBG8pw~@%C)Hbt;2!1y_o!KuXod-3yz>>e%yKvd4rm2Vkc2a_=#tU8wsUd zsaDxXY$EhHUoNc2^bpSw+B(jjA*qqSfQ!(5y#Z$@^5;@r6N$0JlWN$)7DkG;XE>pB zk0f+(Rdhh_A-1YPQFd-6mZ(8FL_A20BAz2ul$qN@eCWl|NvP-%<6K1kh4!k0az9Z^ za4yYLgh~~mthfVhzCqVtDM$-9!^Hj8M_uPm0vsCxycq8Q-k6o%8TMTQA2N zTYm`m6L%4HL3o`@%O`d1J- zlq%USklrc^|SlZLd%gm, 2011,2015 -# Besnik , 2015 +# Besnik , 2015,2018 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-29 22:00+0000\n" -"Last-Translator: Besnik \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 01:29+0000\n" +"Last-Translator: Jannis Leidel \n" "Language-Team: Albanian (http://www.transifex.com/django/django/language/" "sq/)\n" "MIME-Version: 1.0\n" @@ -88,6 +88,15 @@ msgstr "Shtoni një tjetër %(verbose_name)s" msgid "Remove" msgstr "Hiqe" +msgid "Addition" +msgstr "Shtim" + +msgid "Change" +msgstr "Ndryshoje" + +msgid "Deletion" +msgstr "Fshirje" + msgid "action time" msgstr "kohë veprimi" @@ -167,9 +176,11 @@ msgstr "" "\"Command\"." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" u ndryshua me sukses. Mund ta ripërpunoni më poshtë." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" u shtua me sukses." + +msgid "You may edit it again below." +msgstr "Mund ta ripërpunoni më poshtë." #, python-brace-format msgid "" @@ -179,15 +190,16 @@ msgstr "" "{name} \"{obj}\" u ndryshua me sukses. Mund të shtoni një tjetër {name} më " "poshtë." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" u shtua me sukses." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" u ndryshua me sukses. Mund të ripërpunoni më poshtë." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" u ndryshua me sukses. Mund ta ripërpunoni më poshtë." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -226,6 +238,10 @@ msgstr "Shtoni %s" msgid "Change %s" msgstr "Ndrysho %s" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "Gabim baze të dhënash" @@ -446,8 +462,8 @@ msgstr "" "Jeni i sigurt se doni të fshihen %(objects_name)s e përzgjedhur? Krejt " "objektet vijues dhe gjëra të lidhura me ta do të fshihen:" -msgid "Change" -msgstr "Ndryshoje" +msgid "View" +msgstr "Shiheni" msgid "Delete?" msgstr "Të fshihet?" @@ -466,8 +482,8 @@ msgstr "Modele te aplikacioni %(name)s" msgid "Add" msgstr "Shtoni" -msgid "You don't have permission to edit anything." -msgstr "S’keni leje për të përpunuar ndonjë gjë." +msgid "You don't have permission to view or edit anything." +msgstr "S’keni leje të shihni apo përpunoni gjë." msgid "Recent actions" msgstr "Veprime së fundi" @@ -530,6 +546,10 @@ msgstr "Flluska po mbyllet…" msgid "Change selected %(model)s" msgstr "Ndryshoni %(model)s e përzgjedhur" +#, python-format +msgid "View selected %(model)s" +msgstr "Shiheni të përzgjedhurin %(model)s" + #, python-format msgid "Add another %(model)s" msgstr "Shtoni një %(model)s tjetër" @@ -560,6 +580,12 @@ msgstr "Ruajeni dhe shtoni një tjetër" msgid "Save and continue editing" msgstr "Ruajeni dhe vazhdoni përpunimin" +msgid "Save and view" +msgstr "Ruajeni dhe shiheni" + +msgid "Close" +msgstr "Mbylle" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Faleminderit që shpenzoni sot pak kohë të çmuar me sajtin Web." @@ -673,6 +699,10 @@ msgstr "Përzgjidhni %s" msgid "Select %s to change" msgstr "Përzgjidhni %s për ta ndryshuar" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "Datë:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo index 0b6d6816e1b3efb6b4001fd9f4c0d45c5a91722b..7b4668bb6a2975363d0a654c095a464d7ed0cbdc 100644 GIT binary patch delta 26 hcmaE-{7!kpBraYHT?12HLvsZ~Ln~8*&GWhZ*#UO42d)4B delta 26 hcmaE-{7!kpBraYvT?12HLvsZqV=F_W&GWhZ*#UN%2dw}A diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po index d6889ff..163c241 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2017-11-29 22:17+0000\n" "Last-Translator: Besnik \n" "Language-Team: Albanian (http://www.transifex.com/django/django/language/" @@ -101,27 +101,9 @@ msgstr "" "individuale. Ndoshta po kërkonit për butonin Shko, në vend se për butonin " "Ruaje." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Shënim: Jeni %s orë para kohës së shërbyesit." -msgstr[1] "Shënim: Jeni %s orë para kohës së shërbyesit." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Shënim: Jeni %s orë pas kohës së shërbyesit." -msgstr[1] "Shënim: Jeni %s orë pas kohës së shërbyesit." - msgid "Now" msgstr "Tani" -msgid "Choose a Time" -msgstr "Zgjidhni një Kohë" - -msgid "Choose a time" -msgstr "Zgjidhni një kohë" - msgid "Midnight" msgstr "Mesnatë" @@ -134,6 +116,24 @@ msgstr "Mesditë" msgid "6 p.m." msgstr "6 p.m." +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Shënim: Jeni %s orë para kohës së shërbyesit." +msgstr[1] "Shënim: Jeni %s orë para kohës së shërbyesit." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Shënim: Jeni %s orë pas kohës së shërbyesit." +msgstr[1] "Shënim: Jeni %s orë pas kohës së shërbyesit." + +msgid "Choose a Time" +msgstr "Zgjidhni një Kohë" + +msgid "Choose a time" +msgstr "Zgjidhni një kohë" + msgid "Cancel" msgstr "Anuloje" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo index 839669e8f3a610f61a50b04ae440cba67e787dd6..d1af2b9a3d03303f8350c7c8348133394e22d27c 100644 GIT binary patch literal 21023 zcmc(l3y@q@na7Xf10tg0Dk45E(U3%DIx`UjhlB_TNR-4#f`|`dPxqafCOzFlcTa`^ zqe&1FANYt-0>~qR>tj&|$(R^0S$AD5U6<|FTCCMlYn8QhwWPLWb!%7G{r$gl?(N$> zlaS~Z+m)05eVoVl{=ReW{OH7|e9ZB?m-Zss-A{GyQLyJ3{KxO-Cph;!@E73o!9Rkh zfX{!Hb8i6`gQtNvf_lCOJP&MwXM!g_+mF8pd>Z#xfKLZw@EC9uJRZC%ynh#{^{xj+ z&#mBd!F}Khz;A<^=U>5N!C!%pY!sA3>&ezXR3(IEd~CPX-aGdp)T4 zZv^Ln1yFQXK&`t8RKIPY=(!O*3ET;4-FrZ-^B}18e+^1bzXe|i9{(54T@B6$uLAD` zzW|;{ry=lb;9cMXlqk7;8`SuJ0!7y^LCNJ0py+xAi@yeZA@~yTt)S?-2D}v90=^vl z9#{r{4?Y;21VyMxB}b+J_Y<6@LKR2;AP-)nA5zsg0h28f*SWlP;%TG-hTs> zydMH3zkdfs@9#maI|m^k3inJ<<4*-qg8g2=w^;d!7?-Ee`^5MP&YQ3w&{dQ3H zd=n^FxDR|Oco2-hAA=20oz?*3;5P6R(44x0Z z7W@#{1AY%&4L;>m=T?Gi!Rx`>KkDEG}^4isP8K>5Q*0^S5lj<

    mE@0+5<{% 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 I)9ar6KZy(Mr~m)} diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po index acddca9..8a77c1c 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2018-01-30 11:44+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-04 19:52+0000\n" "Last-Translator: Branko Kokanovic \n" "Language-Team: Serbian (http://www.transifex.com/django/django/language/" "sr/)\n" @@ -76,6 +76,8 @@ msgid "" "Please enter the correct %(username)s and password for a staff account. Note " "that both fields may be case-sensitive." msgstr "" +"Молим вас унесите исправно %(username)s и лозинку. Обратите пажњу да мала и " +"велика слова представљају различите карактере." msgid "Action:" msgstr "Радња:" @@ -87,6 +89,15 @@ msgstr "Додај још један објекат класе %(verbose_name)s. msgid "Remove" msgstr "Обриши" +msgid "Addition" +msgstr "Додавања" + +msgid "Change" +msgstr "Измени" + +msgid "Deletion" +msgstr "Брисања" + msgid "action time" msgstr "време радње" @@ -94,7 +105,7 @@ msgid "user" msgstr "корисник" msgid "content type" -msgstr "" +msgstr "тип садржаја" msgid "object id" msgstr "id објекта" @@ -133,7 +144,7 @@ msgstr "Објекат уноса лога" #, python-brace-format msgid "Added {name} \"{object}\"." -msgstr "" +msgstr "Додат објекат {name} \"{object}\"." msgid "Added." msgstr "Додато." @@ -143,15 +154,15 @@ msgstr "и" #, python-brace-format msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" +msgstr "Измењена поља {fields} за {name} \"{object}\"." #, python-brace-format msgid "Changed {fields}." -msgstr "" +msgstr "Измењена поља {fields}." #, python-brace-format msgid "Deleted {name} \"{object}\"." -msgstr "" +msgstr "Обрисан објекат {name} \"{object}\"." msgid "No fields changed." msgstr "Без измена у пољима." @@ -162,36 +173,45 @@ msgstr "Ништа" msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" +"Држите „Control“, или „Command“ на Mac-у да бисте обележили више од једне " +"ставке." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" +msgid "The {name} \"{obj}\" was added successfully." +msgstr "Објекат {name} \"{obj}\" успешно додат." + +msgid "You may edit it again below." +msgstr "Можете га изменити опет испод" #, python-brace-format msgid "" "The {name} \"{obj}\" was added successfully. You may add another {name} " "below." msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" +"Објекат {name} \"{obj}\" успешно додат. Можете додати још један {name} испод." #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" +"Објекат {name} \"{obj}\" успешно измењен. Можете га опет изменити испод." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "Објекат {name} \"{obj}\" успешно додат. Испод га можете изменити." #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " "below." msgstr "" +"Објекат {name} \"{obj}\" успешно измењен. Можете додати још један {name} " +"испод." #, python-brace-format msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" +msgstr "Објекат {name} \"{obj}\" успешно измењен." msgid "" "Items must be selected in order to perform actions on them. No items have " @@ -209,7 +229,7 @@ msgstr "Објекат „%(obj)s“ класе %(name)s успешно је о #, python-format msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" +msgstr "%(name)s са идентификацијом \"%(key)s\" не постоји. Можда је избрисан?" #, python-format msgid "Add %s" @@ -219,6 +239,10 @@ msgstr "Додај објекат класе %s" msgid "Change %s" msgstr "Измени објекат класе %s" +#, python-format +msgid "View %s" +msgstr "Преглед %s" + msgid "Database error" msgstr "Грешка у бази података" @@ -248,13 +272,15 @@ msgstr "Историјат измена: %s" #. suitable to be an item in a list. #, python-format msgid "%(class_name)s %(instance)s" -msgstr "" +msgstr "%(class_name)s %(instance)s" #, python-format msgid "" "Deleting %(class_name)s %(instance)s would require deleting the following " "protected related objects: %(related_objects)s" msgstr "" +"Да би избрисали %(class_name)s%(instance)s потребно је брисати и следеће " +"заштићене повезане објекте: %(related_objects)s" msgid "Django site admin" msgstr "Django администрација сајта" @@ -270,7 +296,7 @@ msgstr "Пријава" #, python-format msgid "%(app)s administration" -msgstr "" +msgstr "%(app)s администрација" msgid "Page not found" msgstr "Страница није пронађена" @@ -294,6 +320,8 @@ msgid "" "There's been an error. It's been reported to the site administrators via " "email and should be fixed shortly. Thanks for your patience." msgstr "" +"Десила се грешка. Пријављена је администраторима сајта преко е-поште и " +"требало би да ускоро буде исправљена. Хвала Вам на стрпљењу." msgid "Run the selected action" msgstr "Покрени одабрану радњу" @@ -325,10 +353,10 @@ msgid "Change password" msgstr "Промена лозинке" msgid "Please correct the error below." -msgstr "Исправите наведене грешке." +msgstr "Молимо исправите грешку испод." msgid "Please correct the errors below." -msgstr "" +msgstr "Исправите грешке испод." #, python-format msgid "Enter a new password for the user %(username)s." @@ -338,7 +366,7 @@ msgid "Welcome," msgstr "Добродошли," msgid "View site" -msgstr "" +msgstr "Погледај сајт" msgid "Documentation" msgstr "Документација" @@ -399,13 +427,13 @@ msgstr "" "Следећи објекти који су у вези са овим објектом ће такође бити обрисани:" msgid "Objects" -msgstr "" +msgstr "Објекти" msgid "Yes, I'm sure" msgstr "Да, сигуран сам" msgid "No, take me back" -msgstr "" +msgstr "Не, хоћу назад" msgid "Delete multiple objects" msgstr "Брисање више објеката" @@ -436,8 +464,8 @@ msgstr "" "Да ли сте сигурни да желите да избришете изабране %(objects_name)s? Сви " "следећи објекти и објекти са њима повезани ће бити избрисани:" -msgid "Change" -msgstr "Измени" +msgid "View" +msgstr "Преглед" msgid "Delete?" msgstr "Брисање?" @@ -447,17 +475,17 @@ msgid " By %(filter_title)s " msgstr " %(filter_title)s " msgid "Summary" -msgstr "" +msgstr "Сумарно" #, python-format msgid "Models in the %(name)s application" -msgstr "" +msgstr "Модели у апликацији %(name)s" msgid "Add" msgstr "Додај" -msgid "You don't have permission to edit anything." -msgstr "Немате дозволе да уносите било какве измене." +msgid "You don't have permission to view or edit anything." +msgstr "Немате дозвола да погледате или измените ништа." msgid "Recent actions" msgstr "Скорашње акције" @@ -484,6 +512,8 @@ msgid "" "You are authenticated as %(username)s, but are not authorized to access this " "page. Would you like to login to a different account?" msgstr "" +"Пријављени сте као %(username)s, али немате овлашћења да приступите овој " +"страни. Да ли желите да се пријавите под неким другим налогом?" msgid "Forgotten your password or username?" msgstr "Заборавили сте лозинку или корисничко име?" @@ -511,19 +541,23 @@ msgid "Save" msgstr "Сачувај" msgid "Popup closing..." -msgstr "" +msgstr "Искачући прозор се затвара..." #, python-format msgid "Change selected %(model)s" -msgstr "" +msgstr "Измени одабрани модел %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Погледај означени %(model)s" #, python-format msgid "Add another %(model)s" -msgstr "" +msgstr "Додај још један модел %(model)s" #, python-format msgid "Delete selected %(model)s" -msgstr "" +msgstr "Обриши одабрани модел %(model)s" msgid "Search" msgstr "Претрага" @@ -548,6 +582,12 @@ msgstr "Сачувај и додај следећи" msgid "Save and continue editing" msgstr "Сачувај и настави са изменама" +msgid "Save and view" +msgstr "Сними и погледај" + +msgid "Close" +msgstr "Затвори" + msgid "Thanks for spending some quality time with the Web site today." msgstr "Хвала што сте данас провели време на овом сајту." @@ -603,17 +643,23 @@ msgid "" "We've emailed you instructions for setting your password, if an account " "exists with the email you entered. You should receive them shortly." msgstr "" +"Послали смо Вам упутства за постављање лозинке, уколико налог са овом " +"адресом постоји. Требало би да их добијете ускоро." msgid "" "If you don't receive an email, please make sure you've entered the address " "you registered with, and check your spam folder." msgstr "" +"Ако не добијете поруку, проверите да ли сте унели добру адресу са којом сте " +"се и регистровали и проверите спам фасциклу." #, python-format msgid "" "You're receiving this email because you requested a password reset for your " "user account at %(site_name)s." msgstr "" +"Примате ову поруку зато што сте затражили ресетовање лозинке за кориснички " +"налог на сајту %(site_name)s." msgid "Please go to the following page and choose a new password:" msgstr "Идите на следећу страницу и поставите нову лозинку." @@ -632,6 +678,8 @@ msgid "" "Forgotten your password? Enter your email address below, and we'll email " "instructions for setting a new one." msgstr "" +"Заборавили сте лозинку? Унесите адресу е-поште испод и послаћемо Вам на њу " +"упутства за постављање нове лозинке." msgid "Email address:" msgstr "Адреса е-поште:" @@ -650,6 +698,10 @@ msgstr "Одабери објекат класе %s" msgid "Select %s to change" msgstr "Одабери објекат класе %s за измену" +#, python-format +msgid "Select %s to view" +msgstr "Одабери %s за преглед" + msgid "Date:" msgstr "Датум:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo index 6425256949fea051a239a52188184b55b54c43e0..3c6ee7f7a7b841b0ff34dcaf7da5e83ecf0bb067 100644 GIT binary patch delta 26 icmaE=@l<2OBraYHT?12HLvsZ~Ln~8*&GWgAaRLB#&\n" "Language-Team: Serbian (http://www.transifex.com/django/django/language/" @@ -95,6 +95,21 @@ msgid "" "button." msgstr "Изабрали сте акцију али нисте изменили ни једно поље." +msgid "Now" +msgstr "Тренутно време" + +msgid "Midnight" +msgstr "Поноћ" + +msgid "6 a.m." +msgstr "18ч" + +msgid "Noon" +msgstr "Подне" + +msgid "6 p.m." +msgstr "18ч" + #, javascript-format msgid "Note: You are %s hour ahead of server time." msgid_plural "Note: You are %s hours ahead of server time." @@ -109,27 +124,12 @@ msgstr[0] "Обавештење: %s сат сте иза серверског в msgstr[1] "Обавештење: %s сата сте иза серверског времена." msgstr[2] "Обавештење: %s сати сте иза серверског времена." -msgid "Now" -msgstr "Тренутно време" - msgid "Choose a Time" msgstr "Одаберите време" msgid "Choose a time" msgstr "Одабир времена" -msgid "Midnight" -msgstr "Поноћ" - -msgid "6 a.m." -msgstr "18ч" - -msgid "Noon" -msgstr "Подне" - -msgid "6 p.m." -msgstr "18ч" - msgid "Cancel" msgstr "Поништи" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo index c3415d02385572ff6407d834e6c3550c8451a29a..1b2ec3f923b6db29bbd403e1e00aaeedb334d030 100644 GIT binary patch delta 3382 zcmY+`dr%cs9Ki8|m~#6lDYK_(X;`ylO*&14eq~3aqJ>S5?%e3dIx{Hk{^!mGL#yI-(wE`gL#;9l~Olj85ZC!l=`Ds zfoD+e8!(W-k(h@0n2JS6lcXy38cat?U^WiH+r4@N2T|@oxp6!C@Bx$@AHxl}54&&- zjX71%q9ptpN&=@)?mL5n@w{VFsXk6JsgNJZFbl`waLmSO$Un7!pCGRG>L0{(%KMNm z)IpR1j^Pz}5@p~IF&96@Li_<`oWWVl5aX*6oZO88T#GN^E11XV&3GF3W016EO3xxy z>PM6(y@--P2GdrJBXBg{f|9^JxEwd)c>EkA_%|l|aS|TtW)wk|Um4he?bv{Spmel= z(OEOK4CM(z$it{G%Jp`Xnd?MJY(Gl>N0719Q6yLO0m?XE4rBc#bDIkB7nBY!dF4SY zplqs9$i7pRsNozmuo)NQm$(Isndd4zijvSTC<9+WnX&ZY?oy0INnrAD=AVaCl~i1f z3sDAYLFvFiSeuNY8cf4NelOtF! zPFC>~!1c((s28yf-@$IIU^Llm$8ZI{kCNCJUK!bJ6Fo~&X0ifhiE2=0v>xS&SD_>v z!fP=Z{$;B{yrIjIYH4Q8{`WX7sIYf)a)r6`Hq5gw)FVhPDqkb88fB`Ra4UA=SoHBzghd#{29);OP?q8l%F-T3 znSry&>ZotL>z8m6`%h)FWo2!qqYQM1=Y7aNR8OFEco?}yy^Ck@8@wTfC1F&#uRop0 z-q29m%|{uq6{~PF&cGAs$CLuz7J2_mIjO{@I0kp3G&qP|cpl|RZ!2^+=?+{%`8kyK zf1*5TF6%J>i&6GcIm#M0VH)m5nb~LY6rRB3+nnrROJ?yTb)^3x<(nC;j&eb<`#!HB z8`>%p$KzYbH%fhtYw$O0z{V1H#*X1%ls~~ZepJfe4Xh?BNwAvrl9`(o;C1fM- zbqFQVH7F0T$typD@`SH@Wg8{2-*E-z@f6wgZy-ySRGVwv55qx}se1zl)8ITFque*w z{g1{=H!w?-``5W2oL0=E+>SongEH__n1QFg`g2~r?bT;69g=u1rpWux-cX%{9P(+D zV<{oiElIFT@jI3dRb7q!9c&KMJ%<&}iR1lwQTCT#RdLLW#usSiGrN3pZ<_s1|B$jI~7#O}{&wFcRAOu+gF!EnbgKe|pr=<9btx zwvx^hEwQ#plNQ$-^)Tboazd+A#*IjOiE7Xzjj>j}Sgq6(62)3wA(z|Yde09d=cJ^z zC3Mq2dS2^Pf1tu&7Sw{1tAbPff$~5geeojyQhi-GLDv47kfB#;Wr3jEZmJdtR+Uv2 z1vt{{LkYvbEFOv`A|WFduhQm)qS0_dtJlL#dPJLkms6~cIK`51v^m!E>*(4v^TPP7 z^#4p>u;7u*o~x%!&NTbY8j^Fs?%irzTWsr)ZM|;ycG}iH+j`EN8OSl41Nm8+-P>hb zPukX_&gHFUS8!Z*?J5AhNc_2)wT}X7WY`TW!e^fA9kAUmiE?u z+d5)fPdMZ3w|g0u+c#^r^|;ghHgo=*MswBNOtUCBu&1VWNa_&V+G|_A&R~qXofGvh DN?-o( delta 3113 zcmZYB32YQq9LMoj3iP6EISVb&rL>e%dTcprQE0i!QB)A21f#gLg;r@7%X)CRawrNI zg()Hd60mqiS6#h6}r27BXAn2DXc7&8yEaWJkz)$hfT_!jEB zU$HZGNi`+`dtf|fB9B5Qi;P|vh6-Rf_P`l#eI0hCd^hUD<(PyIqGEg$SK(${haO%g zYg$nOKZ9yNiu&#??2aGA3>ot!84negQ4y+;4T-4w0&YIM9=l-^CSwTs#B4w{yd67X z8>+(>F&z(J9=?xi|1xT3uHpmqZ@Q)#a}Tb^SMWDnh%eAv8+r&=AB0f>97T=rb5sBq zuoAE004!(v6u?}Zjq@=FU&Y1v8Fs+QJsE@|nns3YH@Dyltic*QiE5~T-dQVCih92S z3EoUbJ+DE{*d3_AR--z20_n?aL1Ht{q56rU0)L|y>#xjlD%9W??t>pto9Pc^znOFv zG7ATx7bjp4>u?61!Sy(l`5ujjP=Wo33g8#i%q8}5mLvleNNFGDpFx^3D*EDdREG;u z4YZ)vb{VRnwKx>Fp#ppdH8W>XBfN;(lz*e%PoUBLn2EV~4D;~{j#Ygq!x;XVdE83y zUSu%lIlLE-;KMka-n8kWI2YeV1=gP;(GoFVy?RJk%1*LM`b+)W}yLt6?^} z&-bF1@HNb(fAcjNb(F{!mO042GnJ?Y=OC|`Mm&WZaY~#qetOmWFXcE5wxiy=g6gmb z3qBf$VFfP2LVO-+!kof#`ZrhI2c?6ZU$8q-BRq%f6Volvn3-6BOo~~B8sRR~COw4O zJ5kh{evb*5&H89YhvHG3j7P8=J1~s_e1xH6RM^bNR4QJkS4H;gFlTN15-x)=<1q~v z;SziRYw!YUrp6Ue3d&f~T^9|6TwcCe3_|TB6@^Jf@CtoPm1ZLUr7R8b}n0*_=i7(`6*{e=C`) zkLDa^|T& zk2}#HHFgmXj&q!!1~kZ}3!WltUC3aSSTJe4^2LE=L7A1v#y!&8JAYtYzy`__r#L?} z`!JJo6xGlvRL5Vr&y%M*^}SK`UQEGiq!YF%5)@UTdR{YXIGQcgzCD5#2NYD zRZk5Y!fYUEk#uop&3&YYRdBBi*HzY)q|CS(R%&uyuUzU<-TF1SkyLI?P0rLrn_AKW zQU}sXQYDGK8ry64;I*sR+MJwz`$H7933O?Zy(FgB+(hz`H1GU)nbjm6lLQjK4Y4Dl zU94-ML+s9`js0b!LWR{SWkQlpsdh!aH8Ul>kS$?uB=LVqY%|5<5K@rTLeiDvz@guo zlI0tBt%Ns|#*${absYZKA7<-tIw?S!6h4?FeR<5 zu*6sBEBE?FjUG{6P~x*L4d|0xR_OB;mX>=rv6tqT0$uP5#EkMYVyZaCKHyLipg|Cp{_AHFji&9ci;8t=7$>YQi%| z<#??1RetO5p-KG?+mUT{+Rg$*3R72oHcgzF*~x) jj_k1`Q9JT%?7dby`iR$#uA^BV8|y?_&+w(H{P=$Xt;vy) diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po index 8c27839..093c656 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po @@ -2,16 +2,16 @@ # # Translators: # Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2013-2014,2017 +# Kowit Charoenratchatabhan , 2013-2014,2017-2018 # piti118 , 2012 # Suteepat Damrongyingsupab , 2011-2012 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-29 04:29+0000\n" -"Last-Translator: Kowit Charoenratchatabhan \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 01:29+0000\n" +"Last-Translator: Jannis Leidel \n" "Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -86,11 +86,20 @@ msgstr "เพิ่ม %(verbose_name)s อีก" msgid "Remove" msgstr "ถอดออก" +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "เปลี่ยนแปลง" + +msgid "Deletion" +msgstr "" + msgid "action time" msgstr "เวลาลงมือ" msgid "user" -msgstr "" +msgstr "ผู้ใช้" msgid "content type" msgstr "" @@ -146,7 +155,7 @@ msgstr "" #, python-brace-format msgid "Changed {fields}." -msgstr "" +msgstr "เปลี่ยน {fields}." #, python-brace-format msgid "Deleted {name} \"{object}\"." @@ -163,8 +172,10 @@ msgid "" msgstr "" #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." msgstr "" #, python-brace-format @@ -174,12 +185,13 @@ msgid "" msgstr "" #, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "" #, python-brace-format msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." +"The {name} \"{obj}\" was added successfully. You may edit it again below." msgstr "" #, python-brace-format @@ -218,6 +230,10 @@ msgstr "เพิ่ม %s" msgid "Change %s" msgstr "เปลี่ยน %s" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "เกิดความผิดพลาดที่ฐานข้อมูล" @@ -322,7 +338,7 @@ msgid "Change password" msgstr "เปลี่ยนรหัสผ่าน" msgid "Please correct the error below." -msgstr "โปรดแก้ไขข้อผิดพลาดด้านล่าง" +msgstr "" msgid "Please correct the errors below." msgstr "กรุณาแก้ไขข้อผิดพลาดด้านล่าง" @@ -428,8 +444,8 @@ msgstr "" "คุณแน่ใจหรือว่า ต้องการลบ %(objects_name)s ที่ถูกเลือก? เนื่องจากอ็อบเจ็กต์ " "และรายการที่เกี่ยวข้องทั้งหมดต่อไปนี้จะถูกลบด้วย" -msgid "Change" -msgstr "เปลี่ยนแปลง" +msgid "View" +msgstr "" msgid "Delete?" msgstr "ลบ?" @@ -448,8 +464,8 @@ msgstr "โมเดลในแอป %(name)s" msgid "Add" msgstr "เพิ่ม" -msgid "You don't have permission to edit anything." -msgstr "คุณไม่สิทธิ์ในการเปลี่ยนแปลงข้อมูลใดๆ ได้" +msgid "You don't have permission to view or edit anything." +msgstr "" msgid "Recent actions" msgstr "" @@ -507,6 +523,10 @@ msgstr "" msgid "Change selected %(model)s" msgstr "" +#, python-format +msgid "View selected %(model)s" +msgstr "" + #, python-format msgid "Add another %(model)s" msgstr "" @@ -536,6 +556,12 @@ msgstr "บันทึกและเพิ่ม" msgid "Save and continue editing" msgstr "บันทึกและกลับมาแก้ไข" +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + msgid "Thanks for spending some quality time with the Web site today." msgstr "ขอบคุณที่สละเวลาอันมีค่าให้กับเว็บไซต์ของเราในวันนี้" @@ -587,7 +613,7 @@ msgstr "" msgid "" "We've emailed you instructions for setting your password, if an account " "exists with the email you entered. You should receive them shortly." -msgstr "" +msgstr "เราได้ส่งอีเมลวิธีการตั้งรหัสผ่าน ไปที่อีเมลที่คุณให้ไว้เรียบร้อยแล้ว และคุณจะได้รับเร็วๆ นี้" msgid "" "If you don't receive an email, please make sure you've entered the address " @@ -638,6 +664,10 @@ msgstr "เลือก %s" msgid "Select %s to change" msgstr "เลือก %s เพื่อเปลี่ยนแปลง" +#, python-format +msgid "Select %s to view" +msgstr "" + msgid "Date:" msgstr "วันที่ :" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo index 51754d5034e077a60f1fe73e0c48ded25be5bbae..71eff638706d0be66e2132078894b7ca48f1b3cd 100644 GIT binary patch delta 1808 zcmb7^U1$_n6o9X~YGP_?Of|OtTXSTWOoze z(^L^{wJ&xJHUViHX{Cse7?oKN6h$ATP+xrsmr@Xf_DNs*)bGsR6v0aCVbA^MoH^&* zGxwh4LCa$&m{}SdRmf&^6?$WiQXj%k=CL3nF{L`-5x4+OS%z>v_DyTwg|A@$V(o{P z1}?_`$nvS>JdzhF6{s2>DhXHx>tQ2oggamb9JCyU(m(*Ip-#Ys@U*pymfu2t>O6~l z!v!dHE<(whguU<@+{6B=nyM1e2PI(uO5sD0pBiDIQx!mI^c0jrXW>~m2G76*Nz_!g zpwznux4>VayExc}dA1=e5vGx;dSJ1_4_}9SYa1$Kkx;}<) zVgFvG)JnLJdl0ULOW`&s^?KlHn6~~CFnATm7!NDp&rlL?Th73B*nh#bu%3%N06XF5 z@Dh~5%d2S$wnDMHASud)(m>Ywk3!k!ob^vubN-TW2ZwC@(DEt#9=nF_&ciEE-ghr4 z7aXt*pnSkLunA5;sdpbr0|xHog#LiNFhw`gP?6)7Mt-X0{Ezc+(>k_uzI6nC3P<1& z)q3EcoVVQh`(z1sSaw0KS9M$VTK_&v50V~j22`6YR=6#h|8l1ZScf*EZ=xcvml16! z_bws>CSO{E%8}1SMOw;;238*9)@C#!X=as1<^DxDkVpcVR5_CMXe+u2m80ec)CN?e za>Pkg{y#LJA`U7uu^E-&6M3TywGlG2(O;8XhlmV#ee_hGDH&kKr`QxbQnTGHc&an) z`*}~hdQWDsI2yYi6ugw)>knx+=jn#LPWwYS?WR4qU;Cfwyq6pHa=MTi^b%^9|1Yum zmkHMUy>uqq|7_XT7uJ0~HZlFtd?(iaPTXmaCp&a9nQC`hoHoZ<)V(|2;|*u>89y7B z&rInyCmF>#Z)>N6xZ>r?y5=tbaHgO;({9f9vN^ZVmv#&8{S{MRP@ZZ_uftcQmQ6NDv7$UT|xl=LR` nsCq1F>tsSjExkmCR4IKG_58ou+dA9L3;O$y_NK2bURm)s#CfLT delta 1187 zcmXxjPe{{Y9LMoTn`_Nk<~0B3D(9cJU;Sp;NSz#j2%>}3t%#uaXM23u_xF0f&wkIJJRf|D)Ow&r!Yi*!{&Fa_ppZc#~8$?xCIxn!OY9;ciiSD?e{6vIA_q${N@}L ztt^9DSq|0l8a}`R-p6`YL)AP(O|XE2_zKnU7tZ2eRKG{elEWA;hjGrjhz;bc%9-D+ z*@ktjC-*Vh4s6D|9EXd$$yZoqD}J^9!#cfJT^=xw?c~F#_Vc(6^QeBeuoLHT53XWi zoXU497jcvW)XLuAPW))|pUB7fIYH6-q_NqoVtw(n;tqtX)*uSEh82*j!UdG!xuS z6DQa}{rya7t{9aF!8I`Kbm_K6aTlS|QpU8+O!=9Zov#5hrmt;`R@?2V*WJIFim!I%8h?a{f|!GV2XQMl+r_9Z6+#880%#!<#-j co|(Lo&QDzMvbkcQda0tg9*R~LQ?*Tj{{_`;5dZ)H diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po index 0ad6de4..5cca152 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po @@ -2,16 +2,16 @@ # # Translators: # Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2011-2012 +# Kowit Charoenratchatabhan , 2011-2012,2018 # Perry Roper , 2017 # Suteepat Damrongyingsupab , 2012 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-18 05:04+0000\n" -"Last-Translator: Perry Roper \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2018-05-06 07:50+0000\n" +"Last-Translator: Kowit Charoenratchatabhan \n" "Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,25 +96,9 @@ msgid "" msgstr "" "คุณได้เลือกคำสั่งและคุณยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ ในฟิลด์ คุณอาจมองหาปุ่มไปมากกว่าปุ่มบันทึก" -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - msgid "Now" msgstr "ขณะนี้" -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "เลือกเวลา" - msgid "Midnight" msgstr "เที่ยงคืน" @@ -127,6 +111,22 @@ msgstr "เที่ยงวัน" msgid "6 p.m." msgstr "หกโมงเย็น" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "หมายเหตุ: เวลาคุณเร็วกว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "หมายเหตุ: เวลาคุณช้ากว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." + +msgid "Choose a Time" +msgstr "เลือกเวลา" + +msgid "Choose a time" +msgstr "เลือกเวลา" + msgid "Cancel" msgstr "ยกเลิก" @@ -134,7 +134,7 @@ msgid "Today" msgstr "วันนี้" msgid "Choose a Date" -msgstr "" +msgstr "เลือกวัน" msgid "Yesterday" msgstr "เมื่อวาน" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo index 8082a0f295949abc4beea1fb9bf179bd6792cd3e..565511d0cba94a6f62df0f3339c88a9055b33c40 100644 GIT binary patch delta 4224 zcmYk<3vg8B8OHH1_X{C}a3=wlOC$ku1p-D0gaktpZYH202rguei%SB@CXz^4u|^Us zVhBnF!(Gst3URHq6lgI4#!4;iC=^?;GulxH2irQ7vB1#(v*%DfHWKm5C>hlLM8dqX0{hLY}>bMbg<0jOAw%`EVj_SAr)zKN$ z0Is1{>OVLbWBMAi4oBl!+>38vJU2atr|D8#)W8~WA#TJ`co98#3xmllfXHiT35o!tlg&OcJRL9XQ1B+pLqP{;I*$tC|l!uvu8o(UX1WO0A{<_g= zUvQ&3TxXv*qpErb>V@#*F#Ih#@H6zHZki9ZxCzf-4$h^5)o}}|!=0#!zJVI(Q6CL0 zeK)dt<^pPj*O2Wq-yxGTkwdJRjzA401NEROsM^U#J#Y@{c}^UIHK+;fMy>2I)QX%% zZISO&8v5ercm!`?5*}v5Q}7R{6}o}Bcn6uZ$z>Tba4}LYW;52}K2*m89LCJX8CZy0 zaU5R6xfnX!m?FLZWi*<&(2m;Ek!w)_6?U&Bm3I+JNx==)Xbvp;nfS`%gEqO%V=w_ zJ5YOk614@NB407{83pBI>To8u;S9Wl8fan)>mNpA5)Bp8R8&U=sF@dG1U`f+!sY0| zdera6PSk^rVkCZudd|o8`CskxFHq0BiYmVEu?b_wu>RXc^vMVHWCo z83vZt{(QY{D^joK5ca@sL@g&xy8M6kne0=+t zG!CFfw3uPX;c`^9u0btrGinB{ScLnK7sgygZCTGuYwzQ666ekM9R3b9@WL!>f+eWu zEyN}0TSh}OJch60DSQH#QR-TO-(zq51bgC_7>CzU0}h{H6=MwQ{&bAN9Mp3Qu@BBg zt?&v|v3ii2@|k8D8qt1K2XETvzeaWZKE~t6s0V$CD#n|r4*N~C_S|7xjN7^HMGr=0 zvsze(`8bf};Wx@G#TdQ+>uIRUTd*&-qB=T+dVP+eW^&O!zk+(eP1FDrCR+ncMJ@Go z)bk2Z#W@>Q3#*VZnI`-CZ!qxh|4TH~@mHt^-qr`$>t6mvgF{hOeFd4ciOjKBjXr{u?A6E4Q1Sc=h8SpQ5KkI;A&x1w(NC%%Bi{H$q@FJT3K zhMHMnu62DLYGoGU09=aN5-)1YeAolGp}x1<{`?SXfStLl|6m%Yxu6;U9eHKVx40J* zrdijIqpJKvRB@fhop>2%;=1X^@Mf8l*ofcY{kSU6TKZ0;uFW}AKX*{I7CXad{f9#$ zzl$32Fw_lMs4CC1Ew!(&M9r`oHM2$xLLDQCI(d>TBT0m})4WKuN;)=Mn3u3aZTb%! z2l%^)lv}6f5nM{BvHu^_?bdkPpI{=PEKC{EN~|V2UM4F8EvrV<{3&5)O`A?Qn#kS$ z0~eC{yOk6M&VKk)OEbhi9fX_gb~A3U+YUTL>d3?7Es{gl5N)aIL&aT1ULenq7WH3A zLsfm4EGN&CH;In^L?hH*>J8aK_7l~B_P>EpD&}dTV+h$to+Yml9cxJ%d5kO|qsbCt z9rpaGhro}JE+!DYr#hyQHv%o|kBU%-*TT5)b<)c|-;S>k)rjh8DA`4hl08JnMvK6I z_zqM5C1fsnj_f8n^jhk0lLB%?C-!j=RqZ=S55ij+_{oOAFPsM-B(b`{v7S6dR*?!a zkmz`T_+I5tG12R=g4{j$4GR2!T_*;U8Zw_$lW}AY`575b`jERvKN?Z?$u?}g`vE>q z_S)yAI77SpD2-9}#dNGEvx(kg9g9f{i6aY1JNY?@AUXz=@#&8@W4Z!sOJ9iK$tcj?4);nc1ls<1;d%=g&(m zb=A3R7+Y$A)9cD{WMyPp_f2+WPRhyf&q^u|37`3d$FB|7Ug_;R?s1tiSJz>;$5r{m?C##~PoL@!ivCd#S8_+h<(=N+?B3JeS?;WKtf;N5 OZ99=O^zCWwLH`5m-ujpT delta 3818 zcmXxm32;qU9LMpKghXNssU?Cugdn0X89=~H=EYk zX(-2t*2Ltx#@xpJVSG?JH!`LfcERSDj!`%kC*t$i39s7r-?1Op;f;++!EDt18!;FU zUX!H(L)NeVQ7K#1Bv-uf_Iw8)Gq;o2Z)ZsPAWB0*EFRr28K7p@BxQj><$w^l3y%R5I{sY>O|V26Py6@HoccBb)_nrO1Z>SXifl6H@>ClK{P#q^C zlQk)*`!kUwnNi3xo0+HqEJ01M2=%>Ed%YdiUu7iu*B4IFpk4hQ*2h|m#vjpxA>_Ld zJL5>Kzzz5-rr}aw7{=UqU}^crfQU!zig4@rjk4>iE%KDIc^WTKG1j2AV4EYt(W zqBhGE)PrVYS1d-JVX9H7ynxEUr>G^lh5G)_coH9BM?Bevql{mmGU9tgr7x8b7M{tN zLFmQl$a0%9T!P0@9Y>Rvp_qk(aW{6u?{GLa@UR>>2}`gFwS;l)*r?b8HKA?DtHx*c zx)pN}mAWd_$WEiy=qxH#pP*)X4fTMV*b{%k&FEpnXy&h@-Unw;d*&TniFacx? zW^gBWFU-X#`Zq67QHuAV)~Hde`{ql=fn1Nmr*SuGpx2SqnFkn*|DrkyWb~SG2!>!Y z)ShaC9_)#{0?c^Sa|+N`k4h;OS%!MxKGcH_qc+tkEWwLdhM8U5zkiF`ymwJ+{K&S4 zu~F1POVrHfo8_p*C$2vt5t*J}MgVebmhUKs`{uAd?^z zHM3mYkMl5J?TPNpmtYgFSEH7!48yS!wMS}Do9-=Crmmwha0m5V-+d}d<=?0QG)!_| zEG+q3)|jb@)DZ!H=yEa0l1X$I($$M8PxfLf#T`|qW~i7@F{iTS8ZH0bN@-YC?j@!%^Mk0ild!Ifyz`Q3n3 z*a|OUB7Tp0PDF;gciLkh*Iv|sk}}A@zA%Ue?b;mcEL8h4)C|_6M!p?+lRBk>&$YIG z1ZNP>5YdG09YZ`WE2vaGzQEB0%g-|VjG0PhF+tYND1zm2(h6oep_!>PCODnWS}wy? zgi1LvkJzCL%1)w^&>opXs4Q?X&ssZRM`AtwJO8U4uz%QsO0ixVO5tikC6jpBsktd% zYU@Lh)pCwz5Ek0@y;iZ=*1Ka}f&=FKJC~0>{jjJECiW4|x?ppHm!4DB@wuJoL=1FV z+>aNb+Fs}3R^ljen3zbE5Gpyu5U1w;e>s5qLW0wy`MX6sTCdER_F5b1Ra+N22`c?v zoKGFIjrMv8dWaVY4vJI8Sw%}Cml#205N@G=z1_6A9+wtWHV|1v6GB6bB!&~)h}Ohz zVhW+MhS=oP+>bceMLciYw6PP2GU7SgrqeWx2-Cxx5rISjQA((AvYdaHoC`i)A|??B ziCChDm`pq_oo%HjhT8fe+T`Vr3CPnB$;voN*&9j5cd$dXP7quB(x1MJ~foE}EVXpt5 z_L~A4=FZG3^h_^UQ8*{BV7C9wn96|Up7Gv<_=HqXLXWiM)HrW~*Bdr+M0|Gc(!9la z3ku=~OfSq$^CWr`_+Dy!Vv;AJS6YgHQ>UyTe{GjDf&N|HE(ZChde4TG$M@>vFX, 2013 # Cihad GÜNDOĞDU , 2012 @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-05-28 17:04+0000\n" "Last-Translator: BouRock\n" "Language-Team: Turkish (http://www.transifex.com/django/django/language/" "tr/)\n" @@ -94,6 +94,15 @@ msgstr "Başka bir %(verbose_name)s ekle" msgid "Remove" msgstr "Kaldır" +msgid "Addition" +msgstr "Ekleme" + +msgid "Change" +msgstr "Değiştir" + +msgid "Deletion" +msgstr "Silme" + msgid "action time" msgstr "eylem zamanı" @@ -173,10 +182,11 @@ msgstr "" "basılı tutun." #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" başarılı olarak eklendi. Aşağıda tekrar düzenleyebilirsiniz." +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" başarılı olarak eklendi." + +msgid "You may edit it again below." +msgstr "Aşağıdan bunu tekrar düzenleyebilirsiniz." #, python-brace-format msgid "" @@ -186,10 +196,6 @@ msgstr "" "{name} \"{obj}\" başarılı olarak eklendi. Aşağıda başka bir {name} " "ekleyebilirsiniz." -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" başarılı olarak eklendi." - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." @@ -197,6 +203,12 @@ msgstr "" "{name} \"{obj}\" başarılı olarak değiştirildi. Aşağıda tekrar " "düzenleyebilirsiniz." +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" başarılı olarak eklendi. Aşağıda tekrar düzenleyebilirsiniz." + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -235,6 +247,10 @@ msgstr "%s ekle" msgid "Change %s" msgstr "%s değiştir" +#, python-format +msgid "View %s" +msgstr "%s göster" + msgid "Database error" msgstr "Veritabanı hatası" @@ -454,8 +470,8 @@ msgstr "" "Seçilen %(objects_name)s nesnelerini silmek istediğinize emin misiniz? " "Aşağıdaki nesnelerin tümü ve onların ilgili öğeleri silinecektir:" -msgid "Change" -msgstr "Değiştir" +msgid "View" +msgstr "Göster" msgid "Delete?" msgstr "Silinsin mi?" @@ -474,8 +490,8 @@ msgstr "%(name)s uygulamasındaki modeller" msgid "Add" msgstr "Ekle" -msgid "You don't have permission to edit anything." -msgstr "Hiçbir şeyi düzenlemek için izne sahip değilsiniz." +msgid "You don't have permission to view or edit anything." +msgstr "Hiçbir şeyi düzenlemek ve göstermek için izne sahip değilsiniz." msgid "Recent actions" msgstr "Son eylemler" @@ -538,6 +554,10 @@ msgstr "Açılır pencere kapanıyor..." msgid "Change selected %(model)s" msgstr "Seçilen %(model)s değiştir" +#, python-format +msgid "View selected %(model)s" +msgstr "Seçilen %(model)s göster" + #, python-format msgid "Add another %(model)s" msgstr "Başka bir %(model)s ekle" @@ -568,6 +588,12 @@ msgstr "Kaydet ve başka birini ekle" msgid "Save and continue editing" msgstr "Kaydet ve düzenlemeye devam et" +msgid "Save and view" +msgstr "Kaydet ve göster" + +msgid "Close" +msgstr "Kapat" + msgid "Thanks for spending some quality time with the Web site today." msgstr "" "Bugün Web sitesinde biraz güzel zaman geçirdiğiniz için teşekkür ederiz." @@ -679,6 +705,10 @@ msgstr "%s seç" msgid "Select %s to change" msgstr "Değiştirmek için %s seçin" +#, python-format +msgid "Select %s to view" +msgstr "Göstermek için %s seçin" + msgid "Date:" msgstr "Tarih:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo index a6e690964cac1201e1d399f09b5e9f2cf713e3a2..bdd81b69f98973cf7e3a4ba3439de4cee8205b18 100644 GIT binary patch delta 26 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 diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po index d5a24d7..2858020 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po @@ -6,12 +6,14 @@ # Jannis Leidel , 2011 # Kevin Sze , 2012 # Lele Long , 2011,2015 +# Le Yang , 2018 # Liping Wang , 2016-2017 # mozillazg , 2016 # Ronald White , 2013-2014 # Sean Lee , 2013 # Sean Lee , 2013 # slene , 2011 +# xuyi wang , 2018 # Ziang Song , 2012 # Kevin Sze , 2012 # 雨翌 , 2016 @@ -20,9 +22,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2018-02-03 06:40+0000\n" -"Last-Translator: Brian Wang \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-07-16 13:10+0000\n" +"Last-Translator: xuyi wang \n" "Language-Team: Chinese (China) (http://www.transifex.com/django/django/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -98,6 +100,15 @@ msgstr "添加另一个 %(verbose_name)s" msgid "Remove" msgstr "删除" +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "修改" + +msgid "Deletion" +msgstr "" + msgid "action time" msgstr "动作时间" @@ -175,9 +186,11 @@ msgid "" msgstr "按住 ”Control“,或者Mac上的 “Command”,可以选择多个。" #, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" 已经添加成功。你可以在下面再次编辑它。" +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name}\"{obj}\"添加成功。" + +msgid "You may edit it again below." +msgstr "您可以在下面再次编辑它." #, python-brace-format msgid "" @@ -185,15 +198,16 @@ msgid "" "below." msgstr "{name} \"{obj}\" 已经添加成功。你可以在下面添加其它的{name}。" -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name}\"{obj}\"添加成功。" - #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may edit it again below." msgstr "{name} \"{obj}\" 添加成功。你可以在下面再次编辑它。" +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" 已经添加成功。你可以在下面再次编辑它。" + #, python-brace-format msgid "" "The {name} \"{obj}\" was changed successfully. You may add another {name} " @@ -228,6 +242,10 @@ msgstr "增加 %s" msgid "Change %s" msgstr "修改 %s" +#, python-format +msgid "View %s" +msgstr "" + msgid "Database error" msgstr "数据库错误" @@ -332,7 +350,7 @@ msgid "Change password" msgstr "修改密码" msgid "Please correct the error below." -msgstr "请修正下面的错误。" +msgstr "请更正下列错误。" msgid "Please correct the errors below." msgstr "请更正下列错误。" @@ -438,8 +456,8 @@ msgstr "" "请确认要删除选中的 %(objects_name)s 吗?以下所有对象和余它们相关的条目将都会" "被删除:" -msgid "Change" -msgstr "修改" +msgid "View" +msgstr "" msgid "Delete?" msgstr "删除?" @@ -458,8 +476,8 @@ msgstr "在应用程序 %(name)s 中的模型" msgid "Add" msgstr "增加" -msgid "You don't have permission to edit anything." -msgstr "你无权修改任何东西。" +msgid "You don't have permission to view or edit anything." +msgstr "无权查看或修改。" msgid "Recent actions" msgstr "最近动作" @@ -519,6 +537,10 @@ msgstr "弹窗关闭中。。。" msgid "Change selected %(model)s" msgstr "更改选中的%(model)s" +#, python-format +msgid "View selected %(model)s" +msgstr "查看已选的%(model)s" + #, python-format msgid "Add another %(model)s" msgstr "增加另一个 %(model)s" @@ -548,6 +570,12 @@ msgstr "保存并增加另一个" msgid "Save and continue editing" msgstr "保存并继续编辑" +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + msgid "Thanks for spending some quality time with the Web site today." msgstr "感谢您今天在本站花费了一些宝贵时间。" @@ -651,6 +679,10 @@ msgstr "选择 %s" msgid "Select %s to change" msgstr "选择 %s 来修改" +#, python-format +msgid "Select %s to view" +msgstr "选择%s查看" + msgid "Date:" msgstr "日期:" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo index 01a83bd020ba9932e95d47cea3b1c727a97e8d16..2df69307e1760482b0905fec3089aa58ab27ee2e 100644 GIT binary patch delta 475 zcmXZYJxIe)6b0Z@MWr#(qF@K9q(iYn3k_P-PW~)KH@A)%N);szD&k_M(v~7(i-MD# z6dXh-ZsOqPrkjJ{q??;gE}obJA>TXqUhWI2CQp;M_Ywa(0<0LoB!HhmfJY?E&@}C5 zo|Xj~WnNTXm1}f_^^)9@zWOc72j_gn=_O6j2NVAP!Z#Lzi$3L-{FcA6#|r17GA844 zLZ;{p_hqC@gAYGbzay_KKU{dj0`I_`8jtdc?z8?(>$Er&&cDc4nqmE2*&GHAnMY|b z-=dpzJO=Pbqb3`&Y3pz#kL8JMcT2tV1J+zNm(M!0w&N7?x%P#zFy?O9#XZ+sUN3tU SJH1ri+1>UIrn(Bzr delta 459 zcmbQL*s8c;4`cl-Mg|5iE(Qj51_p+w+zbprCIc@Igq8r(Y(Ty;l-2^$oIt)Ily42C zoq)6uP}~zr$3W?PsC*NU1|o(|AR!Khw*UhJFrXRAp>!pb zu2z6DYN2#Jlx~F5&6^{cE!la^bPY^(4b2sdjI9ifCeP<`U`s77$, 2018 +# Bai HuanCheng (Bestony) , 2018 # Jannis Leidel , 2011 # Kewei Ma , 2016 # Lele Long , 2011,2015 @@ -15,9 +15,9 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" "PO-Revision-Date: 2018-01-14 07:41+0000\n" -"Last-Translator: Bestony \n" +"Last-Translator: Bai HuanCheng (Bestony) \n" "Language-Team: Chinese (China) (http://www.transifex.com/django/django/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -103,25 +103,9 @@ msgstr "" "你已选则执行一个动作, 但可编辑栏位沒有任何改变. 你应该尝试 '去' 按钮, 而不是 " "'保存' 按钮." -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "注意:你比服务器时间超前 %s 个小时。" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "注意:你比服务器时间滞后 %s 个小时。" - msgid "Now" msgstr "现在" -msgid "Choose a Time" -msgstr "选择一个时间" - -msgid "Choose a time" -msgstr "选择一个时间" - msgid "Midnight" msgstr "午夜" @@ -134,6 +118,22 @@ msgstr "正午" msgid "6 p.m." msgstr "下午6点" +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "注意:你比服务器时间超前 %s 个小时。" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "注意:你比服务器时间滞后 %s 个小时。" + +msgid "Choose a Time" +msgstr "选择一个时间" + +msgid "Choose a time" +msgstr "选择一个时间" + msgid "Cancel" msgstr "取消" diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0001_initial.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0001_initial.py new file mode 100644 index 0000000..f1e2804 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0001_initial.py @@ -0,0 +1,47 @@ +import django.contrib.admin.models +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('contenttypes', '__first__'), + ] + + operations = [ + migrations.CreateModel( + name='LogEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('action_time', models.DateTimeField(auto_now=True, verbose_name='action time')), + ('object_id', models.TextField(null=True, verbose_name='object id', blank=True)), + ('object_repr', models.CharField(max_length=200, verbose_name='object repr')), + ('action_flag', models.PositiveSmallIntegerField(verbose_name='action flag')), + ('change_message', models.TextField(verbose_name='change message', blank=True)), + ('content_type', models.ForeignKey( + to_field='id', + on_delete=models.SET_NULL, + blank=True, null=True, + to='contenttypes.ContentType', + verbose_name='content type', + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + verbose_name='user', + )), + ], + options={ + 'ordering': ('-action_time',), + 'db_table': 'django_admin_log', + 'verbose_name': 'log entry', + 'verbose_name_plural': 'log entries', + }, + bases=(models.Model,), + managers=[ + ('objects', django.contrib.admin.models.LogEntryManager()), + ], + ), + ] diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py new file mode 100644 index 0000000..a2b1916 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py @@ -0,0 +1,22 @@ +from django.db import migrations, models +from django.utils import timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin', '0001_initial'), + ] + + # No database changes; removes auto_add and adds default/editable. + operations = [ + migrations.AlterField( + model_name='logentry', + name='action_time', + field=models.DateTimeField( + verbose_name='action time', + default=timezone.now, + editable=False, + ), + ), + ] diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py new file mode 100644 index 0000000..a041a9d --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py @@ -0,0 +1,20 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin', '0002_logentry_remove_auto_add'), + ] + + # No database changes; adds choices to action_flag. + operations = [ + migrations.AlterField( + model_name='logentry', + name='action_flag', + field=models.PositiveSmallIntegerField( + choices=[(1, 'Addition'), (2, 'Change'), (3, 'Deletion')], + verbose_name='action flag', + ), + ), + ] diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/models.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/models.py index 82b3cc0..c7bac40 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/models.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/models.py @@ -13,6 +13,12 @@ ADDITION = 1 CHANGE = 2 DELETION = 3 +ACTION_FLAG_CHOICES = ( + (ADDITION, _('Addition')), + (CHANGE, _('Change')), + (DELETION, _('Deletion')), +) + class LogEntryManager(models.Manager): use_in_migrations = True @@ -50,7 +56,7 @@ class LogEntry(models.Model): object_id = models.TextField(_('object id'), blank=True, null=True) # Translators: 'repr' means representation (https://docs.python.org/3/library/functions.html#repr) object_repr = models.CharField(_('object repr'), max_length=200) - action_flag = models.PositiveSmallIntegerField(_('action flag')) + action_flag = models.PositiveSmallIntegerField(_('action flag'), choices=ACTION_FLAG_CHOICES) # change_message is either a string or a JSON structure change_message = models.TextField(_('change message'), blank=True) @@ -95,7 +101,7 @@ class LogEntry(models.Model): if self.change_message and self.change_message[0] == '[': try: change_message = json.loads(self.change_message) - except ValueError: + except json.JSONDecodeError: return self.change_message messages = [] for sub_message in change_message: diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/options.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/options.py index 8d8f263..0f4dd93 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/options.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/options.py @@ -45,6 +45,7 @@ from django.urls import reverse from django.utils.decorators import method_decorator from django.utils.html import format_html from django.utils.http import urlencode +from django.utils.inspect import get_func_args from django.utils.safestring import mark_safe from django.utils.text import capfirst, format_lazy, get_text_list from django.utils.translation import gettext as _, ngettext @@ -112,6 +113,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): formfield_overrides = {} readonly_fields = () ordering = None + sortable_by = None view_on_site = True show_full_result_count = True checks_class = BaseModelAdminChecks @@ -146,7 +148,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): # formfield_overrides because **kwargs is more specific, and should # always win. if db_field.__class__ in self.formfield_overrides: - kwargs = dict(self.formfield_overrides[db_field.__class__], **kwargs) + kwargs = {**self.formfield_overrides[db_field.__class__], **kwargs} # Get the correct formfield. if isinstance(db_field, models.ForeignKey): @@ -166,6 +168,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): can_add_related=related_modeladmin.has_add_permission(request), can_change_related=related_modeladmin.has_change_permission(request), can_delete_related=related_modeladmin.has_delete_permission(request), + can_view_related=related_modeladmin.has_view_permission(request), ) formfield.widget = widgets.RelatedFieldWidgetWrapper( formfield.widget, db_field.remote_field, self.admin_site, **wrapper_kwargs @@ -177,7 +180,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): # passed to formfield_for_dbfield override the defaults. for klass in db_field.__class__.mro(): if klass in self.formfield_overrides: - kwargs = dict(copy.deepcopy(self.formfield_overrides[klass]), **kwargs) + kwargs = {**copy.deepcopy(self.formfield_overrides[klass]), **kwargs} return db_field.formfield(**kwargs) # For any other type of field, just call its formfield() method. @@ -354,6 +357,10 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): qs = qs.order_by(*ordering) return qs + def get_sortable_by(self, request): + """Hook for specifying which fields can be sorted in the changelist.""" + return self.sortable_by if self.sortable_by is not None else self.get_list_display(request) + def lookup_allowed(self, lookup, value): from django.contrib.admin.filters import SimpleListFilter @@ -365,9 +372,8 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): # As ``limit_choices_to`` can be a callable, invoke it here. if callable(fk_lookup): fk_lookup = fk_lookup() - for k, v in widgets.url_params_from_lookup_dict(fk_lookup).items(): - if k == lookup and v == value: - return True + if (lookup, value) in widgets.url_params_from_lookup_dict(fk_lookup).items(): + return True relation_parts = [] prev_field = None @@ -493,6 +499,25 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): codename = get_permission_codename('delete', opts) return request.user.has_perm("%s.%s" % (opts.app_label, codename)) + def has_view_permission(self, request, obj=None): + """ + Return True if the given request has permission to view the given + Django model instance. The default implementation doesn't examine the + `obj` parameter. + + If overridden by the user in subclasses, it should return True if the + given request has permission to view the `obj` model instance. If `obj` + is None, it should return True if the request has permission to view + any object of the given type. + """ + opts = self.opts + codename_view = get_permission_codename('view', opts) + codename_change = get_permission_codename('change', opts) + return ( + request.user.has_perm('%s.%s' % (opts.app_label, codename_view)) or + request.user.has_perm('%s.%s' % (opts.app_label, codename_change)) + ) + def has_module_permission(self, request): """ Return True if the given request has any permission in the given @@ -556,12 +581,19 @@ class ModelAdmin(BaseModelAdmin): inline_instances = [] for inline_class in self.inlines: inline = inline_class(self.model, self.admin_site) + # RemovedInDjango30Warning: obj will be a required argument. + args = get_func_args(inline.has_add_permission) + if 'obj' in args: + inline_has_add_permission = inline.has_add_permission(request, obj) + else: + inline_has_add_permission = inline.has_add_permission(request) if request: - if not (inline.has_add_permission(request) or + if not (inline.has_view_permission(request, obj) or + inline_has_add_permission or inline.has_change_permission(request, obj) or inline.has_delete_permission(request, obj)): continue - if not inline.has_add_permission(request): + if not inline_has_add_permission: inline.max_num = 0 inline_instances.append(inline) @@ -614,19 +646,20 @@ class ModelAdmin(BaseModelAdmin): def get_model_perms(self, request): """ Return a dict of all perms for this model. This dict has the keys - ``add``, ``change``, and ``delete`` mapping to the True/False for each - of those actions. + ``add``, ``change``, ``delete``, and ``view`` mapping to the True/False + for each of those actions. """ return { 'add': self.has_add_permission(request), 'change': self.has_change_permission(request), 'delete': self.has_delete_permission(request), + 'view': self.has_view_permission(request), } def _get_form_for_get_fields(self, request, obj): return self.get_form(request, obj, fields=None) - def get_form(self, request, obj=None, **kwargs): + def get_form(self, request, obj=None, change=False, **kwargs): """ Return a Form class for use in the admin add view. This is used by add_view and change_view. @@ -639,6 +672,10 @@ class ModelAdmin(BaseModelAdmin): exclude = [] if excluded is None else list(excluded) readonly_fields = self.get_readonly_fields(request, obj) exclude.extend(readonly_fields) + # Exclude all fields if it's a change form and the user doesn't have + # the change permission. + if change and hasattr(request, 'user') and not self.has_change_permission(request, obj): + exclude.extend(fields) if excluded is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. @@ -655,12 +692,12 @@ class ModelAdmin(BaseModelAdmin): form = type(self.form.__name__, (self.form,), new_attrs) defaults = { - "form": form, - "fields": fields, - "exclude": exclude, - "formfield_callback": partial(self.formfield_for_dbfield, request=request), + 'form': form, + 'fields': fields, + 'exclude': exclude, + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + **kwargs, } - defaults.update(kwargs) if defaults['fields'] is None and not modelform_defines_fields(defaults['form']): defaults['fields'] = forms.ALL_FIELDS @@ -690,6 +727,7 @@ class ModelAdmin(BaseModelAdmin): # Add the action checkboxes if any actions are available. if self.get_actions(request): list_display = ['action_checkbox'] + list(list_display) + sortable_by = self.get_sortable_by(request) ChangeList = self.get_changelist(request) return ChangeList( request, @@ -704,6 +742,7 @@ class ModelAdmin(BaseModelAdmin): self.list_max_show_all, self.list_editable, self, + sortable_by, ) def get_object(self, request, object_id, from_field=None): @@ -726,9 +765,9 @@ class ModelAdmin(BaseModelAdmin): Return a Form class for use in the Formset on the changelist page. """ defaults = { - "formfield_callback": partial(self.formfield_for_dbfield, request=request), + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + **kwargs, } - defaults.update(kwargs) if defaults.get('fields') is None and not modelform_defines_fields(defaults.get('form')): defaults['fields'] = forms.ALL_FIELDS @@ -740,9 +779,9 @@ class ModelAdmin(BaseModelAdmin): is used. """ defaults = { - "formfield_callback": partial(self.formfield_for_dbfield, request=request), + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + **kwargs, } - defaults.update(kwargs) return modelformset_factory( self.model, self.get_changelist_form(request), extra=0, fields=self.list_editable, **defaults @@ -811,18 +850,10 @@ class ModelAdmin(BaseModelAdmin): A list_display column containing a checkbox widget. """ return helpers.checkbox.render(helpers.ACTION_CHECKBOX_NAME, str(obj.pk)) - action_checkbox.short_description = mark_safe('') - - def get_actions(self, request): - """ - Return a dictionary mapping the names of all actions for this - ModelAdmin to a tuple of (callable, name, description) for each action. - """ - # If self.actions is explicitly set to None that means that we don't - # want *any* actions enabled on this page. - if self.actions is None or IS_POPUP_VAR in request.GET: - return OrderedDict() + action_checkbox.short_description = mark_safe('') + def _get_base_actions(self): + """Return the list of actions, prior to any request-based filtering.""" actions = [] # Gather actions from the admin site first @@ -833,23 +864,44 @@ class ModelAdmin(BaseModelAdmin): # Then gather them from the model admin and all parent classes, # starting with self and working back up. for klass in self.__class__.mro()[::-1]: - class_actions = getattr(klass, 'actions', []) - # Avoid trying to iterate over None - if not class_actions: - continue + class_actions = getattr(klass, 'actions', []) or [] actions.extend(self.get_action(action) for action in class_actions) # get_action might have returned None, so filter any of those out. - actions = filter(None, actions) + return filter(None, actions) + def _filter_actions_by_permissions(self, request, actions): + """Filter out any actions that the user doesn't have access to.""" + filtered_actions = [] + for action in actions: + callable = action[0] + if not hasattr(callable, 'allowed_permissions'): + filtered_actions.append(action) + continue + permission_checks = ( + getattr(self, 'has_%s_permission' % permission) + for permission in callable.allowed_permissions + ) + if any(has_permission(request) for has_permission in permission_checks): + filtered_actions.append(action) + return filtered_actions + + def get_actions(self, request): + """ + Return a dictionary mapping the names of all actions for this + ModelAdmin to a tuple of (callable, name, description) for each action. + """ + # If self.actions is set to None that means actions are disabled on + # this page. + if self.actions is None or IS_POPUP_VAR in request.GET: + return OrderedDict() + actions = self._filter_actions_by_permissions(request, self._get_base_actions()) # Convert the actions into an OrderedDict keyed by name. - actions = OrderedDict( + return OrderedDict( (name, (func, name, desc)) for func, name, desc in actions ) - return actions - def get_action_choices(self, request, default_choices=BLANK_CHOICE_DASH): """ Return a list of choices for use in a form object. Each choice is a @@ -944,8 +996,27 @@ class ModelAdmin(BaseModelAdmin): return "%s__iexact" % field_name[1:] elif field_name.startswith('@'): return "%s__search" % field_name[1:] - else: - return "%s__icontains" % field_name + # Use field_name if it includes a lookup. + opts = queryset.model._meta + lookup_fields = field_name.split(LOOKUP_SEP) + # Go through the fields, following all relations. + prev_field = None + for path_part in lookup_fields: + if path_part == 'pk': + path_part = opts.pk.name + try: + field = opts.get_field(path_part) + except FieldDoesNotExist: + # Use valid query lookups. + if prev_field and prev_field.get_lookup(path_part): + return field_name + else: + prev_field = field + if hasattr(field, 'get_path_info'): + # Update opts to follow the relation. + opts = field.get_path_info()[-1].to_opts + # Otherwise, use the field with icontains. + return "%s__icontains" % field_name use_distinct = False search_fields = self.get_search_fields(request) @@ -956,11 +1027,7 @@ class ModelAdmin(BaseModelAdmin): or_queries = [models.Q(**{orm_lookup: bit}) for orm_lookup in orm_lookups] queryset = queryset.filter(reduce(operator.or_, or_queries)) - if not use_distinct: - for search_spec in orm_lookups: - if lookup_needs_distinct(self.opts, search_spec): - use_distinct = True - break + use_distinct |= any(lookup_needs_distinct(self.opts, search_spec) for search_spec in orm_lookups) return queryset, use_distinct @@ -1032,6 +1099,10 @@ class ModelAdmin(BaseModelAdmin): """ obj.delete() + def delete_queryset(self, request, queryset): + """Given a queryset, delete it from the database.""" + queryset.delete() + def save_formset(self, request, form, formset, change): """ Given an inline formset save it to the database. @@ -1056,13 +1127,23 @@ class ModelAdmin(BaseModelAdmin): preserved_filters = self.get_preserved_filters(request) form_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, form_url) view_on_site_url = self.get_view_on_site_url(obj) + has_editable_inline_admin_formsets = False + for inline in context['inline_admin_formsets']: + if inline.has_add_permission or inline.has_change_permission or inline.has_delete_permission: + has_editable_inline_admin_formsets = True + break context.update({ 'add': add, 'change': change, + 'has_view_permission': self.has_view_permission(request, obj), 'has_add_permission': self.has_add_permission(request), 'has_change_permission': self.has_change_permission(request, obj), 'has_delete_permission': self.has_delete_permission(request, obj), - 'has_file_field': True, # FIXME - this should check if form or formsets have a FileField, + 'has_editable_inline_admin_formsets': has_editable_inline_admin_formsets, + 'has_file_field': context['adminform'].form.is_multipart() or any( + admin_formset.formset.form().is_multipart() + for admin_formset in context['inline_admin_formsets'] + ), 'has_absolute_url': view_on_site_url is not None, 'absolute_url': view_on_site_url, 'form_url': form_url, @@ -1134,11 +1215,10 @@ class ModelAdmin(BaseModelAdmin): "_saveasnew" in request.POST and self.save_as_continue and self.has_change_permission(request, obj) ): - msg = format_html( - _('The {name} "{obj}" was added successfully. You may edit it again below.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) + msg = _('The {name} "{obj}" was added successfully.') + if self.has_change_permission(request, obj): + msg += ' ' + _('You may edit it again below.') + self.message_user(request, format_html(msg, **msg_dict), messages.SUCCESS) if post_url_continue is None: post_url_continue = obj_url post_url_continue = add_preserved_filters( @@ -1409,10 +1489,15 @@ class ModelAdmin(BaseModelAdmin): for inline, formset in zip(inline_instances, formsets): fieldsets = list(inline.get_fieldsets(request, obj)) readonly = list(inline.get_readonly_fields(request, obj)) + has_add_permission = inline.has_add_permission(request, obj) + has_change_permission = inline.has_change_permission(request, obj) + has_delete_permission = inline.has_delete_permission(request, obj) + has_view_permission = inline.has_view_permission(request, obj) prepopulated = dict(inline.get_prepopulated_fields(request, obj)) inline_admin_formset = helpers.InlineAdminFormSet( - inline, formset, fieldsets, prepopulated, readonly, - model_admin=self, + inline, formset, fieldsets, prepopulated, readonly, model_admin=self, + has_add_permission=has_add_permission, has_change_permission=has_change_permission, + has_delete_permission=has_delete_permission, has_view_permission=has_view_permission, ) inline_admin_formsets.append(inline_admin_formset) return inline_admin_formsets @@ -1471,20 +1556,19 @@ class ModelAdmin(BaseModelAdmin): else: obj = self.get_object(request, unquote(object_id), to_field) - if not self.has_change_permission(request, obj): + if not self.has_view_permission(request, obj) and not self.has_change_permission(request, obj): raise PermissionDenied if obj is None: return self._get_obj_does_not_exist_redirect(request, opts, object_id) - ModelForm = self.get_form(request, obj) + ModelForm = self.get_form(request, obj, change=not add) if request.method == 'POST': form = ModelForm(request.POST, request.FILES, instance=obj) - if form.is_valid(): - form_validated = True + form_validated = form.is_valid() + if form_validated: new_object = self.save_form(request, form, change=not add) else: - form_validated = False new_object = form.instance formsets, inline_instances = self._create_formsets(request, new_object, change=not add) if all_valid(formsets) and form_validated: @@ -1508,11 +1592,15 @@ class ModelAdmin(BaseModelAdmin): form = ModelForm(instance=obj) formsets, inline_instances = self._create_formsets(request, obj, change=True) + if not add and not self.has_change_permission(request, obj): + readonly_fields = flatten_fieldsets(self.get_fieldsets(request, obj)) + else: + readonly_fields = self.get_readonly_fields(request, obj) adminForm = helpers.AdminForm( form, list(self.get_fieldsets(request, obj)), self.get_prepopulated_fields(request, obj), - self.get_readonly_fields(request, obj), + readonly_fields, model_admin=self) media = self.media + adminForm.media @@ -1520,20 +1608,25 @@ class ModelAdmin(BaseModelAdmin): for inline_formset in inline_formsets: media = media + inline_formset.media - context = dict( - self.admin_site.each_context(request), - title=(_('Add %s') if add else _('Change %s')) % opts.verbose_name, - adminform=adminForm, - object_id=object_id, - original=obj, - is_popup=(IS_POPUP_VAR in request.POST or - IS_POPUP_VAR in request.GET), - to_field=to_field, - media=media, - inline_admin_formsets=inline_formsets, - errors=helpers.AdminErrorList(form, formsets), - preserved_filters=self.get_preserved_filters(request), - ) + if add: + title = _('Add %s') + elif self.has_change_permission(request, obj): + title = _('Change %s') + else: + title = _('View %s') + context = { + **self.admin_site.each_context(request), + 'title': title % opts.verbose_name, + 'adminform': adminForm, + 'object_id': object_id, + 'original': obj, + 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + 'to_field': to_field, + 'media': media, + 'inline_admin_formsets': inline_formsets, + 'errors': helpers.AdminErrorList(form, formsets), + 'preserved_filters': self.get_preserved_filters(request), + } # Hide the "Save" and "Save and continue" buttons if "Save as New" was # previously chosen to prevent the interface from getting confusing. @@ -1558,7 +1651,7 @@ class ModelAdmin(BaseModelAdmin): def _get_edited_object_pks(self, request, prefix): """Return POST data values of list_editable primary keys.""" - pk_pattern = re.compile('{}-\d+-{}$'.format(prefix, self.model._meta.pk.name)) + pk_pattern = re.compile(r'{}-\d+-{}$'.format(prefix, self.model._meta.pk.name)) return [value for key, value in request.POST.items() if pk_pattern.match(key)] def _get_list_editable_queryset(self, request, prefix): @@ -1585,7 +1678,7 @@ class ModelAdmin(BaseModelAdmin): from django.contrib.admin.views.main import ERROR_FLAG opts = self.model._meta app_label = opts.app_label - if not self.has_change_permission(request, None): + if not self.has_view_permission(request) and not self.has_change_permission(request): raise PermissionDenied try: @@ -1650,6 +1743,8 @@ class ModelAdmin(BaseModelAdmin): # Handle POSTed bulk-edit data. if request.method == 'POST' and cl.list_editable and '_save' in request.POST: + if not self.has_change_permission(request): + raise PermissionDenied FormSet = self.get_changelist_formset(request) modified_objects = self._get_list_editable_queryset(request, FormSet.get_default_prefix()) formset = cl.formset = FormSet(request.POST, request.FILES, queryset=modified_objects) @@ -1678,7 +1773,7 @@ class ModelAdmin(BaseModelAdmin): return HttpResponseRedirect(request.get_full_path()) # Handle GET -- construct a formset for display. - elif cl.list_editable: + elif cl.list_editable and self.has_change_permission(request): FormSet = self.get_changelist_formset(request) formset = cl.formset = FormSet(queryset=cl.result_list) @@ -1702,25 +1797,25 @@ class ModelAdmin(BaseModelAdmin): cl.result_count ) - context = dict( - self.admin_site.each_context(request), - module_name=str(opts.verbose_name_plural), - selection_note=_('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)}, - selection_note_all=selection_note_all % {'total_count': cl.result_count}, - title=cl.title, - is_popup=cl.is_popup, - to_field=cl.to_field, - cl=cl, - media=media, - has_add_permission=self.has_add_permission(request), - opts=cl.opts, - action_form=action_form, - actions_on_top=self.actions_on_top, - actions_on_bottom=self.actions_on_bottom, - actions_selection_counter=self.actions_selection_counter, - preserved_filters=self.get_preserved_filters(request), - ) - context.update(extra_context or {}) + context = { + **self.admin_site.each_context(request), + 'module_name': str(opts.verbose_name_plural), + 'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)}, + 'selection_note_all': selection_note_all % {'total_count': cl.result_count}, + 'title': cl.title, + 'is_popup': cl.is_popup, + 'to_field': cl.to_field, + 'cl': cl, + 'media': media, + 'has_add_permission': self.has_add_permission(request), + 'opts': cl.opts, + 'action_form': action_form, + 'actions_on_top': self.actions_on_top, + 'actions_on_bottom': self.actions_on_bottom, + 'actions_selection_counter': self.actions_selection_counter, + 'preserved_filters': self.get_preserved_filters(request), + **(extra_context or {}), + } request.current_app = self.admin_site.name @@ -1730,6 +1825,13 @@ class ModelAdmin(BaseModelAdmin): 'admin/change_list.html' ], context) + def get_deleted_objects(self, objs, request): + """ + Hook for customizing the delete process for the delete view and the + "delete selected" action. + """ + return get_deleted_objects(objs, request, self.admin_site) + @csrf_protect_m def delete_view(self, request, object_id, extra_context=None): with transaction.atomic(using=router.db_for_write(self.model)): @@ -1752,12 +1854,9 @@ class ModelAdmin(BaseModelAdmin): if obj is None: return self._get_obj_does_not_exist_redirect(request, opts, object_id) - using = router.db_for_write(self.model) - # Populate deleted_objects, a data structure of all related objects that # will also be deleted. - (deleted_objects, model_count, perms_needed, protected) = get_deleted_objects( - [obj], opts, request.user, self.admin_site, using) + deleted_objects, model_count, perms_needed, protected = self.get_deleted_objects([obj], request) if request.POST and not protected: # The user has confirmed the deletion. if perms_needed: @@ -1777,23 +1876,22 @@ class ModelAdmin(BaseModelAdmin): else: title = _("Are you sure?") - context = dict( - self.admin_site.each_context(request), - title=title, - object_name=object_name, - object=obj, - deleted_objects=deleted_objects, - model_count=dict(model_count).items(), - perms_lacking=perms_needed, - protected=protected, - opts=opts, - app_label=app_label, - preserved_filters=self.get_preserved_filters(request), - is_popup=(IS_POPUP_VAR in request.POST or - IS_POPUP_VAR in request.GET), - to_field=to_field, - ) - context.update(extra_context or {}) + context = { + **self.admin_site.each_context(request), + 'title': title, + 'object_name': object_name, + 'object': obj, + 'deleted_objects': deleted_objects, + 'model_count': dict(model_count).items(), + 'perms_lacking': perms_needed, + 'protected': protected, + 'opts': opts, + 'app_label': app_label, + 'preserved_filters': self.get_preserved_filters(request), + 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + 'to_field': to_field, + **(extra_context or {}), + } return self.render_delete_form(request, context) @@ -1806,7 +1904,7 @@ class ModelAdmin(BaseModelAdmin): if obj is None: return self._get_obj_does_not_exist_redirect(request, model._meta, object_id) - if not self.has_change_permission(request, obj): + if not self.has_view_permission(request, obj) and not self.has_change_permission(request, obj): raise PermissionDenied # Then get the history for this object. @@ -1817,16 +1915,16 @@ class ModelAdmin(BaseModelAdmin): content_type=get_content_type_for_model(model) ).select_related().order_by('action_time') - context = dict( - self.admin_site.each_context(request), - title=_('Change history: %s') % obj, - action_list=action_list, - module_name=str(capfirst(opts.verbose_name_plural)), - object=obj, - opts=opts, - preserved_filters=self.get_preserved_filters(request), - ) - context.update(extra_context or {}) + context = { + **self.admin_site.each_context(request), + 'title': _('Change history: %s') % obj, + 'action_list': action_list, + 'module_name': str(capfirst(opts.verbose_name_plural)), + 'object': obj, + 'opts': opts, + 'preserved_filters': self.get_preserved_filters(request), + **(extra_context or {}), + } request.current_app = self.admin_site.name @@ -1939,22 +2037,31 @@ class InlineModelAdmin(BaseModelAdmin): exclude = exclude or None can_delete = self.can_delete and self.has_delete_permission(request, obj) defaults = { - "form": self.form, - "formset": self.formset, - "fk_name": self.fk_name, - "fields": fields, - "exclude": exclude, - "formfield_callback": partial(self.formfield_for_dbfield, request=request), - "extra": self.get_extra(request, obj, **kwargs), - "min_num": self.get_min_num(request, obj, **kwargs), - "max_num": self.get_max_num(request, obj, **kwargs), - "can_delete": can_delete, + 'form': self.form, + 'formset': self.formset, + 'fk_name': self.fk_name, + 'fields': fields, + 'exclude': exclude, + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + 'extra': self.get_extra(request, obj, **kwargs), + 'min_num': self.get_min_num(request, obj, **kwargs), + 'max_num': self.get_max_num(request, obj, **kwargs), + 'can_delete': can_delete, + **kwargs, } - defaults.update(kwargs) base_model_form = defaults['form'] + can_change = self.has_change_permission(request, obj) if request else True + can_add = self.has_add_permission(request, obj) if request else True class DeleteProtectedModelForm(base_model_form): + def __init__(self, *args, **kwargs): + super(DeleteProtectedModelForm, self).__init__(*args, **kwargs) + if not can_change and not self.instance._state.adding: + self.fields = {} + if not can_add and self.instance._state.adding: + self.fields = {} + def hand_clean_DELETE(self): """ We don't validate the 'DELETE' field itself because on @@ -1964,7 +2071,7 @@ class InlineModelAdmin(BaseModelAdmin): if self.cleaned_data.get(DELETION_FIELD_NAME, False): using = router.db_for_write(self._meta.model) collector = NestedObjects(using=using) - if self.instance.pk is None: + if self.instance._state.adding: return collector.collect([self.instance]) if collector.protected: @@ -2002,40 +2109,52 @@ class InlineModelAdmin(BaseModelAdmin): def get_queryset(self, request): queryset = super().get_queryset(request) - if not self.has_change_permission(request): + if not self.has_change_permission(request) and not self.has_view_permission(request): queryset = queryset.none() return queryset - def has_add_permission(self, request): + def has_add_permission(self, request, obj): if self.opts.auto_created: # We're checking the rights to an auto-created intermediate model, # which doesn't have its own individual permissions. The user needs - # to have the change permission for the related model in order to + # to have the view permission for the related model in order to # be able to do anything with the intermediate model. - return self.has_change_permission(request) + return self.has_view_permission(request, obj) return super().has_add_permission(request) def has_change_permission(self, request, obj=None): - opts = self.opts - if opts.auto_created: - # The model was auto-created as intermediary for a - # ManyToMany-relationship, find the target model - for field in opts.fields: - if field.remote_field and field.remote_field.model != self.parent_model: - opts = field.remote_field.model._meta - break - codename = get_permission_codename('change', opts) - return request.user.has_perm("%s.%s" % (opts.app_label, codename)) + if self.opts.auto_created: + # We're checking the rights to an auto-created intermediate model, + # which doesn't have its own individual permissions. The user needs + # to have the view permission for the related model in order to + # be able to do anything with the intermediate model. + return self.has_view_permission(request, obj) + return super().has_change_permission(request) def has_delete_permission(self, request, obj=None): if self.opts.auto_created: # We're checking the rights to an auto-created intermediate model, # which doesn't have its own individual permissions. The user needs - # to have the change permission for the related model in order to + # to have the view permission for the related model in order to # be able to do anything with the intermediate model. - return self.has_change_permission(request, obj) + return self.has_view_permission(request, obj) return super().has_delete_permission(request, obj) + def has_view_permission(self, request, obj=None): + if self.opts.auto_created: + opts = self.opts + # The model was auto-created as intermediary for a many-to-many + # Many-relationship; find the target model. + for field in opts.fields: + if field.remote_field and field.remote_field.model != self.parent_model: + opts = field.remote_field.model._meta + break + return ( + request.user.has_perm('%s.%s' % (opts.app_label, get_permission_codename('view', opts))) or + request.user.has_perm('%s.%s' % (opts.app_label, get_permission_codename('change', opts))) + ) + return super().has_view_permission(request) + class StackedInline(InlineModelAdmin): template = 'admin/edit_inline/stacked.html' diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/sites.py b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/sites.py index 2e37ade..0dafe97 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/sites.py +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/sites.py @@ -9,6 +9,8 @@ from django.db.models.base import ModelBase from django.http import Http404, HttpResponseRedirect from django.template.response import TemplateResponse from django.urls import NoReverseMatch, reverse +from django.utils.functional import LazyObject +from django.utils.module_loading import import_string from django.utils.text import capfirst from django.utils.translation import gettext as _, gettext_lazy from django.views.decorators.cache import never_cache @@ -94,9 +96,7 @@ class AdminSite: If a model is abstract, raise ImproperlyConfigured. """ - if not admin_class: - admin_class = ModelAdmin - + admin_class = admin_class or ModelAdmin if isinstance(model_or_iterable, ModelBase): model_or_iterable = [model_or_iterable] for model in model_or_iterable: @@ -312,7 +312,7 @@ class AdminSite: defaults = { 'form_class': AdminPasswordChangeForm, 'success_url': url, - 'extra_context': dict(self.each_context(request), **(extra_context or {})), + 'extra_context': {**self.each_context(request), **(extra_context or {})}, } if self.password_change_template is not None: defaults['template_name'] = self.password_change_template @@ -325,7 +325,7 @@ class AdminSite: """ from django.contrib.auth.views import PasswordChangeDoneView defaults = { - 'extra_context': dict(self.each_context(request), **(extra_context or {})), + 'extra_context': {**self.each_context(request), **(extra_context or {})}, } if self.password_change_done_template is not None: defaults['template_name'] = self.password_change_done_template @@ -350,13 +350,13 @@ class AdminSite: """ from django.contrib.auth.views import LogoutView defaults = { - 'extra_context': dict( - self.each_context(request), + 'extra_context': { + **self.each_context(request), # Since the user isn't logged out at this point, the value of # has_permission must be overridden. - has_permission=False, + 'has_permission': False, **(extra_context or {}) - ), + }, } if self.logout_template is not None: defaults['template_name'] = self.logout_template @@ -378,12 +378,12 @@ class AdminSite: # it cannot import models from other applications at the module level, # and django.contrib.admin.forms eventually imports User. from django.contrib.admin.forms import AdminAuthenticationForm - context = dict( - self.each_context(request), - title=_('Log in'), - app_path=request.get_full_path(), - username=request.user.get_username(), - ) + context = { + **self.each_context(request), + 'title': _('Log in'), + 'app_path': request.get_full_path(), + 'username': request.user.get_username(), + } if (REDIRECT_FIELD_NAME not in request.GET and REDIRECT_FIELD_NAME not in request.POST): context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name) @@ -432,7 +432,8 @@ class AdminSite: 'object_name': model._meta.object_name, 'perms': perms, } - if perms.get('change'): + if perms.get('change') or perms.get('view'): + model_dict['view_only'] = not perms.get('change') try: model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info, current_app=self.name) except NoReverseMatch: @@ -486,12 +487,12 @@ class AdminSite: """ app_list = self.get_app_list(request) - context = dict( - self.each_context(request), - title=self.index_title, - app_list=app_list, - ) - context.update(extra_context or {}) + context = { + **self.each_context(request), + 'title': self.index_title, + 'app_list': app_list, + **(extra_context or {}), + } request.current_app = self.name @@ -504,13 +505,13 @@ class AdminSite: # Sort the models alphabetically within each app. app_dict['models'].sort(key=lambda x: x['name']) app_name = apps.get_app_config(app_label).verbose_name - context = dict( - self.each_context(request), - title=_('%(app)s administration') % {'app': app_name}, - app_list=[app_dict], - app_label=app_label, - ) - context.update(extra_context or {}) + context = { + **self.each_context(request), + 'title': _('%(app)s administration') % {'app': app_name}, + 'app_list': [app_dict], + 'app_label': app_label, + **(extra_context or {}), + } request.current_app = self.name @@ -520,6 +521,14 @@ class AdminSite: ], context) +class DefaultAdminSite(LazyObject): + def _setup(self): + AdminSiteClass = import_string(apps.get_app_config('admin').default_site) + self._wrapped = AdminSiteClass() + + # This global object represents the default admin site, for the common case. -# You can instantiate AdminSite in your own code to create a custom admin site. -site = AdminSite() +# You can provide your own AdminSite using the (Simple)AdminConfig.default_site +# attribute. You can also instantiate AdminSite in your own code to create a +# custom admin site. +site = DefaultAdminSite() diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/base.css b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/base.css index 5dfeaff..6551e23 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/base.css +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/base.css @@ -662,6 +662,11 @@ div.breadcrumbs a:focus, div.breadcrumbs a:hover { /* ACTION ICONS */ +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + .addlink { padding-left: 16px; background: url(../img/icon-addlink.svg) 0 1px no-repeat; diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/forms.css b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/forms.css index 77985d5..5db927d 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/forms.css +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/forms.css @@ -177,7 +177,7 @@ form .aligned table p { padding-left: 0; } -fieldset .field-box { +fieldset .fieldBox { float: left; margin-right: 20px; } @@ -291,12 +291,29 @@ body.popup .submit-row { color: #fff; } +.submit-row a.closelink { + display: inline-block; + background: #bbbbbb; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + margin: 0 0 0 5px; + color: #fff; +} + .submit-row a.deletelink:focus, .submit-row a.deletelink:hover, .submit-row a.deletelink:active { background: #a41515; } +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: #aaaaaa; +} + /* CUSTOM FORM FIELDS */ .vSelectMultipleField { diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/responsive.css b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/responsive.css index 7460304..05fd2c5 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/responsive.css +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/responsive.css @@ -207,13 +207,13 @@ input[type="submit"], button { min-height: 0; } - fieldset .field-box { + fieldset .fieldBox { float: none; margin: 0 -10px; padding: 0 10px; } - fieldset .field-box + .field-box { + fieldset .fieldBox + .fieldBox { margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; @@ -572,7 +572,7 @@ input[type="submit"], button { width: auto; } - fieldset .field-box + .field-box { + fieldset .fieldBox + .fieldBox { margin-top: 15px; padding-top: 15px; } @@ -810,12 +810,16 @@ input[type="submit"], button { width: 100%; } - .submit-row input, .submit-row input.default, .submit-row a { + .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { float: none; margin: 0 0 10px; text-align: center; } + .submit-row a.closelink { + padding: 10px 0; + } + .submit-row p.deletelink-box { order: 4; } diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/rtl.css b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/rtl.css index ef39781..d998e7c 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/rtl.css +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/css/rtl.css @@ -35,7 +35,7 @@ th { margin-right: 1.5em; } -.addlink, .changelink { +.viewlink, .addlink, .changelink { padding-left: 0; padding-right: 16px; background-position: 100% 1px; @@ -180,7 +180,7 @@ input[type=submit].default, .submit-row input.default { float: left; } -fieldset .field-box { +fieldset .fieldBox { float: right; margin-left: 20px; margin-right: 0; diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ + + + diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js index 52471d9..b6bcda0 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js @@ -164,8 +164,8 @@ Requires jQuery, core.js, and SelectBox.js. if (!is_stacked) { // In horizontal mode, give the same height to the two boxes. - var j_from_box = $(from_box); - var j_to_box = $(to_box); + var j_from_box = $('#' + field_id + '_from'); + var j_to_box = $('#' + field_id + '_to'); var resize_filters = function() { j_to_box.height($(filter_p).outerHeight() + j_from_box.outerHeight()); }; if (j_from_box.outerHeight() > 0) { resize_filters(); // This fieldset is already open. Resize now. diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.js index 0f435ab..524616f 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.js @@ -71,16 +71,16 @@ showClear(); } }); - $(options.allToggle).show().click(function() { + $(options.allToggle).show().on('click', function() { checker($(this).prop("checked")); updateCounter(); }); - $("a", options.acrossQuestions).click(function(event) { + $("a", options.acrossQuestions).on('click', function(event) { event.preventDefault(); $(options.acrossInput).val(1); showClear(); }); - $("a", options.acrossClears).click(function(event) { + $("a", options.acrossClears).on('click', function(event) { event.preventDefault(); $(options.allToggle).prop("checked", false); clearAcross(); @@ -88,7 +88,7 @@ updateCounter(); }); lastChecked = null; - $(actionCheckboxes).click(function(event) { + $(actionCheckboxes).on('click', function(event) { if (!event) { event = window.event; } var target = event.target ? event.target : event.srcElement; if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) { @@ -112,12 +112,12 @@ $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() { list_editable_changed = true; }); - $('form#changelist-form button[name="index"]').click(function(event) { + $('form#changelist-form button[name="index"]').on('click', function(event) { if (list_editable_changed) { return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); } }); - $('form#changelist-form input[name="_save"]').click(function(event) { + $('form#changelist-form input[name="_save"]').on('click', function(event) { var action_changed = false; $('select option:selected', options.actionContainer).each(function() { if ($(this).val()) { diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.min.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.min.js index 1b771fb..31e83c1 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.min.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/actions.min.js @@ -1,6 +1,7 @@ (function(a){var f;a.fn.actions=function(e){var b=a.extend({},a.fn.actions.defaults,e),g=a(this),k=!1,l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},p=function(){n(); -a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(g).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){var c=a(g).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){var a;c===g.length?(a=!0,l()):(a=!1,p());return a})};a(b.counterContainer).show(); -a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().click(function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).click(function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).click(function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});f=null;a(g).click(function(c){c||(c=window.event);var d=c.target?c.target:c.srcElement;if(f&& -a.data(f)!==a.data(d)&&!0===c.shiftKey){var e=!1;a(f).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(g).each(function(){if(a.data(this)===a.data(f)||a.data(this)===a.data(d))e=e?!1:!0;e&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);f=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",function(){k=!0});a('form#changelist-form button[name="index"]').click(function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))}); -a('form#changelist-form input[name="_save"]').click(function(c){var d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")):confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})}; -a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){var e=a("tr input.action-select");0'+gettext("Show")+")")});a("fieldset.collapse a.collapse-toggle").click(function(c){a(this).closest("fieldset").hasClass("collapsed")?a(this).text(gettext("Hide")).closest("fieldset").removeClass("collapsed").trigger("show.fieldset",[a(this).attr("id")]):a(this).text(gettext("Show")).closest("fieldset").addClass("collapsed").trigger("hide.fieldset", -[a(this).attr("id")]);return!1})})})(django.jQuery); +$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3"); +(function(a){a(document).ready(function(){a("fieldset.collapse").each(function(c,b){0===a(b).find("div.errors").length&&a(b).addClass("collapsed").find("h2").first().append(' ('+gettext("Show")+")")});a("fieldset.collapse a.collapse-toggle").on("click",function(c){a(this).closest("fieldset").hasClass("collapsed")?a(this).text(gettext("Hide")).closest("fieldset").removeClass("collapsed").trigger("show.fieldset",[a(this).attr("id")]): +a(this).text(gettext("Show")).closest("fieldset").addClass("collapsed").trigger("hide.fieldset",[a(this).attr("id")]);return!1})})})(django.jQuery); diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.js index c8eb997..5916e86 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.js @@ -58,7 +58,7 @@ addButton = $this.filter(":last").next().find("a"); } } - addButton.click(function(e) { + addButton.on('click', function(e) { e.preventDefault(); var template = $("#" + options.prefix + "-empty"); var row = template.clone(true); @@ -91,7 +91,7 @@ addButton.parent().hide(); } // The delete button of each row triggers a bunch of other things - row.find("a." + options.deleteCssClass).click(function(e1) { + row.find("a." + options.deleteCssClass).on('click', function(e1) { e1.preventDefault(); // Remove the parent form containing this button: row.remove(); @@ -145,10 +145,10 @@ // Tabular inlines --------------------------------------------------------- - $.fn.tabularFormset = function(options) { + $.fn.tabularFormset = function(selector, options) { var $rows = $(this); var alternatingRows = function(row) { - $($rows.selector).not(".add-row").removeClass("row1 row2") + $(selector).not(".add-row").removeClass("row1 row2") .filter(":even").addClass("row1").end() .filter(":odd").addClass("row2"); }; @@ -212,10 +212,10 @@ }; // Stacked inlines --------------------------------------------------------- - $.fn.stackedFormset = function(options) { + $.fn.stackedFormset = function(selector, options) { var $rows = $(this); var updateInlineLabel = function(row) { - $($rows.selector).find(".inline_label").each(function(i) { + $(selector).find(".inline_label").each(function(i) { var count = i + 1; $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); }); @@ -281,13 +281,16 @@ $(document).ready(function() { $(".js-inline-admin-formset").each(function() { var data = $(this).data(), - inlineOptions = data.inlineFormset; + inlineOptions = data.inlineFormset, + selector; switch(data.inlineType) { case "stacked": - $(inlineOptions.name + "-group .inline-related").stackedFormset(inlineOptions.options); + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); break; case "tabular": - $(inlineOptions.name + "-group .tabular.inline-related tbody:first > tr").tabularFormset(inlineOptions.options); + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr"; + $(selector).tabularFormset(selector, inlineOptions.options); break; } }); diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.min.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.min.js index 3f50ab9..65af8eb 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.min.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/inlines.min.js @@ -1,13 +1,13 @@ -var $jscomp={scope:{},findInternal:function(b,c,a){b instanceof String&&(b=String(b));for(var d=b.length,e=0;e'+a.addText+""),k=c.find("tr:last a")):(d.filter(":last").after('"),k=d.filter(":last").next().find("a")));k.click(function(c){c.preventDefault();c=b("#"+a.prefix+"-empty"); -var d=c.clone(!0);d.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+l);d.is("tr")?d.children(":last").append('"):d.is("ul")||d.is("ol")?d.append('
  1. '+a.deleteText+"
  2. "):d.children(":first").append(''+a.deleteText+"");d.find("*").each(function(){e(this,a.prefix,f.val())});d.insertBefore(b(c)); -b(f).val(parseInt(f.val(),10)+1);l+=1;""!==h.val()&&0>=h.val()-f.val()&&k.parent().hide();d.find("a."+a.deleteCssClass).click(function(c){c.preventDefault();d.remove();--l;a.removed&&a.removed(d);b(document).trigger("formset:removed",[d,a.prefix]);c=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(c.length);(""===h.val()||0 tr").tabularFormset(a.options)}})})})(django.jQuery); +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,d,a){b instanceof String&&(b=String(b));for(var c=b.length,f=0;f'+a.addText+""),l=d.find("tr:last a")):(c.filter(":last").after('"),l=c.filter(":last").next().find("a")));l.on("click",function(d){d.preventDefault();d=b("#"+a.prefix+"-empty"); +var c=d.clone(!0);c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+h);c.is("tr")?c.children(":last").append('"):c.is("ul")||c.is("ol")?c.append('
  3. '+a.deleteText+"
  4. "):c.children(":first").append(''+a.deleteText+"");c.find("*").each(function(){f(this,a.prefix,g.val())});c.insertBefore(b(d)); +b(g).val(parseInt(g.val(),10)+1);h+=1;""!==e.val()&&0>=e.val()-g.val()&&l.parent().hide();c.find("a."+a.deleteCssClass).on("click",function(d){d.preventDefault();c.remove();--h;a.removed&&a.removed(c);b(document).trigger("formset:removed",[c,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===e.val()||0 tr",b(d).tabularFormset(d,a.options)}})})})(django.jQuery); diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.js index 5d4b0e8..bef45a3 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.js @@ -30,12 +30,12 @@ }; prepopulatedField.data('_changed', false); - prepopulatedField.change(function() { + prepopulatedField.on('change', function() { prepopulatedField.data('_changed', true); }); if (!prepopulatedField.val()) { - $(dependencies.join(',')).keyup(populate).change(populate).focus(populate); + $(dependencies.join(',')).on('keyup change focus', populate); } }); }; diff --git a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js index 75f3c17..43c1b79 100644 --- a/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js +++ b/thesisenv/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js @@ -1 +1 @@ -(function(c){c.fn.prepopulate=function(e,f,g){return this.each(function(){var a=c(this),b=function(){if(!a.data("_changed")){var b=[];c.each(e,function(a,d){d=c(d);0 elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + var - version = "2.2.3", + version = "3.3.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -75,18 +139,9 @@ var return new jQuery.fn.init( selector, context ); }, - // Support: Android<4.1 + // Support: Android <=4.0 only // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; jQuery.fn = jQuery.prototype = { @@ -95,9 +150,6 @@ jQuery.fn = jQuery.prototype = { constructor: jQuery, - // Start with an empty selector - selector: "", - // The default length of a jQuery object is 0 length: 0, @@ -108,13 +160,14 @@ jQuery.fn = jQuery.prototype = { // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { - return num != null ? - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } - // Return all the elements in a clean array - slice.call( this ); + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack @@ -126,7 +179,6 @@ jQuery.fn = jQuery.prototype = { // Add the old object onto the stack (as a reference) ret.prevObject = this; - ret.context = this.context; // Return the newly-formed element set return ret; @@ -189,7 +241,7 @@ jQuery.extend = jQuery.fn.extend = function() { } // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + if ( typeof target !== "object" && !isFunction( target ) ) { target = {}; } @@ -216,11 +268,11 @@ jQuery.extend = jQuery.fn.extend = function() { // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + ( copyIsArray = Array.isArray( copy ) ) ) ) { if ( copyIsArray ) { copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; + clone = src && Array.isArray( src ) ? src : []; } else { clone = src && jQuery.isPlainObject( src ) ? src : {}; @@ -255,105 +307,42 @@ jQuery.extend( { noop: function() {}, - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - var realStringObj = obj && obj.toString(); - return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; - }, - isPlainObject: function( obj ) { - var key; + var proto, Ctor; - // Not plain objects: - // - Any object or value whose internal [[Class]] property is not "[object Object]" - // - DOM nodes - // - window - if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { return false; } - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call( obj, "constructor" ) && - !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { - return false; + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; } - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; }, isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 var name; + for ( name in obj ) { return false; } return true; }, - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android<4.0, iOS<6 (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - // Evaluates a script in a global context globalEval: function( code ) { - var script, - indirect = eval; - - code = jQuery.trim( code ); - - if ( code ) { - - // If the code includes a valid, prologue position - // strict mode pragma, execute code by injecting a - // script tag into the document. - if ( code.indexOf( "use strict" ) === 1 ) { - script = document.createElement( "script" ); - script.text = code; - document.head.appendChild( script ).parentNode.removeChild( script ); - } else { - - // Otherwise, avoid the DOM node creation, insertion - // and removal by using an indirect global eval - - indirect( code ); - } - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE9-11+ - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + DOMEval( code ); }, each: function( obj, callback ) { @@ -377,7 +366,7 @@ jQuery.extend( { return obj; }, - // Support: Android<4.1 + // Support: Android <=4.0 only trim: function( text ) { return text == null ? "" : @@ -406,6 +395,8 @@ jQuery.extend( { return arr == null ? -1 : indexOf.call( arr, elem, i ); }, + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit merge: function( first, second ) { var len = +second.length, j = 0, @@ -474,51 +465,14 @@ jQuery.extend( { // A global GUID counter for objects guid: 1, - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support } ); -// JSHint would error on this code due to the Symbol not being defined in ES5. -// Defining this global in .jshintrc would create a danger of using the global -// unguarded in another place, it seems safer to just disable JSHint for these -// three lines. -/* jshint ignore: start */ if ( typeof Symbol === "function" ) { jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; } -/* jshint ignore: end */ // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), @@ -528,14 +482,14 @@ function( i, name ) { function isArrayLike( obj ) { - // Support: iOS 8.2 (not reproducible in simulator) + // Support: real iOS 8.2 only (not reproducible in simulator) // `in` check used to prevent JIT error (gh-2145) // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); + type = toType( obj ); - if ( type === "function" || jQuery.isWindow( obj ) ) { + if ( isFunction( obj ) || isWindow( obj ) ) { return false; } @@ -544,14 +498,14 @@ function isArrayLike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v2.2.1 - * http://sizzlejs.com/ + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2015-10-17 + * Date: 2016-08-08 */ (function( window ) { @@ -592,9 +546,6 @@ var i, return 0; }, - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - // Instance methods hasOwn = ({}).hasOwnProperty, arr = [], @@ -603,7 +554,7 @@ var i, push = arr.push, slice = arr.slice, // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 + // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; @@ -623,7 +574,7 @@ var i, whitespace = "[\\x20\\t\\r\\n\\f]", // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + @@ -680,9 +631,9 @@ var i, rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, - rescape = /'|\\/g, - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), funescape = function( _, escaped, escapedWhitespace ) { var high = "0x" + escaped - 0x10000; @@ -698,13 +649,39 @@ var i, String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + // Used for iframes // See setDocument() // Removing the function wrapper causes a "Permission Denied" // error in IE unloadHandler = function() { setDocument(); - }; + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); // Optimize for push.apply( _, NodeList ) try { @@ -736,7 +713,7 @@ try { } function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, nidselect, match, groups, newSelector, + var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, // nodeType defaults to 9, since context defaults to document @@ -829,7 +806,7 @@ function Sizzle( selector, context, results, seed ) { // Capture the context ID, setting it first if necessary if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rescape, "\\$&" ); + nid = nid.replace( rcssescape, fcssescape ); } else { context.setAttribute( "id", (nid = expando) ); } @@ -837,9 +814,8 @@ function Sizzle( selector, context, results, seed ) { // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; - nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; while ( i-- ) { - groups[i] = nidselect + " " + toSelector( groups[i] ); + groups[i] = "#" + nid + " " + toSelector( groups[i] ); } newSelector = groups.join( "," ); @@ -900,22 +876,22 @@ function markFunction( fn ) { /** * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result + * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { - var div = document.createElement("div"); + var el = document.createElement("fieldset"); try { - return !!fn( div ); + return !!fn( el ); } catch (e) { return false; } finally { // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); + if ( el.parentNode ) { + el.parentNode.removeChild( el ); } // release memory in IE - div = null; + el = null; } } @@ -942,8 +918,7 @@ function addHandle( attrs, handler ) { function siblingCheck( a, b ) { var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); + a.sourceIndex - b.sourceIndex; // Use IE sourceIndex if available on both nodes if ( diff ) { @@ -984,6 +959,62 @@ function createButtonPseudo( type ) { }; } +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + /** * Returns a function to use in pseudos for positionals * @param {Function} fn @@ -1036,7 +1067,7 @@ isXML = Sizzle.isXML = function( elem ) { * @returns {Object} Returns the current document */ setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, + var hasCompare, subWindow, doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected @@ -1051,14 +1082,16 @@ setDocument = Sizzle.setDocument = function( node ) { // Support: IE 9-11, Edge // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( (parent = document.defaultView) && parent.top !== parent ) { - // Support: IE 11 - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); // Support: IE 9 - 10 only - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); } } @@ -1068,18 +1101,18 @@ setDocument = Sizzle.setDocument = function( node ) { // Support: IE<8 // Verify that getAttribute really returns attributes and not properties // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); }); /* getElement(s)By* ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( document.createComment("") ); - return !div.getElementsByTagName("*").length; + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; }); // Support: IE<9 @@ -1087,32 +1120,28 @@ setDocument = Sizzle.setDocument = function( node ) { // Support: IE<10 // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, + // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; return !document.getElementsByName || !document.getElementsByName( expando ).length; }); - // ID find and filter + // ID filter and find if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - return m ? [ m ] : []; - } - }; Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { return elem.getAttribute("id") === attrId; }; }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { @@ -1121,6 +1150,36 @@ setDocument = Sizzle.setDocument = function( node ) { return node && node.value === attrId; }; }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; } // Tag @@ -1174,77 +1233,87 @@ setDocument = Sizzle.setDocument = function( node ) { // We allow this because of a bug in IE8/9 that throws an error // whenever `document.activeElement` is accessed on an iframe // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 + // See https://bugs.jquery.com/ticket/13378 rbuggyQSA = []; if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { // Build QSA regex // Regex strategy adopted from Diego Perini - assert(function( div ) { + assert(function( el ) { // Select is set to empty string on purpose // This is to test IE's treatment of not explicitly // setting a boolean content attribute, // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "" + + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + ""; // Support: IE8, Opera 11-12.16 // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } // Support: IE8 // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { + if ( !el.querySelectorAll("[selected]").length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { rbuggyQSA.push("~="); } // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { + if ( !el.querySelectorAll(":checked").length ) { rbuggyQSA.push(":checked"); } // Support: Safari 8+, iOS 8+ // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { rbuggyQSA.push(".#.+[+~]"); } }); - assert(function( div ) { + assert(function( el ) { + el.innerHTML = "" + + ""; + // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment var input = document.createElement("input"); input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); + el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE8 // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { + if ( el.querySelectorAll("[name=d]").length ) { rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); + el.querySelectorAll("*,:x"); rbuggyQSA.push(",.*:"); }); } @@ -1255,14 +1324,14 @@ setDocument = Sizzle.setDocument = function( node ) { docElem.oMatchesSelector || docElem.msMatchesSelector) )) ) { - assert(function( div ) { + assert(function( el ) { // Check to see if it's possible to do matchesSelector // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); + support.disconnectedMatch = matches.call( el, "*" ); // This should fail with an exception // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); + matches.call( el, "[s!='']:x" ); rbuggyMatches.push( "!=", pseudos ); }); } @@ -1464,6 +1533,10 @@ Sizzle.attr = function( elem, name ) { null; }; +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + Sizzle.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; @@ -1931,13 +2004,8 @@ Expr = Sizzle.selectors = { }, // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), "checked": function( elem ) { // In CSS3, :checked should return both checked and selected elements @@ -2139,7 +2207,9 @@ function toSelector( tokens ) { function addCombinator( matcher, combinator, base ) { var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", doneName = done++; return combinator.first ? @@ -2150,6 +2220,7 @@ function addCombinator( matcher, combinator, base ) { return matcher( elem, context, xml ); } } + return false; } : // Check against all ancestor/preceding elements @@ -2175,14 +2246,16 @@ function addCombinator( matcher, combinator, base ) { // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); - if ( (oldCache = uniqueCache[ dir ]) && + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements return (newCache[ 2 ] = oldCache[ 2 ]); } else { // Reuse newcache so results back-propagate to previous elements - uniqueCache[ dir ] = newCache; + uniqueCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { @@ -2192,6 +2265,7 @@ function addCombinator( matcher, combinator, base ) { } } } + return false; }; } @@ -2554,8 +2628,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Reduce context if the leading compound selector is an ID tokens = match[0] = match[0].slice( 0 ); if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; if ( !context ) { @@ -2625,17 +2698,17 @@ setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) // Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { +support.sortDetached = assert(function( el ) { // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; }); // Support: IE<8 // Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; }) ) { addHandle( "type|href|height|width", function( elem, name, isXML ) { if ( !isXML ) { @@ -2646,10 +2719,10 @@ if ( !assert(function( div ) { // Support: IE<9 // Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; }) ) { addHandle( "value", function( elem, name, isXML ) { if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { @@ -2660,8 +2733,8 @@ if ( !support.attributes || !assert(function( div ) { // Support: IE<9 // Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; }) ) { addHandle( booleans, function( elem, name, isXML ) { var val; @@ -2682,11 +2755,15 @@ return Sizzle; jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; + +// Deprecated jQuery.expr[ ":" ] = jQuery.expr.pseudos; jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + @@ -2721,40 +2798,41 @@ var siblings = function( n, elem ) { var rneedsContext = jQuery.expr.match.needsContext; -var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + -var risSimple = /^.[^:#\[\.,]*$/; // Implement the identical functionality for filter and not function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { + if ( isFunction( qualifier ) ) { return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ return !!qualifier.call( elem, i, elem ) !== not; } ); - } + // Single element if ( qualifier.nodeType ) { return jQuery.grep( elements, function( elem ) { return ( elem === qualifier ) !== not; } ); - } - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); } - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); } jQuery.filter = function( expr, elems, not ) { @@ -2764,18 +2842,19 @@ jQuery.filter = function( expr, elems, not ) { expr = ":not(" + expr + ")"; } - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); }; jQuery.fn.extend( { find: function( selector ) { - var i, + var i, ret, len = this.length, - ret = [], self = this; if ( typeof selector !== "string" ) { @@ -2788,14 +2867,13 @@ jQuery.fn.extend( { } ) ); } + ret = this.pushStack( [] ); + for ( i = 0; i < len; i++ ) { jQuery.find( selector, self[ i ], ret ); } - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; + return len > 1 ? jQuery.uniqueSort( ret ) : ret; }, filter: function( selector ) { return this.pushStack( winnow( this, selector || [], false ) ); @@ -2827,7 +2905,8 @@ var rootjQuery, // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, init = jQuery.fn.init = function( selector, context, root ) { var match, elem; @@ -2874,7 +2953,7 @@ var rootjQuery, for ( match in context ) { // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { + if ( isFunction( this[ match ] ) ) { this[ match ]( context[ match ] ); // ...and otherwise set as attributes @@ -2890,17 +2969,12 @@ var rootjQuery, } else { elem = document.getElementById( match[ 2 ] ); - // Support: Blackberry 4.6 - // gEBID returns nodes no longer in the document (#6963) - if ( elem && elem.parentNode ) { + if ( elem ) { // Inject the element directly into the jQuery object - this.length = 1; this[ 0 ] = elem; + this.length = 1; } - - this.context = document; - this.selector = selector; return this; } @@ -2916,13 +2990,13 @@ var rootjQuery, // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { - this.context = this[ 0 ] = selector; + this[ 0 ] = selector; this.length = 1; return this; // HANDLE: $(function) // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { + } else if ( isFunction( selector ) ) { return root.ready !== undefined ? root.ready( selector ) : @@ -2930,11 +3004,6 @@ var rootjQuery, selector( jQuery ); } - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - return jQuery.makeArray( selector, this ); }; @@ -2975,23 +3044,24 @@ jQuery.fn.extend( { i = 0, l = this.length, matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; + targets = typeof selectors !== "string" && jQuery( selectors ); - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && ( pos ? - pos.index( cur ) > -1 : + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { - matched.push( cur ); - break; + matched.push( cur ); + break; + } } } } @@ -3076,7 +3146,18 @@ jQuery.each( { return siblings( elem.firstChild ); }, contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { @@ -3106,14 +3187,14 @@ jQuery.each( { return this.pushStack( matched ); }; } ); -var rnotwhite = ( /\S+/g ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); // Convert String-formatted options into Object-formatted ones function createOptions( options ) { var object = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { object[ flag ] = true; } ); return object; @@ -3174,7 +3255,7 @@ jQuery.Callbacks = function( options ) { fire = function() { // Enforce single-firing - locked = options.once; + locked = locked || options.once; // Execute callbacks for all pending executions, // respecting firingIndex overrides and runtime changes @@ -3230,11 +3311,11 @@ jQuery.Callbacks = function( options ) { ( function add( args ) { jQuery.each( args, function( _, arg ) { - if ( jQuery.isFunction( arg ) ) { + if ( isFunction( arg ) ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } - } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + } else if ( arg && arg.length && toType( arg ) !== "string" ) { // Inspect recursively add( arg ); @@ -3298,7 +3379,7 @@ jQuery.Callbacks = function( options ) { // Abort any pending executions lock: function() { locked = queue = []; - if ( !memory ) { + if ( !memory && !firing ) { list = memory = ""; } return this; @@ -3336,15 +3417,59 @@ jQuery.Callbacks = function( options ) { }; +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + jQuery.extend( { Deferred: function( func ) { var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], - [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] ], state = "pending", promise = { @@ -3355,23 +3480,33 @@ jQuery.extend( { deferred.done( arguments ).fail( arguments ); return this; }, - then: function( /* fnDone, fnFail, fnProgress */ ) { + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; + return jQuery.Deferred( function( newDefer ) { jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) deferred[ tuple[ 1 ] ]( function() { var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { + if ( returned && isFunction( returned.promise ) ) { returned.promise() .progress( newDefer.notify ) .done( newDefer.resolve ) .fail( newDefer.reject ); } else { newDefer[ tuple[ 0 ] + "With" ]( - this === promise ? newDefer.promise() : this, + this, fn ? [ returned ] : arguments ); } @@ -3380,6 +3515,170 @@ jQuery.extend( { fns = null; } ).promise(); }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object @@ -3389,33 +3688,58 @@ jQuery.extend( { }, deferred = {}; - // Keep pipe for back-compat - promise.pipe = promise.then; - // Add list-specific methods jQuery.each( tuples, function( i, tuple ) { var list = tuple[ 2 ], - stateString = tuple[ 3 ]; + stateString = tuple[ 5 ]; - // promise[ done | fail | progress ] = list.add + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add promise[ tuple[ 1 ] ] = list.add; // Handle state if ( stateString ) { - list.add( function() { + list.add( + function() { - // state = [ resolved | rejected ] - state = stateString; + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); } - // deferred[ resolve | reject | notify ] + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); return this; }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith deferred[ tuple[ 0 ] + "With" ] = list.fireWith; } ); @@ -3432,68 +3756,95 @@ jQuery.extend( { }, // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), resolveValues = slice.call( arguments ), - length = resolveValues.length, - // the count of uncompleted subordinates - remaining = length !== 1 || - ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + // the master Deferred + master = jQuery.Deferred(), - // the master Deferred. - // If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { + // subordinate callback factory + updateFunc = function( i ) { return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); } }; - }, + }; - progressValues, progressContexts, resolveContexts; + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); - // Add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .progress( updateFunc( i, progressContexts, progressValues ) ) - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ); - } else { - --remaining; - } + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); } } - // If we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); } - return deferred.promise(); + return master.promise(); } } ); +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + // The deferred used on DOM ready -var readyList; +var readyList = jQuery.Deferred(); jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); return this; }; @@ -3507,15 +3858,6 @@ jQuery.extend( { // the ready event fires. See #6781 readyWait: 1, - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - // Handle when the DOM is ready ready: function( wait ) { @@ -3534,53 +3876,36 @@ jQuery.extend( { // If there are functions bound, to execute readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } } } ); -/** - * The ready event handler and self cleanup method - */ +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method function completed() { document.removeEventListener( "DOMContentLoaded", completed ); window.removeEventListener( "load", completed ); jQuery.ready(); } -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - readyList = jQuery.Deferred(); + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); - // Catch cases where $(document).ready() is called - // after the browser event has already occurred. - // Support: IE9-10 only - // Older IE sometimes signals "interactive" too soon - if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { +} else { - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); - } else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} @@ -3593,7 +3918,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { bulk = key == null; // Sets many values - if ( jQuery.type( key ) === "object" ) { + if ( toType( key ) === "object" ) { chainable = true; for ( i in key ) { access( elems, fn, i, key[ i ], true, emptyGet, raw ); @@ -3603,7 +3928,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { } else if ( value !== undefined ) { chainable = true; - if ( !jQuery.isFunction( value ) ) { + if ( !isFunction( value ) ) { raw = true; } @@ -3634,14 +3959,34 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { } } - return chainable ? - elems : + if ( chainable ) { + return elems; + } - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[ 0 ], key ) : emptyGet; + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; }; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} var acceptData = function( owner ) { // Accepts only: @@ -3650,7 +3995,6 @@ var acceptData = function( owner ) { // - Node.DOCUMENT_NODE // - Object // - Any - /* jshint -W018 */ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }; @@ -3665,35 +4009,8 @@ Data.uid = 1; Data.prototype = { - register: function( owner, initial ) { - var value = initial || {}; - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable, non-writable property - // configurability must be true to allow the property to be - // deleted with the delete operator - } else { - Object.defineProperty( owner, this.expando, { - value: value, - writable: true, - configurable: true - } ); - } - return owner[ this.expando ]; - }, cache: function( owner ) { - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( !acceptData( owner ) ) { - return {}; - } - // Check if the owner object already has a cache var value = owner[ this.expando ]; @@ -3730,15 +4047,16 @@ Data.prototype = { cache = this.cache( owner ); // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) if ( typeof data === "string" ) { - cache[ data ] = value; + cache[ camelCase( data ) ] = value; // Handle: [ owner, { properties } ] args } else { // Copy the properties one-by-one to the cache object for ( prop in data ) { - cache[ prop ] = data[ prop ]; + cache[ camelCase( prop ) ] = data[ prop ]; } } return cache; @@ -3746,10 +4064,11 @@ Data.prototype = { get: function( owner, key ) { return key === undefined ? this.cache( owner ) : - owner[ this.expando ] && owner[ this.expando ][ key ]; + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; }, access: function( owner, key, value ) { - var stored; // In cases where either: // @@ -3765,10 +4084,7 @@ Data.prototype = { if ( key === undefined || ( ( key && typeof key === "string" ) && value === undefined ) ) { - stored = this.get( owner, key ); - - return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase( key ) ); + return this.get( owner, key ); } // When the key is not a string, or both a key and value @@ -3784,58 +4100,45 @@ Data.prototype = { return value !== undefined ? value : key; }, remove: function( owner, key ) { - var i, name, camel, + var i, cache = owner[ this.expando ]; if ( cache === undefined ) { return; } - if ( key === undefined ) { - this.register( owner ); - - } else { + if ( key !== undefined ) { // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { + if ( Array.isArray( key ) ) { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = key.concat( key.map( jQuery.camelCase ) ); + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); } else { - camel = jQuery.camelCase( key ); + key = camelCase( key ); - // Try the string as a key before any manipulation - if ( key in cache ) { - name = [ key, camel ]; - } else { - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - name = camel; - name = name in cache ? - [ name ] : ( name.match( rnotwhite ) || [] ); - } + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); } - i = name.length; + i = key.length; while ( i-- ) { - delete cache[ name[ i ] ]; + delete cache[ key[ i ] ]; } } // Remove the expando if there's no more data if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - // Support: Chrome <= 35-45+ + // Support: Chrome <=35 - 45 // Webkit & Blink performance suffers when deleting properties // from DOM nodes, so set to undefined instead - // https://code.google.com/p/chromium/issues/detail?id=378607 + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) if ( owner.nodeType ) { owner[ this.expando ] = undefined; } else { @@ -3867,6 +4170,31 @@ var dataUser = new Data(); var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /[A-Z]/g; +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + function dataAttr( elem, key, data ) { var name; @@ -3878,14 +4206,7 @@ function dataAttr( elem, key, data ) { if ( typeof data === "string" ) { try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; + data = getData( data ); } catch ( e ) {} // Make sure we set the data so it isn't changed later @@ -3936,12 +4257,12 @@ jQuery.fn.extend( { i = attrs.length; while ( i-- ) { - // Support: IE11+ + // Support: IE 11 only // The attrs elements can be null (#14894) if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice( 5 ) ); + name = camelCase( name.slice( 5 ) ); dataAttr( elem, name, data[ name ] ); } } @@ -3961,7 +4282,7 @@ jQuery.fn.extend( { } return access( this, function( value ) { - var data, camelKey; + var data; // The calling jQuery object (element matches) is not empty // (and therefore has an element appears at this[ 0 ]) and the @@ -3971,29 +4292,15 @@ jQuery.fn.extend( { if ( elem && value === undefined ) { // Attempt to get data from the cache - // with the key as-is - data = dataUser.get( elem, key ) || - - // Try to find dashed key if it exists (gh-2779) - // This is for 2.2.x only - dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); - - if ( data !== undefined ) { - return data; - } - - camelKey = jQuery.camelCase( key ); - - // Attempt to get data from the cache - // with the key camelized - data = dataUser.get( elem, camelKey ); + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); if ( data !== undefined ) { return data; } // Attempt to "discover" the data in // HTML5 custom data-* attrs - data = dataAttr( elem, camelKey, undefined ); + data = dataAttr( elem, key ); if ( data !== undefined ) { return data; } @@ -4003,24 +4310,10 @@ jQuery.fn.extend( { } // Set the data... - camelKey = jQuery.camelCase( key ); this.each( function() { - // First, attempt to store a copy or reference of any - // data that might've been store with a camelCased key. - var data = dataUser.get( this, camelKey ); - - // For HTML5 data-* attribute interop, we have to - // store property names with dashes in a camelCase form. - // This might not apply to all properties...* - dataUser.set( this, camelKey, value ); - - // *... In the case of properties that might _actually_ - // have dashes, we need to also store a copy of that - // unchanged property. - if ( key.indexOf( "-" ) > -1 && data !== undefined ) { - dataUser.set( this, key, value ); - } + // We always store the camelCased key + dataUser.set( this, key, value ); } ); }, null, value, arguments.length > 1, null, true ); }, @@ -4043,7 +4336,7 @@ jQuery.extend( { // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { + if ( !queue || Array.isArray( data ) ) { queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); } else { queue.push( data ); @@ -4173,24 +4466,58 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; -var isHidden = function( elem, el ) { +var isHiddenWithinTree = function( elem, el ) { - // isHidden might be called from jQuery#filter function; + // isHiddenWithinTree might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || - !jQuery.contains( elem.ownerDocument, elem ); + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; }; +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, - scale = 1, + var adjusted, scale, maxIterations = 20, currentValue = tween ? - function() { return tween.cur(); } : - function() { return jQuery.css( elem, prop, "" ); }, + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, initial = currentValue(), unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), @@ -4200,30 +4527,33 @@ function adjustCSS( elem, prop, valueParts, tween ) { if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + // Trust units reported by jQuery.css unit = unit || initialInUnit[ 3 ]; - // Make sure we update the tween properties later on - valueParts = valueParts || []; - // Iteratively approximate from a nonzero starting point initialInUnit = +initial || 1; - do { + while ( maxIterations-- ) { - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - initialInUnit = initialInUnit / scale; + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; - // Update scale, tolerating zero or NaN from tween.cur() - // Break the loop if scale is unchanged or perfect, or if we've just had enough. - } while ( - scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations - ); + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; } if ( valueParts ) { @@ -4241,18 +4571,114 @@ function adjustCSS( elem, prop, valueParts, tween ) { } return adjusted; } + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); var rcheckableType = ( /^(?:checkbox|radio)$/i ); -var rtagName = ( /<([\w:-]+)/ ); +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); -var rscriptType = ( /^$|\/(?:java|ecma)script/i ); +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); // We have to close these tags to support XHTML (#13200) var wrapMap = { - // Support: IE9 + // Support: IE <=9 only option: [ 1, "" ], // XHTML parsers do not magically insert elements in the @@ -4266,7 +4692,7 @@ var wrapMap = { _default: [ 0, "", "" ] }; -// Support: IE9 +// Support: IE <=9 only wrapMap.optgroup = wrapMap.option; wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; @@ -4275,17 +4701,25 @@ wrapMap.th = wrapMap.td; function getAll( context, tag ) { - // Support: IE9-11+ + // Support: IE <=9 - 11 only // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - context.querySelectorAll( tag || "*" ) : - []; + var ret; - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; } @@ -4319,9 +4753,9 @@ function buildFragment( elems, context, scripts, selection, ignored ) { if ( elem || elem === 0 ) { // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { + if ( toType( elem ) === "object" ) { - // Support: Android<4.1, PhantomJS<2 + // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); @@ -4344,7 +4778,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { tmp = tmp.lastChild; } - // Support: Android<4.1, PhantomJS<2 + // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, tmp.childNodes ); @@ -4401,7 +4835,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { div = fragment.appendChild( document.createElement( "div" ) ), input = document.createElement( "input" ); - // Support: Android 4.0-4.3, Safari<=5.1 + // Support: Android 4.0 - 4.3 only // Check state lost if the name is set (#11217) // Support: Windows Web Apps (WWA) // `name` and `type` must use .setAttribute for WWA (#14901) @@ -4411,15 +4845,17 @@ function buildFragment( elems, context, scripts, selection, ignored ) { div.appendChild( input ); - // Support: Safari<=5.1, Android<4.2 + // Support: Android <=4.1 only // Older WebKit doesn't clone checked state correctly in fragments support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - // Support: IE<=11+ + // Support: IE <=11 only // Make sure textarea (and checkbox) defaultValue is properly cloned div.innerHTML = ""; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; } )(); +var documentElement = document.documentElement; + var @@ -4435,7 +4871,7 @@ function returnFalse() { return false; } -// Support: IE9 +// Support: IE <=9 only // See #13393 for more info function safeActiveElement() { try { @@ -4531,6 +4967,12 @@ jQuery.event = { selector = handleObjIn.selector; } + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + // Make sure that the handler has a unique ID, used to find/remove it later if ( !handler.guid ) { handler.guid = jQuery.guid++; @@ -4551,7 +4993,7 @@ jQuery.event = { } // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; @@ -4633,7 +5075,7 @@ jQuery.event = { } // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; @@ -4694,19 +5136,23 @@ jQuery.event = { } }, - dispatch: function( event ) { + dispatch: function( nativeEvent ) { // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); + var event = jQuery.event.fix( nativeEvent ); - var i, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired @@ -4755,146 +5201,95 @@ jQuery.event = { }, handlers: function( event, handlers ) { - var i, matches, sel, handleObj, + var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; - // Support (at least): Chrome, IE9 // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // - // Support: Firefox<=42+ - // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) - if ( delegateCount && cur.nodeType && - ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { for ( ; cur !== this; cur = cur.parentNode || this ) { // Don't check non-elements (#13208) // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { - matches = []; + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; // Don't conflict with Object.prototype properties (#13203) sel = handleObj.selector + " "; - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? jQuery( sel, this ).index( cur ) > -1 : jQuery.find( sel, this, null, [ cur ] ).length; } - if ( matches[ sel ] ) { - matches.push( handleObj ); + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); } } - if ( matches.length ) { - handlerQueue.push( { elem: cur, handlers: matches } ); + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); } } } } // Add the remaining (directly-bound) handlers + cur = this; if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); } return handlerQueue; }, - // Includes some event props shared by KeyEvent and MouseEvent - props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + - "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, - fixHooks: {}, + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, - keyHooks: { - props: "char charCode key keyCode".split( " " ), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); } - - return event; - } + } ); }, - mouseHooks: { - props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + - "screenX screenY toElement" ).split( " " ), - filter: function( event, original ) { - var eventDoc, doc, body, - button = original.button; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + - ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + - ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: Cordova 2.5 (WebKit) (#13255) - // All events should have a target; Cordova deviceready doesn't - if ( !event.target ) { - event.target = document; - } - - // Support: Safari 6.0+, Chrome<28 - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); }, special: { @@ -4927,7 +5322,7 @@ jQuery.event = { // For checkbox, fire native event so checked state will be right trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { this.click(); return false; } @@ -4935,7 +5330,7 @@ jQuery.event = { // For cross-browser consistency, don't fire native .click() on links _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); + return nodeName( event.target, "a" ); } }, @@ -4977,11 +5372,21 @@ jQuery.Event = function( src, props ) { this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && - // Support: Android<4.0 + // Support: Android <=2.3 only src.returnValue === false ? returnTrue : returnFalse; + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + // Event type } else { this.type = src; @@ -4993,26 +5398,27 @@ jQuery.Event = function( src, props ) { } // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); + this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed this[ jQuery.expando ] = true; }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { constructor: jQuery.Event, isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, + isSimulated: false, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; - if ( e ) { + if ( e && !this.isSimulated ) { e.preventDefault(); } }, @@ -5021,7 +5427,7 @@ jQuery.Event.prototype = { this.isPropagationStopped = returnTrue; - if ( e ) { + if ( e && !this.isSimulated ) { e.stopPropagation(); } }, @@ -5030,7 +5436,7 @@ jQuery.Event.prototype = { this.isImmediatePropagationStopped = returnTrue; - if ( e ) { + if ( e && !this.isSimulated ) { e.stopImmediatePropagation(); } @@ -5038,13 +5444,74 @@ jQuery.Event.prototype = { } }; +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + // Create mouseenter/leave events using mouseover/out and event-time checks // so that event delegation works in jQuery. // Do the same for pointerenter/pointerleave and pointerover/pointerout // // Support: Safari 7 only // Safari sends mouseenter too often; see: -// https://code.google.com/p/chromium/issues/detail?id=470258 +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 // for the description of the bug (it existed in older Chrome versions as well). jQuery.each( { mouseenter: "mouseover", @@ -5075,6 +5542,7 @@ jQuery.each( { } ); jQuery.fn.extend( { + on: function( types, selector, data, fn ) { return on( this, types, selector, data, fn ); }, @@ -5121,26 +5589,32 @@ jQuery.fn.extend( { var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - // Support: IE 10-11, Edge 10240+ + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ rnoInnerhtml = /\s*$/g; -// Manipulating tables requires a tbody +// Prefer a tbody over its parent table for containing new rows function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - elem.getElementsByTagName( "tbody" )[ 0 ] || - elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : - elem; + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; } // Replace/restore the type attribute of script elements for safe DOM manipulation @@ -5149,10 +5623,8 @@ function disableScript( elem ) { return elem; } function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); } else { elem.removeAttribute( "type" ); } @@ -5218,15 +5690,15 @@ function domManip( collection, args, callback, ignored ) { l = collection.length, iNoClone = l - 1, value = args[ 0 ], - isFunction = jQuery.isFunction( value ); + valueIsFunction = isFunction( value ); // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || + if ( valueIsFunction || ( l > 1 && typeof value === "string" && !support.checkClone && rchecked.test( value ) ) ) { return collection.each( function( index ) { var self = collection.eq( index ); - if ( isFunction ) { + if ( valueIsFunction ) { args[ 0 ] = value.call( this, index, self.html() ); } domManip( self, args, callback, ignored ); @@ -5258,7 +5730,7 @@ function domManip( collection, args, callback, ignored ) { // Keep references to cloned scripts for later restoration if ( hasScripts ) { - // Support: Android<4.1, PhantomJS<2 + // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( scripts, getAll( node, "script" ) ); } @@ -5280,14 +5752,14 @@ function domManip( collection, args, callback, ignored ) { !dataPriv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - if ( node.src ) { + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { // Optional AJAX dependency, but won't run scripts if not present if ( jQuery._evalUrl ) { jQuery._evalUrl( node.src ); } } else { - jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); } } } @@ -5333,7 +5805,7 @@ jQuery.extend( { if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); @@ -5386,13 +5858,13 @@ jQuery.extend( { } } - // Support: Chrome <= 35-45+ + // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataPriv.expando ] = undefined; } if ( elem[ dataUser.expando ] ) { - // Support: Chrome <= 35-45+ + // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataUser.expando ] = undefined; } @@ -5402,10 +5874,6 @@ jQuery.extend( { } ); jQuery.fn.extend( { - - // Keep domManip exposed until 3.0 (gh-2225) - domManip: domManip, - detach: function( selector ) { return remove( this, selector, true ); }, @@ -5563,86 +6031,19 @@ jQuery.each( { elems = i === last ? this : this.clone( true ); jQuery( insert[ i ] )[ original ]( elems ); - // Support: QtWebKit - // .get() because push.apply(_, arraylike) throws + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit push.apply( ret, elems.get() ); } return this.pushStack( ret ); }; } ); - - -var iframe, - elemdisplay = { - - // Support: Firefox - // We have to pre-define these values for FF (#10227) - HTML: "block", - BODY: "block" - }; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ - -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - display = jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = ( iframe || jQuery( "