@@ -16,6 +17,12 @@
{% endif %}
+ {% usage_count_enabled as uc_enabled %}
+ {% if uc_enabled and usage_object %}
+
+ {% endif %}
{% if add_link %}
-
\ No newline at end of file
+
diff --git a/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py b/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py
index 30d9fcc39..a08211591 100644
--- a/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py
+++ b/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py
@@ -1,5 +1,6 @@
from __future__ import unicode_literals
+from django.conf import settings
from django import template
from django.core import urlresolvers
from django.utils.translation import ugettext_lazy as _
@@ -121,3 +122,8 @@ def hook_output(hook_name):
"""
snippets = [fn() for fn in hooks.get_hooks(hook_name)]
return ''.join(snippets)
+
+
+@register.assignment_tag
+def usage_count_enabled():
+ return getattr(settings, 'WAGTAIL_USAGE_COUNT_ENABLED', False)
diff --git a/wagtail/wagtailadmin/tests/test_pages_views.py b/wagtail/wagtailadmin/tests/test_pages_views.py
index 90f757ad2..765c21786 100644
--- a/wagtail/wagtailadmin/tests/test_pages_views.py
+++ b/wagtail/wagtailadmin/tests/test_pages_views.py
@@ -3,7 +3,7 @@ from datetime import timedelta
from django.test import TestCase
from django.core.urlresolvers import reverse
from django.contrib.auth import get_user_model
-from django.contrib.auth.models import Permission
+from django.contrib.auth.models import Group, Permission
from django.core import mail
from django.core.paginator import Paginator
from django.utils import timezone
@@ -954,6 +954,260 @@ class TestPageMove(TestCase, WagtailTestUtils):
self.assertEqual(response.status_code, 200)
+class TestPageCopy(TestCase, WagtailTestUtils):
+ def setUp(self):
+ # Find root page
+ self.root_page = Page.objects.get(id=2)
+
+ # Create a page
+ self.test_page = self.root_page.add_child(instance=SimplePage(
+ title="Hello world!",
+ slug='hello-world',
+ live=True,
+ ))
+
+ # Create a couple of child pages
+ self.test_child_page = self.test_page.add_child(instance=SimplePage(
+ title="Child page",
+ slug='child-page',
+ live=True,
+ ))
+
+ self.test_unpublished_child_page = self.test_page.add_child(instance=SimplePage(
+ title="Unpublished Child page",
+ slug='unpublished-child-page',
+ live=False,
+ ))
+
+ # Login
+ self.user = self.login()
+
+ def test_page_copy(self):
+ response = self.client.get(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )))
+
+ # Check response
+ self.assertEqual(response.status_code, 200)
+ self.assertTemplateUsed(response, 'wagtailadmin/pages/copy.html')
+
+ # Make sure all fields are in the form
+ self.assertContains(response, "New title")
+ self.assertContains(response, "New slug")
+ self.assertContains(response, "Copy subpages")
+ self.assertContains(response, "Publish copies")
+
+ def test_page_copy_bad_permissions(self):
+ # Remove privileges from user
+ self.user.is_superuser = False
+ self.user.user_permissions.add(
+ Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin')
+ )
+ self.user.save()
+
+ # Get copy page
+ response = self.client.get(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )))
+
+ # Check that the user recieved a 403 response
+ self.assertEqual(response.status_code, 403)
+
+ def test_page_copy_post(self):
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello-world-2',
+ 'copy_subpages': False,
+ 'publish_copies': False,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Check that the user was redirected to the parents explore page
+ self.assertRedirects(response, reverse('wagtailadmin_explore', args=(self.root_page.id, )))
+
+ # Get copy
+ page_copy = self.root_page.get_children().filter(slug='hello-world-2').first()
+
+ # Check that the copy exists
+ self.assertNotEqual(page_copy, None)
+
+ # Check that the copy is not live
+ self.assertFalse(page_copy.live)
+
+ # Check that the owner of the page is set correctly
+ self.assertEqual(page_copy.owner, self.user)
+
+ # Check that the children were not copied
+ self.assertEqual(page_copy.get_children().count(), 0)
+
+ def test_page_copy_post_copy_subpages(self):
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello-world-2',
+ 'copy_subpages': True,
+ 'publish_copies': False,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Check that the user was redirected to the parents explore page
+ self.assertRedirects(response, reverse('wagtailadmin_explore', args=(self.root_page.id, )))
+
+ # Get copy
+ page_copy = self.root_page.get_children().filter(slug='hello-world-2').first()
+
+ # Check that the copy exists
+ self.assertNotEqual(page_copy, None)
+
+ # Check that the copy is not live
+ self.assertFalse(page_copy.live)
+
+ # Check that the owner of the page is set correctly
+ self.assertEqual(page_copy.owner, self.user)
+
+ # Check that the children were copied
+ self.assertEqual(page_copy.get_children().count(), 2)
+
+ # Check the the child pages
+ # Neither of them should be live
+ child_copy = page_copy.get_children().filter(slug='child-page').first()
+ self.assertNotEqual(child_copy, None)
+ self.assertFalse(child_copy.live)
+
+ unpublished_child_copy = page_copy.get_children().filter(slug='unpublished-child-page').first()
+ self.assertNotEqual(unpublished_child_copy, None)
+ self.assertFalse(unpublished_child_copy.live)
+
+ def test_page_copy_post_copy_subpages_publish_copies(self):
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello-world-2',
+ 'copy_subpages': True,
+ 'publish_copies': True,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Check that the user was redirected to the parents explore page
+ self.assertRedirects(response, reverse('wagtailadmin_explore', args=(self.root_page.id, )))
+
+ # Get copy
+ page_copy = self.root_page.get_children().filter(slug='hello-world-2').first()
+
+ # Check that the copy exists
+ self.assertNotEqual(page_copy, None)
+
+ # Check that the copy is live
+ self.assertTrue(page_copy.live)
+
+ # Check that the owner of the page is set correctly
+ self.assertEqual(page_copy.owner, self.user)
+
+ # Check that the children were copied
+ self.assertEqual(page_copy.get_children().count(), 2)
+
+ # Check the the child pages
+ # The child_copy should be live but the unpublished_child_copy shouldn't
+ child_copy = page_copy.get_children().filter(slug='child-page').first()
+ self.assertNotEqual(child_copy, None)
+ self.assertTrue(child_copy.live)
+
+ unpublished_child_copy = page_copy.get_children().filter(slug='unpublished-child-page').first()
+ self.assertNotEqual(unpublished_child_copy, None)
+ self.assertFalse(unpublished_child_copy.live)
+
+ def test_page_copy_post_existing_slug(self):
+ # This tests the existing slug checking on page copy
+
+ # Attempt to copy the page but forget to change the slug
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello-world',
+ 'copy_subpages': False,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Should not be redirected (as the save should fail)
+ self.assertEqual(response.status_code, 200)
+
+ # Check that a form error was raised
+ self.assertFormError(response, 'form', 'new_slug', "This slug is already in use")
+
+ def test_page_copy_post_invalid_slug(self):
+ # Attempt to copy the page but set an invalid slug string
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello world!',
+ 'copy_subpages': False,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Should not be redirected (as the save should fail)
+ self.assertEqual(response.status_code, 200)
+
+ # Check that a form error was raised
+ self.assertFormError(response, 'form', 'new_slug', "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.")
+
+ def test_page_copy_no_publish_permission(self):
+ # Turn user into an editor who can add pages but not publish them
+ self.user.is_superuser = False
+ self.user.groups.add(
+ Group.objects.get(name="Editors"),
+ )
+ self.user.save()
+
+ # Get copy page
+ response = self.client.get(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )))
+
+ # The user should have access to the copy page
+ self.assertEqual(response.status_code, 200)
+ self.assertTemplateUsed(response, 'wagtailadmin/pages/copy.html')
+
+ # Make sure the "publish copies" field is hidden
+ self.assertNotContains(response, "Publish copies")
+
+ def test_page_copy_no_publish_permission_post_copy_subpages_publish_copies(self):
+ # This tests that unprivileged users cannot publish copied pages even if they hack their browser
+
+ # Turn user into an editor who can add pages but not publish them
+ self.user.is_superuser = False
+ self.user.groups.add(
+ Group.objects.get(name="Editors"),
+ )
+ self.user.save()
+
+ # Post
+ post_data = {
+ 'new_title': "Hello world 2",
+ 'new_slug': 'hello-world-2',
+ 'copy_subpages': True,
+ 'publish_copies': True,
+ }
+ response = self.client.post(reverse('wagtailadmin_pages_copy', args=(self.test_page.id, )), post_data)
+
+ # Check that the user was redirected to the parents explore page
+ self.assertRedirects(response, reverse('wagtailadmin_explore', args=(self.root_page.id, )))
+
+ # Get copy
+ page_copy = self.root_page.get_children().filter(slug='hello-world-2').first()
+
+ # Check that the copy exists
+ self.assertNotEqual(page_copy, None)
+
+ # Check that the copy is not live
+ self.assertFalse(page_copy.live)
+
+ # Check that the owner of the page is set correctly
+ self.assertEqual(page_copy.owner, self.user)
+
+ # Check that the children were copied
+ self.assertEqual(page_copy.get_children().count(), 2)
+
+ # Check the the child pages
+ # Neither of them should be live
+ child_copy = page_copy.get_children().filter(slug='child-page').first()
+ self.assertNotEqual(child_copy, None)
+ self.assertFalse(child_copy.live)
+
+ unpublished_child_copy = page_copy.get_children().filter(slug='unpublished-child-page').first()
+ self.assertNotEqual(unpublished_child_copy, None)
+ self.assertFalse(unpublished_child_copy.live)
+
+
class TestPageUnpublish(TestCase, WagtailTestUtils):
def setUp(self):
self.user = self.login()
diff --git a/wagtail/wagtailadmin/tests/tests.py b/wagtail/wagtailadmin/tests/tests.py
index bc8362b46..427fd3279 100644
--- a/wagtail/wagtailadmin/tests/tests.py
+++ b/wagtail/wagtailadmin/tests/tests.py
@@ -1,9 +1,10 @@
from django.test import TestCase
+from django.core.urlresolvers import reverse
+from django.core import mail
+
from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Page
from wagtail.wagtailadmin.tasks import send_email_task
-from django.core.urlresolvers import reverse
-from django.core import mail
class TestHome(TestCase, WagtailTestUtils):
diff --git a/wagtail/wagtailadmin/urls.py b/wagtail/wagtailadmin/urls.py
index 708601925..72833130e 100644
--- a/wagtail/wagtailadmin/urls.py
+++ b/wagtail/wagtailadmin/urls.py
@@ -65,6 +65,8 @@ urlpatterns += [
url(r'^pages/(\d+)/move/(\d+)/confirm/$', pages.move_confirm, name='wagtailadmin_pages_move_confirm'),
url(r'^pages/(\d+)/set_position/$', pages.set_page_position, name='wagtailadmin_pages_set_page_position'),
+ url(r'^pages/(\d+)/copy/$', pages.copy, name='wagtailadmin_pages_copy'),
+
url(r'^pages/moderation/(\d+)/approve/$', pages.approve_moderation, name='wagtailadmin_pages_approve_moderation'),
url(r'^pages/moderation/(\d+)/reject/$', pages.reject_moderation, name='wagtailadmin_pages_reject_moderation'),
url(r'^pages/moderation/(\d+)/preview/$', pages.preview_for_moderation, name='wagtailadmin_pages_preview_for_moderation'),
diff --git a/wagtail/wagtailadmin/utils.py b/wagtail/wagtailadmin/utils.py
new file mode 100644
index 000000000..043b8336d
--- /dev/null
+++ b/wagtail/wagtailadmin/utils.py
@@ -0,0 +1,36 @@
+from modelcluster.fields import ParentalKey
+
+from wagtail.wagtailcore.models import Page
+
+
+def get_object_usage(obj):
+ "Returns a queryset of pages that link to a particular object"
+
+ pages = Page.objects.none()
+
+ # get all the relation objects for obj
+ relations = type(obj)._meta.get_all_related_objects(
+ include_hidden=True,
+ include_proxy_eq=True
+ )
+ for relation in relations:
+ # if the relation is between obj and a page, get the page
+ if issubclass(relation.model, Page):
+ pages |= Page.objects.filter(
+ id__in=relation.model._base_manager.filter(**{
+ relation.field.name: obj.id
+ }).values_list('id', flat=True)
+ )
+ else:
+ # if the relation is between obj and an object that has a page as a
+ # property, return the page
+ for f in relation.model._meta.fields:
+ if isinstance(f, ParentalKey) and issubclass(f.rel.to, Page):
+ pages |= Page.objects.filter(
+ id__in=relation.model._base_manager.filter(
+ **{
+ relation.field.name: obj.id
+ }).values_list(f.attname, flat=True)
+ )
+
+ return pages
diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py
index 221dd8940..3de6f7cb5 100644
--- a/wagtail/wagtailadmin/views/pages.py
+++ b/wagtail/wagtailadmin/views/pages.py
@@ -15,7 +15,7 @@ from django.views.decorators.vary import vary_on_headers
from wagtail.utils.deprecation import RemovedInWagtail06Warning
from wagtail.wagtailadmin.edit_handlers import TabbedInterface, ObjectList
-from wagtail.wagtailadmin.forms import SearchForm
+from wagtail.wagtailadmin.forms import SearchForm, CopyForm
from wagtail.wagtailadmin import tasks, signals
from wagtail.wagtailcore import hooks
@@ -668,6 +668,57 @@ def set_page_position(request, page_to_move_id):
return HttpResponse('')
+@permission_required('wagtailadmin.access_admin')
+def copy(request, page_id):
+ page = Page.objects.get(id=page_id)
+ parent_page = page.get_parent()
+
+ # Make sure this user has permission to add subpages on the parent
+ if not parent_page.permissions_for_user(request.user).can_add_subpage():
+ raise PermissionDenied
+
+ # Check if the user has permission to publish subpages on the parent
+ can_publish = parent_page.permissions_for_user(request.user).can_publish_subpage()
+
+ # Create the form
+ form = CopyForm(request.POST or None, page=page, can_publish=can_publish)
+
+ # Check if user is submitting
+ if request.method == 'POST' and form.is_valid():
+ # Copy the page
+ new_page = page.copy(
+ recursive=form.cleaned_data.get('copy_subpages'),
+ update_attrs={
+ 'title': form.cleaned_data['new_title'],
+ 'slug': form.cleaned_data['new_slug'],
+ }
+ )
+
+ # Check if we should keep copied subpages published
+ publish_copies = can_publish and form.cleaned_data.get('publish_copies')
+
+ # Unpublish copied pages if we need to
+ if not publish_copies:
+ new_page.get_descendants(inclusive=True).update(live=False)
+
+ # Assign user of this request as the owner of all the new pages
+ new_page.get_descendants(inclusive=True).update(owner=request.user)
+
+ # Give a success message back to the user
+ if form.cleaned_data.get('copy_subpages'):
+ messages.success(request, _("Page '{0}' and {1} subpages copied.").format(page.title, new_page.get_descendants().count()))
+ else:
+ messages.success(request, _("Page '{0}' copied.").format(page.title))
+
+ # Redirect to explore of parent page
+ return redirect('wagtailadmin_explore', parent_page.id)
+
+ return render(request, 'wagtailadmin/pages/copy.html', {
+ 'page': page,
+ 'form': form,
+ })
+
+
PAGE_EDIT_HANDLERS = {}
diff --git a/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.mo
index d43d58490..4b01bf043 100644
Binary files a/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.po
index 46c88a279..3d3cfb9bb 100644
--- a/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/bg/LC_MESSAGES/django.po
@@ -1,92 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# LyuboslavPetrov
, 2014
+# Lyuboslav Petrov , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-24 20:02+0000\n"
-"Last-Translator: LyuboslavPetrov \n"
-"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/"
-"language/bg/)\n"
-"Language: bg\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Задайте това като нещо различно от 80, в случай че имате нужда от определен "
-"порт да се появи в URL адресите ви (напр. код-разработка на порт 8000). Не "
-"се отнася за боравене със заявки (така Port Forwarding ще работи)."
+msgstr "Задайте това като нещо различно от 80, в случай че имате нужда от определен порт да се появи в URL адресите ви (напр. код-разработка на порт 8000). Не се отнася за боравене със заявки (така Port Forwarding ще работи)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Ако е Вярно, този сайт ще борави със заявки за всички останали хостове, "
-"които нямат собствен сайт."
+msgstr "Ако е Вярно, този сайт ще борави със заявки за всички останали хостове, които нямат собствен сайт."
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Заглавието на страницата както желаете да се вижда"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Името на страницата както ще изглежда в URL-ите. Например http://domain.com/"
-"blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Името на страницата както ще изглежда в URL-ите. Например http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Заглавие на Страница"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Незадължителен. 'Оптимизирано за Търсачки' заглавие. Това ще се появи най-"
-"отгоре на браузър прозореца."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Незадължителен. 'Оптимизирано за Търсачки' заглавие. Това ще се появи най-отгоре на браузър прозореца."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Дали линк към тази страница ще се появи в автоматично генерираните менюта"
+msgstr "Дали линк към тази страница ще се появи в автоматично генерираните менюта"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "име '%s' (ползвано в листа subpage_types) не е зададено."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.mo
index 82c6ba24c..7ed9969c9 100644
Binary files a/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.po
index c7bf0cc19..aa3525fd6 100644
--- a/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/ca/LC_MESSAGES/django.po
@@ -1,92 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# Lloople , 2014
+# David Llop , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-22 12:43+0000\n"
-"Last-Translator: Lloople \n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/"
-"ca/)\n"
-"Language: ca\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Canvia això per un número diferent de 80 si necessites que aparegui un port "
-"específic en les URLs (per ex: port de desenvolupament al 8000). No afecta a "
-"la petició actual (el port de reenviament encara funciona)."
+msgstr "Canvia això per un número diferent de 80 si necessites que aparegui un port específic en les URLs (per ex: port de desenvolupament al 8000). No afecta a la petició actual (el port de reenviament encara funciona)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Si és cert, aquest lloc s'encarregarà de les peticions de totes les altres "
-"màquines que no tenen un lloc establert."
+msgstr "Si és cert, aquest lloc s'encarregarà de les peticions de totes les altres màquines que no tenen un lloc establert."
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "El títol de la pàgina que vols que sigui vist pel públic"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"El nom de la pàgina que apareixerà en la URL. Per exemple: http://domini.com/"
-"blog/[nom]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "El nom de la pàgina que apareixerà en la URL. Per exemple: http://domini.com/blog/[nom]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Títol de la pàgina"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Opcional. Títol de 'Motor de cerca amigable'. Això apareixerà al cap damunt "
-"de la finetra del navegador"
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Opcional. Títol de 'Motor de cerca amigable'. Això apareixerà al cap damunt de la finetra del navegador"
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Si s'enllaça cap aquesta pàgina apareixerà automàticament als menús generats"
+msgstr "Si s'enllaça cap aquesta pàgina apareixerà automàticament als menús generats"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "el nom '%s' (utilitzat a subpage_types list) no està definit."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo
index c87c111c3..d31c17891 100644
Binary files a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po
index e83f6f119..543a13b5b 100644
--- a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po
@@ -1,94 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# jspielmann , 2014
+# Johannes Spielmann , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-25 17:28+0000\n"
-"Last-Translator: jspielmann \n"
-"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/"
-"de/)\n"
-"Language: de\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Geben Sie hier einen anderen Wert als 80 ein, wenn dieser in URLs auftauchen "
-"soll (z.B. Development Port auf 8000). Dies bezieht sich nicht auf Request "
-"Handling, so dass Port Forwarding weiterhin funktioniert."
+msgstr "Geben Sie hier einen anderen Wert als 80 ein, wenn dieser in URLs auftauchen soll (z.B. Development Port auf 8000). Dies bezieht sich nicht auf Request Handling, so dass Port Forwarding weiterhin funktioniert."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Falls ausgewählt wird diese Seite Anfragen für alle Hostnamen annehmen, die "
-"keinen eigenen Seiteneintrag haben."
+msgstr "Falls ausgewählt wird diese Seite Anfragen für alle Hostnamen annehmen, die keinen eigenen Seiteneintrag haben."
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Der Seitentitel, der öffentlich angezeigt werden soll"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Der Name der Seite, wie er in URLs angezeigt werden soll, z.B. http://domain."
-"com/blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Der Name der Seite, wie er in URLs angezeigt werden soll, z.B. http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Seitentitel"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Optional. Suchmaschinenfreundlicher Titel. Wird in der Titelleiste des "
-"Browsers angezeigt."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Optional. Suchmaschinenfreundlicher Titel. Wird in der Titelleiste des Browsers angezeigt."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Ob ein Link zu dieser Seite in automatisch generierten Menüs auftaucht."
+msgstr "Ob ein Link zu dieser Seite in automatisch generierten Menüs auftaucht."
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
msgstr ""
-"Der Name '%s', der in der Liste subpage_types verwendet wird, ist nicht "
-"definiert."
diff --git a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo
index a934f69b6..100a28cc1 100644
Binary files a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po
index 0ac591453..bed0ba05d 100644
--- a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po
@@ -1,94 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# serafeim , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-22 12:27+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/"
-"el/)\n"
-"Language: el\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Μπορείτε να χρησιμοποιήσετε κάτι διαφορετικό από το 80 αν θέλετε να "
-"εμφανίζεται στις διευθύνσεις μια συγκεκριμένη θύρα (π.χ. ανάπτυξη στη θύρα "
-"8000). Δεν επηρεάζει τον τρόπο που χειρίζονται τις αιτήσεις (οπότε η "
-"προώθηση θύρας δουλεύει ακόμα)"
+msgstr "Μπορείτε να χρησιμοποιήσετε κάτι διαφορετικό από το 80 αν θέλετε να εμφανίζεται στις διευθύνσεις μια συγκεκριμένη θύρα (π.χ. ανάπτυξη στη θύρα 8000). Δεν επηρεάζει τον τρόπο που χειρίζονται τις αιτήσεις (οπότε η προώθηση θύρας δουλεύει ακόμα)"
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Αν είναι αληθές, το εν λόγω site θα χειρίζεται και τις αιτήσεις για όλα τα "
-"άλλα ονόματα που δεν έχουν δική τους εγγραφή"
+msgstr "Αν είναι αληθές, το εν λόγω site θα χειρίζεται και τις αιτήσεις για όλα τα άλλα ονόματα που δεν έχουν δική τους εγγραφή"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Ο τίτλος της σελίδας έτσι όπως θα εμφανίζεται στο κοινό"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Το όνομα της σελίδας έτσι όπως θα εμφανίζεται στις διευθύνσεις, π.χ http://"
-"domain.com/blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Το όνομα της σελίδας έτσι όπως θα εμφανίζεται στις διευθύνσεις, π.χ http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Τίτλος σελίδας"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Προαιρετικό. Τίτλος που είναι 'φιλικός προς τις μηχανές αναζήτησης'. Θα "
-"εμφανιστεί στην κορυφή του παραθύρου."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Προαιρετικό. Τίτλος που είναι 'φιλικός προς τις μηχανές αναζήτησης'. Θα εμφανιστεί στην κορυφή του παραθύρου."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Επιλέξτε αν μια σύνδεση σε αυτή τη σελίδα θα εμφανιστεί στα μενού που "
-"δημιουργούνται αυτόματα"
+msgstr "Επιλέξτε αν μια σύνδεση σε αυτή τη σελίδα θα εμφανιστεί στα μενού που δημιουργούνται αυτόματα"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "το όνομα '%s' (που χρησιμοποιείται στη λίστα) δεν έχει οριστεί."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo
index 4b726f7d6..3b83aafe9 100644
Binary files a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po
index 7d99eb3e3..c4bf27524 100644
--- a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,63 +17,63 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
msgstr ""
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
msgstr ""
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr ""
-#: models.py:276
+#: models.py:278
msgid ""
"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
"[my-slug]/"
msgstr ""
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr ""
-#: models.py:285
+#: models.py:287
msgid ""
"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
"browser window."
msgstr ""
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr ""
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
msgstr ""
diff --git a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo
index af0f4cf48..9ab7329f7 100644
Binary files a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po
index 00c9c6719..05bc60286 100644
--- a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po
@@ -1,95 +1,84 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
# fooflare , 2014
# fooflare , 2014
-# unaizalakain , 2014
-# unaizalakain , 2014
+# Unai Zalakain , 2014
+# Unai Zalakain , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-27 09:22+0000\n"
-"Last-Translator: fooflare \n"
-"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/"
-"es/)\n"
-"Language: es\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Cambia esto a algo que no sea 80 si necesitas que un puerto específico "
-"aparezca en las URLs (p.e. desarrollo en el puerto 8000). Esto no afecta al "
-"manejo de solicitudes (así que la redirección de puertos sigue funcionando)."
+msgstr "Cambia esto a algo que no sea 80 si necesitas que un puerto específico aparezca en las URLs (p.e. desarrollo en el puerto 8000). Esto no afecta al manejo de solicitudes (así que la redirección de puertos sigue funcionando)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Si afirmativo, este sitio manejará solicitudes para todos los demás "
-"hostnames que no tengan un site por sí mismos"
+msgstr "Si afirmativo, este sitio manejará solicitudes para todos los demás hostnames que no tengan un site por sí mismos"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "El título de la página como quieres que sea visto por el público"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"El nombre de la página tal como aparecerá en URLs p.ej. http://domain.com/"
-"blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "El nombre de la página tal como aparecerá en URLs p.ej. http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Título de la página"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Opcional. Título 'Amigable para el Motor de Búsqueda'. Aparecerá en la parte "
-"superior de la ventana del navegador."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Opcional. Título 'Amigable para el Motor de Búsqueda'. Aparecerá en la parte superior de la ventana del navegador."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr "Un enlace a esta página aparecerá en menús generados automáticamente"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "nombre '%s' (usado en la lista de subpage_types) no está definido."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.mo
index cf12d44d2..972e8348c 100644
Binary files a/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.po
index d5ed41484..cbe69e338 100644
--- a/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/eu/LC_MESSAGES/django.po
@@ -1,80 +1,79 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-24 22:36+0000\n"
-"Last-Translator: tomdyson \n"
-"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/"
-"eu/)\n"
-"Language: eu\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
msgstr ""
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
msgstr ""
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr ""
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
msgstr ""
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr ""
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
msgstr ""
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr ""
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
msgstr ""
diff --git a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo
index 8f9bf6860..0ceed37cd 100644
Binary files a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po
index 0ef2ab822..cc75fb902 100644
--- a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po
@@ -1,90 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# nahuel, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-18 22:47+0000\n"
-"Last-Translator: nahuel\n"
-"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/"
-"fr/)\n"
-"Language: fr\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Définissez cette valeur à autre chose que 80 si vous avez besoin qu'un port "
-"spécifique apparaisse dans les URLs (e.g. développement sur le port 8000). "
-"Ceci n'affecte pas la prise en charge des requêtes (les redirections de port "
-"continuent de fonctionner)."
+msgstr "Définissez cette valeur à autre chose que 80 si vous avez besoin qu'un port spécifique apparaisse dans les URLs (e.g. développement sur le port 8000). Ceci n'affecte pas la prise en charge des requêtes (les redirections de port continuent de fonctionner)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
msgstr ""
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Le titre de la page comme vous souhaiteriez que les lecteurs la voient"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Le nom de la page comme elle apparaîtra dans l'URL e.g http://domain.com/"
-"blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Le nom de la page comme elle apparaîtra dans l'URL e.g http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Titre de la page"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
msgstr ""
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Si un lien vers cette page devra apparaître dans les menus générés "
-"automatiquement"
+msgstr "Si un lien vers cette page devra apparaître dans les menus générés automatiquement"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "le nom '%s' (utilisé dans la liste subpage_types) n'est pas défini."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.mo
index 44ec3a08e..d9f4d84ce 100644
Binary files a/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.po
index 8686ab164..4201d9b9e 100644
--- a/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/gl/LC_MESSAGES/django.po
@@ -1,91 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-23 10:32+0000\n"
-"Last-Translator: fooflare \n"
-"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/"
-"language/gl/)\n"
-"Language: gl\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Cambia isto a algo que non sexa o 80 se necesitas que un porto específico "
-"apareza nas URLs (p.e. desenvolvemento no porto 8000). Isto non afecta ao "
-"manexo de solicitudes (así que a redirección de portos segue funcionando)."
+msgstr "Cambia isto a algo que non sexa o 80 se necesitas que un porto específico apareza nas URLs (p.e. desenvolvemento no porto 8000). Isto non afecta ao manexo de solicitudes (así que a redirección de portos segue funcionando)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Se é afirmativo, este sitio manexará solicitudes para todos os demais nomes "
-"de host que non teñan unha entrada por si mesmos"
+msgstr "Se é afirmativo, este sitio manexará solicitudes para todos os demais nomes de host que non teñan unha entrada por si mesmos"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "O título da páxina como queres que sexa visto polo público"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"O nome da páxina tal como aparecerá nas URLs p.ex. http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "O nome da páxina tal como aparecerá nas URLs p.ex. http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Título da páxina"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Opcional. Título 'Amigable para o Motor de Busca'. Aparecerá na parte "
-"superior da ventá do navegador."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Opcional. Título 'Amigable para o Motor de Busca'. Aparecerá na parte superior da ventá do navegador."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr "Un enlace a esta página aparecerá en menús xerados automáticamente"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "nome '%s' (usado en la lista de subpage_types) non está definido."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.mo
index d7dbad6fb..7290e12fb 100644
Binary files a/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.po
index 68b62ebd2..064a1dabb 100644
--- a/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/mn/LC_MESSAGES/django.po
@@ -1,81 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# delgermurun , 2014
+# Delgermurun Purevkhuuu , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-04 05:03+0000\n"
-"Last-Translator: delgermurun \n"
-"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/"
-"language/mn/)\n"
-"Language: mn\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/language/mn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
msgstr ""
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
msgstr ""
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr ""
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
msgstr ""
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Хуудасны гарчиг"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
msgstr ""
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr ""
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
msgstr ""
diff --git a/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.mo
index 784f46112..60c93acf4 100644
Binary files a/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.po
index 93f803a5a..d0a696b89 100644
--- a/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/pl/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# utek , 2014
# utek , 2014
@@ -9,86 +9,73 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-23 10:22+0000\n"
-"Last-Translator: utek \n"
-"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/"
-"pl/)\n"
-"Language: pl\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Ustaw na inną wartość niż 80 jeżeli istnieje potrzeba pojawienia się "
-"konkretnego portu w URLach (np. port wersji roboczej 8000). Nie ma wpływu na "
-"obsługę żądań (przekierowanie portów będzie nadal działało)."
+msgstr "Ustaw na inną wartość niż 80 jeżeli istnieje potrzeba pojawienia się konkretnego portu w URLach (np. port wersji roboczej 8000). Nie ma wpływu na obsługę żądań (przekierowanie portów będzie nadal działało)."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Wartość true sprawi, że ta strona będzie obsługiwała żądania wszystkich "
-"innych hostów, które nie mają ustawionej strony."
+msgstr "Wartość true sprawi, że ta strona będzie obsługiwała żądania wszystkich innych hostów, które nie mają ustawionej strony."
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Tytuł strony jaki chcesz żeby był widoczny publicznie."
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Nazwa strony, która będzie wyświetlana w URLach np. http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Nazwa strony, która będzie wyświetlana w URLach np. http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Tytuł strony"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Opcjonalne. Tytuł 'przyjazny wyszukiwarkom'. Będzie widoczny się na górze "
-"okna przeglądarki."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Opcjonalne. Tytuł 'przyjazny wyszukiwarkom'. Będzie widoczny się na górze okna przeglądarki."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Czy link do tej strony zostanie wyświetlony w menu tworzonym automatycznie."
+msgstr "Czy link do tej strony zostanie wyświetlony w menu tworzonym automatycznie."
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "nazwa '%s' (używana w liście subpage_types) nie jest zdefiniowana."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..51a033d05
Binary files /dev/null and b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po
new file mode 100644
index 000000000..5da56cf9a
--- /dev/null
+++ b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po
@@ -0,0 +1,97 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+# Translators:
+# Thiago Cangussu , 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Wagtail 0.5.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-03 01:52+0100\n"
+"Last-Translator: Jose Lourenco \n"
+"Language-Team: \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_PT\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+
+#: models.py:46
+msgid ""
+"Set this to something other than 80 if you need a specific port number to "
+"appear in URLs (e.g. development on port 8000). Does not affect request "
+"handling (so port forwarding still works)."
+msgstr ""
+"Atribua um valor diferente de 80 se você necessitar que um número de porto "
+"específico apareça nas URLs (ex. desenvolvimento no porto 8000). Não afeta o "
+"tratamento de requisições (assim, o redirecionamento de portos continua a "
+"funcionar)."
+
+#: models.py:48
+msgid ""
+"If true, this site will handle requests for all other hostnames that do not "
+"have a site entry of their own"
+msgstr ""
+"Se verdadeiro, este site irá processar requisições de todos os outros "
+"hostnames que não tenham um site próprio"
+
+#: models.py:109
+#, python-format
+msgid ""
+"%(hostname)s is already configured as the default site. You must unset that "
+"before you can save this site as default."
+msgstr ""
+"O %(hostname)s já está configurado como site pré-definido. Tem de alterar "
+"essa configuração antes de poder guardar este site como pré-definido."
+
+#: models.py:277
+msgid "The page title as you'd like it to be seen by the public"
+msgstr "O título da página como você gostaria que fosse visto pelo público"
+
+#: models.py:278
+msgid ""
+"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
+"[my-slug]/"
+msgstr ""
+"O nome da página como ele irá aparecer nas URLs ex.: http://domain.com/blog/"
+"[my-slug]/"
+
+#: models.py:287
+msgid "Page title"
+msgstr "Título da página"
+
+#: models.py:287
+msgid ""
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
+"browser window."
+msgstr ""
+"Opcional. Título 'Amigável para Motores de Busca'. Isto irá aparecer no topo "
+"da janela do navegador."
+
+#: models.py:288
+msgid ""
+"Whether a link to this page will appear in automatically generated menus"
+msgstr ""
+"Se um link para esta página irá aparecer nos menus gerados automaticamente"
+
+#: models.py:291
+msgid "Go live date/time"
+msgstr "Data/hora de publicação"
+
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
+msgstr "Por favor adicione uma data-hora no formato AAAA-MM-DD hh:mm:ss."
+
+#: models.py:292
+msgid "Expiry date/time"
+msgstr "Data/hora terminal"
+
+#: models.py:564
+msgid "name '{0}' (used in subpage_types list) is not defined."
+msgstr ""
+"O nome '{0}' (usado na lista de tipos de sub-páginas) não está definido."
diff --git a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo
index 7e737e460..22c711e9e 100644
Binary files a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po
index efe4bad51..d6c9a1902 100644
--- a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po
@@ -1,95 +1,80 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# zerolab, 2014
+# Dan Braghis, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-24 22:29+0000\n"
-"Last-Translator: zerolab\n"
-"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/"
-"language/ro/)\n"
-"Language: ro\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
-"2:1));\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"Dacă aveți nevoie ca un număr de port specific să apară în adrese de "
-"internet (de exemplu, dezvoltare pe portul 8000) setați aceasta la altceva "
-"decât 80. Nu influențează gestionarea solicitărilor și transmiterile de port "
-"vor continua să funcționeze."
+msgstr "Dacă aveți nevoie ca un număr de port specific să apară în adrese de internet (de exemplu, dezvoltare pe portul 8000) setați aceasta la altceva decât 80. Nu influențează gestionarea solicitărilor și transmiterile de port vor continua să funcționeze."
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"Dacă e 'true', acest sit va gestiona solicitări pentru toate hostname-urile "
-"fără setări separate"
+msgstr "Dacă e 'true', acest sit va gestiona solicitări pentru toate hostname-urile fără setări separate"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "Titlul paginii așa cum doriți să fie vizibil public"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
-msgstr ""
-"Numele paginii așa cum va apărea în adrese. De exemplu, http://domain.com/"
-"blog/[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
+msgstr "Numele paginii așa cum va apărea în adrese. De exemplu, http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "Titlu pagină"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
-msgstr ""
-"Opțional. Titlu favorabil motoarelor de căutare. Apare în partea de sus a "
-"browserului."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
+msgstr "Opțional. Titlu favorabil motoarelor de căutare. Apare în partea de sus a browserului."
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
-msgstr ""
-"Dacă un link către această pagină va apărea în meniurile generate în mod "
-"automat"
+msgstr "Dacă un link către această pagină va apărea în meniurile generate în mod automat"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "numele '%s' (folosit în lista subpage_types) nu este definit."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.mo
index 64499c7a8..003a8aaef 100644
Binary files a/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.po
index c2b0bf43f..4dc9d01ee 100644
--- a/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/zh/LC_MESSAGES/django.po
@@ -1,84 +1,79 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-02-28 16:07+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/"
-"zh/)\n"
-"Language: zh\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/zh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: zh\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
"handling (so port forwarding still works)."
-msgstr ""
-"如果你需要指定端口,请选择一个有别于80的端口(比如开发端口8000)。 不影响接受请"
-"求 (端口转发仍然有效)"
+msgstr "如果你需要指定端口,请选择一个有别于80的端口(比如开发端口8000)。 不影响接受请求 (端口转发仍然有效)"
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
-msgstr ""
-"如果是真的,这个网站将处理没有一个属于自己的主机名的其他所有主机名的请求"
+msgstr "如果是真的,这个网站将处理没有一个属于自己的主机名的其他所有主机名的请求"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "页面标题,你想被大众所看到的"
-#: models.py:276
+#: models.py:278
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g http://domain.com/blog"
+"/[my-slug]/"
msgstr "一个出现在URL的名字 比如 http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "页面标题"
-#: models.py:285
+#: models.py:287
msgid ""
-"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
-"browser window."
+"Optional. 'Search Engine Friendly' title. This will appear at the top of the"
+" browser window."
msgstr "可选 ‘搜索引擎友好’ 标题。 这会显示在浏览器窗口顶部"
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr "一个链接到这页的链接会显示在自动生成的菜单中"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
-#, fuzzy
+#: models.py:564
msgid "name '{0}' (used in subpage_types list) is not defined."
-msgstr "名称为 '%s' (用于子页面类型列表) 没有被创建."
+msgstr ""
diff --git a/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.mo
index db50be133..616f41b57 100644
Binary files a/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.po
index 642c496e2..3a3a2bfa6 100644
--- a/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.po
+++ b/wagtail/wagtailcore/locale/zh_TW/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-28 16:07+0000\n"
"Last-Translator: wdv4758h \n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:44
+#: models.py:46
msgid ""
"Set this to something other than 80 if you need a specific port number to "
"appear in URLs (e.g. development on port 8000). Does not affect request "
@@ -26,58 +26,58 @@ msgstr ""
"如果你需要指定 port,請選擇一個非 80 的 port number (例如: 開發中用 8000 "
"port)。 不影響 request 處理 (port forwarding 仍然有效)"
-#: models.py:46
+#: models.py:48
msgid ""
"If true, this site will handle requests for all other hostnames that do not "
"have a site entry of their own"
msgstr ""
"如果這是 Ture 的話,這個網站將處理其他沒有自己網站的 hostname 的 request。"
-#: models.py:107
+#: models.py:109
#, python-format
msgid ""
"%(hostname)s is already configured as the default site. You must unset that "
"before you can save this site as default."
msgstr ""
-#: models.py:275
+#: models.py:277
msgid "The page title as you'd like it to be seen by the public"
msgstr "頁面標題 (你想讓外界看到的)"
-#: models.py:276
+#: models.py:278
msgid ""
"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
"[my-slug]/"
msgstr "一個出現在 URL 的名字,例如 http://domain.com/blog/[my-slug]/"
-#: models.py:285
+#: models.py:287
msgid "Page title"
msgstr "頁面標題"
-#: models.py:285
+#: models.py:287
msgid ""
"Optional. 'Search Engine Friendly' title. This will appear at the top of the "
"browser window."
msgstr "(可選) '搜尋引擎友善' 標題。 這會顯示在瀏覽器的視窗最上方"
-#: models.py:286
+#: models.py:288
msgid ""
"Whether a link to this page will appear in automatically generated menus"
msgstr "是否在自動生成的 Menu 裡顯示一個連結到此頁面"
-#: models.py:289
+#: models.py:291
msgid "Go live date/time"
msgstr ""
-#: models.py:289 models.py:290
-msgid "Please add a date-time in the form YYYY-MM-DD hh:mm."
+#: models.py:291 models.py:292
+msgid "Please add a date-time in the form YYYY-MM-DD hh:mm:ss."
msgstr ""
-#: models.py:290
+#: models.py:292
msgid "Expiry date/time"
msgstr ""
-#: models.py:559
+#: models.py:564
#, fuzzy
msgid "name '{0}' (used in subpage_types list) is not defined."
msgstr "'%s' (用於子頁面類型列表) 沒有被建立。"
diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py
index a6d3c1f07..2919b809c 100644
--- a/wagtail/wagtailcore/models.py
+++ b/wagtail/wagtailcore/models.py
@@ -13,6 +13,7 @@ from django.http import Http404
from django.core.cache import cache
from django.core.handlers.wsgi import WSGIRequest
from django.core.handlers.base import BaseHandler
+from django.core.urlresolvers import reverse
from django.contrib.contenttypes.models import ContentType
from django.contrib.auth.models import Group
from django.conf import settings
@@ -31,7 +32,7 @@ from wagtail.wagtailcore.utils import camelcase_to_underscore
from wagtail.wagtailcore.query import PageQuerySet
from wagtail.wagtailcore.url_routing import RouteResult
-from wagtail.wagtailsearch import indexed
+from wagtail.wagtailsearch import index
from wagtail.wagtailsearch.backends import get_search_backend
@@ -273,7 +274,7 @@ class PageBase(models.base.ModelBase):
@python_2_unicode_compatible
-class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, indexed.Indexed)):
+class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed)):
title = models.CharField(max_length=255, help_text=_("The page title as you'd like it to be seen by the public"))
slug = models.SlugField(help_text=_("The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/"))
# TODO: enforce uniqueness on slug field per parent (will have to be done at the Django
@@ -293,13 +294,13 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, indexed.Index
expired = models.BooleanField(default=False, editable=False)
search_fields = (
- indexed.SearchField('title', partial_match=True, boost=100),
- indexed.FilterField('id'),
- indexed.FilterField('live'),
- indexed.FilterField('owner'),
- indexed.FilterField('content_type'),
- indexed.FilterField('path'),
- indexed.FilterField('depth'),
+ index.SearchField('title', partial_match=True, boost=100),
+ index.FilterField('id'),
+ index.FilterField('live'),
+ index.FilterField('owner'),
+ index.FilterField('content_type'),
+ index.FilterField('path'),
+ index.FilterField('depth'),
)
def __init__(self, *args, **kwargs):
@@ -488,7 +489,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, indexed.Index
"""Return the full URL (including protocol / domain) to this page, or None if it is not routable"""
for (id, root_path, root_url) in Site.get_site_root_paths():
if self.url_path.startswith(root_path):
- return root_url + self.url_path[len(root_path) - 1:]
+ return root_url + reverse('wagtail_serve', args=(self.url_path[len(root_path):],))
@property
def url(self):
@@ -503,7 +504,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, indexed.Index
root_paths = Site.get_site_root_paths()
for (id, root_path, root_url) in Site.get_site_root_paths():
if self.url_path.startswith(root_path):
- return ('' if len(root_paths) == 1 else root_url) + self.url_path[len(root_path) - 1:]
+ return ('' if len(root_paths) == 1 else root_url) + reverse('wagtail_serve', args=(self.url_path[len(root_path):],))
def relative_url(self, current_site):
"""
@@ -513,7 +514,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, indexed.Index
"""
for (id, root_path, root_url) in Site.get_site_root_paths():
if self.url_path.startswith(root_path):
- return ('' if current_site.id == id else root_url) + self.url_path[len(root_path) - 1:]
+ return ('' if current_site.id == id else root_url) + reverse('wagtail_serve', args=(self.url_path[len(root_path):],))
@classmethod
def search(cls, query_string, show_unpublished=False, search_title_only=False, extra_filters={}, prefetch_related=[], path=None):
diff --git a/wagtail/wagtailcore/tests/test_page_model.py b/wagtail/wagtailcore/tests/test_page_model.py
index 8a542d594..d494b2654 100644
--- a/wagtail/wagtailcore/tests/test_page_model.py
+++ b/wagtail/wagtailcore/tests/test_page_model.py
@@ -1,6 +1,7 @@
import warnings
from django.test import TestCase, Client
+from django.test.utils import override_settings
from django.http import HttpRequest, Http404
from wagtail.utils.deprecation import RemovedInWagtail06Warning
@@ -100,6 +101,16 @@ class TestSiteRouting(TestCase):
class TestRouting(TestCase):
fixtures = ['test.json']
+ # need to clear urlresolver caches before/after tests, because we override ROOT_URLCONF
+ # in some tests here
+ def setUp(self):
+ from django.core.urlresolvers import clear_url_caches
+ clear_url_caches()
+
+ def tearDown(self):
+ from django.core.urlresolvers import clear_url_caches
+ clear_url_caches()
+
def test_urls(self):
default_site = Site.objects.get(is_default_site=True)
homepage = Page.objects.get(url_path='/home/')
@@ -134,6 +145,21 @@ class TestRouting(TestCase):
self.assertEqual(christmas_page.relative_url(default_site), 'http://events.example.com/christmas/')
self.assertEqual(christmas_page.relative_url(events_site), '/christmas/')
+ @override_settings(ROOT_URLCONF='wagtail.tests.non_root_urls')
+ def test_urls_with_non_root_urlconf(self):
+ default_site = Site.objects.get(is_default_site=True)
+ homepage = Page.objects.get(url_path='/home/')
+ christmas_page = Page.objects.get(url_path='/home/events/christmas/')
+
+ # Basic installation only has one site configured, so page.url will return local URLs
+ self.assertEqual(homepage.full_url, 'http://localhost/site/')
+ self.assertEqual(homepage.url, '/site/')
+ self.assertEqual(homepage.relative_url(default_site), '/site/')
+
+ self.assertEqual(christmas_page.full_url, 'http://localhost/site/events/christmas/')
+ self.assertEqual(christmas_page.url, '/site/events/christmas/')
+ self.assertEqual(christmas_page.relative_url(default_site), '/site/events/christmas/')
+
def test_request_routing(self):
homepage = Page.objects.get(url_path='/home/')
christmas_page = EventPage.objects.get(url_path='/home/events/christmas/')
@@ -179,6 +205,16 @@ class TestServeView(TestCase):
from django.core.cache import cache
cache.delete('wagtail_site_root_paths')
+ # also need to clear urlresolver caches before/after tests, because we override
+ # ROOT_URLCONF in some tests here
+ from django.core.urlresolvers import clear_url_caches
+ clear_url_caches()
+
+ def tearDown(self):
+ from django.core.urlresolvers import clear_url_caches
+ clear_url_caches()
+
+
def test_serve(self):
response = self.client.get('/events/christmas/')
@@ -190,6 +226,18 @@ class TestServeView(TestCase):
self.assertContains(response, 'Christmas
')
self.assertContains(response, 'Event
')
+ @override_settings(ROOT_URLCONF='wagtail.tests.non_root_urls')
+ def test_serve_with_non_root_urls(self):
+ response = self.client.get('/site/events/christmas/')
+
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response.templates[0].name, 'tests/event_page.html')
+ christmas_page = EventPage.objects.get(url_path='/home/events/christmas/')
+ self.assertEqual(response.context['self'], christmas_page)
+
+ self.assertContains(response, 'Christmas
')
+ self.assertContains(response, 'Event
')
+
def test_serve_unknown_page_returns_404(self):
response = self.client.get('/events/quinquagesima/')
self.assertEqual(response.status_code, 404)
diff --git a/wagtail/wagtailcore/urls.py b/wagtail/wagtailcore/urls.py
index 9777dea8a..2e01bbfe0 100644
--- a/wagtail/wagtailcore/urls.py
+++ b/wagtail/wagtailcore/urls.py
@@ -10,5 +10,5 @@ urlpatterns = [
# a '/'. If a trailing slash is not present, we leave CommonMiddleware to
# handle it as usual (i.e. redirect it to the trailing slash version if
# settings.APPEND_SLASH is True)
- url(r'^((?:[\w\-]+/)*)$', views.serve)
+ url(r'^((?:[\w\-]+/)*)$', views.serve, name='wagtail_serve')
]
diff --git a/wagtail/wagtaildocs/admin_urls.py b/wagtail/wagtaildocs/admin_urls.py
index 9eaa3a50e..c26826b8c 100644
--- a/wagtail/wagtaildocs/admin_urls.py
+++ b/wagtail/wagtaildocs/admin_urls.py
@@ -11,4 +11,5 @@ urlpatterns = [
url(r'^chooser/$', chooser.chooser, name='wagtaildocs_chooser'),
url(r'^chooser/(\d+)/$', chooser.document_chosen, name='wagtaildocs_document_chosen'),
url(r'^chooser/upload/$', chooser.chooser_upload, name='wagtaildocs_chooser_upload'),
+ url(r'^usage/(\d+)/$', documents.usage, name='wagtaildocs_document_usage'),
]
diff --git a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo
index 83d710257..72177bf8e 100644
Binary files a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po
index b1fa27c73..ff8ce4bd1 100644
--- a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po
@@ -1,38 +1,38 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# LyuboslavPetrov , 2014
+# Lyuboslav Petrov , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/"
-"language/bg/)\n"
-"Language: bg\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Заглавие"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Файл"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Тагове"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Документи"
@@ -67,13 +67,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Има едно съвпадение\n"
-" "
-msgstr[1] ""
-"\n"
-"Има %(counter)s съвпадения"
+msgstr[0] "\n Има едно съвпадение\n "
+msgstr[1] "\nИма %(counter)s съвпадения"
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -133,11 +128,34 @@ msgstr "Качени"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Не сте качили никакви документи. Защо не качите един сега?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Не сте качили никакви документи. Защо не качите един сега?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -147,22 +165,22 @@ msgstr "Изчисти избора"
msgid "Choose another document"
msgstr "Избери друг документ"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Документ '{0}' добавен."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Документа не бе запазен поради грешки."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Документа '{0}' е обновен."
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Документа '{0}' е изтрит."
diff --git a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo
index f5a3507ef..cc704ed7d 100644
Binary files a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po
index df524532c..03625463e 100644
--- a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po
@@ -1,38 +1,38 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# Lloople , 2014
+# David Llop , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/"
-"ca/)\n"
-"Language: ca\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Títol"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Arxiu"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Tags"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Documents"
@@ -67,12 +67,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"Hi ha un resultat"
-msgstr[1] ""
-"\n"
-"Hi han %(counter)s resultats"
+msgstr[0] "\nHi ha un resultat"
+msgstr[1] "\nHi han %(counter)s resultats"
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -132,11 +128,34 @@ msgstr "Pujat"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "No has pujat cap document. Per què no pujes un ara?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"No has pujat cap document. Per què no pujes un ara?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -146,22 +165,22 @@ msgstr "Opció clara"
msgid "Choose another document"
msgstr "Escull un altre document"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Cercar documents"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Document '{0}' afegit."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "El document no s'ha pogut desar."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Document '{0}' actualitzat"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Document '{0}' esborrat."
diff --git a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo
index e420efdb4..d439342aa 100644
Binary files a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po
index 3039b9435..ae5dccc63 100644
--- a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po
@@ -1,39 +1,40 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# jspielmann , 2014
+# Johannes Spielmann , 2014
+# karlsander , 2014
# pcraston , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-24 18:54+0000\n"
-"Last-Translator: pcraston \n"
-"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/"
-"de/)\n"
-"Language: de\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Titel"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Datei"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Schlagwörter"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Dokumente"
@@ -68,14 +69,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Es gibt ein Ergebnis\n"
-" "
-msgstr[1] ""
-"\n"
-" Es gibt %(counter)s Ergebnisse\n"
-" "
+msgstr[0] "\n Es gibt ein Ergebnis\n "
+msgstr[1] "\n Es gibt %(counter)s Ergebnisse\n "
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -85,8 +80,7 @@ msgstr "Neueste Dokumente"
#: templates/wagtaildocs/documents/results.html:18
#, python-format
msgid "Sorry, no documents match \"%(query_string)s\""
-msgstr ""
-"Es gibt leider keine Dokumente zum Suchbegriff \"%(query_string)s\""
+msgstr "Es gibt leider keine Dokumente zum Suchbegriff \"%(query_string)s\""
#: templates/wagtaildocs/documents/_file_field.html:5
msgid "Change document:"
@@ -136,11 +130,34 @@ msgstr "Hochgeladen"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Sie haben noch keine Dokumente hochgeladen. Laden Sie doch jetzt eins hoch!"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Sie haben noch keine Dokumente hochgeladen.Laden Sie doch jetzt eins hoch!"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -150,22 +167,22 @@ msgstr "Auswahl zurücksetzen"
msgid "Choose another document"
msgstr "Anderes Dokument wählen"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Nach Dokumenten suchen"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Dokument '{0}' wurde hinzugefügt."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Aufgrund eines Fehlers konnte das Dokument nicht gespeichert werden."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Dokument '{0}' wurde hochgeladen"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Dokument '{0}' wurde gelöscht."
diff --git a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo
index c3f0f44cc..b8d5b0a38 100644
Binary files a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po
index a2788f9ef..15b8a82e9 100644
--- a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po
@@ -1,38 +1,38 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# serafeim , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/"
-"el/)\n"
-"Language: el\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Τίτλος"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Αρχείο"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Ετικέτες"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Έγγραφα"
@@ -67,14 +67,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Βρέθηκε ένα αποτέλεσμα\n"
-" "
-msgstr[1] ""
-"\n"
-" Βρέθηκαν %(counter)s αποτελέσματα\n"
-" "
+msgstr[0] "\n Βρέθηκε ένα αποτέλεσμα\n "
+msgstr[1] "\n Βρέθηκαν %(counter)s αποτελέσματα\n "
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -84,8 +78,7 @@ msgstr "Τελευταία έγγραφα"
#: templates/wagtaildocs/documents/results.html:18
#, python-format
msgid "Sorry, no documents match \"%(query_string)s\""
-msgstr ""
-"Δε βρέθηκαν έγγραφα που να ταιριάζουν με το \"%(query_string)s\""
+msgstr "Δε βρέθηκαν έγγραφα που να ταιριάζουν με το \"%(query_string)s\""
#: templates/wagtaildocs/documents/_file_field.html:5
msgid "Change document:"
@@ -135,11 +128,34 @@ msgstr "Ανεβασμένο"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Δεν υπάρχουν έγγραφα. Θέλετε να ανεβάσετε μερικά;"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Δεν υπάρχουν έγγραφα. Θέλετε να ανεβάσετε μερικά;"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -149,22 +165,22 @@ msgstr "Καθαρισμός επιλογής"
msgid "Choose another document"
msgstr "Επιλογή άλλου εγγράφου"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Αναζήτηση εγγράφων"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Το έγγραφο '{0}' προστέθηκε."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Δεν ήταν δυνατή η αποθήκευση του εγγράφου."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Έγινε διόρθωση του εγγράφου '{0}'"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Το έγγραφο '{0}' διαγράφηκε."
diff --git a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo
index 1ef6acf6b..3b83aafe9 100644
Binary files a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po
index 311446b0a..88d049cda 100644
--- a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,20 +17,21 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr ""
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr ""
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr ""
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr ""
@@ -130,6 +131,31 @@ msgid ""
"\"%(wagtaildocs_add_document_url)s\">upload one now?"
msgstr ""
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
msgstr ""
@@ -138,22 +164,22 @@ msgstr ""
msgid "Choose another document"
msgstr ""
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr ""
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr ""
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr ""
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr ""
diff --git a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo
index 3463b0618..d68ebd190 100644
Binary files a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po
index 8a5af4eb5..a8b711977 100644
--- a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
# fooflare , 2014
@@ -9,31 +9,31 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/"
-"es/)\n"
-"Language: es\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Título"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Archivo"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Etiquetas"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Documentos"
@@ -68,14 +68,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Hay una coincidencia\n"
-" "
-msgstr[1] ""
-"\n"
-" Hay %(counter)s coincidencias\n"
-" "
+msgstr[0] "\n Hay una coincidencia\n "
+msgstr[1] "\n Hay %(counter)s coincidencias\n "
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -135,11 +129,34 @@ msgstr "Subidos"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "No has subido documentos. ¿Por qué no subir uno ahora?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"No has subido documentos. ¿Por qué no subir uno ahora?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -149,22 +166,22 @@ msgstr "Borrar selección"
msgid "Choose another document"
msgstr "Elegir otro documento"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Buscar documentos"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Documento '{0}' añadido."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "El documento no pudo ser guardado debido a errores."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Documento '{0}' actualizado"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Documento '{0}' eliminado."
diff --git a/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.mo
index 7096916fe..972e8348c 100644
Binary files a/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.po
index e443bcf83..aa6f5d81b 100644
--- a/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/eu/LC_MESSAGES/django.po
@@ -1,37 +1,37 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/"
-"eu/)\n"
-"Language: eu\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr ""
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr ""
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr ""
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr ""
@@ -127,8 +127,33 @@ msgstr ""
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
@@ -139,22 +164,22 @@ msgstr ""
msgid "Choose another document"
msgstr ""
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr ""
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr ""
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr ""
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr ""
diff --git a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo
index 238279d50..96d2368bd 100644
Binary files a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po
index c7f6987d1..ec5c5f9bf 100644
--- a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po
@@ -1,38 +1,38 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# nahuel, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-18 23:15+0000\n"
-"Last-Translator: nahuel\n"
-"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/"
-"fr/)\n"
-"Language: fr\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Titre"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Fichier"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Mots-clés"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Documents"
@@ -128,8 +128,33 @@ msgstr ""
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
@@ -140,22 +165,22 @@ msgstr ""
msgid "Choose another document"
msgstr ""
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Document '{0}' ajouté."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Le document ne peut être enregistré du fait d'erreurs."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Document '{0}' mis à jour"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Document '{0}' supprimé."
diff --git a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo
index b6812e7ae..ea158d485 100644
Binary files a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po
index 7db93b01e..4a2ce5bef 100644
--- a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
# fooflare , 2014
@@ -9,31 +9,31 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-23 10:32+0000\n"
-"Last-Translator: fooflare \n"
-"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/"
-"language/gl/)\n"
-"Language: gl\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Título"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Arquivo"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Etiquetas"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Documentos"
@@ -68,14 +68,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Hai unha coincidencia\n"
-" "
-msgstr[1] ""
-"\n"
-" Hai %(counter)s coincidencias\n"
-" "
+msgstr[0] "\n Hai unha coincidencia\n "
+msgstr[1] "\n Hai %(counter)s coincidencias\n "
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -135,11 +129,34 @@ msgstr "Subidos"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Non subiches documentos. ¿Por qué non subir un agora?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Non subiches documentos. ¿Por qué non subir un agora?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -149,22 +166,22 @@ msgstr "Borrar selección"
msgid "Choose another document"
msgstr "Elixir outro documento"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Buscar documentos"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Documento '{0}' engadido."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "O documento non puido ser gardado debido a erros."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Documento '{0}' actualizado"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Documento '{0}' eliminado."
diff --git a/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.mo
index e991d2719..25e7bc353 100644
Binary files a/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.po
index 347262eb5..5e127bb88 100644
--- a/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/mn/LC_MESSAGES/django.po
@@ -1,37 +1,37 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/"
-"language/mn/)\n"
-"Language: mn\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/language/mn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr ""
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr ""
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr ""
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr ""
@@ -127,8 +127,33 @@ msgstr ""
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
@@ -139,22 +164,22 @@ msgstr ""
msgid "Choose another document"
msgstr ""
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr ""
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr ""
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr ""
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr ""
diff --git a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo
index 48d3dc03b..bb1d9fb47 100644
Binary files a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po
index 35f5cc84f..81db48471 100644
--- a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# utek , 2014
# utek , 2014
@@ -9,32 +9,31 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/"
-"pl/)\n"
-"Language: pl\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Tytuł"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Plik"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Tagi"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Dokumenty"
@@ -69,18 +68,9 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Jedno dopasowanie\n"
-" "
-msgstr[1] ""
-"\n"
-" Są %(counter)s dopasowania\n"
-" "
-msgstr[2] ""
-"\n"
-" Jest %(counter)s dopasowań\n"
-" "
+msgstr[0] "\n Jedno dopasowanie\n "
+msgstr[1] "\n Są %(counter)s dopasowania\n "
+msgstr[2] "\n Jest %(counter)s dopasowań\n "
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -90,8 +80,7 @@ msgstr "Najnowsze dokumenty"
#: templates/wagtaildocs/documents/results.html:18
#, python-format
msgid "Sorry, no documents match \"%(query_string)s\""
-msgstr ""
-"Przepraszamy, żaden dokument nie pasuje do \"%(query_string)s\""
+msgstr "Przepraszamy, żaden dokument nie pasuje do \"%(query_string)s\""
#: templates/wagtaildocs/documents/_file_field.html:5
msgid "Change document:"
@@ -141,11 +130,34 @@ msgstr "Przesłano"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Nie przesłano żadnych dokumentów. Czemu nie dodać jednego teraz?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Nie przesłano żadnych dokumentów. Czemu nie dodać jednego teraz?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -155,22 +167,22 @@ msgstr "Wyczyść wybór"
msgid "Choose another document"
msgstr "Wybierz inny dokument"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Szukaj dokumentów"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Dodano dokument '{0}'."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Dokument nie mógł zostać zapisany z powodu błędów."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Uaktualniono dokument '{0}'"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Usunięto dokument '{0}'"
diff --git a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..2ed7e9aaf
Binary files /dev/null and b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po
new file mode 100644
index 000000000..c352afd29
--- /dev/null
+++ b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po
@@ -0,0 +1,196 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+# Translators:
+# Thiago Cangussu , 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Wagtail 0.5.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-03 01:53+0100\n"
+"Last-Translator: Jose Lourenco \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"Language: pt_PT\n"
+
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
+#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
+msgid "Title"
+msgstr "Título"
+
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
+msgid "File"
+msgstr "Ficheiro"
+
+#: models.py:26
+msgid "Tags"
+msgstr "Etiquetas"
+
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
+msgid "Documents"
+msgstr "Documentos"
+
+#: templates/wagtaildocs/chooser/chooser.html:2
+#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:11
+msgid "Choose a document"
+msgstr "Escolher um documento"
+
+#: templates/wagtaildocs/chooser/chooser.html:7
+#: templates/wagtaildocs/chooser/chooser.html:19
+msgid "Search"
+msgstr "Procurar"
+
+#: templates/wagtaildocs/chooser/chooser.html:8
+msgid "Upload"
+msgstr "Enviar"
+
+#: templates/wagtaildocs/chooser/chooser.html:34
+#: templates/wagtaildocs/documents/add.html:25
+#: templates/wagtaildocs/documents/edit.html:29
+msgid "Save"
+msgstr "Guardar"
+
+#: templates/wagtaildocs/chooser/results.html:5
+#: templates/wagtaildocs/documents/results.html:5
+#, python-format
+msgid ""
+"\n"
+" There is one match\n"
+" "
+msgid_plural ""
+"\n"
+" There are %(counter)s matches\n"
+" "
+msgstr[0] ""
+"\n"
+" Existe uma correspondência\n"
+" "
+msgstr[1] ""
+"\n"
+" Existem %(counter)s correspondências\n"
+" "
+
+#: templates/wagtaildocs/chooser/results.html:12
+msgid "Latest documents"
+msgstr "Últimos documentos"
+
+#: templates/wagtaildocs/chooser/results.html:19
+#: templates/wagtaildocs/documents/results.html:18
+#, python-format
+msgid "Sorry, no documents match \"%(query_string)s\""
+msgstr "Desculpe, nenhum documento corresponde a \"%(query_string)s\""
+
+#: templates/wagtaildocs/documents/_file_field.html:5
+msgid "Change document:"
+msgstr "Alterar documento"
+
+#: templates/wagtaildocs/documents/add.html:4
+#: templates/wagtaildocs/documents/index.html:17
+msgid "Add a document"
+msgstr "Adicionar um documento"
+
+#: templates/wagtaildocs/documents/add.html:15
+msgid "Add document"
+msgstr "Adicionar documento"
+
+#: templates/wagtaildocs/documents/confirm_delete.html:3
+#, python-format
+msgid "Delete %(title)s"
+msgstr "Eliminar %(title)s"
+
+#: templates/wagtaildocs/documents/confirm_delete.html:6
+#: templates/wagtaildocs/documents/edit.html:29
+msgid "Delete document"
+msgstr "Eliminar documento"
+
+#: templates/wagtaildocs/documents/confirm_delete.html:10
+msgid "Are you sure you want to delete this document?"
+msgstr "Tem certeza que quer eliminar este documento?"
+
+#: templates/wagtaildocs/documents/confirm_delete.html:13
+msgid "Yes, delete"
+msgstr "Sim, eliminar"
+
+#: templates/wagtaildocs/documents/edit.html:4
+#, python-format
+msgid "Editing %(title)s"
+msgstr "Editando %(title)s"
+
+#: templates/wagtaildocs/documents/edit.html:15
+msgid "Editing"
+msgstr "Editando"
+
+#: templates/wagtaildocs/documents/list.html:21
+#: templates/wagtaildocs/documents/list.html:24
+msgid "Uploaded"
+msgstr "Enviado"
+
+#: templates/wagtaildocs/documents/results.html:21
+#, python-format
+msgid ""
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr ""
+"Ainda não enviou nenhum documento. Porque não enviar um agora?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr "Utilização de %(title)s"
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr "Utilização de"
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr "Ascendente"
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr "Tipo"
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr "Estado"
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
+msgstr "Editar esta ágina"
+
+#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
+msgid "Clear choice"
+msgstr "Limpar escolha"
+
+#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:10
+msgid "Choose another document"
+msgstr "Escolher outro documento"
+
+#: views/documents.py:37 views/documents.py:46
+msgid "Search documents"
+msgstr "Procurar documentos"
+
+#: views/documents.py:86
+msgid "Document '{0}' added."
+msgstr "Documento '{0}' adicionado."
+
+#: views/documents.py:89 views/documents.py:118
+msgid "The document could not be saved due to errors."
+msgstr "O documento não pôde ser guardado devido a erros."
+
+#: views/documents.py:115
+msgid "Document '{0}' updated"
+msgstr "Documento '{0}' atualizado"
+
+#: views/documents.py:137
+msgid "Document '{0}' deleted."
+msgstr "Documento '{0}' apagado."
diff --git a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo
index 88f0d2144..5e8f2dfa6 100644
Binary files a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po
index 196bf3a35..15b64f26e 100644
--- a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po
@@ -1,39 +1,38 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# zerolab, 2014
+# Dan Braghis, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-18 13:20+0000\n"
-"Last-Translator: zerolab\n"
-"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/"
-"language/ro/)\n"
-"Language: ro\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
-"2:1));\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "Titlu"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "Fișier"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "Etichete"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "Documente"
@@ -68,15 +67,9 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"Există o potrivire"
-msgstr[1] ""
-"\n"
-"Sunt %(counter)s potriviri"
-msgstr[2] ""
-"\n"
-"Sunt %(counter)s potriviri"
+msgstr[0] "\nExistă o potrivire"
+msgstr[1] "\nSunt %(counter)s potriviri"
+msgstr[2] "\nSunt %(counter)s potriviri"
#: templates/wagtaildocs/chooser/results.html:12
msgid "Latest documents"
@@ -86,9 +79,7 @@ msgstr "Documente recente"
#: templates/wagtaildocs/documents/results.html:18
#, python-format
msgid "Sorry, no documents match \"%(query_string)s\""
-msgstr ""
-"Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici un "
-"document"
+msgstr "Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici un document"
#: templates/wagtaildocs/documents/_file_field.html:5
msgid "Change document:"
@@ -138,11 +129,34 @@ msgstr "Încărcat"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "Nu ați încărcat nici un document. De ce să nu adăugați unul?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"Nu ați încărcat nici un document. De ce să nu adăugați unul?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -152,22 +166,22 @@ msgstr "Curăță selecție"
msgid "Choose another document"
msgstr "Alege alt document"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "Caută documente"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "Documentul '{0}' a fost adăugat."
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "Documentul nu a fost salvat din cauza erorilor."
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "Documentul '{0}' a fost actualizat."
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "Documentul '{0}' a fost șters."
diff --git a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo
index 550cc93de..358bef2f4 100644
Binary files a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po
index 3e29642cd..3ad210f18 100644
--- a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po
@@ -1,37 +1,37 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/"
-"zh/)\n"
-"Language: zh\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/zh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: zh\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "标题"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "文件"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "标签"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "文档"
@@ -126,11 +126,34 @@ msgstr "已上传"
#: templates/wagtaildocs/documents/results.html:21
#, python-format
msgid ""
-"You haven't uploaded any documents. Why not upload one now?"
+"You haven't uploaded any documents. Why not upload one now?"
+msgstr "你没有上传任何文档。 为什么不 上传一份?"
+
+#: templates/wagtaildocs/documents/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
msgstr ""
-"你没有上传任何文档。 为什么不 上"
-"传一份?"
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
@@ -140,22 +163,22 @@ msgstr "清除选择"
msgid "Choose another document"
msgstr "选择另外一份文档"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr ""
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "文档'{0}'已添加"
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "有错,文档无法保存。"
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "文档'{0}'已更新"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "文档'{0}'已删除"
diff --git a/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.mo
index 65fb219cc..45d304e3d 100644
Binary files a/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.po
index d11b715e5..cb2c41a37 100644
--- a/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.po
+++ b/wagtail/wagtaildocs/locale/zh_TW/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:42+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-03-14 21:12+0000\n"
"Last-Translator: wdv4758h \n"
"Language-Team: \n"
@@ -17,20 +17,21 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:20 templates/wagtaildocs/documents/list.html:11
+#: models.py:21 templates/wagtaildocs/documents/list.html:11
#: templates/wagtaildocs/documents/list.html:14
+#: templates/wagtaildocs/documents/usage.html:16
msgid "Title"
msgstr "標題"
-#: models.py:21 templates/wagtaildocs/documents/list.html:17
+#: models.py:22 templates/wagtaildocs/documents/list.html:17
msgid "File"
msgstr "文件"
-#: models.py:25
+#: models.py:26
msgid "Tags"
msgstr "標籤"
-#: wagtail_hooks.py:23 templates/wagtaildocs/documents/index.html:16
+#: wagtail_hooks.py:24 templates/wagtaildocs/documents/index.html:16
msgid "Documents"
msgstr "文件"
@@ -136,6 +137,31 @@ msgstr ""
"你沒有上傳任何文件。 為什麼不 上"
"傳一份?"
+#: templates/wagtaildocs/documents/usage.html:3
+#, fuzzy, python-format
+msgid "Usage of %(title)s"
+msgstr "刪除 %(title)s"
+
+#: templates/wagtaildocs/documents/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtaildocs/documents/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
#: templates/wagtaildocs/edit_handlers/document_chooser_panel.html:9
msgid "Clear choice"
msgstr "清除選擇"
@@ -144,22 +170,22 @@ msgstr "清除選擇"
msgid "Choose another document"
msgstr "選擇另外一份文件"
-#: views/documents.py:36 views/documents.py:45
+#: views/documents.py:37 views/documents.py:46
msgid "Search documents"
msgstr "搜尋文件"
-#: views/documents.py:85
+#: views/documents.py:86
msgid "Document '{0}' added."
msgstr "文件 '{0}' 已加入"
-#: views/documents.py:88 views/documents.py:117
+#: views/documents.py:89 views/documents.py:118
msgid "The document could not be saved due to errors."
msgstr "這文件因有錯誤而無法建立。"
-#: views/documents.py:114
+#: views/documents.py:115
msgid "Document '{0}' updated"
msgstr "文件 '{0}' 已更新"
-#: views/documents.py:136
+#: views/documents.py:137
msgid "Document '{0}' deleted."
msgstr "文件 '{0}' 已刪除"
diff --git a/wagtail/wagtaildocs/models.py b/wagtail/wagtaildocs/models.py
index 513c0ede0..5f9b374f2 100644
--- a/wagtail/wagtaildocs/models.py
+++ b/wagtail/wagtaildocs/models.py
@@ -12,7 +12,8 @@ from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import python_2_unicode_compatible
from wagtail.wagtailadmin.taggable import TagSearchable
-from wagtail.wagtailsearch import indexed
+from wagtail.wagtailadmin.utils import get_object_usage
+from wagtail.wagtailsearch import index
@python_2_unicode_compatible
@@ -25,7 +26,7 @@ class Document(models.Model, TagSearchable):
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags'))
search_fields = TagSearchable.search_fields + (
- indexed.FilterField('uploaded_by_user'),
+ index.FilterField('uploaded_by_user'),
)
def __str__(self):
@@ -47,6 +48,14 @@ class Document(models.Model, TagSearchable):
def url(self):
return reverse('wagtaildocs_serve', args=[self.id, self.filename])
+ def get_usage(self):
+ return get_object_usage(self)
+
+ @property
+ def usage_url(self):
+ return reverse('wagtaildocs_document_usage',
+ args=(self.id,))
+
def is_editable_by_user(self, user):
if user.has_perm('wagtaildocs.change_document'):
# user has global permission to change documents
diff --git a/wagtail/wagtaildocs/templates/wagtaildocs/documents/edit.html b/wagtail/wagtaildocs/templates/wagtaildocs/documents/edit.html
index 55734fbbd..62b9df514 100644
--- a/wagtail/wagtaildocs/templates/wagtaildocs/documents/edit.html
+++ b/wagtail/wagtaildocs/templates/wagtaildocs/documents/edit.html
@@ -13,7 +13,7 @@
{% block content %}
{% trans "Editing" as editing_str %}
- {% include "wagtailadmin/shared/header.html" with title=editing_str subtitle=document.title icon="doc-full-inverse" %}
+ {% include "wagtailadmin/shared/header.html" with title=editing_str subtitle=document.title icon="doc-full-inverse" usage_object=document %}
-
+
{% endblock %}
diff --git a/wagtail/wagtaildocs/templates/wagtaildocs/documents/usage.html b/wagtail/wagtaildocs/templates/wagtaildocs/documents/usage.html
new file mode 100644
index 000000000..01daa48fb
--- /dev/null
+++ b/wagtail/wagtaildocs/templates/wagtaildocs/documents/usage.html
@@ -0,0 +1,49 @@
+{% extends "wagtailadmin/base.html" %}
+{% load i18n %}
+{% block titletag %}{% blocktrans with title=document.title %}Usage of {{ title }}{% endblocktrans %}{% endblock %}
+{% block content %}
+ {% trans "Usage of" as usage_str %}
+ {% include "wagtailadmin/shared/header.html" with title=usage_str subtitle=document.title %}
+
+
+
+
+
+
+
+
+
+ | {% trans "Title" %} |
+ {% trans "Parent" %} |
+ {% trans "Type" %} |
+ {% trans "Status" %} |
+
+
+
+ {% for page in used_by %}
+
+ |
+
+ |
+
+ {% if page.get_parent %}
+ {{ page.get_parent.title }}
+ {% endif %}
+ |
+
+ {{ page.content_type.model_class.get_verbose_name }}
+ |
+
+ {% if page.live %}
+ {{ page.status_string }}
+ {% else %}
+ {{ page.status_string }}
+ {% endif %}
+ |
+
+ {% endfor %}
+
+
+
+ {% include "wagtailadmin/shared/pagination_nav.html" with items=used_by linkurl="-" %}
+{% endblock %}
diff --git a/wagtail/wagtaildocs/tests.py b/wagtail/wagtaildocs/tests.py
index b0f49fde5..5592635f2 100644
--- a/wagtail/wagtaildocs/tests.py
+++ b/wagtail/wagtaildocs/tests.py
@@ -5,8 +5,13 @@ from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group, Permission
from django.core.urlresolvers import reverse
from django.core.files.base import ContentFile
+from django.test.utils import override_settings
from wagtail.tests.utils import WagtailTestUtils
+from wagtail.wagtailcore.models import Page
+
+from wagtail.tests.models import EventPage, EventPageRelatedLink
+from wagtail.wagtaildocs.models import Document
from wagtail.wagtaildocs import models
@@ -316,3 +321,99 @@ class TestDocumentFilenameProperties(TestCase):
def tearDown(self):
self.document.delete()
self.extensionless_document.delete()
+
+
+class TestUsageCount(TestCase, WagtailTestUtils):
+ fixtures = ['wagtail/tests/fixtures/test.json']
+
+ def setUp(self):
+ self.login()
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_unused_document_usage_count(self):
+ doc = Document.objects.get(id=1)
+ self.assertEqual(doc.get_usage().count(), 0)
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_used_document_usage_count(self):
+ doc = Document.objects.get(id=1)
+ page = EventPage.objects.get(id=4)
+ event_page_related_link = EventPageRelatedLink()
+ event_page_related_link.page = page
+ event_page_related_link.link_document = doc
+ event_page_related_link.save()
+ self.assertEqual(doc.get_usage().count(), 1)
+
+ def test_usage_count_does_not_appear(self):
+ doc = Document.objects.get(id=1)
+ page = EventPage.objects.get(id=4)
+ event_page_related_link = EventPageRelatedLink()
+ event_page_related_link.page = page
+ event_page_related_link.link_document = doc
+ event_page_related_link.save()
+ response = self.client.get(reverse('wagtaildocs_edit_document',
+ args=(1,)))
+ self.assertNotContains(response, 'Used 1 time')
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_usage_count_appears(self):
+ doc = Document.objects.get(id=1)
+ page = EventPage.objects.get(id=4)
+ event_page_related_link = EventPageRelatedLink()
+ event_page_related_link.page = page
+ event_page_related_link.link_document = doc
+ event_page_related_link.save()
+ response = self.client.get(reverse('wagtaildocs_edit_document',
+ args=(1,)))
+ self.assertContains(response, 'Used 1 time')
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_usage_count_zero_appears(self):
+ response = self.client.get(reverse('wagtaildocs_edit_document',
+ args=(1,)))
+ self.assertContains(response, 'Used 0 times')
+
+
+class TestGetUsage(TestCase, WagtailTestUtils):
+ fixtures = ['wagtail/tests/fixtures/test.json']
+
+ def setUp(self):
+ self.login()
+
+ def test_document_get_usage_not_enabled(self):
+ doc = Document.objects.get(id=1)
+ self.assertEqual(list(doc.get_usage()), [])
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_unused_document_get_usage(self):
+ doc = Document.objects.get(id=1)
+ self.assertEqual(list(doc.get_usage()), [])
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_used_document_get_usage(self):
+ doc = Document.objects.get(id=1)
+ page = EventPage.objects.get(id=4)
+ event_page_related_link = EventPageRelatedLink()
+ event_page_related_link.page = page
+ event_page_related_link.link_document = doc
+ event_page_related_link.save()
+ self.assertTrue(issubclass(Page, type(doc.get_usage()[0])))
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_usage_page(self):
+ doc = Document.objects.get(id=1)
+ page = EventPage.objects.get(id=4)
+ event_page_related_link = EventPageRelatedLink()
+ event_page_related_link.page = page
+ event_page_related_link.link_document = doc
+ event_page_related_link.save()
+ response = self.client.get(reverse('wagtaildocs_document_usage',
+ args=(1,)))
+ self.assertContains(response, 'Christmas')
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_usage_page_no_usage(self):
+ response = self.client.get(reverse('wagtaildocs_document_usage',
+ args=(1,)))
+ # There's no usage so there should be no table rows
+ self.assertRegex(response.content, b'(\s|\n)*')
diff --git a/wagtail/wagtaildocs/views/documents.py b/wagtail/wagtaildocs/views/documents.py
index de72ee3b6..488e2ff9a 100644
--- a/wagtail/wagtaildocs/views/documents.py
+++ b/wagtail/wagtaildocs/views/documents.py
@@ -5,6 +5,7 @@ from django.contrib.auth.decorators import permission_required
from django.core.exceptions import PermissionDenied
from django.utils.translation import ugettext as _
from django.views.decorators.vary import vary_on_headers
+from django.core.urlresolvers import reverse
from wagtail.wagtailadmin.forms import SearchForm
@@ -120,7 +121,7 @@ def edit(request, document_id):
return render(request, "wagtaildocs/documents/edit.html", {
'document': doc,
- 'form': form,
+ 'form': form
})
@@ -139,3 +140,24 @@ def delete(request, document_id):
return render(request, "wagtaildocs/documents/confirm_delete.html", {
'document': doc,
})
+
+
+@permission_required('wagtailadmin.access_admin')
+def usage(request, document_id):
+ doc = get_object_or_404(Document, id=document_id)
+
+ # Pagination
+ p = request.GET.get('p', 1)
+ paginator = Paginator(doc.get_usage(), 20)
+
+ try:
+ used_by = paginator.page(p)
+ except PageNotAnInteger:
+ used_by = paginator.page(1)
+ except EmptyPage:
+ used_by = paginator.page(paginator.num_pages)
+
+ return render(request, "wagtaildocs/documents/usage.html", {
+ 'document': doc,
+ 'used_by': used_by
+ })
diff --git a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo
index 674b95ad4..47f0416d2 100644
Binary files a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po
index 356ac22c2..c90c66ff4 100644
--- a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-24 20:14+0000\n"
"Last-Translator: LyuboslavPetrov \n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/"
diff --git a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo
index 607ce39f7..4843837b9 100644
Binary files a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po
index 0628fc81a..f1605c473 100644
--- a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-22 12:45+0000\n"
"Last-Translator: Lloople \n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo
index 32837a283..f7d7daafc 100644
Binary files a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po
index 5cb1d5781..d608913fb 100644
--- a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-25 17:30+0000\n"
"Last-Translator: jspielmann \n"
"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo
index 6b8bee4e2..6d451a76b 100644
Binary files a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po
index a4fdd0b7d..cbc6c634b 100644
--- a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-22 12:34+0000\n"
"Last-Translator: serafeim \n"
"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo
index 4b726f7d6..3b83aafe9 100644
Binary files a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po
index 6643b00ee..d656d1d63 100644
--- a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo
index 3189ac588..fab6575b9 100644
Binary files a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po
index 109d5fb92..05e4915e1 100644
--- a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-27 09:34+0000\n"
"Last-Translator: fooflare \n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.mo
index 7a9b7b573..d2ae4a35f 100644
Binary files a/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.po
index 058a717f0..0b62bb6eb 100644
--- a/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/eu/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-24 22:36+0000\n"
"Last-Translator: tomdyson \n"
"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo
index 38a3ca80b..5f756ed8c 100644
Binary files a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po
index 1cd2eed64..dce212991 100644
--- a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-03-18 22:04+0000\n"
"Last-Translator: nahuel\n"
"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo
index dd0288afb..189ad2853 100644
Binary files a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po
index 6d027c5c1..bc48c912b 100644
--- a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-03-23 10:32+0000\n"
"Last-Translator: fooflare \n"
"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/"
diff --git a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo
index f18b1b35f..64a560793 100644
Binary files a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po
index 8f18fcace..a910cdb90 100644
--- a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-03-01 17:11+0000\n"
"Last-Translator: delgermurun \n"
"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/"
diff --git a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo
index 9f3bbcc54..3d76ba247 100644
Binary files a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po
index 4112c515b..1b4b89999 100644
--- a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-23 10:22+0000\n"
"Last-Translator: utek \n"
"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..0236ea963
Binary files /dev/null and b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po
new file mode 100644
index 000000000..9b6c937f6
--- /dev/null
+++ b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po
@@ -0,0 +1,57 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+# Translators:
+# Thiago Cangussu , 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Wagtail 0.5.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
+"PO-Revision-Date: 2014-08-03 01:53+0100\n"
+"Last-Translator: Jose Lourenco \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"Language: pt_PT\n"
+
+#: forms.py:11
+msgid "Please enter a valid URL"
+msgstr "Por favor introduza uma URL válida"
+
+#: forms.py:15
+msgid "URL"
+msgstr "URL"
+
+#: templates/wagtailembeds/chooser/chooser.html:3
+msgid "Insert embed"
+msgstr "Inserir embed"
+
+#: templates/wagtailembeds/chooser/chooser.html:14
+msgid "Insert"
+msgstr "Inserir"
+
+#: views/chooser.py:33
+msgid ""
+"There seems to be a problem with your embedly API key. Please check your "
+"settings."
+msgstr ""
+"Parece existir um problema com a sua chave API de embedly. Por favor "
+"verifique as suas configurações."
+
+#: views/chooser.py:35
+msgid "Cannot find an embed for this URL."
+msgstr "Não consigo encontrar um embed para esta URL."
+
+#: views/chooser.py:37
+msgid ""
+"There seems to be an error with Embedly while trying to embed this URL. "
+"Please try again later."
+msgstr ""
+"Parece que houve um erro em Embedly durante a tentativa de embed esta URL. "
+"Por favor tente novamente."
diff --git a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo
index b22bd1bb0..1dd734c80 100644
Binary files a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po
index 66f8f4838..38e848315 100644
--- a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-24 22:27+0000\n"
"Last-Translator: zerolab\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/"
diff --git a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo
index 205e6094b..321a4565c 100644
Binary files a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po
index c5cd2d54d..4514379b6 100644
--- a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-24 17:34+0000\n"
"Last-Translator: tomdyson \n"
"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/"
diff --git a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo
index 7a51d6e23..298bbc5de 100644
Binary files a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po
index 4a6b9aba2..df6f4e891 100644
--- a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po
+++ b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:43+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: 2014-02-24 17:34+0000\n"
"Last-Translator: wdv4758h \n"
"Language-Team: \n"
diff --git a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..3b83aafe9
Binary files /dev/null and b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po
index 3c183ff0f..4b64a68e9 100644
--- a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:44+0000\n"
+"POT-Creation-Date: 2014-08-01 16:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -79,7 +79,7 @@ msgstr ""
msgid "Optional - form submissions will be emailed to this address"
msgstr ""
-#: wagtail_hooks.py:22 templates/wagtailforms/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailforms/index.html:3
#: templates/wagtailforms/index.html:6
msgid "Forms"
msgstr ""
diff --git a/wagtail/wagtailimages/admin_urls.py b/wagtail/wagtailimages/admin_urls.py
new file mode 100644
index 000000000..44bc61224
--- /dev/null
+++ b/wagtail/wagtailimages/admin_urls.py
@@ -0,0 +1,23 @@
+from django.conf.urls import url
+
+from wagtail.wagtailimages.views import images, chooser, multiple
+
+
+urlpatterns = [
+ url(r'^$', images.index, name='wagtailimages_index'),
+ url(r'^(\d+)/$', images.edit, name='wagtailimages_edit_image'),
+ url(r'^(\d+)/delete/$', images.delete, name='wagtailimages_delete_image'),
+ url(r'^(\d+)/generate_url/$', images.url_generator, name='wagtailimages_url_generator'),
+ url(r'^(\d+)/generate_url/(.*)/$', images.generate_url, name='wagtailimages_generate_url'),
+ url(r'^add/$', images.add, name='wagtailimages_add_image'),
+ url(r'^usage/(\d+)/$', images.usage, name='wagtailimages_image_usage'),
+
+ url(r'^multiple/add/$', multiple.add, name='wagtailimages_add_multiple'),
+ url(r'^multiple/(\d+)/$', multiple.edit, name='wagtailimages_edit_multiple'),
+ url(r'^multiple/(\d+)/delete/$', multiple.delete, name='wagtailimages_delete_multiple'),
+
+ url(r'^chooser/$', chooser.chooser, name='wagtailimages_chooser'),
+ url(r'^chooser/(\d+)/$', chooser.image_chosen, name='wagtailimages_image_chosen'),
+ url(r'^chooser/upload/$', chooser.chooser_upload, name='wagtailimages_chooser_upload'),
+ url(r'^chooser/(\d+)/select_format/$', chooser.chooser_select_format, name='wagtailimages_chooser_select_format'),
+]
diff --git a/wagtail/wagtailimages/backends/base.py b/wagtail/wagtailimages/backends/base.py
index 7024c358d..a374f6ce1 100644
--- a/wagtail/wagtailimages/backends/base.py
+++ b/wagtail/wagtailimages/backends/base.py
@@ -1,5 +1,7 @@
from django.conf import settings
+from wagtail.wagtailimages.utils import crop
+
class BaseImageBackend(object):
def __init__(self, params):
@@ -27,10 +29,34 @@ class BaseImageBackend(object):
"""
raise NotImplementedError('subclasses of BaseImageBackend must provide an resize() method')
- def crop_to_centre(self, image, size):
- raise NotImplementedError('subclasses of BaseImageBackend must provide a crop_to_centre() method')
+ def image_data_as_rgb(self, image):
+ raise NotImplementedError('subclasses of BaseImageBackend must provide an image_data_as_rgb() method')
- def resize_to_max(self, image, size):
+ def crop(self, image, crop_box):
+ raise NotImplementedError('subclasses of BaseImageBackend must provide a crop() method')
+
+ def crop_to_centre(self, image, size):
+ crop_box = crop.crop_to_centre(image.size, size)
+ if crop_box.size != image.size:
+ return self.crop(image, crop_box)
+ else:
+ return image
+
+ def crop_to_point(self, image, size, focal_point):
+ crop_box = crop.crop_to_point(image.size, size, focal_point)
+
+ # Don't crop if we don't need to
+ if crop_box.size != image.size:
+ image = self.crop(image, crop_box)
+
+ # If the focal points are too large, the cropping system may not
+ # crop it fully, resize the image if this has happened:
+ if crop_box.size != size:
+ image = self.resize_to_fill(image, size)
+
+ return image
+
+ def resize_to_max(self, image, size, focal_point=None):
"""
Resize image down to fit within the given dimensions, preserving aspect ratio.
Will leave image unchanged if it's already within those dimensions.
@@ -54,7 +80,7 @@ class BaseImageBackend(object):
return self.resize(image, final_size)
- def resize_to_min(self, image, size):
+ def resize_to_min(self, image, size, focal_point=None):
"""
Resize image down to cover the given dimensions, preserving aspect ratio.
Will leave image unchanged if width or height is already within those limits.
@@ -78,7 +104,7 @@ class BaseImageBackend(object):
return self.resize(image, final_size)
- def resize_to_width(self, image, target_width):
+ def resize_to_width(self, image, target_width, focal_point=None):
"""
Resize image down to the given width, preserving aspect ratio.
Will leave image unchanged if it's already within that width.
@@ -94,7 +120,7 @@ class BaseImageBackend(object):
return self.resize(image, final_size)
- def resize_to_height(self, image, target_height):
+ def resize_to_height(self, image, target_height, focal_point=None):
"""
Resize image down to the given height, preserving aspect ratio.
Will leave image unchanged if it's already within that height.
@@ -110,16 +136,18 @@ class BaseImageBackend(object):
return self.resize(image, final_size)
- def resize_to_fill(self, image, size):
+ def resize_to_fill(self, image, size, focal_point=None):
"""
Resize down and crop image to fill the given dimensions. Most suitable for thumbnails.
(The final image will match the requested size, unless one or the other dimension is
already smaller than the target size)
"""
- resized_image = self.resize_to_min(image, size)
- return self.crop_to_centre(resized_image, size)
+ if focal_point is not None:
+ return self.crop_to_point(image, size, focal_point)
+ else:
+ resized_image = self.resize_to_min(image, size)
+ return self.crop_to_centre(resized_image, size)
-
- def no_operation(self, image, param):
+ def no_operation(self, image, param, focal_point=None):
"""Return the image unchanged"""
return image
diff --git a/wagtail/wagtailimages/backends/pillow.py b/wagtail/wagtailimages/backends/pillow.py
index 96976c277..a1963f931 100644
--- a/wagtail/wagtailimages/backends/pillow.py
+++ b/wagtail/wagtailimages/backends/pillow.py
@@ -1,8 +1,9 @@
from __future__ import absolute_import
-from .base import BaseImageBackend
import PIL.Image
+from wagtail.wagtailimages.backends.base import BaseImageBackend
+
class PillowBackend(BaseImageBackend):
def __init__(self, params):
@@ -20,19 +21,15 @@ class PillowBackend(BaseImageBackend):
image = image.convert('RGB')
return image.resize(size, PIL.Image.ANTIALIAS)
- def crop_to_centre(self, image, size):
- (original_width, original_height) = image.size
- (target_width, target_height) = size
+ def crop(self, image, crop_box):
+ return image.crop(crop_box)
- # final dimensions should not exceed original dimensions
- final_width = min(original_width, target_width)
- final_height = min(original_height, target_height)
+ def image_data_as_rgb(self, image):
+ # https://github.com/thumbor/thumbor/blob/f52360dc96eedd9fc914fcf19eaf2358f7e2480c/thumbor/engines/pil.py#L206-L215
+ if image.mode not in ['RGB', 'RGBA']:
+ if 'A' in image.mode:
+ image = image.convert('RGBA')
+ else:
+ image = image.convert('RGB')
- if final_width == original_width and final_height == original_height:
- return image
-
- left = (original_width - final_width) / 2
- top = (original_height - final_height) / 2
- return image.crop(
- (left, top, left + final_width, top + final_height)
- )
+ return image.mode, image.tostring()
diff --git a/wagtail/wagtailimages/backends/wand.py b/wagtail/wagtailimages/backends/wand.py
index 91f2d255a..3c41f60c1 100644
--- a/wagtail/wagtailimages/backends/wand.py
+++ b/wagtail/wagtailimages/backends/wand.py
@@ -1,9 +1,10 @@
from __future__ import absolute_import
-from .base import BaseImageBackend
from wand.image import Image
from wand.api import library
+from wagtail.wagtailimages.backends.base import BaseImageBackend
+
class WandBackend(BaseImageBackend):
def __init__(self, params):
@@ -24,22 +25,17 @@ class WandBackend(BaseImageBackend):
new_image.resize(size[0], size[1])
return new_image
- def crop_to_centre(self, image, size):
- (original_width, original_height) = image.size
- (target_width, target_height) = size
-
- # final dimensions should not exceed original dimensions
- final_width = min(original_width, target_width)
- final_height = min(original_height, target_height)
-
- if final_width == original_width and final_height == original_height:
- return image
-
- left = (original_width - final_width) / 2
- top = (original_height - final_height) / 2
-
+ def crop(self, image, crop_box):
new_image = image.clone()
new_image.crop(
- left=left, top=top, right=left + final_width, bottom=top + final_height
+ left=crop_box[0], top=crop_box[1], right=crop_box[2], bottom=crop_box[3]
)
return new_image
+
+ def image_data_as_rgb(self, image):
+ # Only return image data if this image is not animated
+ if image.animation:
+ return
+
+ return 'RGB', image.make_blob('RGB')
+
diff --git a/wagtail/wagtailimages/forms.py b/wagtail/wagtailimages/forms.py
index 01075f533..5f98fd1b0 100644
--- a/wagtail/wagtailimages/forms.py
+++ b/wagtail/wagtailimages/forms.py
@@ -1,5 +1,6 @@
from django import forms
from django.forms.models import modelform_factory
+from django.utils.translation import ugettext as _
from wagtail.wagtailimages.models import get_image_model
from wagtail.wagtailimages.formats import get_image_formats
@@ -29,3 +30,19 @@ class ImageInsertionForm(forms.Form):
widget=forms.RadioSelect
)
alt_text = forms.CharField()
+
+
+class URLGeneratorForm(forms.Form):
+ filter_method = forms.ChoiceField(
+ label=_("Filter"),
+ choices=(
+ ('original', _("Original size")),
+ ('width', _("Resize to width")),
+ ('height', _("Resize to height")),
+ ('min', _("Resize to min")),
+ ('max', _("Resize to max")),
+ ('fill', _("Resize to fill")),
+ ),
+ )
+ width = forms.IntegerField(_("Width"), min_value=0)
+ height = forms.IntegerField(_("Height"), min_value=0)
diff --git a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo
index d85efeef8..bbfc710a9 100644
Binary files a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po
index 019a2e8e7..d065aad7e 100644
--- a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po
@@ -1,53 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# LyuboslavPetrov , 2014
+# Lyuboslav Petrov , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/"
-"language/bg/)\n"
-"Language: bg\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Заглавие"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Файл"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Тагове"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"Невалиден формат на изображение. Моля ползвайте gif, jpeg или png файлове."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"Невалиден формат на изображение. Моля ползвайте gif, jpeg или png файлове."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Изображения"
@@ -82,13 +101,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Има едно съвпадение\n"
-" "
-msgstr[1] ""
-"\n"
-"Има %(counter)s съвпадения"
+msgstr[0] "\n Има едно съвпадение\n "
+msgstr[1] "\nИма %(counter)s съвпадения"
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -144,6 +158,7 @@ msgid "Yes, delete"
msgstr "Да, изтрий го"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Редакция на %(title)s"
@@ -160,32 +175,121 @@ msgstr ""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Не сте качили никакви изображения. Защо не качите едно сега?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Не сте качили никакви изображения. Защо не качите едно сега?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr ""
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Изображение '{0}' обновено."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Изображението не можеше да бъде запазено поради грешки."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Изображение '{0}' изтрито."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Изображение '{0}' добавено."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Изображението не можеше да бъде създадено поради грешки."
diff --git a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo
index 5d6166928..08f5ccfdb 100644
Binary files a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po
index 3fa7b7478..d43082fd6 100644
--- a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po
@@ -1,55 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# Lloople , 2014
+# David Llop , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:58+0000\n"
-"Last-Translator: Lloople \n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/"
-"ca/)\n"
-"Language: ca\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Títol"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Arxiu"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Tags"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"No és un format d'imatge vàlid. Si us plau fes servir gif, jpeg o png com a "
-"formats."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"No és un format d'imatge vàlid. Si us plau fes servir gif, jpeg o png com a "
-"formats."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Imatges"
@@ -84,12 +101,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"Hi ha un resultat"
-msgstr[1] ""
-"\n"
-"Hi han %(counter)s resultats"
+msgstr[0] "\nHi ha un resultat"
+msgstr[1] "\nHi han %(counter)s resultats"
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -145,6 +158,7 @@ msgid "Yes, delete"
msgstr "Si, esborra"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Editant imatge %(title)s"
@@ -161,32 +175,121 @@ msgstr "Ho sentim, cap imatge coincideix amb \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"No has pujat cap imatge. Per què no afegeixes una ara?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "No has pujat cap imatge. Per què no afegeixes una ara?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Cercar imatges"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Imatge '{0}' actualitzada."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "No s'ha pogut desar la imatge."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Imatge '{0}' eliminada."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Imatge '{0}' afegida."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "No s'ha pogut crear la imatge."
diff --git a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo
index 8f9ffa29c..0cb48f45d 100644
Binary files a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po
index 62997f97c..9f186eb44 100644
--- a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po
@@ -1,54 +1,73 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# jspielmann , 2014
+# Johannes Spielmann , 2014
# pcraston , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-24 19:01+0000\n"
-"Last-Translator: pcraston \n"
-"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/"
-"de/)\n"
-"Language: de\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Titel"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Datei"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Schlagwörter"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"Kein gültiges Bildformat. Bitte benutzen Sie GIF-, JPEG- oder PNG-Dateien."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"Kein gültiges Bildformat. Bitte benutzen Sie GIF-, JPEG- oder PNG-Dateien."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Bilder"
@@ -83,14 +102,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Es gibt ein Ergebnis\n"
-" "
-msgstr[1] ""
-"\n"
-" Es gibt %(counter)s Ergebnisse\n"
-" "
+msgstr[0] "\n Es gibt ein Ergebnis\n "
+msgstr[1] "\n Es gibt %(counter)s Ergebnisse\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -146,6 +159,7 @@ msgid "Yes, delete"
msgstr "Ja, löschen"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Bild %(title)s bearbeiten"
@@ -157,38 +171,126 @@ msgstr "Bearbeiten"
#: templates/wagtailimages/images/results.html:31
#, python-format
msgid "Sorry, no images match \"%(query_string)s\""
-msgstr ""
-"Es gibt leider keine Bilder zum Suchbegriff \"%(query_string)s\""
+msgstr "Es gibt leider keine Bilder zum Suchbegriff \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Sie haben noch keine Bilder hochgeladen. Laden Sie doch jetzt eins hoch!"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Sie haben noch keine Bilder hochgeladen. Laden Sie doch jetzt eins hoch!"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Nach Bildern suchen"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Bild '{0}' geändert."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Aufgrund von Fehlern konnte das Bild nicht gespeichert werden."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Bild '{0}' gelöscht."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Bild '{0}' hinzugefügt."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Aufgrund von Fehlern konnte das Bild nicht erstellt werden."
diff --git a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo
index 07a20313a..fb25dfafc 100644
Binary files a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po
index 260846989..92bb5f8af 100644
--- a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po
@@ -1,51 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# serafeim , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:17+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/"
-"el/)\n"
-"Language: el\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Τίτλος"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Αρχείο"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Ετικέτες"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr "Πρέπει να ανεβάσετε αρχείο εικόνας τύπου gif, gpeg ή png."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr "Πρέπει να ανεβάσετε αρχείο εικόνας τύπου gif, gpeg ή png."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Εικόνες"
@@ -80,13 +101,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"Βρέθηκε ένα αποτέλεσμα"
-msgstr[1] ""
-"\n"
-" Βρέθηκαν %(counter)s αποτελέσματα\n"
-" "
+msgstr[0] "\nΒρέθηκε ένα αποτέλεσμα"
+msgstr[1] "\n Βρέθηκαν %(counter)s αποτελέσματα\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -142,6 +158,7 @@ msgid "Yes, delete"
msgstr "Ναι, να διαγραφεί"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Επεξεργασία εικόνας %(title)s"
@@ -153,38 +170,126 @@ msgstr "Διόρθωση"
#: templates/wagtailimages/images/results.html:31
#, python-format
msgid "Sorry, no images match \"%(query_string)s\""
-msgstr ""
-"Λυπούμαστε, καμία εικόνα δε ταιριάζει με το \"%(query_string)s\""
+msgstr "Λυπούμαστε, καμία εικόνα δε ταιριάζει με το \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Δεν υπάρχουν εικόνες. Θέλετε να προσθέσετε μερικές;"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Δεν υπάρχουν εικόνες. Θέλετε να προσθέσετε μερικές;"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Αναζήτηση εικόνων"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Η εικόνα '{0}' ενημερώθηκε."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Δεν ήταν δυνατή η αποθήκευση της εικόνας."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Η εικόνα '{0}' διαγράφηκε."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Η εικόνα '{0}' δημιουργήθηκε."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Δεν ήταν δυνατή η δημιουργία της εικόνας."
diff --git a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo
index 4b726f7d6..44e531ab0 100644
Binary files a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po
index 035259450..3fddd59f3 100644
--- a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,32 +17,55 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr ""
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr ""
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr ""
-#: utils.py:17
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-
-#: utils.py:28
-#, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr ""
@@ -134,6 +157,7 @@ msgid "Yes, delete"
msgstr ""
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr ""
@@ -154,26 +178,117 @@ msgid ""
"\"%(wagtailimages_add_image_url)s\">add one now?"
msgstr ""
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr ""
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr ""
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr ""
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr ""
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr ""
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr ""
diff --git a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo
index e6210845b..d57e9c728 100644
Binary files a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po
index 5079ae3e5..9f8743311 100644
--- a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
# fooflare , 2014
@@ -9,48 +9,65 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-23 10:21+0000\n"
-"Last-Translator: fooflare \n"
-"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/"
-"es/)\n"
-"Language: es\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Título"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Archivo"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Etiquetas"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"No es un formato válido de imagen. Por favor, usa en su lugar un archivo "
-"gif, jpeg o png."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"No es un formato válido de imagen. Por favor, usa en su lugar un archivo "
-"gif, jpeg o png."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Imágenes"
@@ -85,14 +102,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Hay una coincidencia\n"
-" "
-msgstr[1] ""
-"\n"
-" Hay %(counter)s coincidencias\n"
-" "
+msgstr[0] "\n Hay una coincidencia\n "
+msgstr[1] "\n Hay %(counter)s coincidencias\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -148,6 +159,7 @@ msgid "Yes, delete"
msgstr "Sí, eliminar"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Editando imagen %(title)s"
@@ -159,39 +171,126 @@ msgstr "Editando"
#: templates/wagtailimages/images/results.html:31
#, python-format
msgid "Sorry, no images match \"%(query_string)s\""
-msgstr ""
-"Lo sentimos, no hay coincidencias en las imágenes \"%(query_string)s"
-"\""
+msgstr "Lo sentimos, no hay coincidencias en las imágenes \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"No has subido imágenes. ¿Por qué no añadir una ahora?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "No has subido imágenes. ¿Por qué no añadir una ahora?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Buscar imágenes"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Imagen '{0}' actualizada."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "La imagen no puedo ser guardada debido a errores"
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Imagen '{0}' eliminada."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Imagen '{0}' añadida."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "La imagen no pudo ser creada debido a errores."
diff --git a/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.mo
index f5afff9e4..b3e5368fc 100644
Binary files a/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.po
index 6a2bb4615..c07a35c6d 100644
--- a/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/eu/LC_MESSAGES/django.po
@@ -1,49 +1,71 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/"
-"eu/)\n"
-"Language: eu\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr ""
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr ""
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr ""
-#: utils.py:17
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-
-#: utils.py:28
-#, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr ""
@@ -135,6 +157,7 @@ msgid "Yes, delete"
msgstr ""
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr ""
@@ -151,30 +174,121 @@ msgstr ""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
+"You've not uploaded any images. Why not add one now?"
msgstr ""
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr ""
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr ""
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr ""
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr ""
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr ""
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr ""
diff --git a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo
index ffe2d5ee6..7655a52f3 100644
Binary files a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po
index 824522083..fe6d971b6 100644
--- a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po
@@ -1,53 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# nahuel, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-18 23:15+0000\n"
-"Last-Translator: nahuel\n"
-"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/"
-"fr/)\n"
-"Language: fr\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Titre"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Fichier"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Mots-clés"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"Format d'image invalide. Utilisez à la place un fichier gif, jpeg ou png."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"Format d'image invalide. Utilisez à la place un fichier gif, jpeg ou png."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Images"
@@ -82,14 +101,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Il y a une correspondance\n"
-" "
-msgstr[1] ""
-"\n"
-" Il y a %(counter)s correspondances\n"
-" "
+msgstr[0] "\n Il y a une correspondance\n "
+msgstr[1] "\n Il y a %(counter)s correspondances\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -145,6 +158,7 @@ msgid "Yes, delete"
msgstr "Oui, supprimer"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Édition de l'image %(title)s"
@@ -161,30 +175,121 @@ msgstr "Désolé, aucune image ne correspond à \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
+"You've not uploaded any images. Why not add one now?"
msgstr ""
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr ""
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Image '{0}' mise à jour."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr ""
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Image '{0}' supprimée."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Image '{0}' ajoutée."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr ""
diff --git a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo
index 674a09a72..69f7ddd9d 100644
Binary files a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po
index ed219144d..1208c799e 100644
--- a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# fooflare , 2014
# fooflare , 2014
@@ -9,48 +9,65 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-23 10:32+0000\n"
-"Last-Translator: fooflare \n"
-"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/"
-"language/gl/)\n"
-"Language: gl\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Título"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Arquivo"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Etiquetas"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"Non é un formato válido de imaxe. Por favor, usa no seu lugar un arquivo "
-"gif, jpeg o png."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"Non é un formato válido de imaxe. Por favor, usa no seu lugar un arquivo "
-"gif, jpeg o png."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Imaxes"
@@ -85,14 +102,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Hai unha coincidencia\n"
-" "
-msgstr[1] ""
-"\n"
-" Hai %(counter)s coincidencias\n"
-" "
+msgstr[0] "\n Hai unha coincidencia\n "
+msgstr[1] "\n Hai %(counter)s coincidencias\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -148,6 +159,7 @@ msgid "Yes, delete"
msgstr "Sí, eliminar"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Editando imaxe %(title)s"
@@ -164,32 +176,121 @@ msgstr "Sentímolo, ningunha imaxe contén \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"No subiches imaxes. ¿Por qué non engadir unha agora?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "No subiches imaxes. ¿Por qué non engadir unha agora?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Buscar imaxes"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Imaxe '{0}' actualizada."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "A imaxe non puido ser gardada debido a erros"
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Imaxe '{0}' eliminada."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Imaxe '{0}' engadida."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "A imaxe non puido ser creada debido a erros."
diff --git a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo
index 85f5890bd..04e2a47d0 100644
Binary files a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po
index b6c48082f..f641c1c3e 100644
--- a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po
@@ -1,51 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# delgermurun , 2014
+# Delgermurun Purevkhuuu , 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/"
-"language/mn/)\n"
-"Language: mn\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/language/mn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Гарчиг"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Файл"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Шошго"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr "Буруу форматтай зураг байна. gif, jpeg, png форматыг зөвшөөрнө."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr "Буруу форматтай зураг байна. gif, jpeg, png форматыг зөвшөөрнө."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Зургууд"
@@ -80,12 +101,8 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"1 зураг олдлоо"
-msgstr[1] ""
-"\n"
-"%(counter)s зураг олдлоо"
+msgstr[0] "\n1 зураг олдлоо"
+msgstr[1] "\n%(counter)s зураг олдлоо"
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -141,6 +158,7 @@ msgid "Yes, delete"
msgstr "Тийм, устга"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "%(title)s зургийг засч байна"
@@ -157,32 +175,121 @@ msgstr ""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Та зураг оруулаагүй байна. Яагаад одоо нэгийг оруулж болохгүй гэж?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Та зураг оруулаагүй байна. Яагаад одоо нэгийг оруулж болохгүй гэж?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Зураг хайх"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "'{0}' зураг засагдлаа."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Зураг энэ алдаануудаас шалтгаалан хадгалагдсангүй."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "'{0}' зураг устлаа."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "'{0}' зураг нэмэгдлээ."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Зураг энэ алдаануудаас шалтгаалан хадгалагдсангүй."
diff --git a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo
index d11ef1bec..c586dfedc 100644
Binary files a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po
index d0925b373..5cdbdd5c8 100644
--- a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# utek , 2014
# utek , 2014
@@ -9,49 +9,65 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 22:16+0000\n"
-"Last-Translator: utek \n"
-"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/"
-"pl/)\n"
-"Language: pl\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Tytuł"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Plik"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Tagi"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr ""
-"Niepoprawny format obrazu. Użyj proszę jednego z następujących formatów: "
-"gif, jpeg lub png."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr ""
-"Niepoprawny format obrazu. Użyj proszę jednego z następujących formatów: "
-"gif, jpeg lub png."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Obrazy"
@@ -86,18 +102,9 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-" Jedno dopasowanie\n"
-" "
-msgstr[1] ""
-"\n"
-" Znaleziono %(counter)s dopasowania\n"
-" "
-msgstr[2] ""
-"\n"
-" Znaleziono %(counter)s dopasowań\n"
-" "
+msgstr[0] "\n Jedno dopasowanie\n "
+msgstr[1] "\n Znaleziono %(counter)s dopasowania\n "
+msgstr[2] "\n Znaleziono %(counter)s dopasowań\n "
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -153,6 +160,7 @@ msgid "Yes, delete"
msgstr "Tak, usuń"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Edycja obrazu %(title)s"
@@ -169,32 +177,121 @@ msgstr "Przepraszamy, żaden obraz nie pasuje do \"%(query_string)s\""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Nie przesłano żadnych obrazów. Czemu nie dodać jednego teraz?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Nie przesłano żadnych obrazów. Czemu nie dodać jednego teraz?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Szukaj obrazów"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Uaktualniono obraz '{0}'."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Obraz nie mógł zostać zapisany z powodu błędów."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Usunięto obraz '{0}'."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Dodano obraz '{0}'."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Obraz nie mógł zostać stworzony z powodu błędów."
diff --git a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..dfde945b6
Binary files /dev/null and b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po
new file mode 100644
index 000000000..13f4e9c99
--- /dev/null
+++ b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po
@@ -0,0 +1,314 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+# Translators:
+# Thiago Cangussu , 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Wagtail 0.5.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-03 01:55+0100\n"
+"Last-Translator: Jose Lourenco \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"Language: pt_PT\n"
+
+#: forms.py:37
+msgid "Filter"
+msgstr "Filtro"
+
+#: forms.py:39
+msgid "Original size"
+msgstr "Dimensão original"
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr "Redimensionar pela largura"
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr "Redimensionar pela altura"
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr "Redimensionar pelo min"
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr "Redimensionar pelo máx"
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr "Redimensionar para preencher"
+
+#: forms.py:47
+msgid "Width"
+msgstr "Largura"
+
+#: forms.py:48
+msgid "Height"
+msgstr "Altura"
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
+msgid "Title"
+msgstr "Título"
+
+#: models.py:49
+msgid "File"
+msgstr "Ficheiro"
+
+#: models.py:55
+msgid "Tags"
+msgstr "Etiquetas"
+
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
+#: templates/wagtailimages/images/index.html:18
+msgid "Images"
+msgstr "Imagens"
+
+#: templates/wagtailimages/chooser/chooser.html:3
+#: templates/wagtailimages/edit_handlers/image_chooser_panel.html:19
+msgid "Choose an image"
+msgstr "Escolher uma imagem"
+
+#: templates/wagtailimages/chooser/chooser.html:8
+#: templates/wagtailimages/chooser/chooser.html:20
+msgid "Search"
+msgstr "Procurar"
+
+#: templates/wagtailimages/chooser/chooser.html:9
+#: templates/wagtailimages/chooser/chooser.html:43
+msgid "Upload"
+msgstr "Enviar"
+
+#: templates/wagtailimages/chooser/chooser.html:23
+msgid "Popular tags"
+msgstr "Etiquetas frequentes"
+
+#: templates/wagtailimages/chooser/results.html:6
+#: templates/wagtailimages/images/results.html:6
+#, python-format
+msgid ""
+"\n"
+" There is one match\n"
+" "
+msgid_plural ""
+"\n"
+" There are %(counter)s matches\n"
+" "
+msgstr[0] ""
+"\n"
+" Existe uma correspondência\n"
+" "
+msgstr[1] ""
+"\n"
+" Existem %(counter)s correspondências\n"
+" "
+
+#: templates/wagtailimages/chooser/results.html:13
+#: templates/wagtailimages/images/results.html:13
+msgid "Latest images"
+msgstr "Últimas imagens"
+
+#: templates/wagtailimages/chooser/select_format.html:3
+msgid "Choose a format"
+msgstr "Escolher um formato"
+
+#: templates/wagtailimages/chooser/select_format.html:17
+msgid "Insert image"
+msgstr "Inserir imagem"
+
+#: templates/wagtailimages/edit_handlers/image_chooser_panel.html:17
+msgid "Clear image"
+msgstr "Limpar imagem"
+
+#: templates/wagtailimages/edit_handlers/image_chooser_panel.html:18
+msgid "Choose another image"
+msgstr "Escolher outra imagem"
+
+#: templates/wagtailimages/images/_file_field.html:6
+msgid "Change image:"
+msgstr "Alterar imagem:"
+
+#: templates/wagtailimages/images/add.html:4
+#: templates/wagtailimages/images/index.html:19
+msgid "Add an image"
+msgstr "Adicionar uma imagem"
+
+#: templates/wagtailimages/images/add.html:15
+msgid "Add image"
+msgstr "Adicionar imagem"
+
+#: templates/wagtailimages/images/add.html:25
+#: templates/wagtailimages/images/edit.html:33
+msgid "Save"
+msgstr "Guardar"
+
+#: templates/wagtailimages/images/confirm_delete.html:4
+#: templates/wagtailimages/images/confirm_delete.html:8
+#: templates/wagtailimages/images/edit.html:33
+msgid "Delete image"
+msgstr "Eliminar imagem"
+
+#: templates/wagtailimages/images/confirm_delete.html:16
+msgid "Are you sure you want to delete this image?"
+msgstr "Tem a certeza que quer eliminar esta imagem?"
+
+#: templates/wagtailimages/images/confirm_delete.html:19
+msgid "Yes, delete"
+msgstr "Sim, eliminar"
+
+#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
+#, python-format
+msgid "Editing image %(title)s"
+msgstr "Editando imagem %(title)s"
+
+#: templates/wagtailimages/images/edit.html:15
+msgid "Editing"
+msgstr "Editando"
+
+#: templates/wagtailimages/images/results.html:31
+#, python-format
+msgid "Sorry, no images match \"%(query_string)s\""
+msgstr "Desculpe, nenhuma imagem corresponde a \"%(query_string)s\""
+
+#: templates/wagtailimages/images/results.html:34
+#, python-format
+msgid ""
+"You've not uploaded any images. Why not add one now?"
+msgstr ""
+"Ainda não enviou qualquer imagem. Porque não adicionar uma agora?"
+
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr "A gerar URL"
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr "URL"
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr "Pre-visualizar"
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+"Note que as imagens criadas com dimensões superiores às do ecrã serão pre-"
+"visualizadas mais pequenas para caberem no ecrã."
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr "Utilização de %(title)s"
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr "Utilização de"
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr "Ascendente"
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr "Tipo"
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr "Estado"
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr "Editar esta página"
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr "Adicionar múltiplas imagens"
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr "Adicionar imagens"
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr "Arrastar e largar imagens nesta área para envio imediato."
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr "Ou escolha no seu computador"
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+"Envio com sucesso. Por favor atualize esta imagem com um título mais "
+"apropriado se necessário. Também pode eliminar completamente a imagem se o "
+"envio não era pretendido."
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr "Desculpe, o envio falhou."
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr "Atualizar"
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr "Eliminar"
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+"Não é uma imagem válida. Por favor use uma imagem do tipo gif, jpeg, ou "
+"png, com a extensão de nome correta (*.gif, *.jpg or *.png)."
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+"Não é uma imagem do tipo %s válida. Por favor use uma imagem do tipo gif, "
+"jpeg, ou png, com a extensão de nome correta (*.gif, *.jpg or *.png)."
+
+#: views/images.py:37 views/images.py:47
+msgid "Search images"
+msgstr "Procurar imagens"
+
+#: views/images.py:99
+msgid "Image '{0}' updated."
+msgstr "Imagem '{0}' atualizada."
+
+#: views/images.py:102
+msgid "The image could not be saved due to errors."
+msgstr "A imagem não pôde ser guardada devido a erros."
+
+#: views/images.py:188
+msgid "Image '{0}' deleted."
+msgstr "Imagem '{0}' eliminada."
+
+#: views/images.py:206
+msgid "Image '{0}' added."
+msgstr "Imagem '{0}' adicionada."
+
+#: views/images.py:209
+msgid "The image could not be created due to errors."
+msgstr "A imagem não pôde ser criada devido a erros."
diff --git a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo
index 8f17cf88a..da519e31a 100644
Binary files a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po
index f3554ce8e..ac03909ae 100644
--- a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po
@@ -1,52 +1,72 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
-# zerolab, 2014
+# Dan Braghis, 2014
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-18 13:20+0000\n"
-"Last-Translator: zerolab\n"
-"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/"
-"language/ro/)\n"
-"Language: ro\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
-"2:1));\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "Titlu"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "Fișier"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "Etichete"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr "Format nevalid. Încercați un fișier gif, jpeg sau png în schimb."
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr "Format nevalid. Încercați un fișier gif, jpeg sau png în schimb."
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "Imagini"
@@ -81,15 +101,9 @@ msgid_plural ""
"\n"
" There are %(counter)s matches\n"
" "
-msgstr[0] ""
-"\n"
-"Există o potrivire"
-msgstr[1] ""
-"\n"
-"Sunt %(counter)s potriviri"
-msgstr[2] ""
-"\n"
-"Sunt %(counter)s potriviri"
+msgstr[0] "\nExistă o potrivire"
+msgstr[1] "\nSunt %(counter)s potriviri"
+msgstr[2] "\nSunt %(counter)s potriviri"
#: templates/wagtailimages/chooser/results.html:13
#: templates/wagtailimages/images/results.html:13
@@ -145,6 +159,7 @@ msgid "Yes, delete"
msgstr "Da, șterge"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "Editare imagine %(title)s"
@@ -156,38 +171,126 @@ msgstr "Editare"
#: templates/wagtailimages/images/results.html:31
#, python-format
msgid "Sorry, no images match \"%(query_string)s\""
-msgstr ""
-"Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici o imagine"
+msgstr "Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici o imagine"
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"Nu ați încărcat nici o imagine. De să nu adăugați una?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "Nu ați încărcat nici o imagine. De să nu adăugați una?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "Caută imagini"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "Imaginea '{0}' a fost actualizată."
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "Imaginea nu a fost salvată din cauza erorilor."
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "Imaginea '{0}' a fost ștearsă."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "Imaginea '{0}' a fost adăugată."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "Imaginea nu a fost creată din cauza erorilor."
diff --git a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo
index dcd1d9e79..2910f1010 100644
Binary files a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po
index 8eabb8a5b..564fcb35c 100644
--- a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po
@@ -1,50 +1,71 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
-"PO-Revision-Date: 2014-03-14 21:12+0000\n"
-"Last-Translator: serafeim \n"
-"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/"
-"zh/)\n"
-"Language: zh\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
+"PO-Revision-Date: 2014-08-01 15:43+0000\n"
+"Last-Translator: Karl Hobley \n"
+"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/zh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: zh\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "标题"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "文件"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "标签"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr "不是有效的图片格式。请用gif,jpeg或者png格式的图片"
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr "不是有效的图片格式。请用gif,jpeg或者png格式的图片"
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "图片"
@@ -135,6 +156,7 @@ msgid "Yes, delete"
msgstr "是的,删除"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "编辑图片 %(title)s"
@@ -151,32 +173,121 @@ msgstr ""
#: templates/wagtailimages/images/results.html:34
#, python-format
msgid ""
-"You've not uploaded any images. Why not add one now?"
-msgstr ""
-"没有任何上传的图片。为什么不 添加"
-"一个?"
+"You've not uploaded any images. Why not add one now?"
+msgstr "没有任何上传的图片。为什么不 添加一个?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, python-format
+msgid "Usage of %(title)s"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+msgid "Add multiple images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:13
+msgid "Add images"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+msgid "Delete"
+msgstr ""
+
+#: utils/validators.py:17 utils/validators.py:28
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: utils/validators.py:35
+#, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr ""
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr ""
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "图片 '{0}' 已更新"
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "图片 因为有错不能被保存"
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "图片 '{0}' 已删除."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "图片 '{0}' 已添加."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "图片因为有错不能被创建"
diff --git a/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.mo
index 284cefcb2..442bea2b6 100644
Binary files a/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.po
index 3764ea36e..bcde4adb6 100644
--- a/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.po
+++ b/wagtail/wagtailimages/locale/zh_TW/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:53+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:12+0000\n"
"Last-Translator: wdv4758h \n"
"Language-Team: \n"
@@ -17,33 +17,55 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: models.py:29
+#: forms.py:37
+msgid "Filter"
+msgstr ""
+
+#: forms.py:39
+msgid "Original size"
+msgstr ""
+
+#: forms.py:40
+msgid "Resize to width"
+msgstr ""
+
+#: forms.py:41
+msgid "Resize to height"
+msgstr ""
+
+#: forms.py:42
+msgid "Resize to min"
+msgstr ""
+
+#: forms.py:43
+msgid "Resize to max"
+msgstr ""
+
+#: forms.py:44
+msgid "Resize to fill"
+msgstr ""
+
+#: forms.py:47
+msgid "Width"
+msgstr ""
+
+#: forms.py:48
+msgid "Height"
+msgstr ""
+
+#: models.py:34 templates/wagtailimages/images/usage.html:16
msgid "Title"
msgstr "標題"
-#: models.py:44
+#: models.py:49
msgid "File"
msgstr "文件"
-#: models.py:50
+#: models.py:55
msgid "Tags"
msgstr "標籤"
-#: utils.py:17
-#, fuzzy
-msgid ""
-"Not a valid image. Please use a gif, jpeg or png file with the correct file "
-"extension."
-msgstr "不是有效的圖片格式。請用 gif、jpeg 或者 png 格式的圖片"
-
-#: utils.py:28
-#, fuzzy, python-format
-msgid ""
-"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
-"file extension."
-msgstr "不是有效的圖片格式。請用 gif、jpeg 或者 png 格式的圖片"
-
-#: wagtail_hooks.py:23 templates/wagtailimages/images/index.html:5
+#: wagtail_hooks.py:64 templates/wagtailimages/images/index.html:5
#: templates/wagtailimages/images/index.html:18
msgid "Images"
msgstr "圖片"
@@ -139,6 +161,7 @@ msgid "Yes, delete"
msgstr "是的,刪除"
#: templates/wagtailimages/images/edit.html:4
+#: templates/wagtailimages/images/url_generator.html:4
#, python-format
msgid "Editing image %(title)s"
msgstr "編輯圖片 %(title)s"
@@ -161,26 +184,121 @@ msgstr ""
"沒有任何上傳的圖片。為什麼不 新增"
"一個呢?"
-#: views/images.py:31 views/images.py:42
+#: templates/wagtailimages/images/url_generator.html:9
+msgid "Generating URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:25
+msgid "URL"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:28
+msgid "Preview"
+msgstr ""
+
+#: templates/wagtailimages/images/url_generator.html:34
+msgid ""
+"Note that images generated larger than the screen will appear smaller when "
+"previewed here, so they fit the screen."
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:3
+#, fuzzy, python-format
+msgid "Usage of %(title)s"
+msgstr "編輯圖片 %(title)s"
+
+#: templates/wagtailimages/images/usage.html:5
+msgid "Usage of"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:17
+msgid "Parent"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:18
+msgid "Type"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:19
+msgid "Status"
+msgstr ""
+
+#: templates/wagtailimages/images/usage.html:26
+msgid "Edit this page"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:3
+#, fuzzy
+msgid "Add multiple images"
+msgstr "新增一個圖片"
+
+#: templates/wagtailimages/multiple/add.html:13
+#, fuzzy
+msgid "Add images"
+msgstr "新增圖片"
+
+#: templates/wagtailimages/multiple/add.html:18
+msgid "Drag and drop images into this area to upload immediately."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:22
+msgid "Or choose from your computer"
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:47
+msgid ""
+"Upload successful. Please update this image with a more appropriate title, "
+"if necessary. You may also delete the image completely if the upload wasn't "
+"required."
+msgstr ""
+
+#: templates/wagtailimages/multiple/add.html:48
+msgid "Sorry, upload failed."
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:10
+msgid "Update"
+msgstr ""
+
+#: templates/wagtailimages/multiple/edit_form.html:11
+#, fuzzy
+msgid "Delete"
+msgstr "刪除圖片"
+
+#: utils/validators.py:17 utils/validators.py:28
+#, fuzzy
+msgid ""
+"Not a valid image. Please use a gif, jpeg or png file with the correct file "
+"extension (*.gif, *.jpg or *.png)."
+msgstr "不是有效的圖片格式。請用 gif、jpeg 或者 png 格式的圖片"
+
+#: utils/validators.py:35
+#, fuzzy, python-format
+msgid ""
+"Not a valid %s image. Please use a gif, jpeg or png file with the correct "
+"file extension (*.gif, *.jpg or *.png)."
+msgstr "不是有效的圖片格式。請用 gif、jpeg 或者 png 格式的圖片"
+
+#: views/images.py:37 views/images.py:47
msgid "Search images"
msgstr "搜尋圖片"
-#: views/images.py:94
+#: views/images.py:99
msgid "Image '{0}' updated."
msgstr "圖片 '{0}' 已更新"
-#: views/images.py:97
+#: views/images.py:102
msgid "The image could not be saved due to errors."
msgstr "圖片因有錯誤而無法儲存。"
-#: views/images.py:116
+#: views/images.py:188
msgid "Image '{0}' deleted."
msgstr "圖片 '{0}' 已刪除."
-#: views/images.py:134
+#: views/images.py:206
msgid "Image '{0}' added."
msgstr "圖片 '{0}' 已加入."
-#: views/images.py:137
+#: views/images.py:209
msgid "The image could not be created due to errors."
msgstr "圖片因有錯而不能被建立。"
diff --git a/wagtail/wagtailimages/models.py b/wagtail/wagtailimages/models.py
index cd2b7f111..bee887289 100644
--- a/wagtail/wagtailimages/models.py
+++ b/wagtail/wagtailimages/models.py
@@ -8,20 +8,25 @@ from taggit.managers import TaggableManager
from django.core.files import File
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
from django.db import models
-from django.db.models.signals import pre_delete
+from django.db.models.signals import pre_delete, pre_save
from django.dispatch.dispatcher import receiver
from django.utils.safestring import mark_safe
from django.utils.html import escape, format_html_join
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import python_2_unicode_compatible
+from django.utils.functional import cached_property
+from django.core.urlresolvers import reverse
from unidecode import unidecode
from wagtail.wagtailadmin.taggable import TagSearchable
from wagtail.wagtailimages.backends import get_image_backend
-from wagtail.wagtailsearch import indexed
-from .utils import validate_image_format
+from wagtail.wagtailsearch import index
+from wagtail.wagtailimages.utils.validators import validate_image_format
+from wagtail.wagtailimages.utils.focal_point import FocalPoint
+from wagtail.wagtailimages.utils.feature_detection import FeatureDetector, opencv_available
+from wagtail.wagtailadmin.utils import get_object_usage
def get_upload_to(self, filename):
@@ -49,13 +54,80 @@ class AbstractImage(models.Model, TagSearchable):
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags'))
+ focal_point_x = models.PositiveIntegerField(null=True, editable=False)
+ focal_point_y = models.PositiveIntegerField(null=True, editable=False)
+ focal_point_width = models.PositiveIntegerField(null=True, editable=False)
+ focal_point_height = models.PositiveIntegerField(null=True, editable=False)
+
+ def get_usage(self):
+ return get_object_usage(self)
+
+ @property
+ def usage_url(self):
+ return reverse('wagtailimages_image_usage',
+ args=(self.id,))
+
search_fields = TagSearchable.search_fields + (
- indexed.FilterField('uploaded_by_user'),
+ index.FilterField('uploaded_by_user'),
)
def __str__(self):
return self.title
+ @property
+ def focal_point(self):
+ if self.focal_point_x is not None and \
+ self.focal_point_y is not None and \
+ self.focal_point_width is not None and \
+ self.focal_point_height is not None:
+ return FocalPoint(
+ self.focal_point_x,
+ self.focal_point_y,
+ width=self.focal_point_width,
+ height=self.focal_point_height,
+ )
+
+ @focal_point.setter
+ def focal_point(self, focal_point):
+ if focal_point is not None:
+ self.focal_point_x = focal_point.x
+ self.focal_point_y = focal_point.y
+ self.focal_point_width = focal_point.width
+ self.focal_point_height = focal_point.height
+ else:
+ self.focal_point_x = None
+ self.focal_point_y = None
+ self.focal_point_width = None
+ self.focal_point_height = None
+
+ def get_suggested_focal_point(self, backend_name='default'):
+ backend = get_image_backend(backend_name)
+ image_file = self.file.file
+
+ # Make sure image is open and seeked to the beginning
+ image_file.open('rb')
+ image_file.seek(0)
+
+ # Load the image
+ image = backend.open_image(self.file.file)
+ image_data = backend.image_data_as_rgb(image)
+
+ # Make sure we have image data
+ # If the image is animated, image_data_as_rgb will return None
+ if image_data is None:
+ return
+
+ # Use feature detection to find a focal point
+ feature_detector = FeatureDetector(image.size, image_data[0], image_data[1])
+ focal_point = feature_detector.get_focal_point()
+
+ # Add 20% extra room around the edge of the focal point
+ if focal_point:
+ focal_point.width *= 1.20
+ focal_point.height *= 1.20
+
+ return focal_point
+
def get_rendition(self, filter):
if not hasattr(filter, 'process_image'):
# assume we've been passed a filter spec string, rather than a Filter object
@@ -63,17 +135,50 @@ class AbstractImage(models.Model, TagSearchable):
filter, created = Filter.objects.get_or_create(spec=filter)
try:
- rendition = self.renditions.get(filter=filter)
+ if self.focal_point:
+ rendition = self.renditions.get(
+ filter=filter,
+ focal_point_key=self.focal_point.get_key(),
+ )
+ else:
+ rendition = self.renditions.get(
+ filter=filter,
+ focal_point_key=None,
+ )
except ObjectDoesNotExist:
file_field = self.file
# If we have a backend attribute then pass it to process
# image - else pass 'default'
backend_name = getattr(self, 'backend', 'default')
- generated_image_file = filter.process_image(file_field.file, backend_name=backend_name)
+ generated_image = filter.process_image(file_field.file, backend_name=backend_name, focal_point=self.focal_point)
- rendition, created = self.renditions.get_or_create(
- filter=filter, defaults={'file': generated_image_file})
+ # generate new filename derived from old one, inserting the filter spec and focal point key before the extension
+ if self.focal_point is not None:
+ focal_point_key = "focus-" + self.focal_point.get_key()
+ else:
+ focal_point_key = "focus-none"
+
+ input_filename_parts = os.path.basename(file_field.file.name).split('.')
+ filename_without_extension = '.'.join(input_filename_parts[:-1])
+ filename_without_extension = filename_without_extension[:60] # trim filename base so that we're well under 100 chars
+ output_filename_parts = [filename_without_extension, focal_point_key, filter.spec] + input_filename_parts[-1:]
+ output_filename = '.'.join(output_filename_parts)
+
+ generated_image_file = File(generated_image, name=output_filename)
+
+ if self.focal_point:
+ rendition, created = self.renditions.get_or_create(
+ filter=filter,
+ focal_point_key=self.focal_point.get_key(),
+ defaults={'file': generated_image_file}
+ )
+ else:
+ rendition, created = self.renditions.get_or_create(
+ filter=filter,
+ focal_point_key=None,
+ defaults={'file': generated_image_file}
+ )
return rendition
@@ -112,6 +217,19 @@ class Image(AbstractImage):
pass
+# Do smartcropping calculations when user saves an image without a focal point
+@receiver(pre_save, sender=Image)
+def image_feature_detection(sender, instance, **kwargs):
+ if getattr(settings, 'WAGTAILIMAGES_FEATURE_DETECTION_ENABLED', False):
+ if not opencv_available:
+ raise ImproperlyConfigured("pyOpenCV could not be found.")
+
+ # Make sure the image doesn't already have a focal point
+ if instance.focal_point is None:
+ # Set the focal point
+ instance.focal_point = instance.get_suggested_focal_point()
+
+
# Receive the pre_delete signal and delete the file associated with the model instance.
@receiver(pre_delete, sender=Image)
def image_delete(sender, instance, **kwargs):
@@ -153,75 +271,73 @@ class Filter(models.Model):
'original': 'no_operation',
}
- def __init__(self, *args, **kwargs):
- super(Filter, self).__init__(*args, **kwargs)
- self.method = None # will be populated when needed, by parsing the spec string
+ class InvalidFilterSpecError(ValueError):
+ pass
def _parse_spec_string(self):
- # parse the spec string and save the results to
- # self.method_name and self.method_arg. There are various possible
- # formats to match against:
+ # parse the spec string and return the method name and method arg.
+ # There are various possible formats to match against:
# 'original'
# 'width-200'
# 'max-320x200'
if self.spec == 'original':
- self.method_name = Filter.OPERATION_NAMES['original']
- self.method_arg = None
- return
+ return Filter.OPERATION_NAMES['original'], None
match = re.match(r'(width|height)-(\d+)$', self.spec)
if match:
- self.method_name = Filter.OPERATION_NAMES[match.group(1)]
- self.method_arg = int(match.group(2))
- return
+ return Filter.OPERATION_NAMES[match.group(1)], int(match.group(2))
match = re.match(r'(max|min|fill)-(\d+)x(\d+)$', self.spec)
if match:
- self.method_name = Filter.OPERATION_NAMES[match.group(1)]
width = int(match.group(2))
height = int(match.group(3))
- self.method_arg = (width, height)
- return
+ return Filter.OPERATION_NAMES[match.group(1)], (width, height)
# Spec is not one of our recognised patterns
- raise ValueError("Invalid image filter spec: %r" % self.spec)
+ raise Filter.InvalidFilterSpecError("Invalid image filter spec: %r" % self.spec)
- def process_image(self, input_file, backend_name='default'):
+ @cached_property
+ def _method(self):
+ return self._parse_spec_string()
+
+ def is_valid(self):
+ try:
+ self._parse_spec_string()
+ return True
+ except Filter.InvalidFilterSpecError:
+ return False
+
+ def process_image(self, input_file, output_file=None, focal_point=None, backend_name='default'):
"""
- Given an input image file as a django.core.files.File object,
- generate an output image with this filter applied, returning it
- as another django.core.files.File object
+ Run this filter on the given image file then write the result into output_file and return it
+ If output_file is not given, a new BytesIO will be used instead
"""
+ # Get backend
backend = get_image_backend(backend_name)
- if not self.method:
- self._parse_spec_string()
+ # Parse spec string
+ method_name, method_arg = self._method
- # If file is closed, open it
+ # Open image
input_file.open('rb')
image = backend.open_image(input_file)
file_format = image.format
- method = getattr(backend, self.method_name)
+ # Process image
+ method = getattr(backend, method_name)
+ image = method(image, method_arg, focal_point=focal_point)
- image = method(image, self.method_arg)
+ # Make sure we have an output file
+ if output_file is None:
+ output_file = BytesIO()
- output = BytesIO()
- backend.save_image(image, output, file_format)
+ # Write output
+ backend.save_image(image, output_file, file_format)
- # and then close the input file
+ # Close the input file
input_file.close()
- # generate new filename derived from old one, inserting the filter spec string before the extension
- input_filename_parts = os.path.basename(input_file.name).split('.')
- filename_without_extension = '.'.join(input_filename_parts[:-1])
- filename_without_extension = filename_without_extension[:60] # trim filename base so that we're well under 100 chars
- output_filename_parts = [filename_without_extension, self.spec] + input_filename_parts[-1:]
- output_filename = '.'.join(output_filename_parts)
-
- output_file = File(output, name=output_filename)
-
return output_file
@@ -230,6 +346,7 @@ class AbstractRendition(models.Model):
file = models.ImageField(upload_to='images', width_field='width', height_field='height')
width = models.IntegerField(editable=False)
height = models.IntegerField(editable=False)
+ focal_point_key = models.CharField(max_length=255, null=True, editable=False)
@property
def url(self):
@@ -257,7 +374,7 @@ class Rendition(AbstractRendition):
class Meta:
unique_together = (
- ('image', 'filter'),
+ ('image', 'filter', 'focal_point_key'),
)
@@ -266,3 +383,4 @@ class Rendition(AbstractRendition):
def rendition_delete(sender, instance, **kwargs):
# Pass false so FileField doesn't save the model.
instance.file.delete(False)
+
diff --git a/wagtail/wagtailimages/south_migrations/0003_focal_point_fields.py b/wagtail/wagtailimages/south_migrations/0003_focal_point_fields.py
new file mode 100644
index 000000000..c9b6be1f8
--- /dev/null
+++ b/wagtail/wagtailimages/south_migrations/0003_focal_point_fields.py
@@ -0,0 +1,136 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Removing unique constraint on 'Rendition', fields ['image', 'filter']
+ db.delete_unique('wagtailimages_rendition', ['image_id', 'filter_id'])
+
+ # Adding field 'Image.focal_point_x'
+ db.add_column('wagtailimages_image', 'focal_point_x',
+ self.gf('django.db.models.fields.PositiveIntegerField')(null=True),
+ keep_default=False)
+
+ # Adding field 'Image.focal_point_y'
+ db.add_column('wagtailimages_image', 'focal_point_y',
+ self.gf('django.db.models.fields.PositiveIntegerField')(null=True),
+ keep_default=False)
+
+ # Adding field 'Image.focal_point_width'
+ db.add_column('wagtailimages_image', 'focal_point_width',
+ self.gf('django.db.models.fields.PositiveIntegerField')(null=True),
+ keep_default=False)
+
+ # Adding field 'Image.focal_point_height'
+ db.add_column('wagtailimages_image', 'focal_point_height',
+ self.gf('django.db.models.fields.PositiveIntegerField')(null=True),
+ keep_default=False)
+
+ # Adding field 'Rendition.focal_point_key'
+ db.add_column('wagtailimages_rendition', 'focal_point_key',
+ self.gf('django.db.models.fields.CharField')(max_length=255, null=True),
+ keep_default=False)
+
+ # Adding unique constraint on 'Rendition', fields ['image', 'filter', 'focal_point_key']
+ db.create_unique('wagtailimages_rendition', ['image_id', 'filter_id', 'focal_point_key'])
+
+
+ def backwards(self, orm):
+ # Removing unique constraint on 'Rendition', fields ['image', 'filter', 'focal_point_key']
+ db.delete_unique('wagtailimages_rendition', ['image_id', 'filter_id', 'focal_point_key'])
+
+ # Deleting field 'Image.focal_point_x'
+ db.delete_column('wagtailimages_image', 'focal_point_x')
+
+ # Deleting field 'Image.focal_point_y'
+ db.delete_column('wagtailimages_image', 'focal_point_y')
+
+ # Deleting field 'Image.focal_point_width'
+ db.delete_column('wagtailimages_image', 'focal_point_width')
+
+ # Deleting field 'Image.focal_point_height'
+ db.delete_column('wagtailimages_image', 'focal_point_height')
+
+ # Deleting field 'Rendition.focal_point_key'
+ db.delete_column('wagtailimages_rendition', 'focal_point_key')
+
+ # Adding unique constraint on 'Rendition', fields ['image', 'filter']
+ db.create_unique('wagtailimages_rendition', ['image_id', 'filter_id'])
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'user_set'", 'blank': 'True', 'to': "orm['auth.Group']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'user_set'", 'blank': 'True', 'to': "orm['auth.Permission']"}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'wagtailimages.filter': {
+ 'Meta': {'object_name': 'Filter'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'spec': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+ },
+ 'wagtailimages.image': {
+ 'Meta': {'object_name': 'Image'},
+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'file': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'focal_point_height': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
+ 'focal_point_width': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
+ 'focal_point_x': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
+ 'focal_point_y': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'uploaded_by_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {})
+ },
+ 'wagtailimages.rendition': {
+ 'Meta': {'unique_together': "(('image', 'filter', 'focal_point_key'),)", 'object_name': 'Rendition'},
+ 'file': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'filter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['wagtailimages.Filter']"}),
+ 'focal_point_key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'renditions'", 'to': "orm['wagtailimages.Image']"}),
+ 'width': ('django.db.models.fields.IntegerField', [], {})
+ }
+ }
+
+ complete_apps = ['wagtailimages']
\ No newline at end of file
diff --git a/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js b/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js
new file mode 100644
index 000000000..c9f8ed1e7
--- /dev/null
+++ b/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js
@@ -0,0 +1,69 @@
+$(function() {
+ "use strict";
+
+ $('.image-url-generator').each(function() {
+ var $this = $(this);
+ var $form = $this.find('form');
+ var $filterMethodField = $form.find('select#id_filter_method');
+ var $widthField = $form.find('input#id_width');
+ var $heightField = $form.find('input#id_height');
+ var $result = $this.find('#result-url');
+ var $loadingMask = $this.find('.loading-mask')
+ var $preview = $this.find('img.preview');
+ var $sizeNote = $('#note-size')
+
+ var generatorUrl = $this.data('generatorUrl');
+
+ function formChangeHandler() {
+ var filterSpec = $filterMethodField.val();
+
+ $loadingMask.addClass('loading');
+
+ if (filterSpec == 'original') {
+ $widthField.prop('disabled', true);
+ $heightField.prop('disabled', true);
+ } else if (filterSpec == 'width') {
+ $widthField.prop('disabled', false);
+ $heightField.prop('disabled', true);
+ filterSpec += '-' + $widthField.val();
+ } else if (filterSpec == 'height') {
+ $widthField.prop('disabled', true);
+ $heightField.prop('disabled', false);
+ filterSpec += '-' + $heightField.val();
+ } else if (filterSpec == 'min' || filterSpec == 'max' || filterSpec == 'fill') {
+ $widthField.prop('disabled', false);
+ $heightField.prop('disabled', false);
+ filterSpec += '-' + $widthField.val() + 'x' + $heightField.val();
+ }
+
+ // Display note about scaled down images if image is large
+ if($widthField.val() > $(window).width()){
+ $sizeNote.show();
+ }else{
+ $sizeNote.hide();
+ }
+
+ // Fields with width and height
+ $.getJSON(generatorUrl.replace('__filterspec__', filterSpec))
+ .done(function(data) {
+ $result.val(data['url']);
+ $preview.attr('src', data['local_url']);
+ $loadingMask.removeClass('loading');
+ })
+ .fail(function(data) {
+ $result.val(data.responseJSON['error']);
+ $preview.attr('src', '');
+ $loadingMask.removeClass('loading');
+ });
+ }
+
+ $form.change($.debounce(500, formChangeHandler));
+ $form.keyup($.debounce(500, formChangeHandler));
+ formChangeHandler();
+
+ // When the user clicks the URL, automatically select the whole thing (for easier copying)
+ $result.click(function() {
+ $(this).select();
+ });
+ });
+});
diff --git a/wagtail/wagtailimages/templates/wagtailimages/images/edit.html b/wagtail/wagtailimages/templates/wagtailimages/images/edit.html
index f75b4e56e..e904bd426 100644
--- a/wagtail/wagtailimages/templates/wagtailimages/images/edit.html
+++ b/wagtail/wagtailimages/templates/wagtailimages/images/edit.html
@@ -13,10 +13,10 @@
{% block content %}
{% trans "Editing" as editing_str %}
- {% include "wagtailadmin/shared/header.html" with title=editing_str subtitle=image.title icon="image" %}
-
+ {% include "wagtailadmin/shared/header.html" with title=editing_str subtitle=image.title icon="image" usage_object=image %}
+
-
+
{% image image max-800x600 %}
+
+ {% if url_generator_enabled %}
+
URL Generator
+ {% endif %}
{% endblock %}
diff --git a/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html b/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html
new file mode 100644
index 000000000..aae28cd95
--- /dev/null
+++ b/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html
@@ -0,0 +1,43 @@
+{% extends "wagtailadmin/base.html" %}
+{% load wagtailimages_tags static compress i18n %}
+
+{% block titletag %}{% blocktrans with title=image.title %}Editing image {{ title }}{% endblocktrans %}{% endblock %}
+
+{% block bodyclass %}menu-images{% endblock %}
+
+{% block content %}
+ {% trans "Generating URL" as title_str %}
+ {% include "wagtailadmin/shared/header.html" with title=title_str subtitle=image.title icon="image" %}
+
+
+
+
+
{% trans "URL" %}
+
+
+
{% trans "Preview" %}
+
+
+
![Preview]()
+
+
+
{% trans "Note that images generated larger than the screen will appear smaller when previewed here, so they fit the screen." %}
+
+{% endblock %}
+
+{% block extra_js %}
+ {% compress js %}
+
+
+ {% endcompress %}
+{% endblock %}
\ No newline at end of file
diff --git a/wagtail/wagtailimages/templates/wagtailimages/images/usage.html b/wagtail/wagtailimages/templates/wagtailimages/images/usage.html
new file mode 100644
index 000000000..74ccbd6ee
--- /dev/null
+++ b/wagtail/wagtailimages/templates/wagtailimages/images/usage.html
@@ -0,0 +1,49 @@
+{% extends "wagtailadmin/base.html" %}
+{% load i18n %}
+{% block titletag %}{% blocktrans with title=image.title %}Usage of {{ title }}{% endblocktrans %}{% endblock %}
+{% block content %}
+ {% trans "Usage of" as usage_str %}
+ {% include "wagtailadmin/shared/header.html" with title=usage_str subtitle=image.title %}
+
+
+
+
+
+
+
+
+
+ | {% trans "Title" %} |
+ {% trans "Parent" %} |
+ {% trans "Type" %} |
+ {% trans "Status" %} |
+
+
+
+ {% for page in used_by %}
+
+ |
+
+ |
+
+ {% if page.get_parent %}
+ {{ page.get_parent.title }}
+ {% endif %}
+ |
+
+ {{ page.content_type.model_class.get_verbose_name }}
+ |
+
+ {% if page.live %}
+ {{ page.status_string }}
+ {% else %}
+ {{ page.status_string }}
+ {% endif %}
+ |
+
+ {% endfor %}
+
+
+
+ {% include "wagtailadmin/shared/pagination_nav.html" with items=used_by linkurl="-" %}
+{% endblock %}
diff --git a/wagtail/wagtailimages/templates/wagtailimages/multiple/add.html b/wagtail/wagtailimages/templates/wagtailimages/multiple/add.html
index 9945243d3..9bde36d09 100644
--- a/wagtail/wagtailimages/templates/wagtailimages/multiple/add.html
+++ b/wagtail/wagtailimages/templates/wagtailimages/multiple/add.html
@@ -1,5 +1,5 @@
{% extends "wagtailadmin/base.html" %}
-{% load image_tags i18n compress static %}
+{% load wagtailimages_tags i18n compress static %}
{% block titletag %}{% trans "Add multiple images" %}{% endblock %}
{% block bodyclass %}menu-images{% endblock %}
{% block extra_css %}
@@ -74,4 +74,4 @@
autocomplete: {source: "{{ autocomplete_url|addslashes }}"}
};
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/wagtail/wagtailimages/tests.py b/wagtail/wagtailimages/tests.py
index fb048d412..dabd5e0e8 100644
--- a/wagtail/wagtailimages/tests.py
+++ b/wagtail/wagtailimages/tests.py
@@ -1,9 +1,14 @@
import json
+import datetime
from mock import MagicMock
-from django.utils import six
+import dateutil.parser
+from django.utils import six
+from django.utils.http import urlquote
+from django.utils import timezone
from django.test import TestCase
+from django.test.utils import override_settings
from django import template
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group, Permission
@@ -20,6 +25,11 @@ from wagtail.wagtailimages.formats import (
from wagtail.wagtailimages.backends import get_image_backend
from wagtail.wagtailimages.backends.pillow import PillowBackend
+from wagtail.wagtailimages.utils.crop import crop_to_point, CropBox
+from wagtail.wagtailimages.utils.focal_point import FocalPoint
+from wagtail.wagtailimages.utils.crypto import generate_signature, verify_signature
+from wagtail.tests.models import EventPage, EventPageCarouselItem
+from wagtail.wagtailcore.models import Page
def get_test_image_file():
@@ -477,6 +487,55 @@ class TestFormat(TestCase):
self.assertEqual(result, self.format)
+class TestUsageCount(TestCase):
+ fixtures = ['wagtail/tests/fixtures/test.json']
+
+ def setUp(self):
+ self.image = Image.objects.create(
+ title="Test image",
+ file=get_test_image_file(),
+ )
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_unused_image_usage_count(self):
+ self.assertEqual(self.image.get_usage().count(), 0)
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_used_image_document_usage_count(self):
+ page = EventPage.objects.get(id=4)
+ event_page_carousel_item = EventPageCarouselItem()
+ event_page_carousel_item.page = page
+ event_page_carousel_item.image = self.image
+ event_page_carousel_item.save()
+ self.assertEqual(self.image.get_usage().count(), 1)
+
+
+class TestGetUsage(TestCase):
+ fixtures = ['wagtail/tests/fixtures/test.json']
+
+ def setUp(self):
+ self.image = Image.objects.create(
+ title="Test image",
+ file=get_test_image_file(),
+ )
+
+ def test_image_get_usage_not_enabled(self):
+ self.assertEqual(list(self.image.get_usage()), [])
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_unused_image_get_usage(self):
+ self.assertEqual(list(self.image.get_usage()), [])
+
+ @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)
+ def test_used_image_document_get_usage(self):
+ page = EventPage.objects.get(id=4)
+ event_page_carousel_item = EventPageCarouselItem()
+ event_page_carousel_item.page = page
+ event_page_carousel_item.image = self.image
+ event_page_carousel_item.save()
+ self.assertTrue(issubclass(Page, type(self.image.get_usage()[0])))
+
+
class TestMultipleImageUploader(TestCase, WagtailTestUtils):
"""
This tests the multiple image upload views located in wagtailimages/views/multiple.py
@@ -681,3 +740,279 @@ class TestMultipleImageUploader(TestCase, WagtailTestUtils):
# Check response
self.assertEqual(response.status_code, 400)
+
+
+class TestSignatureGeneration(TestCase):
+ def test_signature_generation(self):
+ self.assertEqual(generate_signature(100, 'fill-800x600'), b'xnZOzQyUg6pkfciqcfRJRosOrGg=')
+
+ def test_signature_verification(self):
+ self.assertTrue(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100, 'fill-800x600'))
+
+ def test_signature_changes_on_image_id(self):
+ self.assertFalse(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 200, 'fill-800x600'))
+
+ def test_signature_changes_on_filter_spec(self):
+ self.assertFalse(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100, 'fill-800x700'))
+
+
+class TestFrontendServeView(TestCase):
+ def setUp(self):
+ # Create an image for running tests on
+ self.image = Image.objects.create(
+ title="Test image",
+ file=get_test_image_file(),
+ )
+
+ def test_get(self):
+ """
+ Test a valid GET request to the view
+ """
+ # Generate signature
+ signature = generate_signature(self.image.id, 'fill-800x600')
+
+ # Get the image
+ response = self.client.get(reverse('wagtailimages_serve', args=(signature, self.image.id, 'fill-800x600')))
+
+ # Check response
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response['Content-Type'], 'image/jpeg')
+
+ # Make sure the cache headers are set to expire after at least one month
+ self.assertIn('Cache-Control', response)
+ self.assertEqual(response['Cache-Control'].split('=')[0], 'max-age')
+ self.assertTrue(int(response['Cache-Control'].split('=')[1]) > datetime.timedelta(days=30).seconds)
+
+ self.assertIn('Expires', response)
+ self.assertTrue(dateutil.parser.parse(response['Expires']) > timezone.now() + datetime.timedelta(days=30))
+
+ def test_get_invalid_signature(self):
+ """
+ Test that an invalid signature returns a 403 response
+ """
+ # Generate a signature for the incorrect image id
+ signature = generate_signature(self.image.id + 1, 'fill-800x600')
+
+ # Get the image
+ response = self.client.get(reverse('wagtailimages_serve', args=(signature, self.image.id, 'fill-800x600')))
+
+ # Check response
+ self.assertEqual(response.status_code, 403)
+
+ def test_get_invalid_filter_spec(self):
+ """
+ Test that an invalid filter spec returns a 400 response
+
+ This is very unlikely to happen in reality. A user would have
+ to create signature for the invalid filter spec which can't be
+ done with Wagtails built in URL generator. We should test it
+ anyway though.
+ """
+ # Generate a signature with the invalid filterspec
+ signature = generate_signature(self.image.id, 'bad-filter-spec')
+
+ # Get the image
+ response = self.client.get(reverse('wagtailimages_serve', args=(signature, self.image.id, 'bad-filter-spec')))
+
+ # Check response
+ self.assertEqual(response.status_code, 400)
+
+
+class TestURLGeneratorView(TestCase, WagtailTestUtils):
+ def setUp(self):
+ # Create an image for running tests on
+ self.image = Image.objects.create(
+ title="Test image",
+ file=get_test_image_file(),
+ )
+
+ # Login
+ self.user = self.login()
+
+ def test_get(self):
+ """
+ This tests that the view responds correctly for a user with edit permissions on this image
+ """
+ # Get
+ response = self.client.get(reverse('wagtailimages_url_generator', args=(self.image.id, )))
+
+ # Check response
+ self.assertEqual(response.status_code, 200)
+ self.assertTemplateUsed(response, 'wagtailimages/images/url_generator.html')
+
+ def test_get_bad_permissions(self):
+ """
+ This tests that the view gives a 403 if a user without correct permissions attemts to access it
+ """
+ # Remove privileges from user
+ self.user.is_superuser = False
+ self.user.user_permissions.add(
+ Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin')
+ )
+ self.user.save()
+
+ # Get
+ response = self.client.get(reverse('wagtailimages_url_generator', args=(self.image.id, )))
+
+ # Check response
+ self.assertEqual(response.status_code, 403)
+
+
+class TestGenerateURLView(TestCase, WagtailTestUtils):
+ def setUp(self):
+ # Create an image for running tests on
+ self.image = Image.objects.create(
+ title="Test image",
+ file=get_test_image_file(),
+ )
+
+ # Login
+ self.user = self.login()
+
+ def test_get(self):
+ """
+ This tests that the view responds correctly for a user with edit permissions on this image
+ """
+ # Get
+ response = self.client.get(reverse('wagtailimages_generate_url', args=(self.image.id, 'fill-800x600')))
+
+ # Check response
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response['Content-Type'], 'application/json')
+
+ # Check JSON
+ content_json = json.loads(response.content.decode())
+
+ self.assertEqual(set(content_json.keys()), set(['url', 'local_url']))
+
+ expected_url = 'http://localhost/images/%(signature)s/%(image_id)d/fill-800x600/' % {
+ 'signature': urlquote(generate_signature(self.image.id, 'fill-800x600').decode()),
+ 'image_id': self.image.id,
+ }
+ self.assertEqual(content_json['url'], expected_url)
+
+ expected_local_url = '/images/%(signature)s/%(image_id)d/fill-800x600/' % {
+ 'signature': urlquote(generate_signature(self.image.id, 'fill-800x600').decode()),
+ 'image_id': self.image.id,
+ }
+ self.assertEqual(content_json['local_url'], expected_local_url)
+
+ def test_get_bad_permissions(self):
+ """
+ This tests that the view gives a 403 if a user without correct permissions attemts to access it
+ """
+ # Remove privileges from user
+ self.user.is_superuser = False
+ self.user.user_permissions.add(
+ Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin')
+ )
+ self.user.save()
+
+ # Get
+ response = self.client.get(reverse('wagtailimages_generate_url', args=(self.image.id, 'fill-800x600')))
+
+ # Check response
+ self.assertEqual(response.status_code, 403)
+ self.assertEqual(response['Content-Type'], 'application/json')
+
+ # Check JSON
+ self.assertJSONEqual(response.content.decode(), json.dumps({
+ 'error': 'You do not have permission to generate a URL for this image.',
+ }))
+
+ def test_get_bad_image(self):
+ """
+ This tests that the view gives a 404 response if a user attempts to use it with an image which doesn't exist
+ """
+ # Get
+ response = self.client.get(reverse('wagtailimages_generate_url', args=(self.image.id + 1, 'fill-800x600')))
+
+ # Check response
+ self.assertEqual(response.status_code, 404)
+ self.assertEqual(response['Content-Type'], 'application/json')
+
+ # Check JSON
+ self.assertJSONEqual(response.content.decode(), json.dumps({
+ 'error': 'Cannot find image.',
+ }))
+
+ def test_get_bad_filter_spec(self):
+ """
+ This tests that the view gives a 400 response if the user attempts to use it with an invalid filter spec
+ """
+ # Get
+ response = self.client.get(reverse('wagtailimages_generate_url', args=(self.image.id, 'bad-filter-spec')))
+
+ # Check response
+ self.assertEqual(response.status_code, 400)
+ self.assertEqual(response['Content-Type'], 'application/json')
+
+ # Check JSON
+ self.assertJSONEqual(response.content.decode(), json.dumps({
+ 'error': 'Invalid filter spec.',
+ }))
+
+
+class TestCropToPoint(TestCase):
+ def test_basic(self):
+ "Test basic cropping in the centre of the image"
+ self.assertEqual(
+ crop_to_point((640, 480), (100, 100), FocalPoint(x=320, y=240)),
+ CropBox(270, 190, 370, 290),
+ )
+
+ def test_basic_no_focal_point(self):
+ "If focal point is None, it should make one in the centre of the image"
+ self.assertEqual(
+ crop_to_point((640, 480), (100, 100), None),
+ CropBox(270, 190, 370, 290),
+ )
+
+ def test_doesnt_exit_top_left(self):
+ "Test that the cropbox doesn't exit the image at the top left"
+ self.assertEqual(
+ crop_to_point((640, 480), (100, 100), FocalPoint(x=0, y=0)),
+ CropBox(0, 0, 100, 100),
+ )
+
+ def test_doesnt_exit_bottom_right(self):
+ "Test that the cropbox doesn't exit the image at the bottom right"
+ self.assertEqual(
+ crop_to_point((640, 480), (100, 100), FocalPoint(x=640, y=480)),
+ CropBox(540, 380, 640, 480),
+ )
+
+ def test_doesnt_get_smaller_than_focal_point(self):
+ "Test that the cropbox doesn't get any smaller than the focal point"
+ self.assertEqual(
+ crop_to_point((640, 480), (10, 10), FocalPoint(x=320, y=240, width=100, height=100)),
+ CropBox(270, 190, 370, 290),
+ )
+
+ def test_keeps_composition(self):
+ "Test that the cropbox tries to keep the composition of the original image as much as it can"
+ self.assertEqual(
+ crop_to_point((300, 300), (150, 150), FocalPoint(x=100, y=200)),
+ CropBox(50, 100, 200, 250), # Focal point is 1/3 across and 2/3 down in the crop box
+ )
+
+ def test_keeps_focal_point_in_view_bottom_left(self):
+ """
+ Even though it tries to keep the composition of the image,
+ it shouldn't let that get in the way of keeping the entire subject in view
+ """
+ self.assertEqual(
+ crop_to_point((300, 300), (150, 150), FocalPoint(x=100, y=200, width=150, height=150)),
+ CropBox(25, 125, 175, 275),
+ )
+
+ def test_keeps_focal_point_in_view_top_right(self):
+ """
+ Even though it tries to keep the composition of the image,
+ it shouldn't let that get in the way of keeping the entire subject in view
+ """
+ self.assertEqual(
+ crop_to_point((300, 300), (150, 150), FocalPoint(x=200, y=100, width=150, height=150)),
+ CropBox(125, 25, 275, 175),
+ )
+
diff --git a/wagtail/wagtailimages/urls.py b/wagtail/wagtailimages/urls.py
index 4f8744f18..add04f13a 100644
--- a/wagtail/wagtailimages/urls.py
+++ b/wagtail/wagtailimages/urls.py
@@ -1,18 +1,8 @@
from django.conf.urls import url
-from wagtail.wagtailimages.views import images, chooser, multiple
+
+from wagtail.wagtailimages.views import frontend
+
urlpatterns = [
- url(r'^$', images.index, name='wagtailimages_index'),
- url(r'^(\d+)/$', images.edit, name='wagtailimages_edit_image'),
- url(r'^(\d+)/delete/$', images.delete, name='wagtailimages_delete_image'),
- url(r'^add/$', images.add, name='wagtailimages_add_image'),
-
- url(r'^multiple/add/$', multiple.add, name='wagtailimages_add_multiple'),
- url(r'^multiple/(\d+)/$', multiple.edit, name='wagtailimages_edit_multiple'),
- url(r'^multiple/(\d+)/delete/$', multiple.delete, name='wagtailimages_delete_multiple'),
-
- url(r'^chooser/$', chooser.chooser, name='wagtailimages_chooser'),
- url(r'^chooser/(\d+)/$', chooser.image_chosen, name='wagtailimages_image_chosen'),
- url(r'^chooser/upload/$', chooser.chooser_upload, name='wagtailimages_chooser_upload'),
- url(r'^chooser/(\d+)/select_format/$', chooser.chooser_select_format, name='wagtailimages_chooser_select_format'),
+ url(r'^(.*)/(\d*)/(.*)/$', frontend.serve, name='wagtailimages_serve'),
]
diff --git a/wagtail/wagtailimages/utils/__init__.py b/wagtail/wagtailimages/utils/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/wagtail/wagtailimages/utils/crop.py b/wagtail/wagtailimages/utils/crop.py
new file mode 100644
index 000000000..983f5db88
--- /dev/null
+++ b/wagtail/wagtailimages/utils/crop.py
@@ -0,0 +1,121 @@
+from __future__ import division
+
+from wagtail.wagtailimages.utils.focal_point import FocalPoint
+
+
+class CropBox(object):
+ def __init__(self, left, top, right, bottom):
+ self.left = int(left)
+ self.top = int(top)
+ self.right = int(right)
+ self.bottom = int(bottom)
+
+ def __getitem__(self, key):
+ return (self.left, self.top, self.right, self.bottom)[key]
+
+ @property
+ def width(self):
+ return self.right - self.left
+
+ @property
+ def height(self):
+ return self.bottom - self.top
+
+ @property
+ def size(self):
+ return self.width, self.height
+
+ def as_tuple(self):
+ return self.left, self.top, self.right, self.bottom
+
+ def __eq__(self, other):
+ return self.as_tuple() == other.as_tuple()
+
+ def __ne__(self, other):
+ return not (self == other)
+
+ def __repr__(self):
+ return 'CropBox(left: %d, top: %d, right: %d, bottom: %d)' % (
+ self.left, self.top, self.right, self.bottom
+ )
+
+
+def crop_to_centre(image_size, crop_size):
+ (original_width, original_height) = image_size
+ (crop_width, crop_height) = crop_size
+
+ # final dimensions should not exceed original dimensions
+ final_width = min(original_width, crop_width)
+ final_height = min(original_height, crop_height)
+
+ left = (original_width - final_width) / 2
+ top = (original_height - final_height) / 2
+
+ return CropBox(left, top, left + final_width, top + final_height)
+
+
+def crop_to_point(image_size, crop_size, focal_point):
+ (original_width, original_height) = image_size
+ (crop_width, crop_height) = crop_size
+
+ if not focal_point:
+ focal_point = FocalPoint(original_width / 2, original_height / 2)
+
+ # Make sure that the crop size is no smaller than the focal point
+ crop_width = max(crop_width, focal_point.width)
+ crop_height = max(crop_height, focal_point.height)
+
+ # Make sure final dimensions do not exceed original dimensions
+ final_width = min(original_width, crop_width)
+ final_height = min(original_height, crop_height)
+
+ # Get UV for focal point
+ focal_point_u = focal_point.x / original_width
+ focal_point_v = focal_point.y / original_height
+
+ # Get crop box
+ left = focal_point.x - focal_point_u * final_width
+ top = focal_point.y - focal_point_v * final_height
+ right = focal_point.x - focal_point_u * final_width + final_width
+ bottom = focal_point.y - focal_point_v * final_height + final_height
+
+ # Make sure the entire focal point is in the crop box
+ focal_point_left = focal_point.x - focal_point.width / 2
+ focal_point_top = focal_point.y - focal_point.height / 2
+ focal_point_right = focal_point.x + focal_point.width / 2
+ focal_point_bottom = focal_point.y + focal_point.height / 2
+
+ if left > focal_point_left:
+ right -= left - focal_point_left
+ left = focal_point_left
+
+ if top > focal_point_top:
+ bottom -= top - focal_point_top
+ top = focal_point_top
+
+ if right < focal_point_right:
+ left += focal_point_right - right;
+ right = focal_point_right
+
+ if bottom < focal_point_bottom:
+ top += focal_point_bottom - bottom;
+ bottom = focal_point_bottom
+
+ # Don't allow the crop box to go over the image boundary
+ if left < 0:
+ right -= left
+ left = 0
+
+ if top < 0:
+ bottom -= top
+ top = 0
+
+ if right > original_width:
+ left -= right - original_width
+ right = original_width
+
+ if bottom > original_height:
+ top -= bottom - original_height
+ bottom = original_height
+
+ return CropBox(left, top, right, bottom)
diff --git a/wagtail/wagtailimages/utils/crypto.py b/wagtail/wagtailimages/utils/crypto.py
new file mode 100644
index 000000000..e631493b7
--- /dev/null
+++ b/wagtail/wagtailimages/utils/crypto.py
@@ -0,0 +1,16 @@
+import base64
+import hmac
+import hashlib
+
+from django.conf import settings
+
+
+def generate_signature(image_id, filter_spec):
+ # Based on libthumbor hmac generation
+ # https://github.com/thumbor/libthumbor/blob/b19dc58cf84787e08c8e397ab322e86268bb4345/libthumbor/crypto.py#L50
+ url = str(image_id) + '/' + str(filter_spec) + '/'
+ return base64.urlsafe_b64encode(hmac.new(settings.SECRET_KEY.encode(), url.encode(), hashlib.sha1).digest())
+
+
+def verify_signature(signature, image_id, filter_spec):
+ return signature == generate_signature(image_id, filter_spec)
diff --git a/wagtail/wagtailimages/utils/face_detection/haarcascade_frontalface_alt2.xml b/wagtail/wagtailimages/utils/face_detection/haarcascade_frontalface_alt2.xml
new file mode 100644
index 000000000..caa86f6c3
--- /dev/null
+++ b/wagtail/wagtailimages/utils/face_detection/haarcascade_frontalface_alt2.xml
@@ -0,0 +1,23550 @@
+
+
+
+
+ 20 20
+
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>2 7 16 4 -1.
+ <_>2 9 16 2 2.
+ 0
+ 4.3272329494357109e-003
+ 0.0383819006383419
+ 1
+ <_>
+
+
+
+ <_>8 4 3 14 -1.
+ <_>8 11 3 7 2.
+ 0
+ 0.0130761601030827
+ 0.8965256810188294
+ 0.2629314064979553
+ <_>
+
+ <_>
+
+
+
+ <_>13 6 1 6 -1.
+ <_>13 9 1 3 2.
+ 0
+ 5.2434601821005344e-004
+ 0.1021663025021553
+ 1
+ <_>
+
+
+
+ <_>4 2 12 8 -1.
+ <_>8 2 4 8 3.
+ 0
+ 4.4573000632226467e-003
+ 0.1238401979207993
+ 0.6910383105278015
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 1 9 -1.
+ <_>6 6 1 3 3.
+ 0
+ -9.2708261217921972e-004
+ 1
+ 0.1953697055578232
+ <_>
+
+
+
+ <_>3 7 14 9 -1.
+ <_>3 10 14 3 3.
+ 0
+ 3.3989109215326607e-004
+ 0.2101441025733948
+ 0.8258674740791321
+ 0.3506923019886017
+ -1
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 4 4 -1.
+ <_>4 9 4 2 2.
+ 0
+ 2.3025739938020706e-003
+ 0.1018375977873802
+ 1
+ <_>
+
+
+
+ <_>9 4 2 16 -1.
+ <_>9 12 2 8 2.
+ 0
+ 4.4174338690936565e-003
+ 0.8219057917594910
+ 0.1956554949283600
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 18 5 -1.
+ <_>7 1 6 5 3.
+ 0
+ 0.0222032107412815
+ 0.2205407023429871
+ 1
+ <_>
+
+
+
+ <_>4 5 13 8 -1.
+ <_>4 9 13 4 2.
+ 0
+ -1.7283110355492681e-004
+ 0.0732632577419281
+ 0.5931484103202820
+ <_>
+
+ <_>
+
+
+
+ <_>1 7 16 9 -1.
+ <_>1 10 16 3 3.
+ 0
+ 4.3567270040512085e-003
+ 0.1844114959239960
+ 1
+ <_>
+
+
+
+ <_>2 0 15 4 -1.
+ <_>2 2 15 2 2.
+ 0
+ -2.6032889727503061e-003
+ 0.4032213985919952
+ 0.8066521286964417
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 6 4 -1.
+ <_>9 5 2 4 3.
+ 0
+ 1.7309630056843162e-003
+ 0.2548328042030335
+ 1
+ <_>
+
+
+
+ <_>6 3 8 9 -1.
+ <_>6 6 8 3 3.
+ 0
+ -7.8146401792764664e-003
+ 0.6057069897651672
+ 0.2779063880443573
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 3 8 -1.
+ <_>8 16 3 4 2.
+ 0
+ -8.7343417108058929e-003
+ 0.2889980077743530
+ 1
+ <_>
+
+
+
+ <_>3 16 2 2 -1.
+ <_>3 17 2 1 2.
+ 0
+ 9.4522320432588458e-004
+ 0.7616587281227112
+ 0.3495643138885498
+ <_>
+
+ <_>
+
+
+
+ <_>14 1 6 12 -1.
+ <_>14 1 3 12 2.
+ 0
+ 0.0494148582220078
+ 1
+ 0.8151652812957764
+ <_>
+
+
+
+ <_>4 4 12 6 -1.
+ <_>8 4 4 6 3.
+ 0
+ 4.4891750440001488e-003
+ 0.2808783054351807
+ 0.6027774810791016
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 6 15 -1.
+ <_>3 2 3 15 2.
+ 0
+ 0.0603136196732521
+ 1
+ 0.7607501745223999
+ <_>
+
+
+
+ <_>5 4 9 6 -1.
+ <_>5 6 9 2 3.
+ 0
+ -1.0762850288301706e-003
+ 0.4444035887718201
+ 0.1437312066555023
+ <_>
+
+ <_>
+
+
+
+ <_>13 11 6 3 -1.
+ <_>13 12 6 1 3.
+ 0
+ -9.5083238556981087e-003
+ 1
+ 0.5318170189857483
+ <_>
+
+
+
+ <_>12 12 6 4 -1.
+ <_>12 14 6 2 2.
+ 0
+ 7.6601309701800346e-003
+ 0.5411052107810974
+ 0.2180687040090561
+ <_>
+
+ <_>
+
+
+
+ <_>1 11 6 3 -1.
+ <_>1 12 6 1 3.
+ 0
+ 7.6467678882181644e-003
+ 1
+ 0.1158960014581680
+ <_>
+
+
+
+ <_>2 5 5 8 -1.
+ <_>2 9 5 4 2.
+ 0
+ -8.4662932204082608e-004
+ 0.2340679019689560
+ 0.5990381836891174
+ 3.4721779823303223
+ 0
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 10 4 -1.
+ <_>5 6 10 2 2.
+ 0
+ -4.8506218008697033e-003
+ 1
+ 0.1805496066808701
+ <_>
+
+
+
+ <_>2 4 16 12 -1.
+ <_>2 8 16 4 3.
+ 0
+ -4.6141650527715683e-003
+ 0.2177893966436386
+ 0.8018236756324768
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 12 6 -1.
+ <_>8 5 4 6 3.
+ 0
+ -2.4301309604197741e-003
+ 0.1141354963183403
+ 1
+ <_>
+
+
+
+ <_>13 7 2 9 -1.
+ <_>13 10 2 3 3.
+ 0
+ 4.1787960799410939e-004
+ 0.1203093975782394
+ 0.6108530759811401
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 2 9 -1.
+ <_>5 10 2 3 3.
+ 0
+ 1.0010929545387626e-003
+ 0.2079959958791733
+ 1
+ <_>
+
+
+
+ <_>7 1 6 8 -1.
+ <_>9 1 2 8 3.
+ 0
+ 1.0577100329101086e-003
+ 0.3302054107189179
+ 0.7511094212532044
+ <_>
+
+ <_>
+
+
+
+ <_>12 0 4 12 -1.
+ <_>14 0 2 6 2.
+ <_>12 6 2 6 2.
+ 0
+ 1.2376549420878291e-003
+ 1
+ 0.2768222093582153
+ <_>
+
+
+
+ <_>5 8 10 2 -1.
+ <_>5 9 10 1 2.
+ 0
+ 3.5315038985572755e-004
+ 0.1668293029069901
+ 0.5829476714134216
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 6 4 -1.
+ <_>7 1 2 4 3.
+ 0
+ -0.0119536602869630
+ 0.1508788019418716
+ 1
+ <_>
+
+
+
+ <_>0 3 9 12 -1.
+ <_>3 3 3 12 3.
+ 0
+ 1.4182999730110168e-003
+ 0.4391227960586548
+ 0.7646595239639282
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 12 -1.
+ <_>9 12 3 4 3.
+ 0
+ 3.4642980899661779e-003
+ 1
+ 0.2651556134223938
+ <_>
+
+
+
+ <_>0 5 20 15 -1.
+ <_>0 10 20 5 3.
+ 0
+ -0.0149489501491189
+ 0.2298053056001663
+ 0.5442165732383728
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 6 8 -1.
+ <_>2 2 3 4 2.
+ <_>5 6 3 4 2.
+ 0
+ -1.0506849503144622e-003
+ 1
+ 0.3622843921184540
+ <_>
+
+
+
+ <_>2 1 6 2 -1.
+ <_>2 2 6 1 2.
+ 0
+ -4.0782918222248554e-003
+ 0.2601259946823120
+ 0.7233657836914063
+ <_>
+
+ <_>
+
+
+
+ <_>10 15 6 4 -1.
+ <_>13 15 3 2 2.
+ <_>10 17 3 2 2.
+ 0
+ 5.4242828628048301e-004
+ 0.3849678933620453
+ 1
+ <_>
+
+
+
+ <_>12 14 2 6 -1.
+ <_>12 16 2 2 3.
+ 0
+ -7.3204059153795242e-003
+ 0.2965512871742249
+ 0.5480309128761292
+ <_>
+
+ <_>
+
+
+
+ <_>5 15 4 4 -1.
+ <_>5 15 2 2 2.
+ <_>7 17 2 2 2.
+ 0
+ 1.1421289527788758e-003
+ 0.4104770123958588
+ 1
+ <_>
+
+
+
+ <_>7 18 1 2 -1.
+ <_>7 19 1 1 2.
+ 0
+ 1.1783400550484657e-003
+ 0.7239024043083191
+ 0.2787283957004547
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 12 10 -1.
+ <_>10 5 6 5 2.
+ <_>4 10 6 5 2.
+ 0
+ 0.0440771095454693
+ 0.5640516281127930
+ 1
+ <_>
+
+
+
+ <_>7 4 8 12 -1.
+ <_>11 4 4 6 2.
+ <_>7 10 4 6 2.
+ 0
+ 3.7900090683251619e-003
+ 0.5947548151016235
+ 0.3312020003795624
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 2 3 -1.
+ <_>9 12 2 1 3.
+ 0
+ -2.4291418958455324e-003
+ 0.6603232026100159
+ 1
+ <_>
+
+
+
+ <_>3 3 12 12 -1.
+ <_>3 3 6 6 2.
+ <_>9 9 6 6 2.
+ 0
+ 9.4262324273586273e-003
+ 0.4680665135383606
+ 0.2064338028430939
+ <_>
+
+ <_>
+
+
+
+ <_>15 11 5 3 -1.
+ <_>15 12 5 1 3.
+ 0
+ 8.0630257725715637e-003
+ 0.5298851132392883
+ 1
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ 5.2240812219679356e-003
+ 0.5281602740287781
+ 0.1909549981355667
+ <_>
+
+ <_>
+
+
+
+ <_>0 11 5 3 -1.
+ <_>0 12 5 1 3.
+ 0
+ -7.0630568079650402e-003
+ 0.1380645930767059
+ 1
+ <_>
+
+
+
+ <_>7 18 3 2 -1.
+ <_>8 18 1 2 3.
+ 0
+ 5.6897541508078575e-003
+ 0.5490636825561523
+ 0.1260281056165695
+ <_>
+
+ <_>
+
+
+
+ <_>2 8 16 2 -1.
+ <_>2 9 16 1 2.
+ 0
+ 1.2472929665818810e-003
+ 0.2372663021087647
+ 1
+ <_>
+
+
+
+ <_>9 6 5 12 -1.
+ <_>9 12 5 6 2.
+ 0
+ 0.0495434887707233
+ 0.5240166187286377
+ 0.1769216060638428
+ 5.9844889640808105
+ 1
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 8 6 -1.
+ <_>6 6 8 3 2.
+ 0
+ -4.9326149746775627e-003
+ 1
+ 0.1998064965009689
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>8 7 4 2 3.
+ 0
+ 2.7918140403926373e-005
+ 0.2299380004405975
+ 0.7393211126327515
+ <_>
+
+ <_>
+
+
+
+ <_>10 9 6 8 -1.
+ <_>10 13 6 4 2.
+ 0
+ 3.0876200180500746e-003
+ 1
+ 0.1533840000629425
+ <_>
+
+
+
+ <_>12 5 3 10 -1.
+ <_>12 10 3 5 2.
+ 0
+ 7.4669660534709692e-006
+ 0.2036858946084976
+ 0.5854915976524353
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 3 9 -1.
+ <_>4 9 3 3 3.
+ 0
+ 1.8739729421213269e-003
+ 0.2049895972013474
+ 1
+ <_>
+
+
+
+ <_>7 4 6 4 -1.
+ <_>9 4 2 4 3.
+ 0
+ 9.3380251200869679e-004
+ 0.3234199881553650
+ 0.7323014140129089
+ <_>
+
+ <_>
+
+
+
+ <_>12 3 8 3 -1.
+ <_>12 3 4 3 2.
+ 0
+ 1.9151850137859583e-003
+ 0.3045149147510529
+ 1
+ <_>
+
+
+
+ <_>15 0 3 6 -1.
+ <_>15 3 3 3 2.
+ 0
+ -5.9683797881007195e-003
+ 0.2932133972644806
+ 0.5621296167373657
+ <_>
+
+ <_>
+
+
+
+ <_>2 12 10 8 -1.
+ <_>2 12 5 4 2.
+ <_>7 16 5 4 2.
+ 0
+ -7.2115601506084204e-004
+ 0.3658036887645721
+ 1
+ <_>
+
+
+
+ <_>5 5 6 8 -1.
+ <_>5 9 6 4 2.
+ 0
+ -5.9663117863237858e-003
+ 0.2712155878543854
+ 0.7226334810256958
+ <_>
+
+ <_>
+
+
+
+ <_>12 3 8 3 -1.
+ <_>12 3 4 3 2.
+ 0
+ 0.0308741796761751
+ 0.4419837892055512
+ 1
+ <_>
+
+
+
+ <_>15 0 3 6 -1.
+ <_>15 3 3 3 2.
+ 0
+ -0.0110997101292014
+ 0.3612976968288422
+ 0.5251451134681702
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 8 3 -1.
+ <_>4 3 4 3 2.
+ 0
+ 2.1164179779589176e-003
+ 0.3628616929054260
+ 1
+ <_>
+
+
+
+ <_>2 1 4 4 -1.
+ <_>2 3 4 2 2.
+ 0
+ -9.4317439943552017e-003
+ 0.1601095050573349
+ 0.7052276730537415
+ <_>
+
+ <_>
+
+
+
+ <_>10 2 3 2 -1.
+ <_>11 2 1 2 3.
+ 0
+ -3.5266019403934479e-003
+ 0.1301288008689880
+ 1
+ <_>
+
+
+
+ <_>10 3 3 1 -1.
+ <_>11 3 1 1 3.
+ 0
+ -1.6907559474930167e-003
+ 0.1786323934793472
+ 0.5521529912948608
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 3 4 -1.
+ <_>7 17 3 2 2.
+ 0
+ 4.6470930101349950e-004
+ 0.3487383127212524
+ 1
+ <_>
+
+
+
+ <_>4 13 3 6 -1.
+ <_>4 15 3 2 3.
+ 0
+ -0.0102155702188611
+ 0.2673991024494171
+ 0.6667919158935547
+ <_>
+
+ <_>
+
+
+
+ <_>10 5 1 14 -1.
+ <_>10 12 1 7 2.
+ 0
+ 1.2634709710255265e-003
+ 1
+ 0.3437863886356354
+ <_>
+
+
+
+ <_>5 4 10 6 -1.
+ <_>5 6 10 2 3.
+ 0
+ -0.0118752997368574
+ 0.5995336174964905
+ 0.3497717976570129
+ <_>
+
+ <_>
+
+
+
+ <_>5 0 6 3 -1.
+ <_>7 0 2 3 3.
+ 0
+ -0.0107323396950960
+ 0.2150489985942841
+ 1
+ <_>
+
+
+
+ <_>6 0 3 5 -1.
+ <_>7 0 1 5 3.
+ 0
+ 7.1836481802165508e-003
+ 0.6271436214447022
+ 0.2519541978836060
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 6 5 -1.
+ <_>9 15 2 5 3.
+ 0
+ -0.0283408891409636
+ 0.0824118927121162
+ 1
+ <_>
+
+
+
+ <_>9 10 2 6 -1.
+ <_>9 12 2 2 3.
+ 0
+ -4.5813230099156499e-004
+ 0.5910056829452515
+ 0.3705201148986816
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 3 2 -1.
+ <_>9 17 1 2 3.
+ 0
+ 4.2940340936183929e-003
+ 1
+ 0.1594727933406830
+ <_>
+
+
+
+ <_>1 12 7 6 -1.
+ <_>1 14 7 2 3.
+ 0
+ 0.0107510797679424
+ 0.5980480909347534
+ 0.2832508087158203
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 3 7 -1.
+ <_>10 6 1 7 3.
+ 0
+ 0.0224651191383600
+ 1
+ 0.7877091169357300
+ <_>
+
+
+
+ <_>16 3 4 9 -1.
+ <_>16 6 4 3 3.
+ 0
+ -0.0579885393381119
+ 0.1555740982294083
+ 0.5239657163619995
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 3 7 -1.
+ <_>9 6 1 7 3.
+ 0
+ 7.2110891342163086e-003
+ 1
+ 0.6620365977287293
+ <_>
+
+
+
+ <_>0 5 18 8 -1.
+ <_>0 5 9 4 2.
+ <_>9 9 9 4 2.
+ 0
+ -0.0483675710856915
+ 0.1424719989299774
+ 0.4429833889007568
+ <_>
+
+ <_>
+
+
+
+ <_>13 5 2 10 -1.
+ <_>13 10 2 5 2.
+ 0
+ -0.0144180599600077
+ 0.1588540971279144
+ 1
+ <_>
+
+
+
+ <_>12 10 2 6 -1.
+ <_>12 13 2 3 2.
+ 0
+ -0.0231563895940781
+ 0.2375798970460892
+ 0.5217134952545166
+ <_>
+
+ <_>
+
+
+
+ <_>7 0 3 5 -1.
+ <_>8 0 1 5 3.
+ 0
+ 7.6985340565443039e-003
+ 1
+ 0.1941725015640259
+ <_>
+
+
+
+ <_>6 5 8 6 -1.
+ <_>6 7 8 2 3.
+ 0
+ -5.6248619221150875e-003
+ 0.6278405785560608
+ 0.3746044933795929
+ <_>
+
+ <_>
+
+
+
+ <_>10 3 6 14 -1.
+ <_>13 3 3 7 2.
+ <_>10 10 3 7 2.
+ 0
+ -7.2936748620122671e-004
+ 1
+ 0.3840922117233276
+ <_>
+
+
+
+ <_>13 5 1 8 -1.
+ <_>13 9 1 4 2.
+ 0
+ 6.1783898854628205e-004
+ 0.3106493055820465
+ 0.5537847280502319
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 6 14 -1.
+ <_>4 3 3 7 2.
+ <_>7 10 3 7 2.
+ 0
+ -4.5803939428878948e-005
+ 1
+ 0.3444449007511139
+ <_>
+
+
+
+ <_>6 5 1 8 -1.
+ <_>6 9 1 4 2.
+ 0
+ -1.4719359569426160e-005
+ 0.2729552090167999
+ 0.6428951025009155
+ 8.5117864608764648
+ 2
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 1 6 -1.
+ <_>8 3 1 2 3.
+ 0
+ -1.3469370314851403e-003
+ 0.1657086014747620
+ 1
+ <_>
+
+
+
+ <_>2 0 15 2 -1.
+ <_>2 1 15 1 2.
+ 0
+ -2.4774789344519377e-003
+ 0.2273851037025452
+ 0.6989349722862244
+ <_>
+
+ <_>
+
+
+
+ <_>0 7 20 6 -1.
+ <_>0 9 20 2 3.
+ 0
+ 5.2632777951657772e-003
+ 0.1512074023485184
+ 1
+ <_>
+
+
+
+ <_>10 10 6 8 -1.
+ <_>10 14 6 4 2.
+ 0
+ 4.9075339920818806e-003
+ 0.5564470291137695
+ 0.1605442017316818
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 3 2 -1.
+ <_>8 1 1 2 3.
+ 0
+ -2.3254349362105131e-003
+ 0.1880259066820145
+ 1
+ <_>
+
+
+
+ <_>8 1 2 2 -1.
+ <_>9 1 1 2 2.
+ 0
+ -1.4665479538962245e-003
+ 0.3122498989105225
+ 0.7165396213531494
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 12 9 -1.
+ <_>4 6 12 3 3.
+ 0
+ -0.1231169030070305
+ 1
+ 0.3859583139419556
+ <_>
+
+
+
+ <_>6 5 9 5 -1.
+ <_>9 5 3 5 3.
+ 0
+ 2.2108340635895729e-003
+ 0.2455293983221054
+ 0.5695710182189941
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 9 5 -1.
+ <_>8 5 3 5 3.
+ 0
+ 2.0661531016230583e-003
+ 0.2716520130634308
+ 1
+ <_>
+
+
+
+ <_>4 6 6 12 -1.
+ <_>4 10 6 4 3.
+ 0
+ 3.6130280932411551e-004
+ 0.2293362021446228
+ 0.7208629846572876
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 6 18 -1.
+ <_>13 0 3 18 2.
+ 0
+ 0.0799578726291656
+ 1
+ 0.7833620905876160
+ <_>
+
+
+
+ <_>10 8 1 12 -1.
+ <_>10 12 1 4 3.
+ 0
+ 2.6064720004796982e-003
+ 0.5545232295989990
+ 0.2550689876079559
+ <_>
+
+ <_>
+
+
+
+ <_>3 2 6 10 -1.
+ <_>3 2 3 5 2.
+ <_>6 7 3 5 2.
+ 0
+ 6.5699010156095028e-003
+ 1
+ 0.1819390058517456
+ <_>
+
+
+
+ <_>1 2 4 6 -1.
+ <_>3 2 2 6 2.
+ 0
+ 1.6259610420092940e-003
+ 0.3529875874519348
+ 0.6552819013595581
+ <_>
+
+ <_>
+
+
+
+ <_>9 18 3 2 -1.
+ <_>10 18 1 2 3.
+ 0
+ 3.6204981151968241e-003
+ 0.5462309718132019
+ 1
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ -4.4391951523721218e-003
+ 0.1359843015670776
+ 0.5415815114974976
+ <_>
+
+ <_>
+
+
+
+ <_>2 8 2 6 -1.
+ <_>2 10 2 2 3.
+ 0
+ -9.0540945529937744e-003
+ 0.1115119978785515
+ 1
+ <_>
+
+
+
+ <_>7 5 6 6 -1.
+ <_>7 7 6 2 3.
+ 0
+ -4.6067481162026525e-004
+ 0.5846719741821289
+ 0.2598348855972290
+ <_>
+
+ <_>
+
+
+
+ <_>7 19 6 1 -1.
+ <_>9 19 2 1 3.
+ 0
+ -5.6621041148900986e-003
+ 0.1610569059848785
+ 1
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ 5.1165837794542313e-003
+ 0.5376678705215454
+ 0.1739455014467239
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 3 1 -1.
+ <_>9 3 1 1 3.
+ 0
+ -2.1362339612096548e-003
+ 0.1902073025703430
+ 1
+ <_>
+
+
+
+ <_>2 2 16 2 -1.
+ <_>2 2 8 1 2.
+ <_>10 3 8 1 2.
+ 0
+ -5.4809921421110630e-003
+ 0.3272008001804352
+ 0.6364840865135193
+ <_>
+
+ <_>
+
+
+
+ <_>8 11 5 3 -1.
+ <_>8 12 5 1 3.
+ 0
+ -8.1061907112598419e-003
+ 0.6914852857589722
+ 1
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ 6.0048708692193031e-003
+ 0.4327326118946075
+ 0.6963843107223511
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 6 15 -1.
+ <_>2 1 2 15 3.
+ 0
+ -0.0870285481214523
+ 0.8594133853912354
+ 1
+ <_>
+
+
+
+ <_>2 12 2 3 -1.
+ <_>2 13 2 1 3.
+ 0
+ -4.7809639945626259e-003
+ 0.0973944664001465
+ 0.4587030112743378
+ <_>
+
+ <_>
+
+
+
+ <_>16 13 1 3 -1.
+ <_>16 14 1 1 3.
+ 0
+ -2.2166660055518150e-003
+ 0.2554625868797302
+ 1
+ <_>
+
+
+
+ <_>13 7 6 4 -1.
+ <_>16 7 3 2 2.
+ <_>13 9 3 2 2.
+ 0
+ 1.3642730191349983e-003
+ 0.3319090902805328
+ 0.5964102745056152
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 3 6 -1.
+ <_>7 16 3 3 2.
+ 0
+ -9.0077864006161690e-003
+ 0.2666594982147217
+ 1
+ <_>
+
+
+
+ <_>7 5 1 14 -1.
+ <_>7 12 1 7 2.
+ 0
+ -0.0154941203072667
+ 0.1848185956478119
+ 0.6245970726013184
+ <_>
+
+ <_>
+
+
+
+ <_>15 12 2 3 -1.
+ <_>15 13 2 1 3.
+ 0
+ -4.2165028862655163e-003
+ 1
+ 0.5379927158355713
+ <_>
+
+
+
+ <_>10 5 3 14 -1.
+ <_>10 12 3 7 2.
+ 0
+ 0.0432497598230839
+ 0.5183029174804688
+ 0.2170419991016388
+ <_>
+
+ <_>
+
+
+
+ <_>6 10 2 6 -1.
+ <_>6 13 2 3 2.
+ 0
+ 2.8786511393263936e-004
+ 1
+ 0.2613384127616882
+ <_>
+
+
+
+ <_>6 5 1 8 -1.
+ <_>6 9 1 4 2.
+ 0
+ 1.2373150093480945e-003
+ 0.2786532044410706
+ 0.5908988118171692
+ <_>
+
+ <_>
+
+
+
+ <_>13 11 2 1 -1.
+ <_>13 11 1 1 2.
+ 0
+ 1.9528300035744905e-003
+ 1
+ 0.2612869143486023
+ <_>
+
+
+
+ <_>12 1 6 10 -1.
+ <_>15 1 3 5 2.
+ <_>12 6 3 5 2.
+ 0
+ -1.4947060262784362e-003
+ 0.5915412902832031
+ 0.3455781936645508
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 2 3 -1.
+ <_>3 13 2 1 3.
+ 0
+ 3.5878680646419525e-003
+ 1
+ 0.1587052047252655
+ <_>
+
+
+
+ <_>9 18 2 1 -1.
+ <_>10 18 1 1 2.
+ 0
+ -2.5938691105693579e-003
+ 0.1270411014556885
+ 0.5979428887367249
+ 8.4680156707763672
+ 3
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 17 9 -1.
+ <_>1 3 17 3 3.
+ 0
+ 3.5810680128633976e-003
+ 0.1995104998350143
+ 1
+ <_>
+
+
+
+ <_>1 2 8 8 -1.
+ <_>1 2 4 4 2.
+ <_>5 6 4 4 2.
+ 0
+ -2.8552350122481585e-003
+ 0.7373070120811462
+ 0.2921737134456635
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 6 4 -1.
+ <_>9 5 3 4 2.
+ 0
+ 1.9758539274334908e-003
+ 0.1956419944763184
+ 1
+ <_>
+
+
+
+ <_>10 9 7 10 -1.
+ <_>10 14 7 5 2.
+ 0
+ 3.2583118882030249e-003
+ 0.5692046880722046
+ 0.1839064955711365
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 6 4 -1.
+ <_>8 5 3 4 2.
+ 0
+ 2.3711679386906326e-004
+ 0.2171667069196701
+ 1
+ <_>
+
+
+
+ <_>0 7 20 6 -1.
+ <_>0 9 20 2 3.
+ 0
+ 2.5942500215023756e-003
+ 0.2719989120960236
+ 0.7150244116783142
+ <_>
+
+ <_>
+
+
+
+ <_>6 5 9 10 -1.
+ <_>6 10 9 5 2.
+ 0
+ -0.0250324495136738
+ 0.1825183928012848
+ 1
+ <_>
+
+
+
+ <_>8 4 4 12 -1.
+ <_>8 10 4 6 2.
+ 0
+ 6.3087949529290199e-003
+ 0.5699837803840637
+ 0.3509852886199951
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 8 3 -1.
+ <_>6 7 8 1 3.
+ 0
+ -3.2494920305907726e-003
+ 1
+ 0.4023926854133606
+ <_>
+
+
+
+ <_>3 13 10 6 -1.
+ <_>3 13 5 3 2.
+ <_>8 16 5 3 2.
+ 0
+ -0.0148857301101089
+ 0.3604095876216888
+ 0.7291995286941528
+ <_>
+
+ <_>
+
+
+
+ <_>15 1 4 11 -1.
+ <_>15 1 2 11 2.
+ 0
+ 8.0623216927051544e-003
+ 1
+ 0.6491490006446838
+ <_>
+
+
+
+ <_>5 7 10 10 -1.
+ <_>10 7 5 5 2.
+ <_>5 12 5 5 2.
+ 0
+ 0.0274056792259216
+ 0.5518993139266968
+ 0.2659681141376495
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 4 11 -1.
+ <_>3 1 2 11 2.
+ 0
+ 0.0343686006963253
+ 1
+ 0.6712512969970703
+ <_>
+
+
+
+ <_>1 5 8 12 -1.
+ <_>1 11 8 6 2.
+ 0
+ -0.0272929705679417
+ 0.1691378057003021
+ 0.4326277971267700
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 6 4 -1.
+ <_>16 7 3 2 2.
+ <_>13 9 3 2 2.
+ 0
+ 7.4452121043577790e-004
+ 0.3405100107192993
+ 1
+ <_>
+
+
+
+ <_>11 10 7 4 -1.
+ <_>11 12 7 2 2.
+ 0
+ 7.0336280623450875e-004
+ 0.5516793131828308
+ 0.3311387896537781
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 20 12 -1.
+ <_>0 4 10 6 2.
+ <_>10 10 10 6 2.
+ 0
+ -0.1227546036243439
+ 0.1675315052270889
+ 1
+ <_>
+
+
+
+ <_>1 5 6 15 -1.
+ <_>1 10 6 5 3.
+ 0
+ 3.2559928949922323e-003
+ 0.3615751862525940
+ 0.6420782804489136
+ <_>
+
+ <_>
+
+
+
+ <_>11 10 3 8 -1.
+ <_>11 14 3 4 2.
+ 0
+ -0.0320903994143009
+ 0.2921079099178314
+ 1
+ <_>
+
+
+
+ <_>11 12 7 6 -1.
+ <_>11 14 7 2 3.
+ 0
+ 3.2957999501377344e-003
+ 0.5613031983375549
+ 0.3357860147953033
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 2 3 -1.
+ <_>9 12 2 1 3.
+ 0
+ -3.2273170072585344e-003
+ 0.6970642805099487
+ 1
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 1.1171669466421008e-003
+ 0.3541150093078613
+ 0.6144006252288818
+ <_>
+
+ <_>
+
+
+
+ <_>3 14 14 4 -1.
+ <_>10 14 7 2 2.
+ <_>3 16 7 2 2.
+ 0
+ -0.0172799509018660
+ 1
+ 0.5537180900573731
+ <_>
+
+
+
+ <_>18 7 2 4 -1.
+ <_>18 9 2 2 2.
+ 0
+ 0.0117412004619837
+ 0.5341957211494446
+ 0.2757104933261871
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 6 6 -1.
+ <_>3 14 6 2 3.
+ 0
+ 4.6405228786170483e-003
+ 1
+ 0.2489521056413651
+ <_>
+
+
+
+ <_>0 4 3 6 -1.
+ <_>0 6 3 2 3.
+ 0
+ -0.0169130302965641
+ 0.1711928993463516
+ 0.5523952841758728
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 3 3 -1.
+ <_>9 15 3 1 3.
+ 0
+ 0.0100601697340608
+ 1
+ 0.8273450732231140
+ <_>
+
+
+
+ <_>10 7 10 4 -1.
+ <_>15 7 5 2 2.
+ <_>10 9 5 2 2.
+ 0
+ -6.0715491417795420e-004
+ 0.3779391050338745
+ 0.5476251840591431
+ <_>
+
+ <_>
+
+
+
+ <_>7 2 6 8 -1.
+ <_>7 6 6 4 2.
+ 0
+ -1.0865400545299053e-003
+ 1
+ 0.3296540975570679
+ <_>
+
+
+
+ <_>6 3 6 2 -1.
+ <_>8 3 2 2 3.
+ 0
+ 8.9362077414989471e-003
+ 0.6062883734703064
+ 0.2434220016002655
+ <_>
+
+ <_>
+
+
+
+ <_>10 6 3 5 -1.
+ <_>11 6 1 5 3.
+ 0
+ -2.6372660067863762e-004
+ 1
+ 0.3814094960689545
+ <_>
+
+
+
+ <_>9 0 6 19 -1.
+ <_>11 0 2 19 3.
+ 0
+ 0.0131100500002503
+ 0.5517616271972656
+ 0.3726893067359924
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 1 2 -1.
+ <_>3 13 1 1 2.
+ 0
+ -2.9806280508637428e-003
+ 0.1229664012789726
+ 1
+ <_>
+
+
+
+ <_>7 14 5 3 -1.
+ <_>7 15 5 1 3.
+ 0
+ -4.1619571857154369e-003
+ 0.7252274751663208
+ 0.4973455071449280
+ <_>
+
+ <_>
+
+
+
+ <_>2 1 18 4 -1.
+ <_>11 1 9 2 2.
+ <_>2 3 9 2 2.
+ 0
+ 0.0338423289358616
+ 0.5348312854766846
+ 1
+ <_>
+
+
+
+ <_>10 5 3 8 -1.
+ <_>11 5 1 8 3.
+ 0
+ -1.2564560165628791e-003
+ 0.5851914882659912
+ 0.4384166896343231
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 18 4 -1.
+ <_>0 1 9 2 2.
+ <_>9 3 9 2 2.
+ 0
+ -0.0196352303028107
+ 0.2297834008932114
+ 1
+ <_>
+
+
+
+ <_>7 5 3 8 -1.
+ <_>8 5 1 8 3.
+ 0
+ -9.9625496659427881e-004
+ 0.6295937895774841
+ 0.4131599068641663
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 6 -1.
+ <_>9 7 2 2 3.
+ 0
+ -0.0231271106749773
+ 0.1695459038019180
+ 1
+ <_>
+
+
+
+ <_>10 8 5 2 -1.
+ <_>10 9 5 1 2.
+ 0
+ 0.0235257092863321
+ 0.5174130201339722
+ 0.0595193915069103
+ <_>
+
+ <_>
+
+
+
+ <_>2 10 15 1 -1.
+ <_>7 10 5 1 3.
+ 0
+ -0.0193565208464861
+ 0.1357247978448868
+ 1
+ <_>
+
+
+
+ <_>2 7 2 6 -1.
+ <_>2 9 2 2 3.
+ 0
+ -4.1787112131714821e-003
+ 0.2996628880500794
+ 0.5791695117950440
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 3 3 -1.
+ <_>9 15 3 1 3.
+ 0
+ 3.1488779932260513e-003
+ 1
+ 0.6592589020729065
+ <_>
+
+
+
+ <_>9 7 4 10 -1.
+ <_>9 12 4 5 2.
+ 0
+ 7.3972279205918312e-003
+ 0.5307171940803528
+ 0.3795121014118195
+ <_>
+
+ <_>
+
+
+
+ <_>0 8 8 2 -1.
+ <_>0 8 4 1 2.
+ <_>4 9 4 1 2.
+ 0
+ 7.1955118983169086e-006
+ 0.3128314912319183
+ 1
+ <_>
+
+
+
+ <_>5 9 10 8 -1.
+ <_>5 9 5 4 2.
+ <_>10 13 5 4 2.
+ 0
+ 0.0471144095063210
+ 0.5537893176078796
+ 0.1027309000492096
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 4 -1.
+ <_>9 7 1 4 2.
+ 0
+ 7.2878710925579071e-003
+ 0.4660859107971191
+ 1
+ <_>
+
+
+
+ <_>9 6 3 4 -1.
+ <_>10 6 1 4 3.
+ 0
+ -6.1887511983513832e-003
+ 0.7158858180046082
+ 0.4724448919296265
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 2 1 -1.
+ <_>9 3 1 1 2.
+ 0
+ 2.9757320880889893e-003
+ 1
+ 0.0593456886708736
+ <_>
+
+
+
+ <_>8 6 3 4 -1.
+ <_>9 6 1 4 3.
+ 0
+ -1.8449809867888689e-003
+ 0.7027301788330078
+ 0.4718731045722961
+ <_>
+
+ <_>
+
+
+
+ <_>12 0 4 14 -1.
+ <_>14 0 2 7 2.
+ <_>12 7 2 7 2.
+ 0
+ 1.0239540279144421e-004
+ 0.5894734263420105
+ 1
+ <_>
+
+
+
+ <_>12 5 6 9 -1.
+ <_>12 5 3 9 2.
+ 0
+ 2.4277009069919586e-003
+ 0.4862355887889862
+ 0.5247588157653809
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 6 16 -1.
+ <_>3 2 3 16 2.
+ 0
+ -0.0647513121366501
+ 0.6917471289634705
+ 1
+ <_>
+
+
+
+ <_>1 12 4 2 -1.
+ <_>1 13 4 1 2.
+ 0
+ 3.9380151429213583e-004
+ 0.4669617116451263
+ 0.2382405996322632
+ 12.5784997940063480
+ 4
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 1 -1.
+ <_>9 7 2 1 3.
+ 0
+ 1.4397440245375037e-003
+ 0.2773470878601074
+ 1
+ <_>
+
+
+
+ <_>8 3 4 9 -1.
+ <_>8 6 4 3 3.
+ 0
+ -5.4068560712039471e-004
+ 0.7427154779434204
+ 0.2479735016822815
+ <_>
+
+ <_>
+
+
+
+ <_>12 10 4 6 -1.
+ <_>12 13 4 3 2.
+ 0
+ -7.1237959673453588e-006
+ 1
+ 0.2199503034353256
+ <_>
+
+
+
+ <_>8 1 8 16 -1.
+ <_>12 1 4 8 2.
+ <_>8 9 4 8 2.
+ 0
+ -2.3661039303988218e-003
+ 0.5889989733695984
+ 0.2595716118812561
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 3 6 -1.
+ <_>4 9 3 3 2.
+ 0
+ 1.7343269428238273e-003
+ 0.1860125958919525
+ 1
+ <_>
+
+
+
+ <_>1 3 6 2 -1.
+ <_>4 3 3 2 2.
+ 0
+ 1.5874590026214719e-003
+ 0.4151870906352997
+ 0.7103474140167236
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 12 -1.
+ <_>9 12 3 4 3.
+ 0
+ 3.7285638973116875e-003
+ 1
+ 0.2527967095375061
+ <_>
+
+
+
+ <_>10 9 7 10 -1.
+ <_>10 14 7 5 2.
+ 0
+ -0.1288381963968277
+ 0.1393000930547714
+ 0.5254514813423157
+ <_>
+
+ <_>
+
+
+
+ <_>3 9 7 10 -1.
+ <_>3 14 7 5 2.
+ 0
+ 7.9412180930376053e-003
+ 1
+ 0.2487729042768478
+ <_>
+
+
+
+ <_>7 5 1 14 -1.
+ <_>7 12 1 7 2.
+ 0
+ -0.0126617299392819
+ 0.2710700035095215
+ 0.6618837714195252
+ <_>
+
+ <_>
+
+
+
+ <_>13 14 1 6 -1.
+ <_>13 16 1 2 3.
+ 0
+ 3.0146789868013002e-005
+ 0.3812825977802277
+ 1
+ <_>
+
+
+
+ <_>14 12 3 6 -1.
+ <_>14 14 3 2 3.
+ 0
+ -0.0163301602005959
+ 0.2326432019472122
+ 0.5263010859489441
+ <_>
+
+ <_>
+
+
+
+ <_>6 14 1 6 -1.
+ <_>6 16 1 2 3.
+ 0
+ 1.4622770322603174e-005
+ 0.4293332099914551
+ 1
+ <_>
+
+
+
+ <_>3 12 3 6 -1.
+ <_>3 14 3 2 3.
+ 0
+ -0.0208586603403091
+ 0.1600403934717178
+ 0.6782314777374268
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 5 3 -1.
+ <_>8 14 5 1 3.
+ 0
+ 2.8194559272378683e-003
+ 1
+ 0.6679294109344482
+ <_>
+
+
+
+ <_>9 14 2 3 -1.
+ <_>9 15 2 1 3.
+ 0
+ 3.7899368908256292e-003
+ 0.4587705135345459
+ 0.7176238894462585
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 10 8 -1.
+ <_>5 1 5 4 2.
+ <_>10 5 5 4 2.
+ 0
+ 0.0353446416556835
+ 1
+ 0.1864075064659119
+ <_>
+
+
+
+ <_>6 4 5 4 -1.
+ <_>6 6 5 2 2.
+ 0
+ -1.1571600334718823e-003
+ 0.5538259744644165
+ 0.3150450885295868
+ <_>
+
+ <_>
+
+
+
+ <_>1 10 18 1 -1.
+ <_>7 10 6 1 3.
+ 0
+ -5.8742752298712730e-003
+ 0.2828791141510010
+ 1
+ <_>
+
+
+
+ <_>11 10 4 3 -1.
+ <_>11 10 2 3 2.
+ 0
+ -1.5201780115603469e-005
+ 0.5870224237442017
+ 0.3704823851585388
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 6 1 -1.
+ <_>7 11 2 1 3.
+ 0
+ -2.2681879636365920e-004
+ 1
+ 0.4218930900096893
+ <_>
+
+
+
+ <_>3 13 2 3 -1.
+ <_>3 14 2 1 3.
+ 0
+ 3.7845689803361893e-003
+ 0.6667001247406006
+ 0.2461182028055191
+ <_>
+
+ <_>
+
+
+
+ <_>12 12 3 4 -1.
+ <_>12 14 3 2 2.
+ 0
+ -8.5295992903411388e-005
+ 1
+ 0.3557587862014771
+ <_>
+
+
+
+ <_>11 10 5 6 -1.
+ <_>11 12 5 2 3.
+ 0
+ -0.0443948917090893
+ 0.1665547043085098
+ 0.5234848856925964
+ <_>
+
+ <_>
+
+
+
+ <_>0 8 16 2 -1.
+ <_>0 9 16 1 2.
+ 0
+ 1.0126030538231134e-003
+ 0.2884612977504730
+ 1
+ <_>
+
+
+
+ <_>2 1 3 4 -1.
+ <_>2 3 3 2 2.
+ 0
+ -7.6327780261635780e-003
+ 0.2969340085983276
+ 0.6080111265182495
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 3 -1.
+ <_>10 7 1 3 3.
+ 0
+ 4.0330411866307259e-003
+ 0.4536390006542206
+ 1
+ <_>
+
+
+
+ <_>5 6 12 6 -1.
+ <_>9 6 4 6 3.
+ 0
+ 0.1367668956518173
+ 0.5177264213562012
+ 0.1449182033538818
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 3 -1.
+ <_>9 7 1 3 3.
+ 0
+ -5.0060478970408440e-003
+ 0.7616909742355347
+ 1
+ <_>
+
+
+
+ <_>3 6 12 6 -1.
+ <_>7 6 4 6 3.
+ 0
+ -0.0124758398160338
+ 0.2159706056118012
+ 0.5460187792778015
+ <_>
+
+ <_>
+
+
+
+ <_>10 5 6 5 -1.
+ <_>12 5 2 5 3.
+ 0
+ -9.4012258341535926e-004
+ 1
+ 0.3926295936107636
+ <_>
+
+
+
+ <_>5 7 10 2 -1.
+ <_>5 7 5 2 2.
+ 0
+ -0.0121919801458716
+ 0.3478881120681763
+ 0.5542662739753723
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 6 5 -1.
+ <_>6 5 2 5 3.
+ 0
+ -5.4959481349214911e-004
+ 0.6064276099205017
+ 1
+ <_>
+
+
+
+ <_>9 3 2 10 -1.
+ <_>9 8 2 5 2.
+ 0
+ -2.1802430273965001e-004
+ 0.5697407126426697
+ 0.1779713928699493
+ <_>
+
+ <_>
+
+
+
+ <_>3 1 16 2 -1.
+ <_>11 1 8 1 2.
+ <_>3 2 8 1 2.
+ 0
+ 6.9115799851715565e-003
+ 0.5379372239112854
+ 1
+ <_>
+
+
+
+ <_>9 9 3 2 -1.
+ <_>9 10 3 1 2.
+ 0
+ -9.7631698008626699e-004
+ 0.3327839076519013
+ 0.5461531281471252
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 16 2 -1.
+ <_>1 1 8 1 2.
+ <_>9 2 8 1 2.
+ 0
+ -8.7870173156261444e-003
+ 0.2116160988807678
+ 1
+ <_>
+
+
+
+ <_>8 14 1 3 -1.
+ <_>8 15 1 1 3.
+ 0
+ -1.6761029837653041e-003
+ 0.6635823249816895
+ 0.4365859031677246
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 12 10 -1.
+ <_>10 5 6 5 2.
+ <_>4 10 6 5 2.
+ 0
+ -0.0556949488818645
+ 1
+ 0.5387424826622009
+ <_>
+
+
+
+ <_>7 13 6 6 -1.
+ <_>10 13 3 3 2.
+ <_>7 16 3 3 2.
+ 0
+ -0.0198443792760372
+ 0.1602804958820343
+ 0.5330458879470825
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 3 2 -1.
+ <_>8 10 3 1 2.
+ 0
+ -7.4751611100509763e-004
+ 0.2917476892471314
+ 1
+ <_>
+
+
+
+ <_>7 2 6 4 -1.
+ <_>9 2 2 4 3.
+ 0
+ 0.0230328906327486
+ 0.5608124136924744
+ 0.1997981071472168
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 9 3 -1.
+ <_>6 7 9 1 3.
+ 0
+ -3.0700280331075191e-003
+ 1
+ 0.3938314020633698
+ <_>
+
+
+
+ <_>10 7 6 1 -1.
+ <_>12 7 2 1 3.
+ 0
+ -1.1636839481070638e-003
+ 0.5757436156272888
+ 0.4239456951618195
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 18 6 -1.
+ <_>6 0 6 6 3.
+ 0
+ 0.2246433943510056
+ 1
+ 0.7676553130149841
+ <_>
+
+
+
+ <_>6 10 2 6 -1.
+ <_>6 13 2 3 2.
+ 0
+ 1.4412109740078449e-003
+ 0.5353866219520569
+ 0.2514776885509491
+ <_>
+
+ <_>
+
+
+
+ <_>11 12 3 6 -1.
+ <_>11 15 3 3 2.
+ 0
+ -0.0300112497061491
+ 0.2364903986454010
+ 1
+ <_>
+
+
+
+ <_>4 4 12 12 -1.
+ <_>10 4 6 6 2.
+ <_>4 10 6 6 2.
+ 0
+ -0.0530789606273174
+ 0.2385863959789276
+ 0.5414664745330811
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 3 6 -1.
+ <_>2 2 1 6 3.
+ 0
+ 2.0800929050892591e-003
+ 1
+ 0.6511614918708801
+ <_>
+
+
+
+ <_>1 5 3 7 -1.
+ <_>2 5 1 7 3.
+ 0
+ -4.0738182142376900e-003
+ 0.6030414104461670
+ 0.3587701022624970
+ <_>
+
+ <_>
+
+
+
+ <_>4 13 12 4 -1.
+ <_>10 13 6 2 2.
+ <_>4 15 6 2 2.
+ 0
+ -0.0195293705910444
+ 1
+ 0.5423592925071716
+ <_>
+
+
+
+ <_>3 3 17 12 -1.
+ <_>3 9 17 6 2.
+ 0
+ -0.0533094704151154
+ 0.2360953986644745
+ 0.5401757955551148
+ <_>
+
+ <_>
+
+
+
+ <_>3 3 14 12 -1.
+ <_>3 3 7 6 2.
+ <_>10 9 7 6 2.
+ 0
+ -0.0348495617508888
+ 0.2836985886096954
+ 1
+ <_>
+
+
+
+ <_>2 11 16 9 -1.
+ <_>2 14 16 3 3.
+ 0
+ -0.1265845000743866
+ 0.1813516020774841
+ 0.5421046018600464
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 3 6 -1.
+ <_>9 17 3 3 2.
+ 0
+ 7.3325118137290701e-006
+ 0.3980365991592407
+ 1
+ <_>
+
+
+
+ <_>8 14 4 6 -1.
+ <_>10 14 2 3 2.
+ <_>8 17 2 3 2.
+ 0
+ -0.0118438703939319
+ 0.2616384923458099
+ 0.5237730145454407
+ <_>
+
+ <_>
+
+
+
+ <_>6 2 6 1 -1.
+ <_>8 2 2 1 3.
+ 0
+ -4.8470678739249706e-003
+ 0.2438108026981354
+ 1
+ <_>
+
+
+
+ <_>9 5 2 5 -1.
+ <_>10 5 1 5 2.
+ 0
+ 8.1693977117538452e-003
+ 0.5327146053314209
+ 0.8190376758575440
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 5 -1.
+ <_>10 8 1 5 3.
+ 0
+ -6.4716790802776814e-003
+ 1
+ 0.4679693877696991
+ <_>
+
+
+
+ <_>9 12 6 1 -1.
+ <_>9 12 3 1 2.
+ 0
+ -1.5188479665084742e-005
+ 0.5563911795616150
+ 0.4367586076259613
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 3 5 -1.
+ <_>9 8 1 5 3.
+ 0
+ 3.0696711037307978e-003
+ 1
+ 0.6664348840713501
+ <_>
+
+
+
+ <_>6 10 4 3 -1.
+ <_>8 10 2 3 2.
+ 0
+ -1.6296720423270017e-004
+ 0.5594611167907715
+ 0.3042711913585663
+ 14.5467500686645510
+ 5
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 20 6 -1.
+ <_>0 6 20 2 3.
+ 0
+ -9.8275858908891678e-003
+ 1
+ 0.2116018980741501
+ <_>
+
+
+
+ <_>1 3 8 6 -1.
+ <_>1 3 4 3 2.
+ <_>5 6 4 3 2.
+ 0
+ -4.1693858802318573e-003
+ 0.6924685239791870
+ 0.3043777048587799
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 6 4 -1.
+ <_>7 17 6 2 2.
+ 0
+ 3.5341319744475186e-004
+ 0.3183285892009735
+ 1
+ <_>
+
+
+
+ <_>3 10 14 10 -1.
+ <_>3 15 14 5 2.
+ 0
+ 4.8054549843072891e-003
+ 0.5456559062004089
+ 0.2522268891334534
+ <_>
+
+ <_>
+
+
+
+ <_>6 4 4 4 -1.
+ <_>8 4 2 4 2.
+ 0
+ 2.1071180526632816e-004
+ 0.2902618050575256
+ 1
+ <_>
+
+
+
+ <_>0 4 20 10 -1.
+ <_>0 9 20 5 2.
+ 0
+ -2.8318869881331921e-003
+ 0.3130455911159515
+ 0.6884937286376953
+ <_>
+
+ <_>
+
+
+
+ <_>9 4 2 14 -1.
+ <_>9 11 2 7 2.
+ 0
+ -7.5633679443853907e-006
+ 1
+ 0.2962465882301331
+ <_>
+
+
+
+ <_>2 0 16 4 -1.
+ <_>2 2 16 2 2.
+ 0
+ -8.2888139877468348e-004
+ 0.3099626004695892
+ 0.5752515196800232
+ <_>
+
+ <_>
+
+
+
+ <_>4 12 6 8 -1.
+ <_>4 12 3 4 2.
+ <_>7 16 3 4 2.
+ 0
+ 1.6209259629249573e-003
+ 0.3993195891380310
+ 1
+ <_>
+
+
+
+ <_>0 5 6 7 -1.
+ <_>3 5 3 7 2.
+ 0
+ 9.1338958591222763e-003
+ 0.4827372133731842
+ 0.7537832856178284
+ <_>
+
+ <_>
+
+
+
+ <_>10 7 10 4 -1.
+ <_>15 7 5 2 2.
+ <_>10 9 5 2 2.
+ 0
+ -4.1212290525436401e-003
+ 0.2616927027702332
+ 1
+ <_>
+
+
+
+ <_>5 8 12 1 -1.
+ <_>9 8 4 1 3.
+ 0
+ -2.5447290390729904e-003
+ 0.3108702898025513
+ 0.5491235852241516
+ <_>
+
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ -6.2652782071381807e-004
+ 0.3239691853523254
+ 1
+ <_>
+
+
+
+ <_>9 4 2 4 -1.
+ <_>9 6 2 2 2.
+ 0
+ -3.6596331483451650e-005
+ 0.6517410874366760
+ 0.4178912043571472
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 3 6 -1.
+ <_>10 6 1 6 3.
+ 0
+ 0.0138827199116349
+ 1
+ 0.6771203875541687
+ <_>
+
+
+
+ <_>12 7 6 4 -1.
+ <_>15 7 3 2 2.
+ <_>12 9 3 2 2.
+ 0
+ 1.0493700392544270e-003
+ 0.4159511029720306
+ 0.5652891993522644
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 3 6 -1.
+ <_>9 6 1 6 3.
+ 0
+ 0.0182153601199389
+ 1
+ 0.7689601182937622
+ <_>
+
+
+
+ <_>1 6 18 6 -1.
+ <_>1 6 9 3 2.
+ <_>10 9 9 3 2.
+ 0
+ -0.0113345803692937
+ 0.2873323857784271
+ 0.4988932907581329
+ <_>
+
+ <_>
+
+
+
+ <_>9 1 3 3 -1.
+ <_>10 1 1 3 3.
+ 0
+ -4.1097560897469521e-003
+ 1
+ 0.5463008284568787
+ <_>
+
+
+
+ <_>10 8 5 2 -1.
+ <_>10 9 5 1 2.
+ 0
+ 4.2612891411408782e-004
+ 0.3631235063076019
+ 0.5512552261352539
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 3 3 -1.
+ <_>9 1 1 3 3.
+ 0
+ 6.0301548801362514e-003
+ 1
+ 0.1143767014145851
+ <_>
+
+
+
+ <_>5 8 5 2 -1.
+ <_>5 9 5 1 2.
+ 0
+ 3.3587709185667336e-004
+ 0.2891078889369965
+ 0.5447341799736023
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 8 8 -1.
+ <_>12 6 4 4 2.
+ <_>8 10 4 4 2.
+ 0
+ 6.2279507983475924e-004
+ 1
+ 0.3023431897163391
+ <_>
+
+
+
+ <_>5 7 10 2 -1.
+ <_>5 7 5 2 2.
+ 0
+ -0.0258371196687222
+ 0.2167005985975266
+ 0.5278152823448181
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 12 10 -1.
+ <_>4 5 6 5 2.
+ <_>10 10 6 5 2.
+ 0
+ 0.0217749103903770
+ 1
+ 0.3254834115505219
+ <_>
+
+
+
+ <_>5 5 2 3 -1.
+ <_>5 6 2 1 3.
+ 0
+ 1.7682299949228764e-003
+ 0.5263050794601440
+ 0.7526329159736633
+ <_>
+
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ -0.0137938102707267
+ 0.7410330176353455
+ 1
+ <_>
+
+
+
+ <_>9 14 3 3 -1.
+ <_>9 15 3 1 3.
+ 0
+ -5.0852829590439796e-003
+ 0.6836609840393066
+ 0.4579071104526520
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 3 3 -1.
+ <_>8 15 3 1 3.
+ 0
+ 6.1795017682015896e-003
+ 1
+ 0.7449936270713806
+ <_>
+
+
+
+ <_>1 10 8 9 -1.
+ <_>1 13 8 3 3.
+ 0
+ 0.0100303199142218
+ 0.4860779941082001
+ 0.2361457049846649
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 8 2 1 3.
+ 0
+ -6.4201927743852139e-003
+ 0.1467327028512955
+ 1
+ <_>
+
+
+
+ <_>12 3 3 3 -1.
+ <_>13 3 1 3 3.
+ 0
+ -5.6961281225085258e-003
+ 0.2347819954156876
+ 0.5323377251625061
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 3 3 -1.
+ <_>6 3 1 3 3.
+ 0
+ -7.1498160250484943e-003
+ 0.1477057039737701
+ 1
+ <_>
+
+
+
+ <_>5 6 2 12 -1.
+ <_>5 10 2 4 3.
+ 0
+ 2.4450740311294794e-003
+ 0.3498533964157105
+ 0.5803561806678772
+ <_>
+
+ <_>
+
+
+
+ <_>1 11 18 4 -1.
+ <_>10 11 9 2 2.
+ <_>1 13 9 2 2.
+ 0
+ -0.0375034101307392
+ 1
+ 0.5259550809860230
+ <_>
+
+
+
+ <_>7 12 6 2 -1.
+ <_>7 13 6 1 2.
+ 0
+ 4.7799441381357610e-004
+ 0.4362882971763611
+ 0.6208922863006592
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 3 6 -1.
+ <_>7 0 1 6 3.
+ 0
+ -7.0806080475449562e-003
+ 0.2039460986852646
+ 1
+ <_>
+
+
+
+ <_>0 11 18 4 -1.
+ <_>0 11 9 2 2.
+ <_>9 13 9 2 2.
+ 0
+ 0.0328180007636547
+ 0.5198358893394470
+ 0.1371196061372757
+ <_>
+
+ <_>
+
+
+
+ <_>7 12 6 2 -1.
+ <_>7 13 6 1 2.
+ 0
+ 6.5188988810405135e-004
+ 1
+ 0.6323429942131043
+ <_>
+
+
+
+ <_>9 12 3 3 -1.
+ <_>9 13 3 1 3.
+ 0
+ 4.6485587954521179e-003
+ 0.4720163047313690
+ 0.6567087173461914
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 2 3 -1.
+ <_>9 13 2 1 3.
+ 0
+ -1.9827929791063070e-003
+ 0.6053060293197632
+ 1
+ <_>
+
+
+
+ <_>8 11 4 3 -1.
+ <_>8 12 4 1 3.
+ 0
+ -1.6011310508474708e-003
+ 0.5090519189834595
+ 0.3116933107376099
+ <_>
+
+ <_>
+
+
+
+ <_>13 3 4 2 -1.
+ <_>13 4 4 1 2.
+ 0
+ -3.0539939180016518e-003
+ 0.3429804146289825
+ 1
+ <_>
+
+
+
+ <_>4 0 12 2 -1.
+ <_>4 1 12 1 2.
+ 0
+ 4.3212040327489376e-004
+ 0.3838402926921845
+ 0.5775598287582398
+ <_>
+
+ <_>
+
+
+
+ <_>6 9 8 8 -1.
+ <_>6 9 4 4 2.
+ <_>10 13 4 4 2.
+ 0
+ -0.0274521205574274
+ 0.2143469005823135
+ 1
+ <_>
+
+
+
+ <_>1 11 6 2 -1.
+ <_>1 12 6 1 2.
+ 0
+ 9.3099439982324839e-004
+ 0.5952966213226318
+ 0.3760158121585846
+ <_>
+
+ <_>
+
+
+
+ <_>2 5 18 8 -1.
+ <_>11 5 9 4 2.
+ <_>2 9 9 4 2.
+ 0
+ 6.7144189961254597e-003
+ 0.5692626833915710
+ 1
+ <_>
+
+
+
+ <_>7 1 6 10 -1.
+ <_>7 6 6 5 2.
+ 0
+ -3.3701690845191479e-003
+ 0.5784304141998291
+ 0.3974282145500183
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 3 6 -1.
+ <_>0 5 3 2 3.
+ 0
+ -0.0189039595425129
+ 0.1818892955780029
+ 1
+ <_>
+
+
+
+ <_>4 5 4 3 -1.
+ <_>4 6 4 1 3.
+ 0
+ -6.5850871615111828e-003
+ 0.6849110126495361
+ 0.4351584017276764
+ <_>
+
+ <_>
+
+
+
+ <_>19 3 1 6 -1.
+ <_>19 5 1 2 3.
+ 0
+ 5.8810501359403133e-003
+ 1
+ 0.2726660966873169
+ <_>
+
+
+
+ <_>6 15 8 2 -1.
+ <_>6 16 8 1 2.
+ 0
+ 8.0092082498595119e-004
+ 0.4236431121826172
+ 0.5844675898551941
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 1 6 -1.
+ <_>0 5 1 2 3.
+ 0
+ 1.8510579830035567e-003
+ 1
+ 0.3371320962905884
+ <_>
+
+
+
+ <_>5 5 3 3 -1.
+ <_>5 6 3 1 3.
+ 0
+ 6.3273650594055653e-003
+ 0.5270221829414368
+ 0.8053650856018066
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 4 3 -1.
+ <_>8 9 4 1 3.
+ 0
+ -3.3820930402725935e-003
+ 0.2866018116474152
+ 1
+ <_>
+
+
+
+ <_>10 6 6 3 -1.
+ <_>12 6 2 3 3.
+ 0
+ -1.9292969955131412e-003
+ 0.5888946056365967
+ 0.3895787000656128
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 2 6 -1.
+ <_>8 16 2 3 2.
+ 0
+ 0.0149952201172709
+ 1
+ 0.2177816927433014
+ <_>
+
+
+
+ <_>9 11 2 8 -1.
+ <_>9 15 2 4 2.
+ 0
+ -0.0263307504355907
+ 0.1775317043066025
+ 0.5671470165252686
+ <_>
+
+ <_>
+
+
+
+ <_>10 6 6 3 -1.
+ <_>12 6 2 3 3.
+ 0
+ -4.1734222322702408e-003
+ 1
+ 0.4652962088584900
+ <_>
+
+
+
+ <_>5 15 15 5 -1.
+ <_>10 15 5 5 3.
+ 0
+ 0.0272683501243591
+ 0.4768311083316803
+ 0.5695238709449768
+ <_>
+
+ <_>
+
+
+
+ <_>2 14 2 2 -1.
+ <_>2 15 2 1 2.
+ 0
+ 9.8880263976752758e-004
+ 1
+ 0.3397401869297028
+ <_>
+
+
+
+ <_>4 7 6 2 -1.
+ <_>6 7 2 2 3.
+ 0
+ -1.0528849670663476e-003
+ 0.6250041127204895
+ 0.4288412034511566
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 6 1 -1.
+ <_>10 3 2 1 3.
+ 0
+ 5.2288072183728218e-003
+ 0.5347762107849121
+ 1
+ <_>
+
+
+
+ <_>1 0 18 12 -1.
+ <_>7 0 6 12 3.
+ 0
+ 0.0303954593837261
+ 0.4115518927574158
+ 0.5660753846168518
+ <_>
+
+ <_>
+
+
+
+ <_>0 14 8 6 -1.
+ <_>4 14 4 6 2.
+ 0
+ -0.0791139304637909
+ 0.7881323099136353
+ 1
+ <_>
+
+
+
+ <_>0 15 15 5 -1.
+ <_>5 15 5 5 3.
+ 0
+ 0.0182316694408655
+ 0.3604339957237244
+ 0.5569505095481873
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 6 1 -1.
+ <_>10 3 2 1 3.
+ 0
+ 5.2288072183728218e-003
+ 0.5416644215583801
+ 1
+ <_>
+
+
+
+ <_>11 11 3 6 -1.
+ <_>11 14 3 3 2.
+ 0
+ 4.3922828626818955e-004
+ 0.5507156848907471
+ 0.3882277011871338
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 6 1 -1.
+ <_>8 3 2 1 3.
+ 0
+ -8.6501962505280972e-004
+ 0.3185850977897644
+ 1
+ <_>
+
+
+
+ <_>6 11 3 6 -1.
+ <_>6 14 3 3 2.
+ 0
+ 1.0326979681849480e-003
+ 0.5578364133834839
+ 0.3219245970249176
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 3 4 -1.
+ <_>10 6 1 4 3.
+ 0
+ -7.2997747920453548e-003
+ 0.7073233127593994
+ 1
+ <_>
+
+
+
+ <_>12 10 4 7 -1.
+ <_>12 10 2 7 2.
+ 0
+ -9.3629042385146022e-004
+ 0.5558015704154968
+ 0.4613842070102692
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 3 4 -1.
+ <_>9 6 1 4 3.
+ 0
+ -6.0483231209218502e-003
+ 0.6869289875030518
+ 1
+ <_>
+
+
+
+ <_>4 6 4 7 -1.
+ <_>6 6 2 7 2.
+ 0
+ 6.7529221996665001e-003
+ 0.4870317876338959
+ 0.2650370895862579
+ <_>
+
+ <_>
+
+
+
+ <_>10 3 4 12 -1.
+ <_>10 3 2 12 2.
+ 0
+ 0.0530780293047428
+ 0.5281515121459961
+ 1
+ <_>
+
+
+
+ <_>10 8 3 4 -1.
+ <_>11 8 1 4 3.
+ 0
+ -1.0225810110569000e-003
+ 0.6085882186889648
+ 0.4304867982864380
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 14 -1.
+ <_>7 0 6 14 3.
+ 0
+ 0.0312706492841244
+ 1
+ 0.5445832014083862
+ <_>
+
+
+
+ <_>2 8 6 11 -1.
+ <_>5 8 3 11 2.
+ 0
+ -6.3522169366478920e-003
+ 0.5328335762023926
+ 0.2364324033260346
+ 18.5722503662109380
+ 6
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 4 15 4 -1.
+ <_>1 6 15 2 2.
+ 0
+ -6.2215630896389484e-003
+ 1
+ 0.2625581026077271
+ <_>
+
+
+
+ <_>5 5 10 8 -1.
+ <_>5 9 10 4 2.
+ 0
+ 2.1097389981150627e-003
+ 0.1564992964267731
+ 0.6792883276939392
+ <_>
+
+ <_>
+
+
+
+ <_>14 2 6 8 -1.
+ <_>14 2 3 8 2.
+ 0
+ 0.0108458595350385
+ 0.3485808968544006
+ 1
+ <_>
+
+
+
+ <_>11 6 6 14 -1.
+ <_>14 6 3 7 2.
+ <_>11 13 3 7 2.
+ 0
+ 6.4230401767417789e-004
+ 0.3698255121707916
+ 0.5921658277511597
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 12 -1.
+ <_>9 11 2 6 2.
+ 0
+ 7.3311722371727228e-004
+ 1
+ 0.3007084131240845
+ <_>
+
+
+
+ <_>3 7 4 6 -1.
+ <_>3 9 4 2 3.
+ 0
+ 1.0134200565516949e-003
+ 0.3624922931194305
+ 0.7072426080703735
+ <_>
+
+ <_>
+
+
+
+ <_>14 3 6 6 -1.
+ <_>14 3 3 6 2.
+ 0
+ 0.0110935596749187
+ 0.4416702091693878
+ 1
+ <_>
+
+
+
+ <_>15 2 4 4 -1.
+ <_>15 4 4 2 2.
+ 0
+ -7.9127531498670578e-003
+ 0.3028708100318909
+ 0.5417376160621643
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 6 7 -1.
+ <_>3 2 3 7 2.
+ 0
+ 0.0129053099080920
+ 0.4374504089355469
+ 1
+ <_>
+
+
+
+ <_>3 6 6 14 -1.
+ <_>3 6 3 7 2.
+ <_>6 13 3 7 2.
+ 0
+ -4.2430912144482136e-003
+ 0.4401589930057526
+ 0.7565190792083740
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 16 8 -1.
+ <_>4 10 16 4 2.
+ 0
+ -2.1304309484548867e-004
+ 0.2310786992311478
+ 1
+ <_>
+
+
+
+ <_>10 12 2 8 -1.
+ <_>10 16 2 4 2.
+ 0
+ -2.2308640182018280e-003
+ 0.3568195998668671
+ 0.5749999284744263
+ <_>
+
+ <_>
+
+
+
+ <_>7 0 6 20 -1.
+ <_>9 0 2 20 3.
+ 0
+ 2.6400520000606775e-003
+ 0.3593688905239105
+ 1
+ <_>
+
+
+
+ <_>1 7 16 12 -1.
+ <_>1 7 8 6 2.
+ <_>9 13 8 6 2.
+ 0
+ 0.0751010328531265
+ 0.6363567709922791
+ 0.2327028959989548
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 3 3 -1.
+ <_>9 12 3 1 3.
+ 0
+ -7.7012968249619007e-003
+ 0.7074623703956604
+ 1
+ <_>
+
+
+
+ <_>11 9 4 5 -1.
+ <_>11 9 2 5 2.
+ 0
+ 1.5588370151817799e-003
+ 0.5700237154960632
+ 0.3590450882911682
+ <_>
+
+ <_>
+
+
+
+ <_>3 3 1 2 -1.
+ <_>3 4 1 1 2.
+ 0
+ -4.7687938786111772e-004
+ 0.2805441021919251
+ 1
+ <_>
+
+
+
+ <_>7 17 5 3 -1.
+ <_>7 18 5 1 3.
+ 0
+ 8.4234727546572685e-004
+ 0.4125418961048126
+ 0.6177995800971985
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 4 8 -1.
+ <_>10 12 2 4 2.
+ <_>8 16 2 4 2.
+ 0
+ -0.0128251099959016
+ 1
+ 0.5403078198432922
+ <_>
+
+
+
+ <_>7 4 10 12 -1.
+ <_>12 4 5 6 2.
+ <_>7 10 5 6 2.
+ 0
+ -6.5156567143276334e-004
+ 0.5633643865585327
+ 0.3356539011001587
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ -0.0120061598718166
+ 0.7109510898590088
+ 1
+ <_>
+
+
+
+ <_>5 9 4 5 -1.
+ <_>7 9 2 5 2.
+ 0
+ 1.3213419588282704e-003
+ 0.4903850853443146
+ 0.2824583053588867
+ <_>
+
+ <_>
+
+
+
+ <_>9 9 8 2 -1.
+ <_>9 9 4 2 2.
+ 0
+ -0.0203074403107166
+ 0.1891369968652725
+ 1
+ <_>
+
+
+
+ <_>14 15 5 2 -1.
+ <_>14 16 5 1 2.
+ 0
+ 4.0180929936468601e-003
+ 0.5377966165542603
+ 0.3119494915008545
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 2 3 -1.
+ <_>9 15 2 1 3.
+ 0
+ 4.5315311290323734e-003
+ 1
+ 0.7206758260726929
+ <_>
+
+
+
+ <_>1 7 8 4 -1.
+ <_>1 7 4 2 2.
+ <_>5 9 4 2 2.
+ 0
+ -4.4381739571690559e-003
+ 0.1854667961597443
+ 0.4981732964515686
+ <_>
+
+ <_>
+
+
+
+ <_>19 3 1 2 -1.
+ <_>19 4 1 1 2.
+ 0
+ 1.5692010056227446e-003
+ 1
+ 0.2638274133205414
+ <_>
+
+
+
+ <_>9 12 2 3 -1.
+ <_>9 13 2 1 3.
+ 0
+ -4.9516442231833935e-003
+ 0.6871067285537720
+ 0.4714686870574951
+ <_>
+
+ <_>
+
+
+
+ <_>3 14 14 4 -1.
+ <_>3 14 7 2 2.
+ <_>10 16 7 2 2.
+ 0
+ -0.0274296794086695
+ 0.1548285037279129
+ 1
+ <_>
+
+
+
+ <_>5 0 10 2 -1.
+ <_>5 1 10 1 2.
+ 0
+ 1.4181969454512000e-003
+ 0.4376842975616455
+ 0.6327368021011353
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 4 6 -1.
+ <_>11 16 4 2 3.
+ 0
+ -0.0130789401009679
+ 0.3166814148426056
+ 1
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ -3.5092779435217381e-003
+ 0.6199743747711182
+ 0.4379687011241913
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 6 6 -1.
+ <_>7 13 3 3 2.
+ <_>10 16 3 3 2.
+ 0
+ 0.0189207307994366
+ 1
+ 0.1470714062452316
+ <_>
+
+
+
+ <_>0 2 1 6 -1.
+ <_>0 4 1 2 3.
+ 0
+ 2.1683350205421448e-003
+ 0.5809459090232849
+ 0.3431949019432068
+ <_>
+
+ <_>
+
+
+
+ <_>6 7 8 2 -1.
+ <_>6 8 8 1 2.
+ 0
+ 1.6401590546593070e-003
+ 0.3959457874298096
+ 1
+ <_>
+
+
+
+ <_>9 7 6 1 -1.
+ <_>9 7 3 1 2.
+ 0
+ 1.4005920093040913e-004
+ 0.3240025043487549
+ 0.5646647214889526
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 6 10 -1.
+ <_>7 6 6 5 2.
+ 0
+ -3.3137591090053320e-003
+ 1
+ 0.4274528026580811
+ <_>
+
+
+
+ <_>0 2 6 2 -1.
+ <_>0 3 6 1 2.
+ 0
+ -2.9459029901772738e-003
+ 0.3341667950153351
+ 0.6627960205078125
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 2 4 -1.
+ <_>11 4 1 4 2.
+ 0
+ 1.3612229668069631e-004
+ 0.4046927988529205
+ 1
+ <_>
+
+
+
+ <_>11 10 3 6 -1.
+ <_>11 13 3 3 2.
+ 0
+ 6.0512032359838486e-004
+ 0.5484058260917664
+ 0.3569940924644470
+ <_>
+
+ <_>
+
+
+
+ <_>3 9 8 2 -1.
+ <_>7 9 4 2 2.
+ 0
+ -0.0175139904022217
+ 0.1824150979518890
+ 1
+ <_>
+
+
+
+ <_>0 0 4 6 -1.
+ <_>2 0 2 6 2.
+ 0
+ -0.0187350306659937
+ 0.7971820235252380
+ 0.5068569183349609
+ <_>
+
+ <_>
+
+
+
+ <_>7 0 6 2 -1.
+ <_>9 0 2 2 3.
+ 0
+ 0.0120656499639153
+ 1
+ 0.2167007029056549
+ <_>
+
+
+
+ <_>9 15 2 3 -1.
+ <_>9 16 2 1 3.
+ 0
+ -2.6544178836047649e-003
+ 0.6584178805351257
+ 0.4628243148326874
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 1 2 -1.
+ <_>3 13 1 1 2.
+ 0
+ 1.4501289697363973e-003
+ 1
+ 0.2090252041816711
+ <_>
+
+
+
+ <_>4 5 11 3 -1.
+ <_>4 6 11 1 3.
+ 0
+ 0.0109540196135640
+ 0.5112305283546448
+ 0.7784575819969177
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 2 4 -1.
+ <_>11 4 1 4 2.
+ 0
+ 0.0157717093825340
+ 0.5132359266281128
+ 1
+ <_>
+
+
+
+ <_>8 3 6 3 -1.
+ <_>10 3 2 3 3.
+ 0
+ -0.0142526896670461
+ 0.1742414981126785
+ 0.5267148017883301
+ <_>
+
+ <_>
+
+
+
+ <_>7 4 2 4 -1.
+ <_>8 4 1 4 2.
+ 0
+ 3.0411860279855318e-005
+ 0.3418447971343994
+ 1
+ <_>
+
+
+
+ <_>6 3 6 3 -1.
+ <_>8 3 2 3 3.
+ 0
+ 0.0234862994402647
+ 0.5631265044212341
+ 0.2006393969058991
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 4 3 -1.
+ <_>11 5 4 1 3.
+ 0
+ 5.2205449901521206e-003
+ 1
+ 0.6249648928642273
+ <_>
+
+
+
+ <_>11 8 2 8 -1.
+ <_>11 12 2 4 2.
+ 0
+ -0.0258124303072691
+ 0.3203228116035461
+ 0.5199329853057861
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 5 -1.
+ <_>9 7 1 5 3.
+ 0
+ -1.9526650430634618e-003
+ 0.6140705943107605
+ 1
+ <_>
+
+
+
+ <_>9 7 2 5 -1.
+ <_>10 7 1 5 2.
+ 0
+ -8.1470049917697906e-003
+ 0.6592895984649658
+ 0.3711124956607819
+ <_>
+
+ <_>
+
+
+
+ <_>14 11 1 6 -1.
+ <_>14 13 1 2 3.
+ 0
+ 3.2962448894977570e-003
+ 1
+ 0.2952111959457398
+ <_>
+
+
+
+ <_>8 8 4 3 -1.
+ <_>8 9 4 1 3.
+ 0
+ -1.3961310032755136e-003
+ 0.3320803940296173
+ 0.5528414845466614
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 2 2 -1.
+ <_>0 4 2 1 2.
+ 0
+ -4.1055441834032536e-003
+ 0.1710550040006638
+ 1
+ <_>
+
+
+
+ <_>4 14 5 6 -1.
+ <_>4 16 5 2 3.
+ 0
+ -0.0108887795358896
+ 0.3359434902667999
+ 0.5674905180931091
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 4 3 -1.
+ <_>11 5 4 1 3.
+ 0
+ -7.6768421567976475e-003
+ 1
+ 0.4773241877555847
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ -9.7729787230491638e-003
+ 0.8081045150756836
+ 0.4845828115940094
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 4 3 -1.
+ <_>5 5 4 1 3.
+ 0
+ 6.0439710505306721e-003
+ 1
+ 0.6784002184867859
+ <_>
+
+
+
+ <_>5 15 4 2 -1.
+ <_>7 15 2 2 2.
+ 0
+ -4.6134641161188483e-004
+ 0.5514639019966126
+ 0.3642359972000122
+ <_>
+
+ <_>
+
+
+
+ <_>15 1 5 9 -1.
+ <_>15 4 5 3 3.
+ 0
+ 0.0579923614859581
+ 1
+ 0.1254435032606125
+ <_>
+
+
+
+ <_>9 10 3 3 -1.
+ <_>9 11 3 1 3.
+ 0
+ 5.9384980704635382e-004
+ 0.4424878954887390
+ 0.5728461742401123
+ <_>
+
+ <_>
+
+
+
+ <_>1 6 2 6 -1.
+ <_>1 8 2 2 3.
+ 0
+ -6.2353480607271194e-003
+ 0.2805041968822479
+ 1
+ <_>
+
+
+
+ <_>2 4 8 15 -1.
+ <_>2 9 8 5 3.
+ 0
+ -0.0127849299460649
+ 0.1950912028551102
+ 0.5652924776077271
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 3 2 -1.
+ <_>9 13 3 1 2.
+ 0
+ 4.1973669431172311e-004
+ 1
+ 0.6166483759880066
+ <_>
+
+
+
+ <_>9 12 3 3 -1.
+ <_>9 13 3 1 3.
+ 0
+ 8.0646801507100463e-004
+ 0.4526579976081848
+ 0.5944486856460571
+ <_>
+
+ <_>
+
+
+
+ <_>7 6 3 5 -1.
+ <_>8 6 1 5 3.
+ 0
+ -1.6339010326191783e-003
+ 1
+ 0.4086942076683044
+ <_>
+
+
+
+ <_>5 3 6 2 -1.
+ <_>7 3 2 2 3.
+ 0
+ -4.8299999907612801e-003
+ 0.2793526947498322
+ 0.6444935202598572
+ <_>
+
+ <_>
+
+
+
+ <_>6 1 8 10 -1.
+ <_>10 1 4 5 2.
+ <_>6 6 4 5 2.
+ 0
+ -6.3992068171501160e-003
+ 1
+ 0.5671656131744385
+ <_>
+
+
+
+ <_>0 0 20 10 -1.
+ <_>10 0 10 5 2.
+ <_>0 5 10 5 2.
+ 0
+ 0.1081919968128204
+ 0.5311812162399292
+ 0.2614356875419617
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 3 1 -1.
+ <_>7 3 1 1 3.
+ 0
+ 6.5056560561060905e-004
+ 1
+ 0.2996774017810822
+ <_>
+
+
+
+ <_>0 2 6 8 -1.
+ <_>2 2 2 8 3.
+ 0
+ 0.0206112507730722
+ 0.4489943087100983
+ 0.6888279914855957
+ <_>
+
+ <_>
+
+
+
+ <_>11 10 3 4 -1.
+ <_>11 12 3 2 2.
+ 0
+ -0.0251290500164032
+ 1
+ 0.5196864008903503
+ <_>
+
+
+
+ <_>12 6 3 8 -1.
+ <_>12 10 3 4 2.
+ 0
+ 1.7922939732670784e-003
+ 0.3466995954513550
+ 0.5533587932586670
+ <_>
+
+ <_>
+
+
+
+ <_>6 10 3 4 -1.
+ <_>6 12 3 2 2.
+ 0
+ 1.5626220265403390e-003
+ 1
+ 0.3081440031528473
+ <_>
+
+
+
+ <_>5 6 3 8 -1.
+ <_>5 10 3 4 2.
+ 0
+ -6.1898730928078294e-004
+ 0.2693870961666107
+ 0.5544489026069641
+ <_>
+
+ <_>
+
+
+
+ <_>2 6 18 6 -1.
+ <_>11 6 9 3 2.
+ <_>2 9 9 3 2.
+ 0
+ 4.8111421056091785e-003
+ 0.5587847828865051
+ 1
+ <_>
+
+
+
+ <_>7 14 7 3 -1.
+ <_>7 15 7 1 3.
+ 0
+ 2.2484229411929846e-003
+ 0.4672113060951233
+ 0.6090825200080872
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 2 12 -1.
+ <_>1 0 1 12 2.
+ 0
+ -0.0301472395658493
+ 0.9027591943740845
+ 1
+ <_>
+
+
+
+ <_>1 2 18 16 -1.
+ <_>1 10 18 8 2.
+ 0
+ 0.2754867970943451
+ 0.4719834923744202
+ 0.2196920067071915
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 5 3 -1.
+ <_>9 14 5 1 3.
+ 0
+ 3.6894630175083876e-003
+ 1
+ 0.6273009181022644
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 7.2957701049745083e-003
+ 0.4839217960834503
+ 0.6909062266349793
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 18 6 -1.
+ <_>0 6 9 3 2.
+ <_>9 9 9 3 2.
+ 0
+ -0.0562110692262650
+ 0.1738487929105759
+ 1
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -2.6478560175746679e-003
+ 0.6304144859313965
+ 0.4474301934242249
+ <_>
+
+ <_>
+
+
+
+ <_>17 4 1 3 -1.
+ <_>17 5 1 1 3.
+ 0
+ -1.4534000074490905e-003
+ 1
+ 0.5302538275718689
+ <_>
+
+
+
+ <_>12 11 1 9 -1.
+ <_>12 14 1 3 3.
+ 0
+ 2.8540920466184616e-003
+ 0.5338397026062012
+ 0.3796882927417755
+ <_>
+
+ <_>
+
+
+
+ <_>2 4 1 3 -1.
+ <_>2 5 1 1 3.
+ 0
+ 5.8243022067472339e-004
+ 1
+ 0.3269836902618408
+ <_>
+
+
+
+ <_>5 4 2 3 -1.
+ <_>5 5 2 1 3.
+ 0
+ 9.2509482055902481e-004
+ 0.4554812014102936
+ 0.6358348131179810
+ 21.5781192779541020
+ 7
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 18 3 -1.
+ <_>7 2 6 3 3.
+ 0
+ 0.0198064409196377
+ 0.2809725105762482
+ 1
+ <_>
+
+
+
+ <_>0 1 20 6 -1.
+ <_>0 3 20 2 3.
+ 0
+ 7.0395611692219973e-004
+ 0.3119826018810272
+ 0.7090306282043457
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 6 3 -1.
+ <_>9 5 2 3 3.
+ 0
+ 2.5563780218362808e-003
+ 0.2981947958469391
+ 1
+ <_>
+
+
+
+ <_>13 7 6 4 -1.
+ <_>16 7 3 2 2.
+ <_>13 9 3 2 2.
+ 0
+ 1.0824160417541862e-003
+ 0.3020560145378113
+ 0.5808811187744141
+ <_>
+
+ <_>
+
+
+
+ <_>3 1 4 10 -1.
+ <_>3 1 2 5 2.
+ <_>5 6 2 5 2.
+ 0
+ -9.2893769033253193e-004
+ 1
+ 0.3738102912902832
+ <_>
+
+
+
+ <_>0 4 19 10 -1.
+ <_>0 9 19 5 2.
+ 0
+ -0.0180097296833992
+ 0.2163126021623612
+ 0.6619253754615784
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 12 -1.
+ <_>9 12 3 4 3.
+ 0
+ 2.3500190582126379e-003
+ 1
+ 0.2910403907299042
+ <_>
+
+
+
+ <_>11 18 5 2 -1.
+ <_>11 19 5 1 2.
+ 0
+ 8.1822491483762860e-004
+ 0.5578622817993164
+ 0.3366627991199493
+ <_>
+
+ <_>
+
+
+
+ <_>5 16 6 4 -1.
+ <_>5 16 3 2 2.
+ <_>8 18 3 2 2.
+ 0
+ 6.2095321482047439e-004
+ 0.4072425961494446
+ 1
+ <_>
+
+
+
+ <_>5 18 3 2 -1.
+ <_>5 19 3 1 2.
+ 0
+ 9.6780969761312008e-004
+ 0.6859595775604248
+ 0.3105461895465851
+ <_>
+
+ <_>
+
+
+
+ <_>13 11 3 2 -1.
+ <_>13 12 3 1 2.
+ 0
+ 4.8000211245380342e-004
+ 1
+ 0.3337332904338837
+ <_>
+
+
+
+ <_>8 5 8 4 -1.
+ <_>8 5 4 4 2.
+ 0
+ 9.0538640506565571e-005
+ 0.3370958864688873
+ 0.5451210737228394
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 18 6 -1.
+ <_>1 2 9 3 2.
+ <_>10 5 9 3 2.
+ 0
+ -0.0439147986471653
+ 0.2625670135021210
+ 1
+ <_>
+
+
+
+ <_>3 5 14 6 -1.
+ <_>3 7 14 2 3.
+ 0
+ -5.6501338258385658e-003
+ 0.6050462722778320
+ 0.3232415020465851
+ <_>
+
+ <_>
+
+
+
+ <_>18 1 2 6 -1.
+ <_>18 3 2 2 3.
+ 0
+ 3.8661491125822067e-003
+ 1
+ 0.3262613117694855
+ <_>
+
+
+
+ <_>9 11 6 1 -1.
+ <_>11 11 2 1 3.
+ 0
+ -6.3069426687434316e-005
+ 0.5817307829856873
+ 0.4164389967918396
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 6 11 -1.
+ <_>3 2 3 11 2.
+ 0
+ 0.0525337383151054
+ 1
+ 0.7095398902893066
+ <_>
+
+
+
+ <_>4 12 2 3 -1.
+ <_>4 13 2 1 3.
+ 0
+ 1.3818660518154502e-003
+ 0.5292875766754150
+ 0.2541388869285584
+ <_>
+
+ <_>
+
+
+
+ <_>6 12 9 2 -1.
+ <_>9 12 3 2 3.
+ 0
+ -8.9264067355543375e-004
+ 1
+ 0.4085341095924377
+ <_>
+
+
+
+ <_>9 4 6 15 -1.
+ <_>9 4 3 15 2.
+ 0
+ 0.0855795070528984
+ 0.5263236165046692
+ 0.3003202974796295
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 6 1 -1.
+ <_>7 11 2 1 3.
+ 0
+ -1.8343339615967125e-004
+ 1
+ 0.4029205143451691
+ <_>
+
+
+
+ <_>5 4 6 15 -1.
+ <_>8 4 3 15 2.
+ 0
+ -9.7924815490841866e-003
+ 0.3521319925785065
+ 0.6664004921913147
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 6 7 -1.
+ <_>14 12 3 7 2.
+ 0
+ 0.0144286202266812
+ 0.4593566060066223
+ 1
+ <_>
+
+
+
+ <_>18 3 2 9 -1.
+ <_>18 6 2 3 3.
+ 0
+ -0.0456870011985302
+ 0.1474756002426148
+ 0.5178632140159607
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 3 1 -1.
+ <_>9 1 1 1 3.
+ 0
+ -2.5763090234249830e-003
+ 0.1837278008460999
+ 1
+ <_>
+
+
+
+ <_>0 12 6 7 -1.
+ <_>3 12 3 7 2.
+ 0
+ -0.0383018590509892
+ 0.8082658052444458
+ 0.5166687965393066
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 6 4 -1.
+ <_>16 7 3 2 2.
+ <_>13 9 3 2 2.
+ 0
+ 2.8978290501981974e-003
+ 0.4798013865947723
+ 1
+ <_>
+
+
+
+ <_>8 0 10 2 -1.
+ <_>8 1 10 1 2.
+ 0
+ -2.5165060069411993e-003
+ 0.3346295952796936
+ 0.5444449186325073
+ <_>
+
+ <_>
+
+
+
+ <_>1 7 6 4 -1.
+ <_>1 7 3 2 2.
+ <_>4 9 3 2 2.
+ 0
+ 5.6281982688233256e-004
+ 0.3589026927947998
+ 1
+ <_>
+
+
+
+ <_>1 2 3 3 -1.
+ <_>1 3 3 1 3.
+ 0
+ 3.6684391088783741e-003
+ 0.5983129739761353
+ 0.2983964085578919
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 4 3 -1.
+ <_>9 14 4 1 3.
+ 0
+ 2.1319789811968803e-003
+ 1
+ 0.6163223981857300
+ <_>
+
+
+
+ <_>12 13 7 2 -1.
+ <_>12 14 7 1 2.
+ 0
+ 7.6037310063838959e-003
+ 0.5217130184173584
+ 0.2054159045219421
+ <_>
+
+ <_>
+
+
+
+ <_>5 12 9 2 -1.
+ <_>8 12 3 2 3.
+ 0
+ -1.1668079969240353e-004
+ 1
+ 0.3446668982505798
+ <_>
+
+
+
+ <_>6 10 4 8 -1.
+ <_>6 14 4 4 2.
+ 0
+ 3.1659509986639023e-003
+ 0.5597484707832336
+ 0.2673786878585815
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 4 -1.
+ <_>7 0 6 4 3.
+ 0
+ -0.0225694999098778
+ 0.6900268197059631
+ 1
+ <_>
+
+
+
+ <_>12 0 5 2 -1.
+ <_>12 1 5 1 2.
+ 0
+ 2.7129601221531630e-004
+ 0.4486638903617859
+ 0.5508785247802734
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 1 12 -1.
+ <_>7 13 1 6 2.
+ 0
+ -0.0154344597831368
+ 0.2048323005437851
+ 1
+ <_>
+
+
+
+ <_>6 2 3 4 -1.
+ <_>7 2 1 4 3.
+ 0
+ -8.4861656650900841e-003
+ 0.1254952996969223
+ 0.5060356259346008
+ <_>
+
+ <_>
+
+
+
+ <_>0 13 20 6 -1.
+ <_>0 15 20 2 3.
+ 0
+ -0.1180747002363205
+ 0.0676330626010895
+ 1
+ <_>
+
+
+
+ <_>8 5 12 2 -1.
+ <_>14 5 6 1 2.
+ <_>8 6 6 1 2.
+ 0
+ -1.2300079688429832e-003
+ 0.5660700798034668
+ 0.4292201101779938
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 2 3 -1.
+ <_>8 15 2 1 3.
+ 0
+ -7.0290351286530495e-003
+ 0.7136403918266296
+ 1
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ 8.9325206354260445e-003
+ 0.4338876008987427
+ 0.7060875296592712
+ <_>
+
+ <_>
+
+
+
+ <_>12 13 7 6 -1.
+ <_>12 15 7 2 3.
+ 0
+ -0.0477359816431999
+ 1
+ 0.5268685221672058
+ <_>
+
+
+
+ <_>6 0 8 12 -1.
+ <_>10 0 4 6 2.
+ <_>6 6 4 6 2.
+ 0
+ -0.0441555790603161
+ 0.2580580115318298
+ 0.5406960844993591
+ <_>
+
+ <_>
+
+
+
+ <_>0 15 9 4 -1.
+ <_>0 17 9 2 2.
+ 0
+ -0.0259834807366133
+ 0.1905054003000259
+ 1
+ <_>
+
+
+
+ <_>9 0 2 5 -1.
+ <_>10 0 1 5 2.
+ 0
+ -4.7885831445455551e-003
+ 0.2551892995834351
+ 0.5339077115058899
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 6 -1.
+ <_>9 5 1 6 2.
+ 0
+ 6.7423451691865921e-003
+ 0.4693309962749481
+ 1
+ <_>
+
+
+
+ <_>17 2 3 6 -1.
+ <_>17 4 3 2 3.
+ 0
+ 0.0116547504439950
+ 0.5261964201927185
+ 0.3145434856414795
+ <_>
+
+ <_>
+
+
+
+ <_>3 11 2 3 -1.
+ <_>3 12 2 1 3.
+ 0
+ -5.6982729583978653e-003
+ 0.1756853014230728
+ 1
+ <_>
+
+
+
+ <_>7 13 3 3 -1.
+ <_>7 14 3 1 3.
+ 0
+ -7.2983349673449993e-003
+ 0.7774729728698731
+ 0.5124292969703674
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 5 3 -1.
+ <_>14 13 5 1 3.
+ 0
+ 7.9091778025031090e-003
+ 0.5284559726715088
+ 1
+ <_>
+
+
+
+ <_>4 8 14 3 -1.
+ <_>4 9 14 1 3.
+ 0
+ -1.5874979726504534e-004
+ 0.3887802064418793
+ 0.5501173734664917
+ <_>
+
+ <_>
+
+
+
+ <_>1 12 5 3 -1.
+ <_>1 13 5 1 3.
+ 0
+ -6.2235877849161625e-003
+ 0.2489829063415527
+ 1
+ <_>
+
+
+
+ <_>1 15 12 2 -1.
+ <_>1 15 6 1 2.
+ <_>7 16 6 1 2.
+ 0
+ 1.3308860361576080e-003
+ 0.4262146055698395
+ 0.5935062170028687
+ <_>
+
+ <_>
+
+
+
+ <_>12 11 4 2 -1.
+ <_>12 12 4 1 2.
+ 0
+ 5.2055278792977333e-003
+ 1
+ 0.2545222938060761
+ <_>
+
+
+
+ <_>9 8 3 5 -1.
+ <_>10 8 1 5 3.
+ 0
+ 0.0140651697292924
+ 0.4851990044116974
+ 0.7021418809890747
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 6 -1.
+ <_>10 5 1 6 2.
+ 0
+ -6.7384149879217148e-003
+ 0.7143270969390869
+ 1
+ <_>
+
+
+
+ <_>0 2 3 6 -1.
+ <_>0 4 3 2 3.
+ 0
+ 3.3406780567020178e-003
+ 0.5175725221633911
+ 0.2808643877506256
+ <_>
+
+ <_>
+
+
+
+ <_>12 11 4 2 -1.
+ <_>12 12 4 1 2.
+ 0
+ -0.0118806995451450
+ 1
+ 0.5173221826553345
+ <_>
+
+
+
+ <_>9 7 3 5 -1.
+ <_>10 7 1 5 3.
+ 0
+ 1.4226379571482539e-003
+ 0.4502865970134735
+ 0.5795695185661316
+ <_>
+
+ <_>
+
+
+
+ <_>4 11 4 2 -1.
+ <_>4 12 4 1 2.
+ 0
+ 2.9858129564672709e-003
+ 1
+ 0.1915116012096405
+ <_>
+
+
+
+ <_>8 8 3 5 -1.
+ <_>9 8 1 5 3.
+ 0
+ -2.0481580868363380e-003
+ 0.6502432227134705
+ 0.4559315145015717
+ <_>
+
+ <_>
+
+
+
+ <_>9 3 3 1 -1.
+ <_>10 3 1 1 3.
+ 0
+ 1.7122729914262891e-003
+ 0.5376247167587280
+ 1
+ <_>
+
+
+
+ <_>16 5 3 8 -1.
+ <_>17 5 1 8 3.
+ 0
+ -0.0169808696955442
+ 0.7056233286857605
+ 0.4914605915546417
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 3 1 -1.
+ <_>9 3 1 1 3.
+ 0
+ -1.1290470138192177e-003
+ 0.2678706049919128
+ 1
+ <_>
+
+
+
+ <_>1 5 3 8 -1.
+ <_>2 5 1 8 3.
+ 0
+ 2.8620059601962566e-003
+ 0.4410853981971741
+ 0.6368319988250732
+ <_>
+
+ <_>
+
+
+
+ <_>10 1 3 3 -1.
+ <_>11 1 1 3 3.
+ 0
+ -3.8065758999437094e-003
+ 0.2763563990592957
+ 1
+ <_>
+
+
+
+ <_>17 5 2 4 -1.
+ <_>17 5 1 4 2.
+ 0
+ 5.9090270660817623e-003
+ 0.4867301881313324
+ 0.6728776097297669
+ <_>
+
+ <_>
+
+
+
+ <_>2 8 14 3 -1.
+ <_>2 9 14 1 3.
+ 0
+ 1.1004370171576738e-003
+ 0.4070514142513275
+ 1
+ <_>
+
+
+
+ <_>9 7 1 3 -1.
+ <_>9 8 1 1 3.
+ 0
+ -2.3396299220621586e-003
+ 0.2604948878288269
+ 0.6154860258102417
+ <_>
+
+ <_>
+
+
+
+ <_>6 1 8 10 -1.
+ <_>6 6 8 5 2.
+ 0
+ -3.6068160552531481e-003
+ 0.5731999874114990
+ 1
+ <_>
+
+
+
+ <_>13 0 6 8 -1.
+ <_>16 0 3 4 2.
+ <_>13 4 3 4 2.
+ 0
+ 0.0408311896026134
+ 0.4973376989364624
+ 0.7387006878852844
+ <_>
+
+ <_>
+
+
+
+ <_>1 5 2 4 -1.
+ <_>2 5 1 4 2.
+ 0
+ -7.1082250215113163e-003
+ 0.6984751224517822
+ 1
+ <_>
+
+
+
+ <_>4 2 12 2 -1.
+ <_>4 3 12 1 2.
+ 0
+ -9.3759730225428939e-004
+ 0.2691167891025543
+ 0.4741779863834381
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 4 4 -1.
+ <_>8 10 4 2 2.
+ 0
+ -1.6740820137783885e-003
+ 0.3551014065742493
+ 1
+ <_>
+
+
+
+ <_>5 6 12 4 -1.
+ <_>9 6 4 4 3.
+ 0
+ 0.0882877036929131
+ 0.5244613885879517
+ 0.2096650004386902
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 8 1 -1.
+ <_>5 2 4 1 2.
+ 0
+ 8.2009629113599658e-004
+ 0.4131096899509430
+ 1
+ <_>
+
+
+
+ <_>1 1 6 10 -1.
+ <_>3 1 2 10 3.
+ 0
+ -7.6624617213383317e-004
+ 0.4620293080806732
+ 0.6775410175323486
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 8 2 -1.
+ <_>8 6 4 2 2.
+ 0
+ 6.5769668435677886e-004
+ 1
+ 0.5628275275230408
+ <_>
+
+
+
+ <_>10 7 6 6 -1.
+ <_>12 7 2 6 3.
+ 0
+ -2.1304790861904621e-003
+ 0.5576859712600708
+ 0.4577650129795075
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 8 2 -1.
+ <_>8 6 4 2 2.
+ 0
+ -3.7317050737328827e-004
+ 1
+ 0.4959256052970886
+ <_>
+
+
+
+ <_>4 7 6 6 -1.
+ <_>6 7 2 6 3.
+ 0
+ -0.0111722303554416
+ 0.5625635981559753
+ 0.2047107964754105
+ <_>
+
+ <_>
+
+
+
+ <_>3 14 16 4 -1.
+ <_>3 16 16 2 2.
+ 0
+ 0.0434352196753025
+ 1
+ 0.2242148071527481
+ <_>
+
+
+
+ <_>8 12 4 2 -1.
+ <_>8 13 4 1 2.
+ 0
+ 9.6736161503940821e-004
+ 0.4533343911170960
+ 0.6199932098388672
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 3 3 -1.
+ <_>8 13 3 1 3.
+ 0
+ -3.1452889088541269e-003
+ 0.6662756204605103
+ 1
+ <_>
+
+
+
+ <_>5 12 6 1 -1.
+ <_>8 12 3 1 2.
+ 0
+ 1.5233129961416125e-003
+ 0.5007988214492798
+ 0.2384992986917496
+ <_>
+
+ <_>
+
+
+
+ <_>18 10 2 3 -1.
+ <_>18 11 2 1 3.
+ 0
+ 2.0854279864579439e-003
+ 1
+ 0.3753500878810883
+ <_>
+
+
+
+ <_>16 8 4 6 -1.
+ <_>16 10 4 2 3.
+ 0
+ 0.0360982008278370
+ 0.5177171230316162
+ 0.1634493023157120
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 2 1 -1.
+ <_>9 3 1 1 2.
+ 0
+ 1.6179570229724050e-003
+ 1
+ 0.2587381899356842
+ <_>
+
+
+
+ <_>7 1 3 9 -1.
+ <_>8 1 1 9 3.
+ 0
+ -6.2132300809025764e-004
+ 0.6299533843994141
+ 0.4658789932727814
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 11 6 -1.
+ <_>5 14 11 3 2.
+ 0
+ 7.1878539165481925e-004
+ 1
+ 0.3354076147079468
+ <_>
+
+
+
+ <_>12 2 3 14 -1.
+ <_>12 9 3 7 2.
+ 0
+ -0.0393395200371742
+ 0.2154128998517990
+ 0.5235713720321655
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 3 -1.
+ <_>9 7 1 3 3.
+ 0
+ -1.0988829890266061e-003
+ 0.6468896865844727
+ 1
+ <_>
+
+
+
+ <_>3 5 12 5 -1.
+ <_>7 5 4 5 3.
+ 0
+ 2.1191420964896679e-003
+ 0.2893089056015015
+ 0.5254815816879273
+ 22.5852909088134770
+ 8
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 6 3 -1.
+ <_>4 2 3 3 2.
+ 0
+ 5.2359891124069691e-003
+ 0.3299711048603058
+ 1
+ <_>
+
+
+
+ <_>5 5 6 10 -1.
+ <_>5 5 3 5 2.
+ <_>8 10 3 5 2.
+ 0
+ -2.2169889416545630e-003
+ 0.7041593194007874
+ 0.3235465884208679
+ <_>
+
+ <_>
+
+
+
+ <_>16 18 2 2 -1.
+ <_>16 18 1 2 2.
+ 0
+ -8.2303592935204506e-003
+ 1
+ 0.4961170852184296
+ <_>
+
+
+
+ <_>16 18 2 2 -1.
+ <_>16 18 1 2 2.
+ 0
+ -8.2303592935204506e-003
+ 0.7128043174743652
+ 0.4961170852184296
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 2 5 -1.
+ <_>9 4 1 5 2.
+ 0
+ 4.5343261444941163e-004
+ 0.3208472132682800
+ 1
+ <_>
+
+
+
+ <_>8 4 1 4 -1.
+ <_>8 6 1 2 2.
+ 0
+ -4.1777061414904892e-004
+ 0.6613916754722595
+ 0.3551332950592041
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 12 4 -1.
+ <_>13 15 6 2 2.
+ <_>7 17 6 2 2.
+ 0
+ 2.7823769487440586e-003
+ 0.3710134923458099
+ 1
+ <_>
+
+
+
+ <_>11 18 6 2 -1.
+ <_>11 19 6 1 2.
+ 0
+ -6.0361868236213923e-005
+ 0.5746393799781799
+ 0.3894880115985870
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 4 10 -1.
+ <_>7 12 4 5 2.
+ 0
+ 3.5061789676547050e-003
+ 1
+ 0.3054102957248688
+ <_>
+
+
+
+ <_>5 6 10 8 -1.
+ <_>5 10 10 4 2.
+ 0
+ 1.7013119941111654e-004
+ 0.2885577976703644
+ 0.6487745046615601
+ <_>
+
+ <_>
+
+
+
+ <_>11 1 6 12 -1.
+ <_>14 1 3 6 2.
+ <_>11 7 3 6 2.
+ 0
+ -2.3378930054605007e-003
+ 1
+ 0.3174431025981903
+ <_>
+
+
+
+ <_>5 8 12 1 -1.
+ <_>9 8 4 1 3.
+ 0
+ -2.1369170863181353e-003
+ 0.3820919990539551
+ 0.5232893228530884
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 3 6 -1.
+ <_>4 9 3 2 3.
+ 0
+ 1.0250400518998504e-003
+ 0.3622795045375824
+ 1
+ <_>
+
+
+
+ <_>4 11 3 4 -1.
+ <_>4 13 3 2 2.
+ 0
+ -4.4726220949087292e-005
+ 0.6538959145545960
+ 0.4003680944442749
+ <_>
+
+ <_>
+
+
+
+ <_>14 16 2 2 -1.
+ <_>14 17 2 1 2.
+ 0
+ 5.7102291611954570e-004
+ 1
+ 0.3893173038959503
+ <_>
+
+
+
+ <_>15 15 2 2 -1.
+ <_>15 16 2 1 2.
+ 0
+ 5.7743012439459562e-004
+ 0.5614532828330994
+ 0.3687644004821777
+ <_>
+
+ <_>
+
+
+
+ <_>7 12 6 2 -1.
+ <_>7 13 6 1 2.
+ 0
+ 7.9692091094329953e-004
+ 1
+ 0.6443027853965759
+ <_>
+
+
+
+ <_>8 13 4 2 -1.
+ <_>8 14 4 1 2.
+ 0
+ 3.5945948911830783e-004
+ 0.3380852937698364
+ 0.5824648141860962
+ <_>
+
+ <_>
+
+
+
+ <_>11 1 6 12 -1.
+ <_>14 1 3 6 2.
+ <_>11 7 3 6 2.
+ 0
+ 4.3973900028504431e-004
+ 1
+ 0.3938767015933991
+ <_>
+
+
+
+ <_>12 2 4 2 -1.
+ <_>12 3 4 1 2.
+ 0
+ -8.9061429025605321e-004
+ 0.3427971005439758
+ 0.5515698790550232
+ <_>
+
+ <_>
+
+
+
+ <_>3 10 12 6 -1.
+ <_>3 10 6 3 2.
+ <_>9 13 6 3 2.
+ 0
+ 5.4110242053866386e-003
+ 1
+ 0.3803538084030151
+ <_>
+
+
+
+ <_>3 1 6 12 -1.
+ <_>3 1 3 6 2.
+ <_>6 7 3 6 2.
+ 0
+ -8.5764907998964190e-004
+ 0.6439505219459534
+ 0.4168345928192139
+ <_>
+
+ <_>
+
+
+
+ <_>16 6 4 14 -1.
+ <_>18 6 2 7 2.
+ <_>16 13 2 7 2.
+ 0
+ -0.0220006499439478
+ 0.6654601097106934
+ 1
+ <_>
+
+
+
+ <_>5 1 10 8 -1.
+ <_>10 1 5 4 2.
+ <_>5 5 5 4 2.
+ 0
+ -7.8731682151556015e-003
+ 0.4182722866535187
+ 0.5604724287986755
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 4 14 -1.
+ <_>0 6 2 7 2.
+ <_>2 13 2 7 2.
+ 0
+ -0.0274444594979286
+ 0.6586862802505493
+ 1
+ <_>
+
+
+
+ <_>1 15 12 4 -1.
+ <_>1 15 6 2 2.
+ <_>7 17 6 2 2.
+ 0
+ 1.9792269449681044e-003
+ 0.3244912028312683
+ 0.4882870018482208
+ <_>
+
+ <_>
+
+
+
+ <_>10 17 3 3 -1.
+ <_>11 17 1 3 3.
+ 0
+ -5.6783691979944706e-003
+ 0.2229079008102417
+ 1
+ <_>
+
+
+
+ <_>11 2 2 6 -1.
+ <_>12 2 1 3 2.
+ <_>11 5 1 3 2.
+ 0
+ 1.5057219570735469e-005
+ 0.4107285141944885
+ 0.5747591257095337
+ <_>
+
+ <_>
+
+
+
+ <_>7 17 3 3 -1.
+ <_>8 17 1 3 3.
+ 0
+ -5.4136710241436958e-003
+ 0.2065797001123428
+ 1
+ <_>
+
+
+
+ <_>8 15 4 3 -1.
+ <_>8 16 4 1 3.
+ 0
+ 5.3679239936172962e-003
+ 0.4926423132419586
+ 0.7139484882354736
+ <_>
+
+ <_>
+
+
+
+ <_>10 15 4 2 -1.
+ <_>12 15 2 1 2.
+ <_>10 16 2 1 2.
+ 0
+ -3.1426660716533661e-003
+ 0.6780086755752564
+ 1
+ <_>
+
+
+
+ <_>13 13 4 3 -1.
+ <_>13 14 4 1 3.
+ 0
+ 0.0109073901548982
+ 0.5214930176734924
+ 0.1143995970487595
+ <_>
+
+ <_>
+
+
+
+ <_>3 13 4 3 -1.
+ <_>3 14 4 1 3.
+ 0
+ 5.8436761610209942e-003
+ 1
+ 0.1937526017427445
+ <_>
+
+
+
+ <_>7 2 2 6 -1.
+ <_>7 2 1 3 2.
+ <_>8 5 1 3 2.
+ 0
+ 9.0507230197545141e-005
+ 0.3812577128410339
+ 0.5514187812805176
+ <_>
+
+ <_>
+
+
+
+ <_>2 1 16 3 -1.
+ <_>2 2 16 1 3.
+ 0
+ -0.0163457896560431
+ 0.2474023997783661
+ 1
+ <_>
+
+
+
+ <_>10 15 4 2 -1.
+ <_>12 15 2 1 2.
+ <_>10 16 2 1 2.
+ 0
+ 1.5987500082701445e-003
+ 0.4817782938480377
+ 0.5923079848289490
+ <_>
+
+ <_>
+
+
+
+ <_>6 15 4 2 -1.
+ <_>6 15 2 1 2.
+ <_>8 16 2 1 2.
+ 0
+ -4.0257978253066540e-003
+ 0.7508208751678467
+ 1
+ <_>
+
+
+
+ <_>3 0 13 3 -1.
+ <_>3 1 13 1 3.
+ 0
+ -6.7750471644103527e-003
+ 0.2879810929298401
+ 0.5199695229530335
+ <_>
+
+ <_>
+
+
+
+ <_>0 9 20 3 -1.
+ <_>0 10 20 1 3.
+ 0
+ -3.2470689620822668e-003
+ 0.3044910132884979
+ 1
+ <_>
+
+
+
+ <_>6 7 9 2 -1.
+ <_>6 8 9 1 2.
+ 0
+ 1.5409620245918632e-003
+ 0.4063482880592346
+ 0.5676562786102295
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 3 6 -1.
+ <_>9 14 1 6 3.
+ 0
+ -0.0128581197932363
+ 0.0967175588011742
+ 1
+ <_>
+
+
+
+ <_>9 10 2 2 -1.
+ <_>9 11 2 1 2.
+ 0
+ -1.4824670506641269e-004
+ 0.4537833034992218
+ 0.6115375161170960
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 5 -1.
+ <_>9 7 1 5 2.
+ 0
+ -9.0210810303688049e-003
+ 1
+ 0.4807750880718231
+ <_>
+
+
+
+ <_>5 6 10 3 -1.
+ <_>5 6 5 3 2.
+ 0
+ -0.0287950299680233
+ 0.3403795063495636
+ 0.5255529284477234
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 5 -1.
+ <_>10 7 1 5 2.
+ 0
+ 9.0210810303688049e-003
+ 1
+ 0.7505835890769959
+ <_>
+
+
+
+ <_>5 6 10 3 -1.
+ <_>10 6 5 3 2.
+ 0
+ 7.4121179059147835e-003
+ 0.5455446839332581
+ 0.3226068913936615
+ <_>
+
+ <_>
+
+
+
+ <_>13 9 2 2 -1.
+ <_>13 9 1 2 2.
+ 0
+ -3.7217529024928808e-003
+ 0.2311848998069763
+ 1
+ <_>
+
+
+
+ <_>4 3 12 11 -1.
+ <_>8 3 4 11 3.
+ 0
+ 0.1986588984727860
+ 0.5271047949790955
+ 0.1469929963350296
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 2 7 -1.
+ <_>8 1 1 7 2.
+ 0
+ 1.5208719560177997e-005
+ 0.3678138852119446
+ 1
+ <_>
+
+
+
+ <_>7 4 3 8 -1.
+ <_>8 4 1 8 3.
+ 0
+ -3.9089918136596680e-003
+ 0.7131929993629456
+ 0.4993866980075836
+ <_>
+
+ <_>
+
+
+
+ <_>13 9 2 2 -1.
+ <_>13 9 1 2 2.
+ 0
+ 2.5106288958340883e-003
+ 0.5312054157257080
+ 1
+ <_>
+
+
+
+ <_>11 6 2 2 -1.
+ <_>12 6 1 1 2.
+ <_>11 7 1 1 2.
+ 0
+ 2.3921660613268614e-004
+ 0.4689378142356873
+ 0.5714021921157837
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 2 3 -1.
+ <_>5 5 2 1 3.
+ 0
+ 6.9443131797015667e-003
+ 1
+ 0.6948797702789307
+ <_>
+
+
+
+ <_>6 5 1 3 -1.
+ <_>6 6 1 1 3.
+ 0
+ 1.2065629707649350e-003
+ 0.4004504978656769
+ 0.5874881744384766
+ <_>
+
+ <_>
+
+
+
+ <_>13 9 2 2 -1.
+ <_>13 9 1 2 2.
+ 0
+ 2.5106288958340883e-003
+ 0.5329571962356567
+ 1
+ <_>
+
+
+
+ <_>16 14 3 3 -1.
+ <_>16 15 3 1 3.
+ 0
+ 1.7514040227979422e-003
+ 0.5545849204063416
+ 0.3449581861495972
+ <_>
+
+ <_>
+
+
+
+ <_>5 9 2 2 -1.
+ <_>6 9 1 2 2.
+ 0
+ -4.1978210210800171e-003
+ 0.1217183023691177
+ 1
+ <_>
+
+
+
+ <_>1 14 3 3 -1.
+ <_>1 15 3 1 3.
+ 0
+ 1.3092850567772985e-003
+ 0.5375049710273743
+ 0.3415625095367432
+ <_>
+
+ <_>
+
+
+
+ <_>13 1 1 6 -1.
+ <_>13 3 1 2 3.
+ 0
+ 6.7396182566881180e-004
+ 0.4195179045200348
+ 1
+ <_>
+
+
+
+ <_>13 3 7 2 -1.
+ <_>13 4 7 1 2.
+ 0
+ -0.0105307102203369
+ 0.3460753858089447
+ 0.5155860185623169
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 20 14 -1.
+ <_>0 13 20 7 2.
+ 0
+ -0.4067229926586151
+ 0.0580656789243221
+ 1
+ <_>
+
+
+
+ <_>0 4 3 6 -1.
+ <_>0 6 3 2 3.
+ 0
+ -0.0263145491480827
+ 0.1473449021577835
+ 0.5559378266334534
+ <_>
+
+ <_>
+
+
+
+ <_>10 1 9 6 -1.
+ <_>10 3 9 2 3.
+ 0
+ 2.2557149641215801e-003
+ 1
+ 0.5477715134620667
+ <_>
+
+
+
+ <_>8 0 12 5 -1.
+ <_>8 0 6 5 2.
+ 0
+ 0.0121548604220152
+ 0.4207791090011597
+ 0.5621880888938904
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 18 5 -1.
+ <_>6 0 6 5 3.
+ 0
+ -0.0184365399181843
+ 0.6447147130966187
+ 1
+ <_>
+
+
+
+ <_>1 1 9 6 -1.
+ <_>1 3 9 2 3.
+ 0
+ 5.3676147945225239e-004
+ 0.2765127122402191
+ 0.4888595938682556
+ <_>
+
+ <_>
+
+
+
+ <_>15 15 2 2 -1.
+ <_>15 16 2 1 2.
+ 0
+ -2.6265541091561317e-003
+ 1
+ 0.5264691114425659
+ <_>
+
+
+
+ <_>13 16 3 4 -1.
+ <_>13 18 3 2 2.
+ 0
+ -5.1119807176291943e-004
+ 0.5785310268402100
+ 0.4291102886199951
+ <_>
+
+ <_>
+
+
+
+ <_>3 15 2 2 -1.
+ <_>3 16 2 1 2.
+ 0
+ 4.1454841266386211e-004
+ 1
+ 0.3455410897731781
+ <_>
+
+
+
+ <_>4 16 3 4 -1.
+ <_>4 18 3 2 2.
+ 0
+ -5.5028748465701938e-004
+ 0.6026918888092041
+ 0.4143893122673035
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 1 3 -1.
+ <_>11 15 1 1 3.
+ 0
+ -1.0347720235586166e-003
+ 0.6095293760299683
+ 1
+ <_>
+
+
+
+ <_>9 13 5 3 -1.
+ <_>9 14 5 1 3.
+ 0
+ -3.3966631162911654e-003
+ 0.6108282208442688
+ 0.4707720875740051
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 3 6 -1.
+ <_>0 2 3 2 3.
+ 0
+ 3.1795909162610769e-003
+ 1
+ 0.3244366943836212
+ <_>
+
+
+
+ <_>4 1 6 3 -1.
+ <_>6 1 2 3 3.
+ 0
+ -1.6528950072824955e-004
+ 0.3830757141113281
+ 0.5734326243400574
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 4 3 -1.
+ <_>9 14 4 1 3.
+ 0
+ 8.3725210279226303e-003
+ 1
+ 0.6610919237136841
+ <_>
+
+
+
+ <_>8 15 5 3 -1.
+ <_>8 16 5 1 3.
+ 0
+ -2.5799809955060482e-003
+ 0.6139307022094727
+ 0.4686149954795837
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 3 2 -1.
+ <_>9 3 1 2 3.
+ 0
+ 9.0194388758391142e-004
+ 1
+ 0.3520022034645081
+ <_>
+
+
+
+ <_>1 8 18 2 -1.
+ <_>1 9 18 1 2.
+ 0
+ 3.6952210939489305e-004
+ 0.2578754127025604
+ 0.5467242002487183
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 1 3 -1.
+ <_>11 15 1 1 3.
+ 0
+ 9.9746137857437134e-004
+ 0.4820146858692169
+ 1
+ <_>
+
+
+
+ <_>8 13 6 3 -1.
+ <_>8 14 6 1 3.
+ 0
+ -3.6688039544969797e-003
+ 0.5710150003433228
+ 0.4831911027431488
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 1 3 -1.
+ <_>8 15 1 1 3.
+ 0
+ -8.9501030743122101e-004
+ 0.6133679151535034
+ 1
+ <_>
+
+
+
+ <_>4 13 12 4 -1.
+ <_>4 13 6 2 2.
+ <_>10 15 6 2 2.
+ 0
+ 5.1904921419918537e-003
+ 0.4928582906723023
+ 0.2581309080123901
+ <_>
+
+ <_>
+
+
+
+ <_>10 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ 4.2274440056644380e-004
+ 0.4471124112606049
+ 1
+ <_>
+
+
+
+ <_>13 4 2 8 -1.
+ <_>14 4 1 4 2.
+ <_>13 8 1 4 2.
+ 0
+ 8.5176713764667511e-003
+ 0.5161024928092957
+ 0.3316533863544464
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 4 6 -1.
+ <_>0 7 4 2 3.
+ 0
+ -0.0366236083209515
+ 0.0926062166690826
+ 1
+ <_>
+
+
+
+ <_>8 7 2 2 -1.
+ <_>9 7 1 2 2.
+ 0
+ -4.1103712283074856e-003
+ 0.8522114753723145
+ 0.5137907862663269
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 3 7 -1.
+ <_>14 0 1 7 3.
+ 0
+ -6.6017331555485725e-003
+ 1
+ 0.5459060072898865
+ <_>
+
+
+
+ <_>11 2 2 14 -1.
+ <_>11 2 1 14 2.
+ 0
+ 0.0255786404013634
+ 0.5219352841377258
+ 0.1927185952663422
+ <_>
+
+ <_>
+
+
+
+ <_>4 0 3 7 -1.
+ <_>5 0 1 7 3.
+ 0
+ 0.0114474399015307
+ 1
+ 0.1916002035140991
+ <_>
+
+
+
+ <_>5 5 8 12 -1.
+ <_>5 5 4 6 2.
+ <_>9 11 4 6 2.
+ 0
+ 7.2427501436322927e-004
+ 0.5231571197509766
+ 0.3535340130329132
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 6 3 -1.
+ <_>11 5 6 1 3.
+ 0
+ 9.7127500921487808e-003
+ 1
+ 0.6464101076126099
+ <_>
+
+
+
+ <_>12 3 4 3 -1.
+ <_>12 4 4 1 3.
+ 0
+ -0.0113375699147582
+ 0.7383037805557251
+ 0.4964743852615356
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 10 12 -1.
+ <_>5 5 5 6 2.
+ <_>10 11 5 6 2.
+ 0
+ -8.1453882157802582e-003
+ 0.3611705899238586
+ 1
+ <_>
+
+
+
+ <_>3 6 12 3 -1.
+ <_>9 6 6 3 2.
+ 0
+ -8.5570756345987320e-003
+ 0.3421907126903534
+ 0.5943511724472046
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 2 7 -1.
+ <_>9 6 1 7 2.
+ 0
+ 2.2993308957666159e-003
+ 0.4550104141235352
+ 1
+ <_>
+
+
+
+ <_>9 5 2 4 -1.
+ <_>9 5 1 4 2.
+ 0
+ 3.8430930580943823e-003
+ 0.4716862142086029
+ 0.6656190752983093
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 3 -1.
+ <_>9 7 1 3 3.
+ 0
+ -9.9116540513932705e-004
+ 1
+ 0.4592716991901398
+ <_>
+
+
+
+ <_>5 1 6 4 -1.
+ <_>7 1 2 4 3.
+ 0
+ 0.0254964698106050
+ 0.6563401222229004
+ 0.1258835047483444
+ <_>
+
+ <_>
+
+
+
+ <_>13 16 7 3 -1.
+ <_>13 17 7 1 3.
+ 0
+ -0.0157483592629433
+ 1
+ 0.5239502191543579
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ -0.0180461201816797
+ 0.8015851974487305
+ 0.5007957816123962
+ <_>
+
+ <_>
+
+
+
+ <_>0 16 7 3 -1.
+ <_>0 17 7 1 3.
+ 0
+ 0.0103233903646469
+ 1
+ 0.2274820059537888
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ 1.6452240524813533e-003
+ 0.4351946115493774
+ 0.5867627859115601
+ <_>
+
+ <_>
+
+
+
+ <_>12 9 8 10 -1.
+ <_>12 9 4 10 2.
+ 0
+ 0.0158811490982771
+ 0.4465051889419556
+ 1
+ <_>
+
+
+
+ <_>8 10 12 5 -1.
+ <_>12 10 4 5 3.
+ 0
+ 0.0105865197256207
+ 0.4544458091259003
+ 0.5707110762596130
+ <_>
+
+ <_>
+
+
+
+ <_>0 9 8 10 -1.
+ <_>4 9 4 10 2.
+ 0
+ -0.0215316899120808
+ 0.6527643799781799
+ 1
+ <_>
+
+
+
+ <_>0 10 12 5 -1.
+ <_>4 10 4 5 3.
+ 0
+ 5.2480469457805157e-003
+ 0.3444727957248688
+ 0.5324636101722717
+ 25.6093006134033200
+ 9
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>2 3 6 2 -1.
+ <_>5 3 3 2 2.
+ 0
+ 1.8219340126961470e-003
+ 0.3108788132667542
+ 1
+ <_>
+
+
+
+ <_>0 0 17 9 -1.
+ <_>0 3 17 3 3.
+ 0
+ 8.1313941627740860e-003
+ 0.3133237063884735
+ 0.6645867228507996
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>8 7 4 2 3.
+ 0
+ 1.7055979697033763e-003
+ 0.2640131115913391
+ 1
+ <_>
+
+
+
+ <_>10 4 6 4 -1.
+ <_>12 4 2 4 3.
+ 0
+ -7.4483548814896494e-005
+ 0.5647205114364624
+ 0.3485372960567474
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 20 4 -1.
+ <_>0 12 20 2 2.
+ 0
+ 3.8342390325851738e-004
+ 1
+ 0.3140654861927033
+ <_>
+
+
+
+ <_>4 3 6 5 -1.
+ <_>6 3 2 5 3.
+ 0
+ 3.1868910882622004e-003
+ 0.6489198803901672
+ 0.3887729048728943
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 18 4 -1.
+ <_>7 1 6 4 3.
+ 0
+ 0.1604432016611099
+ 1
+ 0.7216529846191406
+ <_>
+
+
+
+ <_>13 9 2 3 -1.
+ <_>13 9 1 3 2.
+ 0
+ -6.7285560071468353e-003
+ 0.1653137952089310
+ 0.5139825940132141
+ <_>
+
+ <_>
+
+
+
+ <_>6 15 7 4 -1.
+ <_>6 17 7 2 2.
+ 0
+ 7.2638481469766703e-006
+ 0.3140619993209839
+ 1
+ <_>
+
+
+
+ <_>3 17 4 2 -1.
+ <_>3 18 4 1 2.
+ 0
+ 5.5551197146996856e-004
+ 0.5993698835372925
+ 0.3317398130893707
+ <_>
+
+ <_>
+
+
+
+ <_>9 4 8 10 -1.
+ <_>9 9 8 5 2.
+ 0
+ -0.0108223203569651
+ 0.2652938067913055
+ 1
+ <_>
+
+
+
+ <_>9 17 3 2 -1.
+ <_>10 17 1 2 3.
+ 0
+ -4.5834020711481571e-003
+ 0.1849568933248520
+ 0.5313957929611206
+ <_>
+
+ <_>
+
+
+
+ <_>8 2 4 8 -1.
+ <_>8 6 4 4 2.
+ 0
+ -3.0205070506781340e-003
+ 1
+ 0.4040099978446960
+ <_>
+
+
+
+ <_>3 4 14 12 -1.
+ <_>3 4 7 6 2.
+ <_>10 10 7 6 2.
+ 0
+ 0.0778646171092987
+ 0.6158189773559570
+ 0.1786486953496933
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 4 -1.
+ <_>9 7 2 4 3.
+ 0
+ 0.0264943800866604
+ 0.4511089920997620
+ 1
+ <_>
+
+
+
+ <_>6 7 9 4 -1.
+ <_>6 9 9 2 2.
+ 0
+ 0.0369121097028255
+ 0.4528219997882843
+ 0.5972282886505127
+ <_>
+
+ <_>
+
+
+
+ <_>2 10 3 3 -1.
+ <_>2 11 3 1 3.
+ 0
+ 5.7857790961861610e-003
+ 1
+ 0.2533892095088959
+ <_>
+
+
+
+ <_>4 6 2 9 -1.
+ <_>4 9 2 3 3.
+ 0
+ 9.3849771656095982e-004
+ 0.3410412073135376
+ 0.5923643708229065
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 3 3 -1.
+ <_>9 12 3 1 3.
+ 0
+ -0.0110031999647617
+ 0.6958044171333313
+ 1
+ <_>
+
+
+
+ <_>3 1 15 2 -1.
+ <_>3 2 15 1 2.
+ 0
+ -1.1737640015780926e-003
+ 0.3851084113121033
+ 0.5408189296722412
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 2 3 -1.
+ <_>9 9 2 1 3.
+ 0
+ -3.6596669815480709e-003
+ 0.2009308934211731
+ 1
+ <_>
+
+
+
+ <_>9 6 2 5 -1.
+ <_>10 6 1 5 2.
+ 0
+ -2.4822750128805637e-003
+ 0.6295393109321594
+ 0.4395040869712830
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 8 2 1 3.
+ 0
+ -4.4606071896851063e-003
+ 0.2405299991369247
+ 1
+ <_>
+
+
+
+ <_>4 10 12 10 -1.
+ <_>4 15 12 5 2.
+ 0
+ -3.5969649907201529e-003
+ 0.5450174212455750
+ 0.3782357871532440
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 4 2 -1.
+ <_>0 11 4 1 2.
+ 0
+ -3.6222559865564108e-003
+ 0.3033896982669830
+ 1
+ <_>
+
+
+
+ <_>5 15 9 2 -1.
+ <_>5 16 9 1 2.
+ 0
+ 1.2059339787811041e-003
+ 0.4633778929710388
+ 0.6335952281951904
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 6 3 -1.
+ <_>8 15 6 1 3.
+ 0
+ 4.3124938383698463e-003
+ 1
+ 0.6598826050758362
+ <_>
+
+
+
+ <_>8 16 4 3 -1.
+ <_>8 17 4 1 3.
+ 0
+ -4.4961250387132168e-003
+ 0.6621696949005127
+ 0.4755246937274933
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 4 2 -1.
+ <_>8 10 4 1 2.
+ 0
+ -1.3860689941793680e-003
+ 0.2801201045513153
+ 1
+ <_>
+
+
+
+ <_>3 3 14 2 -1.
+ <_>3 4 14 1 2.
+ 0
+ -5.1588460337370634e-004
+ 0.3829489052295685
+ 0.5623626708984375
+ <_>
+
+ <_>
+
+
+
+ <_>11 12 1 2 -1.
+ <_>11 13 1 1 2.
+ 0
+ 7.0330002927221358e-005
+ 0.4536342918872833
+ 1
+ <_>
+
+
+
+ <_>4 12 12 1 -1.
+ <_>8 12 4 1 3.
+ 0
+ -2.0976549421902746e-004
+ 0.5608139038085938
+ 0.4265779852867127
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 1 2 -1.
+ <_>0 3 1 1 2.
+ 0
+ 1.3642259873449802e-003
+ 1
+ 0.2637091875076294
+ <_>
+
+
+
+ <_>7 4 4 6 -1.
+ <_>9 4 2 6 2.
+ 0
+ 1.5483660390600562e-003
+ 0.4170750975608826
+ 0.5932987928390503
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 20 14 -1.
+ <_>10 2 10 7 2.
+ <_>0 9 10 7 2.
+ 0
+ 0.1917960941791534
+ 0.5256764292716980
+ 1
+ <_>
+
+
+
+ <_>14 6 1 3 -1.
+ <_>14 7 1 1 3.
+ 0
+ -4.4776909053325653e-003
+ 0.6632621884346008
+ 0.4892588853836060
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 20 12 -1.
+ <_>0 4 10 6 2.
+ <_>10 10 10 6 2.
+ 0
+ -0.1264917999505997
+ 0.1499778926372528
+ 1
+ <_>
+
+
+
+ <_>8 12 1 2 -1.
+ <_>8 13 1 1 2.
+ 0
+ 6.5253327193204314e-005
+ 0.4233320057392120
+ 0.5756040215492249
+ <_>
+
+ <_>
+
+
+
+ <_>9 18 3 2 -1.
+ <_>10 18 1 2 3.
+ 0
+ 4.1856421157717705e-003
+ 0.5288826823234558
+ 1
+ <_>
+
+
+
+ <_>9 17 6 2 -1.
+ <_>11 17 2 2 3.
+ 0
+ 2.7478230185806751e-004
+ 0.4524017870426178
+ 0.5604125261306763
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 2 3 -1.
+ <_>5 7 2 1 3.
+ 0
+ -2.2906810045242310e-003
+ 0.5578274130821228
+ 1
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ 1.6744500026106834e-003
+ 0.3323057889938355
+ 0.5558788180351257
+ <_>
+
+ <_>
+
+
+
+ <_>14 15 3 2 -1.
+ <_>14 16 3 1 2.
+ 0
+ 1.2349759927019477e-003
+ 1
+ 0.3653947114944458
+ <_>
+
+
+
+ <_>11 3 3 4 -1.
+ <_>12 3 1 4 3.
+ 0
+ -8.7158754467964172e-003
+ 0.1924533993005753
+ 0.5313649773597717
+ <_>
+
+ <_>
+
+
+
+ <_>3 15 3 2 -1.
+ <_>3 16 3 1 2.
+ 0
+ 4.6613621525466442e-003
+ 1
+ 0.2027730941772461
+ <_>
+
+
+
+ <_>9 12 2 3 -1.
+ <_>9 13 2 1 3.
+ 0
+ -8.5815992206335068e-003
+ 0.7636060118675232
+ 0.5140826106071472
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 3 7 -1.
+ <_>10 13 1 7 3.
+ 0
+ 0.0143521204590797
+ 0.5252975821495056
+ 1
+ <_>
+
+
+
+ <_>12 12 5 3 -1.
+ <_>12 13 5 1 3.
+ 0
+ -7.7948719263076782e-003
+ 0.2632937133312225
+ 0.5328689217567444
+ <_>
+
+ <_>
+
+
+
+ <_>8 18 3 2 -1.
+ <_>9 18 1 2 3.
+ 0
+ -3.4155680332332850e-003
+ 0.2416087985038757
+ 1
+ <_>
+
+
+
+ <_>4 7 12 4 -1.
+ <_>4 7 6 2 2.
+ <_>10 9 6 2 2.
+ 0
+ -4.2639090679585934e-003
+ 0.3936544954776764
+ 0.5478742122650147
+ <_>
+
+ <_>
+
+
+
+ <_>6 19 14 1 -1.
+ <_>6 19 7 1 2.
+ 0
+ 8.7177697569131851e-003
+ 0.4788199067115784
+ 1
+ <_>
+
+
+
+ <_>16 14 3 2 -1.
+ <_>16 15 3 1 2.
+ 0
+ -3.2232629600912333e-003
+ 0.3631612062454224
+ 0.5288316011428833
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 6 10 -1.
+ <_>1 0 3 5 2.
+ <_>4 5 3 5 2.
+ 0
+ -0.0421883687376976
+ 0.6931139230728149
+ 1
+ <_>
+
+
+
+ <_>1 0 4 10 -1.
+ <_>1 0 2 5 2.
+ <_>3 5 2 5 2.
+ 0
+ 0.0198757499456406
+ 0.4520100057125092
+ 0.6855055093765259
+ <_>
+
+ <_>
+
+
+
+ <_>15 3 5 6 -1.
+ <_>15 5 5 2 3.
+ 0
+ -0.0311345104128122
+ 1
+ 0.5300424098968506
+ <_>
+
+
+
+ <_>9 5 2 15 -1.
+ <_>9 10 2 5 3.
+ 0
+ 5.7032387703657150e-003
+ 0.5606892108917236
+ 0.4230622947216034
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 5 6 -1.
+ <_>0 5 5 2 3.
+ 0
+ 5.2733682096004486e-003
+ 1
+ 0.3247228860855103
+ <_>
+
+
+
+ <_>6 0 3 2 -1.
+ <_>7 0 1 2 3.
+ 0
+ -3.1231069006025791e-003
+ 0.1985695958137512
+ 0.5349872708320618
+ <_>
+
+ <_>
+
+
+
+ <_>12 8 8 2 -1.
+ <_>16 8 4 1 2.
+ <_>12 9 4 1 2.
+ 0
+ 4.6453849063254893e-004
+ 0.4207508862018585
+ 1
+ <_>
+
+
+
+ <_>5 8 12 1 -1.
+ <_>9 8 4 1 3.
+ 0
+ 0.0303558893501759
+ 0.5153458714485169
+ 0.3118101060390472
+ <_>
+
+ <_>
+
+
+
+ <_>3 13 3 3 -1.
+ <_>3 14 3 1 3.
+ 0
+ -4.2992769740521908e-003
+ 0.3274506926536560
+ 1
+ <_>
+
+
+
+ <_>5 13 3 2 -1.
+ <_>5 14 3 1 2.
+ 0
+ 1.9509199773892760e-004
+ 0.5953078269958496
+ 0.4225521087646484
+ <_>
+
+ <_>
+
+
+
+ <_>9 15 3 3 -1.
+ <_>9 16 3 1 3.
+ 0
+ -7.7784480527043343e-003
+ 0.7211179733276367
+ 1
+ <_>
+
+
+
+ <_>7 15 7 3 -1.
+ <_>7 16 7 1 3.
+ 0
+ 0.0169175993651152
+ 0.4936591982841492
+ 0.7030277252197266
+ <_>
+
+ <_>
+
+
+
+ <_>3 14 11 6 -1.
+ <_>3 16 11 2 3.
+ 0
+ -0.0519485697150230
+ 0.1425534933805466
+ 1
+ <_>
+
+
+
+ <_>0 19 14 1 -1.
+ <_>7 19 7 1 2.
+ 0
+ -5.4751220159232616e-003
+ 0.6059331893920898
+ 0.4393995106220245
+ <_>
+
+ <_>
+
+
+
+ <_>9 17 6 2 -1.
+ <_>11 17 2 2 3.
+ 0
+ 1.5210839592327829e-005
+ 0.4488849937915802
+ 1
+ <_>
+
+
+
+ <_>12 11 6 2 -1.
+ <_>14 11 2 2 3.
+ 0
+ 1.0235579684376717e-003
+ 0.4256550073623657
+ 0.5795438289642334
+ <_>
+
+ <_>
+
+
+
+ <_>5 17 6 2 -1.
+ <_>7 17 2 2 3.
+ 0
+ -1.0427719826111570e-004
+ 0.4246039986610413
+ 1
+ <_>
+
+
+
+ <_>0 1 9 10 -1.
+ <_>3 1 3 10 3.
+ 0
+ 8.7853781878948212e-003
+ 0.4958009123802185
+ 0.6759430766105652
+ <_>
+
+ <_>
+
+
+
+ <_>10 1 3 3 -1.
+ <_>11 1 1 3 3.
+ 0
+ 3.4012699034065008e-003
+ 0.5423480868339539
+ 1
+ <_>
+
+
+
+ <_>9 5 6 4 -1.
+ <_>9 5 3 4 2.
+ 0
+ 5.8582378551363945e-004
+ 0.3636542856693268
+ 0.5464348793029785
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 3 3 -1.
+ <_>8 1 1 3 3.
+ 0
+ -2.2973360028117895e-003
+ 0.2548818886280060
+ 1
+ <_>
+
+
+
+ <_>0 4 4 11 -1.
+ <_>2 4 2 11 2.
+ 0
+ -0.0143301896750927
+ 0.6587656736373901
+ 0.4532802104949951
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 6 4 -1.
+ <_>9 5 3 4 2.
+ 0
+ 9.8565965890884399e-004
+ 0.3822771012783051
+ 1
+ <_>
+
+
+
+ <_>6 0 8 10 -1.
+ <_>10 0 4 5 2.
+ <_>6 5 4 5 2.
+ 0
+ -0.0466407611966133
+ 0.3077321946620941
+ 0.5244132876396179
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 5 14 -1.
+ <_>6 13 5 7 2.
+ 0
+ -0.1190730035305023
+ 0.1033862978219986
+ 1
+ <_>
+
+
+
+ <_>8 5 4 14 -1.
+ <_>8 12 4 7 2.
+ 0
+ 0.0193332806229591
+ 0.5554745197296143
+ 0.3221316933631897
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 5 -1.
+ <_>9 7 2 5 3.
+ 0
+ 0.0314278490841389
+ 0.4682379066944122
+ 1
+ <_>
+
+
+
+ <_>9 3 3 9 -1.
+ <_>9 6 3 3 3.
+ 0
+ 2.0082130504306406e-004
+ 0.5373070240020752
+ 0.3800666928291321
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 3 3 -1.
+ <_>9 1 1 3 3.
+ 0
+ -6.2584900297224522e-003
+ 0.1799207031726837
+ 1
+ <_>
+
+
+
+ <_>9 6 2 4 -1.
+ <_>10 6 1 4 2.
+ 0
+ 8.2861045375466347e-003
+ 0.5095068812370300
+ 0.7544605135917664
+ <_>
+
+ <_>
+
+
+
+ <_>10 8 6 9 -1.
+ <_>10 8 3 9 2.
+ 0
+ 2.0529709290713072e-003
+ 0.5628644824028015
+ 1
+ <_>
+
+
+
+ <_>16 4 3 8 -1.
+ <_>17 4 1 8 3.
+ 0
+ 3.2524869311600924e-003
+ 0.4801689088344574
+ 0.5802102088928223
+ <_>
+
+ <_>
+
+
+
+ <_>5 9 10 6 -1.
+ <_>5 9 5 3 2.
+ <_>10 12 5 3 2.
+ 0
+ -0.0318849012255669
+ 0.1742745041847229
+ 1
+ <_>
+
+
+
+ <_>5 5 6 4 -1.
+ <_>8 5 3 4 2.
+ 0
+ 1.8379340181127191e-003
+ 0.3466596901416779
+ 0.5107154846191406
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 4 2 -1.
+ <_>9 9 4 1 2.
+ 0
+ -4.8512680223211646e-004
+ 1
+ 0.5326086282730103
+ <_>
+
+
+
+ <_>11 7 2 2 -1.
+ <_>11 7 1 2 2.
+ 0
+ -2.5407879147678614e-003
+ 0.6342775225639343
+ 0.4992693066596985
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 4 8 -1.
+ <_>8 12 2 4 2.
+ <_>10 16 2 4 2.
+ 0
+ -5.1559060811996460e-003
+ 0.3433429002761841
+ 1
+ <_>
+
+
+
+ <_>0 1 4 9 -1.
+ <_>0 4 4 3 3.
+ 0
+ -0.0449687503278255
+ 0.1868136972188950
+ 0.5215464830398560
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 3 3 -1.
+ <_>9 11 3 1 3.
+ 0
+ 5.8984281495213509e-003
+ 1
+ 0.6229305267333984
+ <_>
+
+
+
+ <_>8 11 4 2 -1.
+ <_>8 12 4 1 2.
+ 0
+ 3.2763120252639055e-003
+ 0.4935772120952606
+ 0.7217944860458374
+ <_>
+
+ <_>
+
+
+
+ <_>7 8 4 2 -1.
+ <_>7 9 4 1 2.
+ 0
+ -1.0161520185647532e-004
+ 1
+ 0.5007976293563843
+ <_>
+
+
+
+ <_>7 8 6 1 -1.
+ <_>9 8 2 1 3.
+ 0
+ -1.6290300118271261e-004
+ 0.6024149060249329
+ 0.2329508066177368
+ <_>
+
+ <_>
+
+
+
+ <_>16 0 4 9 -1.
+ <_>16 0 2 9 2.
+ 0
+ 9.0541364625096321e-003
+ 0.4510416984558106
+ 1
+ <_>
+
+
+
+ <_>16 0 3 6 -1.
+ <_>16 3 3 3 2.
+ 0
+ 0.0353984907269478
+ 0.5141996741294861
+ 0.2860291898250580
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 4 9 -1.
+ <_>2 0 2 9 2.
+ 0
+ 5.6469351984560490e-003
+ 0.4704925119876862
+ 1
+ <_>
+
+
+
+ <_>1 0 3 6 -1.
+ <_>1 3 3 3 2.
+ 0
+ -2.4807190056890249e-003
+ 0.4179851114749908
+ 0.6726647019386292
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 6 9 -1.
+ <_>11 7 2 9 3.
+ 0
+ -4.1088787838816643e-003
+ 0.5809801816940308
+ 1
+ <_>
+
+
+
+ <_>10 6 3 6 -1.
+ <_>11 6 1 6 3.
+ 0
+ -2.0714469719678164e-003
+ 0.6074783802032471
+ 0.4524059891700745
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 18 2 -1.
+ <_>1 2 9 1 2.
+ <_>10 3 9 1 2.
+ 0
+ -2.8939060866832733e-003
+ 0.3383519947528839
+ 1
+ <_>
+
+
+
+ <_>5 8 6 8 -1.
+ <_>7 8 2 8 3.
+ 0
+ 1.3467279495671391e-003
+ 0.5696910023689270
+ 0.3970845043659210
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 6 16 -1.
+ <_>11 0 2 16 3.
+ 0
+ -0.0907791331410408
+ 0.1502701938152313
+ 1
+ <_>
+
+
+
+ <_>14 1 6 18 -1.
+ <_>17 1 3 9 2.
+ <_>14 10 3 9 2.
+ 0
+ -0.0831717625260353
+ 0.7573670744895935
+ 0.4936437010765076
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 2 3 -1.
+ <_>2 10 2 1 3.
+ 0
+ -1.4107000315561891e-003
+ 0.3390932977199554
+ 1
+ <_>
+
+
+
+ <_>0 1 6 18 -1.
+ <_>0 1 3 9 2.
+ <_>3 10 3 9 2.
+ 0
+ 0.0556687600910664
+ 0.5025097131729126
+ 0.7422083020210266
+ <_>
+
+ <_>
+
+
+
+ <_>11 8 4 12 -1.
+ <_>11 8 2 12 2.
+ 0
+ 0.0577015392482281
+ 0.5197371840476990
+ 1
+ <_>
+
+
+
+ <_>2 1 18 18 -1.
+ <_>2 10 18 9 2.
+ 0
+ -0.4250329136848450
+ 0.0973469167947769
+ 0.5185739994049072
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 3 1 -1.
+ <_>7 3 1 1 3.
+ 0
+ -4.4380719191394746e-004
+ 0.3649350106716156
+ 1
+ <_>
+
+
+
+ <_>4 12 2 2 -1.
+ <_>4 13 2 1 2.
+ 0
+ 1.7924769781529903e-004
+ 0.5619279146194458
+ 0.3760297000408173
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 5 3 -1.
+ <_>8 14 5 1 3.
+ 0
+ 5.0382469780743122e-003
+ 1
+ 0.6328445076942444
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ 0.0151911703869700
+ 0.4936082065105438
+ 0.7426524758338928
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 5 3 -1.
+ <_>3 13 5 1 3.
+ 0
+ -0.0123003898188472
+ 0.1389349997043610
+ 1
+ <_>
+
+
+
+ <_>6 3 3 4 -1.
+ <_>7 3 1 4 3.
+ 0
+ 1.5168030513450503e-003
+ 0.5091962218284607
+ 0.3482648134231567
+ <_>
+
+ <_>
+
+
+
+ <_>11 10 2 2 -1.
+ <_>12 10 1 1 2.
+ <_>11 11 1 1 2.
+ 0
+ 9.5754547510296106e-004
+ 1
+ 0.6036316752433777
+ <_>
+
+
+
+ <_>5 8 12 1 -1.
+ <_>9 8 4 1 3.
+ 0
+ -0.0189622007310390
+ 0.2319173067808151
+ 0.5116652846336365
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 4 8 -1.
+ <_>10 4 2 8 2.
+ 0
+ -0.0222722608596087
+ 0.6555022001266480
+ 1
+ <_>
+
+
+
+ <_>6 6 8 5 -1.
+ <_>10 6 4 5 2.
+ 0
+ -0.0251452308148146
+ 0.1326071023941040
+ 0.4674034118652344
+ <_>
+
+ <_>
+
+
+
+ <_>10 4 6 4 -1.
+ <_>12 4 2 4 3.
+ 0
+ 0.0195339005440474
+ 0.5182027220726013
+ 1
+ <_>
+
+
+
+ <_>12 7 2 2 -1.
+ <_>13 7 1 1 2.
+ <_>12 8 1 1 2.
+ 0
+ -1.1231349781155586e-003
+ 0.6318243145942688
+ 0.4825519025325775
+ <_>
+
+ <_>
+
+
+
+ <_>3 5 10 8 -1.
+ <_>3 9 10 4 2.
+ 0
+ -1.4861139934509993e-003
+ 0.2918671071529388
+ 1
+ <_>
+
+
+
+ <_>7 1 2 12 -1.
+ <_>7 7 2 6 2.
+ 0
+ 3.5002888762392104e-004
+ 0.5621371269226074
+ 0.4249213039875031
+ <_>
+
+ <_>
+
+
+
+ <_>12 7 2 2 -1.
+ <_>13 7 1 1 2.
+ <_>12 8 1 1 2.
+ 0
+ -1.1231349781155586e-003
+ 1
+ 0.4813745021820068
+ <_>
+
+
+
+ <_>11 13 1 6 -1.
+ <_>11 16 1 3 2.
+ 0
+ 0.0104097397997975
+ 0.5184006094932556
+ 0.2051223069429398
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 6 15 -1.
+ <_>7 1 2 15 3.
+ 0
+ -0.0878325626254082
+ 0.1179921999573708
+ 1
+ <_>
+
+
+
+ <_>6 7 2 2 -1.
+ <_>6 7 1 1 2.
+ <_>7 8 1 1 2.
+ 0
+ 1.6584879485890269e-003
+ 0.4987811148166657
+ 0.6973755955696106
+ <_>
+
+ <_>
+
+
+
+ <_>17 5 2 2 -1.
+ <_>17 6 2 1 2.
+ 0
+ -2.3008750285953283e-003
+ 1
+ 0.5339831113815308
+ <_>
+
+
+
+ <_>10 3 4 10 -1.
+ <_>12 3 2 5 2.
+ <_>10 8 2 5 2.
+ 0
+ 0.0330261699855328
+ 0.5033289194107056
+ 0.6851906776428223
+ <_>
+
+ <_>
+
+
+
+ <_>1 5 2 2 -1.
+ <_>1 6 2 1 2.
+ 0
+ -1.3585069682449102e-003
+ 0.3002822101116180
+ 1
+ <_>
+
+
+
+ <_>7 10 2 2 -1.
+ <_>7 10 1 1 2.
+ <_>8 11 1 1 2.
+ 0
+ 7.8067491995170712e-004
+ 0.4593083858489990
+ 0.6440045237541199
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 14 4 -1.
+ <_>10 12 7 2 2.
+ <_>3 14 7 2 2.
+ 0
+ -0.0180257596075535
+ 1
+ 0.5311291217803955
+ <_>
+
+
+
+ <_>9 15 3 2 -1.
+ <_>9 16 3 1 2.
+ 0
+ 1.2354910140857100e-003
+ 0.4729106128215790
+ 0.5721461176872253
+ <_>
+
+ <_>
+
+
+
+ <_>1 13 3 3 -1.
+ <_>1 14 3 1 3.
+ 0
+ -9.2583027435466647e-004
+ 0.3662332892417908
+ 1
+ <_>
+
+
+
+ <_>0 3 1 2 -1.
+ <_>0 4 1 1 2.
+ 0
+ 8.0123997759073973e-004
+ 0.5361989736557007
+ 0.3008632957935333
+ 32.6471290588378910
+ 10
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 1 -1.
+ <_>9 7 2 1 3.
+ 0
+ 2.4914839304983616e-003
+ 0.3422389030456543
+ 1
+ <_>
+
+
+
+ <_>0 4 16 6 -1.
+ <_>0 6 16 2 3.
+ 0
+ -0.0504885986447334
+ 0.7703458070755005
+ 0.4516390860080719
+ <_>
+
+ <_>
+
+
+
+ <_>9 3 2 14 -1.
+ <_>9 10 2 7 2.
+ 0
+ -7.7838351717218757e-004
+ 1
+ 0.3256342113018036
+ <_>
+
+
+
+ <_>12 0 4 3 -1.
+ <_>12 0 2 3 2.
+ 0
+ 2.3572890495415777e-004
+ 0.3406555950641632
+ 0.5897027254104614
+ <_>
+
+ <_>
+
+
+
+ <_>4 18 12 2 -1.
+ <_>8 18 4 2 3.
+ 0
+ 4.5575071126222610e-003
+ 0.4306578934192658
+ 1
+ <_>
+
+
+
+ <_>4 10 12 4 -1.
+ <_>8 10 4 4 3.
+ 0
+ 8.1241987645626068e-003
+ 0.7149587273597717
+ 0.4345684945583344
+ <_>
+
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ -4.4612158671952784e-004
+ 0.3295974135398865
+ 1
+ <_>
+
+
+
+ <_>14 1 2 8 -1.
+ <_>15 1 1 4 2.
+ <_>14 5 1 4 2.
+ 0
+ -2.8972938889637589e-004
+ 0.5845620036125183
+ 0.3526687920093536
+ <_>
+
+ <_>
+
+
+
+ <_>3 4 9 1 -1.
+ <_>6 4 3 1 3.
+ 0
+ 7.1604831646254752e-006
+ 0.4081954956054688
+ 1
+ <_>
+
+
+
+ <_>3 3 4 2 -1.
+ <_>3 4 4 1 2.
+ 0
+ -3.8497708737850189e-004
+ 0.4203113019466400
+ 0.6634126901626587
+ <_>
+
+ <_>
+
+
+
+ <_>11 15 2 4 -1.
+ <_>11 17 2 2 2.
+ 0
+ 1.9489860278554261e-004
+ 0.3942466974258423
+ 1
+ <_>
+
+
+
+ <_>14 13 2 6 -1.
+ <_>14 15 2 2 3.
+ 0
+ -0.0170838497579098
+ 0.2294072061777115
+ 0.5238960981369019
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 1 6 -1.
+ <_>6 9 1 3 2.
+ 0
+ 8.3513697609305382e-004
+ 0.3026031851768494
+ 1
+ <_>
+
+
+
+ <_>6 10 8 8 -1.
+ <_>6 14 8 4 2.
+ 0
+ 7.5499608647078276e-004
+ 0.6032196283340454
+ 0.3412458896636963
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 8.0216713249683380e-003
+ 1
+ 0.7306240797042847
+ <_>
+
+
+
+ <_>10 11 4 8 -1.
+ <_>10 15 4 4 2.
+ 0
+ -0.0389305092394352
+ 0.3599325120449066
+ 0.5234380960464478
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 6 1 -1.
+ <_>7 11 2 1 3.
+ 0
+ -7.0348767621908337e-005
+ 1
+ 0.3493758141994476
+ <_>
+
+
+
+ <_>5 4 6 10 -1.
+ <_>8 4 3 10 2.
+ 0
+ -8.5350573062896729e-003
+ 0.2746109068393707
+ 0.5626586079597473
+ <_>
+
+ <_>
+
+
+
+ <_>14 2 6 3 -1.
+ <_>14 3 6 1 3.
+ 0
+ 0.0108544500544667
+ 0.5282226204872131
+ 1
+ <_>
+
+
+
+ <_>9 12 3 2 -1.
+ <_>9 13 3 1 2.
+ 0
+ 4.5329501153901219e-004
+ 0.4522049129009247
+ 0.6054301857948303
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 4 6 -1.
+ <_>8 3 4 2 3.
+ 0
+ 1.8117150466423482e-004
+ 0.3306862115859985
+ 1
+ <_>
+
+
+
+ <_>3 5 13 8 -1.
+ <_>3 9 13 4 2.
+ 0
+ 4.6641560038551688e-004
+ 0.1455000042915344
+ 0.5384927988052368
+ <_>
+
+ <_>
+
+
+
+ <_>12 5 5 3 -1.
+ <_>12 6 5 1 3.
+ 0
+ -8.4854792803525925e-003
+ 1
+ 0.4814155995845795
+ <_>
+
+
+
+ <_>5 14 15 6 -1.
+ <_>5 16 15 2 3.
+ 0
+ -0.0189343094825745
+ 0.3563741147518158
+ 0.5405145287513733
+ <_>
+
+ <_>
+
+
+
+ <_>3 5 5 3 -1.
+ <_>3 6 5 1 3.
+ 0
+ 4.9814549274742603e-003
+ 1
+ 0.6957743167877197
+ <_>
+
+
+
+ <_>9 14 2 6 -1.
+ <_>9 14 1 3 2.
+ <_>10 17 1 3 2.
+ 0
+ 3.4286780282855034e-003
+ 0.5050892829895020
+ 0.2316994965076447
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 3 2 -1.
+ <_>9 13 3 1 2.
+ 0
+ 4.4203791185282171e-004
+ 1
+ 0.6018581986427307
+ <_>
+
+
+
+ <_>9 13 3 2 -1.
+ <_>9 14 3 1 2.
+ 0
+ 2.3822550429031253e-004
+ 0.4755082130432129
+ 0.5585237741470337
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 6 3 -1.
+ <_>0 3 6 1 3.
+ 0
+ -6.4261639490723610e-003
+ 0.2282465994358063
+ 1
+ <_>
+
+
+
+ <_>0 1 9 11 -1.
+ <_>3 1 3 11 3.
+ 0
+ 9.9637769162654877e-003
+ 0.4040588140487671
+ 0.5650169849395752
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 6 -1.
+ <_>10 13 2 3 2.
+ <_>8 16 2 3 2.
+ 0
+ 0.0136540504172444
+ 0.5267739295959473
+ 1
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -9.9892877042293549e-003
+ 0.6794049739837647
+ 0.4797033965587616
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 14 4 -1.
+ <_>3 12 7 2 2.
+ <_>10 14 7 2 2.
+ 0
+ 0.0365586318075657
+ 1
+ 0.0884257331490517
+ <_>
+
+
+
+ <_>7 14 1 4 -1.
+ <_>7 16 1 2 2.
+ 0
+ 4.8999379941960797e-005
+ 0.4020788073539734
+ 0.5457332134246826
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 6 -1.
+ <_>10 13 2 3 2.
+ <_>8 16 2 3 2.
+ 0
+ 0.0136540504172444
+ 0.5267612934112549
+ 1
+ <_>
+
+
+
+ <_>10 14 1 3 -1.
+ <_>10 15 1 1 3.
+ 0
+ 1.8802779959514737e-003
+ 0.4806052148342133
+ 0.6394364833831787
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 6 -1.
+ <_>8 13 2 3 2.
+ <_>10 16 2 3 2.
+ 0
+ -0.0136540504172444
+ 0.1724810004234314
+ 1
+ <_>
+
+
+
+ <_>9 14 1 3 -1.
+ <_>9 15 1 1 3.
+ 0
+ 1.2778700329363346e-003
+ 0.4479824006557465
+ 0.6310008764266968
+ <_>
+
+ <_>
+
+
+
+ <_>10 15 2 3 -1.
+ <_>10 16 2 1 3.
+ 0
+ 9.8843395244330168e-004
+ 1
+ 0.5948169231414795
+ <_>
+
+
+
+ <_>11 16 1 2 -1.
+ <_>11 17 1 1 2.
+ 0
+ 1.4511500012304168e-005
+ 0.4854174852371216
+ 0.5309361219406128
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 2 2 -1.
+ <_>9 1 2 1 2.
+ 0
+ -2.2775429533794522e-004
+ 0.3183631896972656
+ 1
+ <_>
+
+
+
+ <_>0 1 5 8 -1.
+ <_>0 5 5 4 2.
+ 0
+ -0.0147537402808666
+ 0.3084976077079773
+ 0.5352026224136353
+ <_>
+
+ <_>
+
+
+
+ <_>10 14 2 3 -1.
+ <_>10 15 2 1 3.
+ 0
+ -3.4148250706493855e-003
+ 0.6115326881408691
+ 1
+ <_>
+
+
+
+ <_>10 13 2 3 -1.
+ <_>10 14 2 1 3.
+ 0
+ 7.5806681998074055e-003
+ 0.4951646029949188
+ 0.7061331272125244
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 16 6 -1.
+ <_>0 6 16 3 2.
+ 0
+ -5.7734688743948936e-003
+ 1
+ 0.3754220902919769
+ <_>
+
+
+
+ <_>4 1 2 2 -1.
+ <_>5 1 1 2 2.
+ 0
+ 7.4033669079653919e-005
+ 0.4115517139434815
+ 0.5889444947242737
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 8 2 1 3.
+ 0
+ -8.2278084009885788e-003
+ 0.0956105664372444
+ 1
+ <_>
+
+
+
+ <_>10 8 2 12 -1.
+ <_>10 12 2 4 3.
+ 0
+ 5.3380909375846386e-003
+ 0.5300508737564087
+ 0.3961898088455200
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ -2.7049109339714050e-003
+ 0.6481869220733643
+ 1
+ <_>
+
+
+
+ <_>5 0 6 8 -1.
+ <_>7 0 2 8 3.
+ 0
+ 7.7341338619589806e-003
+ 0.5110440254211426
+ 0.3121519088745117
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 6 -1.
+ <_>10 7 1 6 3.
+ 0
+ 0.0108866095542908
+ 0.4801428914070129
+ 1
+ <_>
+
+
+
+ <_>8 12 10 8 -1.
+ <_>8 16 10 4 2.
+ 0
+ 0.0110386600717902
+ 0.5429710149765015
+ 0.4162363111972809
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 6 -1.
+ <_>9 7 1 6 3.
+ 0
+ -0.0100541999563575
+ 0.7329335212707520
+ 1
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>10 7 6 2 2.
+ 0
+ 7.7072880230844021e-003
+ 0.5356872081756592
+ 0.3455547094345093
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 8 3 -1.
+ <_>8 6 4 3 2.
+ 0
+ -5.8278098003938794e-004
+ 0.3655022084712982
+ 1
+ <_>
+
+
+
+ <_>16 15 3 3 -1.
+ <_>16 16 3 1 3.
+ 0
+ -2.5739220436662436e-003
+ 0.3776760101318359
+ 0.5391774773597717
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 12 3 -1.
+ <_>10 6 6 3 2.
+ 0
+ -7.0167761296033859e-003
+ 0.4039304852485657
+ 1
+ <_>
+
+
+
+ <_>7 8 3 5 -1.
+ <_>8 8 1 5 3.
+ 0
+ -1.7727289814502001e-003
+ 0.6950443983078003
+ 0.4981116950511932
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 20 2 -1.
+ <_>10 10 10 1 2.
+ <_>0 11 10 1 2.
+ 0
+ -0.0163182895630598
+ 1
+ 0.5296732783317566
+ <_>
+
+
+
+ <_>11 16 9 4 -1.
+ <_>14 16 3 4 3.
+ 0
+ -0.0116630000993609
+ 0.5842639803886414
+ 0.4789502918720245
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 3 4 -1.
+ <_>1 5 1 4 3.
+ 0
+ 2.5881489273160696e-003
+ 1
+ 0.6092178821563721
+ <_>
+
+
+
+ <_>8 15 4 2 -1.
+ <_>8 15 2 1 2.
+ <_>10 16 2 1 2.
+ 0
+ -3.7328999023884535e-003
+ 0.6721742749214172
+ 0.4066894054412842
+ <_>
+
+ <_>
+
+
+
+ <_>1 8 19 3 -1.
+ <_>1 9 19 1 3.
+ 0
+ -1.4355930034071207e-003
+ 0.3585087954998016
+ 1
+ <_>
+
+
+
+ <_>15 16 3 3 -1.
+ <_>15 17 3 1 3.
+ 0
+ 1.8340899841859937e-003
+ 0.5371158123016357
+ 0.4033507108688355
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 20 10 -1.
+ <_>0 4 10 5 2.
+ <_>10 9 10 5 2.
+ 0
+ 0.1228028982877731
+ 1
+ 0.1547572016716003
+ <_>
+
+
+
+ <_>2 14 7 6 -1.
+ <_>2 16 7 2 3.
+ 0
+ 0.0502287000417709
+ 0.5433843731880188
+ 0.0842926725745201
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 6 6 -1.
+ <_>10 6 2 6 3.
+ 0
+ -0.0214370004832745
+ 1
+ 0.4860053956508637
+ <_>
+
+
+
+ <_>16 4 4 6 -1.
+ <_>16 6 4 2 3.
+ 0
+ -0.0310096200555563
+ 0.1833010017871857
+ 0.5207554101943970
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -0.0129737202078104
+ 0.7048240900039673
+ 1
+ <_>
+
+
+
+ <_>7 13 4 3 -1.
+ <_>7 14 4 1 3.
+ 0
+ 1.5818020328879356e-003
+ 0.4170587062835693
+ 0.5865163803100586
+ <_>
+
+ <_>
+
+
+
+ <_>13 13 6 2 -1.
+ <_>13 14 6 1 2.
+ 0
+ -9.7806248813867569e-003
+ 1
+ 0.5307918190956116
+ <_>
+
+
+
+ <_>14 12 2 3 -1.
+ <_>14 13 2 1 3.
+ 0
+ 1.1735740117728710e-003
+ 0.5522453188896179
+ 0.3507165014743805
+ <_>
+
+ <_>
+
+
+
+ <_>1 13 6 2 -1.
+ <_>1 14 6 1 2.
+ 0
+ 1.4651629608124495e-003
+ 1
+ 0.3042651116847992
+ <_>
+
+
+
+ <_>4 12 2 3 -1.
+ <_>4 13 2 1 3.
+ 0
+ 2.3532148916274309e-003
+ 0.5339323282241821
+ 0.2806236147880554
+ <_>
+
+ <_>
+
+
+
+ <_>17 4 3 5 -1.
+ <_>18 4 1 5 3.
+ 0
+ -6.1809681355953217e-003
+ 0.6410133242607117
+ 1
+ <_>
+
+
+
+ <_>5 5 14 8 -1.
+ <_>12 5 7 4 2.
+ <_>5 9 7 4 2.
+ 0
+ 6.5688649192452431e-004
+ 0.5620871186256409
+ 0.4390318989753723
+ <_>
+
+ <_>
+
+
+
+ <_>6 8 6 5 -1.
+ <_>8 8 2 5 3.
+ 0
+ 0.0262280106544495
+ 1
+ 0.6445556879043579
+ <_>
+
+
+
+ <_>0 4 4 6 -1.
+ <_>0 6 4 2 3.
+ 0
+ -0.0179581101983786
+ 0.2002713978290558
+ 0.4624665081501007
+ <_>
+
+ <_>
+
+
+
+ <_>9 1 3 6 -1.
+ <_>10 1 1 6 3.
+ 0
+ -7.6468721963465214e-003
+ 1
+ 0.5263200998306274
+ <_>
+
+
+
+ <_>10 4 6 3 -1.
+ <_>10 5 6 1 3.
+ 0
+ -2.7482809964567423e-003
+ 0.5873981118202210
+ 0.4836600124835968
+ <_>
+
+ <_>
+
+
+
+ <_>8 1 3 6 -1.
+ <_>9 1 1 6 3.
+ 0
+ 0.0138518502935767
+ 1
+ 0.1566130965948105
+ <_>
+
+
+
+ <_>4 4 6 3 -1.
+ <_>4 5 6 1 3.
+ 0
+ 2.6369190309196711e-003
+ 0.4270178973674774
+ 0.5806660056114197
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ -3.1513599678874016e-003
+ 0.6215866208076477
+ 1
+ <_>
+
+
+
+ <_>12 11 4 2 -1.
+ <_>12 12 4 1 2.
+ 0
+ -1.4788460248382762e-005
+ 0.5576642751693726
+ 0.4122002124786377
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 20 6 -1.
+ <_>0 2 10 3 2.
+ <_>10 5 10 3 2.
+ 0
+ -0.0736769884824753
+ 0.1536709964275360
+ 1
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ -3.0912780202925205e-003
+ 0.6344268918037415
+ 0.4507412016391754
+ <_>
+
+ <_>
+
+
+
+ <_>2 10 16 4 -1.
+ <_>10 10 8 2 2.
+ <_>2 12 8 2 2.
+ 0
+ 7.9240966588258743e-003
+ 0.5457975268363953
+ 1
+ <_>
+
+
+
+ <_>3 10 16 6 -1.
+ <_>11 10 8 3 2.
+ <_>3 13 8 3 2.
+ 0
+ 8.5778040811419487e-003
+ 0.5401657223701477
+ 0.3890799880027771
+ <_>
+
+ <_>
+
+
+
+ <_>1 10 16 6 -1.
+ <_>1 10 8 3 2.
+ <_>9 13 8 3 2.
+ 0
+ 5.5403169244527817e-003
+ 1
+ 0.3555611073970795
+ <_>
+
+
+
+ <_>4 7 2 4 -1.
+ <_>5 7 1 4 2.
+ 0
+ -1.1886510037584230e-004
+ 0.5836750268936157
+ 0.4274316132068634
+ <_>
+
+ <_>
+
+
+
+ <_>11 16 9 4 -1.
+ <_>14 16 3 4 3.
+ 0
+ -0.0184083692729473
+ 0.5860440135002136
+ 1
+ <_>
+
+
+
+ <_>3 16 14 4 -1.
+ <_>10 16 7 2 2.
+ <_>3 18 7 2 2.
+ 0
+ -2.3490579333156347e-003
+ 0.4498957991600037
+ 0.5498198866844177
+ <_>
+
+ <_>
+
+
+
+ <_>0 16 9 4 -1.
+ <_>3 16 3 4 3.
+ 0
+ -7.6157399453222752e-003
+ 1
+ 0.4100992977619171
+ <_>
+
+
+
+ <_>1 14 6 6 -1.
+ <_>1 14 3 3 2.
+ <_>4 17 3 3 2.
+ 0
+ -3.3190969843417406e-003
+ 0.6701378822326660
+ 0.4353001117706299
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 2 1 -1.
+ <_>9 0 1 1 2.
+ 0
+ -9.4642979092895985e-004
+ 1
+ 0.5391176939010620
+ <_>
+
+
+
+ <_>6 7 8 10 -1.
+ <_>10 7 4 5 2.
+ <_>6 12 4 5 2.
+ 0
+ 8.7858550250530243e-003
+ 0.5504050254821777
+ 0.3990935087203980
+ <_>
+
+ <_>
+
+
+
+ <_>2 15 1 2 -1.
+ <_>2 16 1 1 2.
+ 0
+ 1.6395459533669055e-004
+ 1
+ 0.3592933118343353
+ <_>
+
+
+
+ <_>0 14 7 6 -1.
+ <_>0 16 7 2 3.
+ 0
+ -2.3508940357714891e-003
+ 0.4034172892570496
+ 0.5806077122688294
+ <_>
+
+ <_>
+
+
+
+ <_>7 8 6 2 -1.
+ <_>7 9 6 1 2.
+ 0
+ 7.5449963333085179e-005
+ 1
+ 0.5412384867668152
+ <_>
+
+
+
+ <_>9 2 2 15 -1.
+ <_>9 7 2 5 3.
+ 0
+ 0.0270184893161058
+ 0.4944922924041748
+ 0.5589436292648315
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 2 2 -1.
+ <_>5 7 2 1 2.
+ 0
+ 8.4561208495870233e-004
+ 1
+ 0.5809218287467957
+ <_>
+
+
+
+ <_>6 6 8 3 -1.
+ <_>6 7 8 1 3.
+ 0
+ -1.1687109945341945e-003
+ 0.4746957123279572
+ 0.2845895886421204
+ <_>
+
+ <_>
+
+
+
+ <_>12 13 5 6 -1.
+ <_>12 15 5 2 3.
+ 0
+ 0.0228975005447865
+ 1
+ 0.2414411008358002
+ <_>
+
+
+
+ <_>0 0 20 18 -1.
+ <_>0 9 20 9 2.
+ 0
+ 0.7087926268577576
+ 0.5195764899253845
+ 0.1030092015862465
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 6 6 -1.
+ <_>7 1 2 6 3.
+ 0
+ 0.0374838300049305
+ 1
+ 0.1814638972282410
+ <_>
+
+
+
+ <_>5 1 4 9 -1.
+ <_>7 1 2 9 2.
+ 0
+ 1.2827500468119979e-003
+ 0.4246071875095367
+ 0.5707973241806030
+ <_>
+
+ <_>
+
+
+
+ <_>1 19 18 1 -1.
+ <_>7 19 6 1 3.
+ 0
+ -5.1718312315642834e-003
+ 0.6143323183059692
+ 1
+ <_>
+
+
+
+ <_>14 16 5 2 -1.
+ <_>14 17 5 1 2.
+ 0
+ 2.7545939665287733e-003
+ 0.5205671191215515
+ 0.4220441877841950
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 15 10 -1.
+ <_>0 10 15 5 2.
+ 0
+ -3.6072919610887766e-003
+ 0.3182592093944550
+ 1
+ <_>
+
+
+
+ <_>7 15 4 2 -1.
+ <_>7 15 2 1 2.
+ <_>9 16 2 1 2.
+ 0
+ -2.5258748792111874e-004
+ 0.5710468292236328
+ 0.4226093888282776
+ <_>
+
+ <_>
+
+
+
+ <_>14 11 2 2 -1.
+ <_>14 12 2 1 2.
+ 0
+ -7.0514748804271221e-003
+ 1
+ 0.5162829756736755
+ <_>
+
+
+
+ <_>9 8 3 3 -1.
+ <_>9 9 3 1 3.
+ 0
+ -5.4323761723935604e-003
+ 0.2666288912296295
+ 0.5214679837226868
+ <_>
+
+ <_>
+
+
+
+ <_>4 11 2 2 -1.
+ <_>4 12 2 1 2.
+ 0
+ -1.4652940080850385e-005
+ 1
+ 0.3981761038303375
+ <_>
+
+
+
+ <_>8 8 3 3 -1.
+ <_>8 9 3 1 3.
+ 0
+ -1.8556920113041997e-003
+ 0.3322763144969940
+ 0.5705834031105042
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 2 3 -1.
+ <_>9 11 2 1 3.
+ 0
+ 4.7609540633857250e-003
+ 1
+ 0.6636558175086975
+ <_>
+
+
+
+ <_>8 8 4 3 -1.
+ <_>8 9 4 1 3.
+ 0
+ 1.5676260227337480e-003
+ 0.5505567789077759
+ 0.4420661926269531
+ <_>
+
+ <_>
+
+
+
+ <_>1 9 4 10 -1.
+ <_>1 9 2 5 2.
+ <_>3 14 2 5 2.
+ 0
+ 5.4239919409155846e-003
+ 1
+ 0.5959938168525696
+ <_>
+
+
+
+ <_>0 12 6 8 -1.
+ <_>2 12 2 8 3.
+ 0
+ -6.4692399464547634e-003
+ 0.5369594097137451
+ 0.3744339942932129
+ <_>
+
+ <_>
+
+
+
+ <_>9 1 4 2 -1.
+ <_>11 1 2 1 2.
+ <_>9 2 2 1 2.
+ 0
+ -7.8038539504632354e-004
+ 0.4103595018386841
+ 1
+ <_>
+
+
+
+ <_>12 13 7 6 -1.
+ <_>12 15 7 2 3.
+ 0
+ 0.0450864508748055
+ 0.5177506804466248
+ 0.1878100037574768
+ <_>
+
+ <_>
+
+
+
+ <_>7 0 2 3 -1.
+ <_>7 1 2 1 3.
+ 0
+ -5.1405387930572033e-003
+ 0.2352892011404038
+ 1
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>9 14 2 3 3.
+ 0
+ -0.0212361291050911
+ 0.1708751022815704
+ 0.5424973964691162
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 6 4 -1.
+ <_>11 6 2 4 3.
+ 0
+ -2.3763340432196856e-003
+ 0.5836530923843384
+ 1
+ <_>
+
+
+
+ <_>8 10 8 3 -1.
+ <_>8 10 4 3 2.
+ 0
+ 0.0541225895285606
+ 0.5117433071136475
+ 0.1865931004285812
+ <_>
+
+ <_>
+
+
+
+ <_>6 10 4 3 -1.
+ <_>8 10 2 3 2.
+ 0
+ -5.3492980077862740e-004
+ 0.5108693242073059
+ 1
+ <_>
+
+
+
+ <_>6 8 3 5 -1.
+ <_>7 8 1 5 3.
+ 0
+ -5.8454048121348023e-004
+ 0.4775491058826447
+ 0.2439853996038437
+ 30.6721305847167970
+ 11
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 8 1 -1.
+ <_>4 4 4 1 2.
+ 0
+ 3.0031939968466759e-003
+ 0.3349649906158447
+ 1
+ <_>
+
+
+
+ <_>8 2 2 6 -1.
+ <_>8 2 1 3 2.
+ <_>9 5 1 3 2.
+ 0
+ 6.9161207647994161e-004
+ 0.4518367946147919
+ 0.7289354205131531
+ <_>
+
+ <_>
+
+
+
+ <_>0 7 20 6 -1.
+ <_>0 9 20 2 3.
+ 0
+ 0.0112127903848886
+ 0.2950800955295563
+ 1
+ <_>
+
+
+
+ <_>12 10 3 6 -1.
+ <_>12 13 3 3 2.
+ 0
+ -7.6108198845759034e-004
+ 0.5669054985046387
+ 0.2830851078033447
+ <_>
+
+ <_>
+
+
+
+ <_>8 15 1 4 -1.
+ <_>8 17 1 2 2.
+ 0
+ 1.1984579759882763e-004
+ 0.4090577960014343
+ 1
+ <_>
+
+
+
+ <_>5 16 2 4 -1.
+ <_>5 18 2 2 2.
+ 0
+ -1.9725349557120353e-004
+ 0.6951494216918945
+ 0.4637868106365204
+ <_>
+
+ <_>
+
+
+
+ <_>6 2 8 12 -1.
+ <_>6 6 8 4 3.
+ 0
+ -5.5180420167744160e-003
+ 1
+ 0.3167675137519836
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>8 7 4 2 3.
+ 0
+ 1.2148249661549926e-003
+ 0.3316706120967865
+ 0.5396397709846497
+ <_>
+
+ <_>
+
+
+
+ <_>7 0 6 1 -1.
+ <_>9 0 2 1 3.
+ 0
+ -4.2497441172599792e-003
+ 0.2600573897361755
+ 1
+ <_>
+
+
+
+ <_>8 11 3 3 -1.
+ <_>8 12 3 1 3.
+ 0
+ -9.4915721565485001e-003
+ 0.7484294772148132
+ 0.5073192119598389
+ <_>
+
+ <_>
+
+
+
+ <_>12 11 3 6 -1.
+ <_>12 14 3 3 2.
+ 0
+ 6.5378600265830755e-004
+ 1
+ 0.3952010869979858
+ <_>
+
+
+
+ <_>11 2 6 10 -1.
+ <_>14 2 3 5 2.
+ <_>11 7 3 5 2.
+ 0
+ -4.9741100519895554e-004
+ 0.5880274772644043
+ 0.3552120029926300
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 10 12 -1.
+ <_>5 7 5 6 2.
+ <_>10 13 5 6 2.
+ 0
+ -0.0430792495608330
+ 0.2434878051280975
+ 1
+ <_>
+
+
+
+ <_>4 4 2 10 -1.
+ <_>4 9 2 5 2.
+ 0
+ -5.1999092102050781e-004
+ 0.3195562958717346
+ 0.5585454702377319
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 7 1 3 2.
+ 0
+ -4.5451628975570202e-003
+ 1
+ 0.4845289885997772
+ <_>
+
+
+
+ <_>11 9 6 2 -1.
+ <_>11 9 3 2 2.
+ 0
+ -7.9610403627157211e-003
+ 0.3801181018352509
+ 0.5358511805534363
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 2 2 -1.
+ <_>5 7 1 2 2.
+ 0
+ -3.1919340835884213e-004
+ 1
+ 0.4356329143047333
+ <_>
+
+
+
+ <_>0 2 4 6 -1.
+ <_>0 4 4 2 3.
+ 0
+ -0.0192238893359900
+ 0.2613066136837006
+ 0.6155496239662170
+ <_>
+
+ <_>
+
+
+
+ <_>10 7 3 4 -1.
+ <_>11 7 1 4 3.
+ 0
+ -1.3076990144327283e-003
+ 0.5942062139511108
+ 1
+ <_>
+
+
+
+ <_>9 7 3 5 -1.
+ <_>10 7 1 5 3.
+ 0
+ 0.0198250394314528
+ 0.4945428073406220
+ 0.7384855151176453
+ <_>
+
+ <_>
+
+
+
+ <_>9 1 1 3 -1.
+ <_>9 2 1 1 3.
+ 0
+ -2.2013280540704727e-003
+ 0.2214481979608536
+ 1
+ <_>
+
+
+
+ <_>0 6 16 6 -1.
+ <_>0 6 8 3 2.
+ <_>8 9 8 3 2.
+ 0
+ -7.8596705570816994e-003
+ 0.3600977063179016
+ 0.5298550128936768
+ <_>
+
+ <_>
+
+
+
+ <_>10 15 3 3 -1.
+ <_>10 16 3 1 3.
+ 0
+ 1.4142199652269483e-003
+ 1
+ 0.5776566267013550
+ <_>
+
+
+
+ <_>9 14 4 3 -1.
+ <_>9 15 4 1 3.
+ 0
+ -0.0112327598035336
+ 0.6934456825256348
+ 0.4827207028865814
+ <_>
+
+ <_>
+
+
+
+ <_>3 2 6 10 -1.
+ <_>3 2 3 5 2.
+ <_>6 7 3 5 2.
+ 0
+ 2.9746301006525755e-003
+ 1
+ 0.3216677010059357
+ <_>
+
+
+
+ <_>3 0 14 2 -1.
+ <_>3 1 14 1 2.
+ 0
+ 5.3283828310668468e-004
+ 0.3962500095367432
+ 0.5680363774299622
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 3 3 -1.
+ <_>9 15 3 1 3.
+ 0
+ 0.0101052597165108
+ 1
+ 0.7567418217658997
+ <_>
+
+
+
+ <_>10 15 3 3 -1.
+ <_>10 16 3 1 3.
+ 0
+ -0.0116536999121308
+ 0.6523556709289551
+ 0.5027053952217102
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 2 6 -1.
+ <_>9 16 2 3 2.
+ 0
+ -7.0609981194138527e-003
+ 0.2538770139217377
+ 1
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ 2.2343141026794910e-003
+ 0.4387277066707611
+ 0.6177632212638855
+ <_>
+
+ <_>
+
+
+
+ <_>12 11 3 6 -1.
+ <_>12 14 3 3 2.
+ 0
+ -0.0298022795468569
+ 1
+ 0.5201140046119690
+ <_>
+
+
+
+ <_>8 12 5 2 -1.
+ <_>8 13 5 1 2.
+ 0
+ 1.1611840454861522e-003
+ 0.4647909998893738
+ 0.6184254884719849
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 3 6 -1.
+ <_>5 14 3 3 2.
+ 0
+ 9.4824447296559811e-004
+ 1
+ 0.3040994107723236
+ <_>
+
+
+
+ <_>8 12 3 2 -1.
+ <_>8 13 3 1 2.
+ 0
+ 4.1284630424343050e-004
+ 0.4518808126449585
+ 0.6245782971382141
+ <_>
+
+ <_>
+
+
+
+ <_>11 13 7 6 -1.
+ <_>11 15 7 2 3.
+ 0
+ -0.0312035400420427
+ 0.2788935899734497
+ 1
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ 2.7652881108224392e-003
+ 0.4698500037193298
+ 0.6502454280853272
+ <_>
+
+ <_>
+
+
+
+ <_>3 13 14 4 -1.
+ <_>3 13 7 2 2.
+ <_>10 15 7 2 2.
+ 0
+ 0.0256447792053223
+ 1
+ 0.1805171072483063
+ <_>
+
+
+
+ <_>8 14 4 6 -1.
+ <_>8 14 2 3 2.
+ <_>10 17 2 3 2.
+ 0
+ -7.5331530533730984e-003
+ 0.3208068907260895
+ 0.5522022843360901
+ <_>
+
+ <_>
+
+
+
+ <_>8 15 4 3 -1.
+ <_>8 16 4 1 3.
+ 0
+ 3.2047149725258350e-003
+ 1
+ 0.6436933875083923
+ <_>
+
+
+
+ <_>7 16 6 2 -1.
+ <_>9 16 2 2 3.
+ 0
+ -2.4282479716930538e-004
+ 0.5676705241203308
+ 0.4509103894233704
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 2 -1.
+ <_>7 8 6 1 2.
+ 0
+ -6.1979342717677355e-004
+ 0.3122146129608154
+ 1
+ <_>
+
+
+
+ <_>3 9 13 3 -1.
+ <_>3 10 13 1 3.
+ 0
+ -8.0101029016077518e-004
+ 0.2965193986892700
+ 0.5230494737625122
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 4 -1.
+ <_>9 10 3 2 2.
+ 0
+ -9.1816839994862676e-004
+ 1
+ 0.5464711785316467
+ <_>
+
+
+
+ <_>8 10 4 3 -1.
+ <_>8 11 4 1 3.
+ 0
+ 1.2239529751241207e-003
+ 0.4618502855300903
+ 0.5679548978805542
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 3 4 -1.
+ <_>8 7 1 4 3.
+ 0
+ -6.8743730662390590e-004
+ 0.5430880188941956
+ 1
+ <_>
+
+
+
+ <_>8 7 3 5 -1.
+ <_>9 7 1 5 3.
+ 0
+ -1.8252469599246979e-003
+ 0.5433623194694519
+ 0.3385221064090729
+ <_>
+
+ <_>
+
+
+
+ <_>12 3 3 4 -1.
+ <_>13 3 1 4 3.
+ 0
+ -7.4570789001882076e-003
+ 1
+ 0.5265594720840454
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 7 1 3 2.
+ 0
+ 5.3775748237967491e-003
+ 0.4857215881347656
+ 0.6815124154090881
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 3 4 -1.
+ <_>6 3 1 4 3.
+ 0
+ 3.7602309603244066e-003
+ 1
+ 0.2832160890102387
+ <_>
+
+
+
+ <_>3 7 12 1 -1.
+ <_>7 7 4 1 3.
+ 0
+ 8.7752222316339612e-004
+ 0.3966830968856812
+ 0.5512480735778809
+ <_>
+
+ <_>
+
+
+
+ <_>12 5 3 3 -1.
+ <_>12 6 3 1 3.
+ 0
+ 5.5084479972720146e-003
+ 1
+ 0.6784620285034180
+ <_>
+
+
+
+ <_>11 2 6 2 -1.
+ <_>11 3 6 1 2.
+ 0
+ -7.5949047459289432e-004
+ 0.3906503021717072
+ 0.5457202792167664
+ <_>
+
+ <_>
+
+
+
+ <_>3 2 14 2 -1.
+ <_>3 2 7 1 2.
+ <_>10 3 7 1 2.
+ 0
+ 1.6352660022675991e-003
+ 1
+ 0.3640204071998596
+ <_>
+
+
+
+ <_>6 1 7 14 -1.
+ <_>6 8 7 7 2.
+ 0
+ -1.2750849418807775e-004
+ 0.5829724073410034
+ 0.4194979965686798
+ <_>
+
+ <_>
+
+
+
+ <_>8 0 12 5 -1.
+ <_>8 0 6 5 2.
+ 0
+ 0.0220676101744175
+ 0.4606702923774719
+ 1
+ <_>
+
+
+
+ <_>1 9 18 1 -1.
+ <_>7 9 6 1 3.
+ 0
+ -0.0192037895321846
+ 0.3261483013629913
+ 0.5236080884933472
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 10 5 -1.
+ <_>5 0 5 5 2.
+ 0
+ -0.0129981096833944
+ 0.7022112011909485
+ 1
+ <_>
+
+
+
+ <_>2 5 8 15 -1.
+ <_>2 10 8 5 3.
+ 0
+ -3.1332690268754959e-003
+ 0.2870470881462097
+ 0.5076476931571960
+ <_>
+
+ <_>
+
+
+
+ <_>12 5 3 3 -1.
+ <_>12 6 3 1 3.
+ 0
+ -5.2937557920813560e-003
+ 1
+ 0.4709520936012268
+ <_>
+
+
+
+ <_>13 4 2 3 -1.
+ <_>13 5 2 1 3.
+ 0
+ 2.1857069805264473e-003
+ 0.4708291888237000
+ 0.6169841885566711
+ <_>
+
+ <_>
+
+
+
+ <_>2 15 4 3 -1.
+ <_>2 16 4 1 3.
+ 0
+ -4.5750709250569344e-003
+ 0.3114252984523773
+ 1
+ <_>
+
+
+
+ <_>5 6 10 3 -1.
+ <_>10 6 5 3 2.
+ 0
+ -0.0451521389186382
+ 0.1851435005664825
+ 0.5504814982414246
+ <_>
+
+ <_>
+
+
+
+ <_>11 6 2 2 -1.
+ <_>12 6 1 1 2.
+ <_>11 7 1 1 2.
+ 0
+ -2.7783559635281563e-003
+ 1
+ 0.4937348067760468
+ <_>
+
+
+
+ <_>12 4 4 3 -1.
+ <_>12 5 4 1 3.
+ 0
+ -2.5752480141818523e-003
+ 0.6152948141098023
+ 0.4735499918460846
+ <_>
+
+ <_>
+
+
+
+ <_>7 6 2 2 -1.
+ <_>7 6 1 1 2.
+ <_>8 7 1 1 2.
+ 0
+ 1.1614130344241858e-003
+ 1
+ 0.6510571837425232
+ <_>
+
+
+
+ <_>4 4 4 3 -1.
+ <_>4 5 4 1 3.
+ 0
+ 2.3350189439952374e-003
+ 0.4088341891765595
+ 0.5684152245521545
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 3 3 -1.
+ <_>12 4 1 3 3.
+ 0
+ 3.8499289657920599e-003
+ 1
+ 0.3025828897953033
+ <_>
+
+
+
+ <_>9 3 2 1 -1.
+ <_>9 3 1 1 2.
+ 0
+ 2.4529630318284035e-003
+ 0.5232502818107605
+ 0.2017620950937271
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 5 3 -1.
+ <_>4 6 5 1 3.
+ 0
+ 3.6731390282511711e-003
+ 1
+ 0.6428425908088684
+ <_>
+
+
+
+ <_>4 6 4 3 -1.
+ <_>4 7 4 1 3.
+ 0
+ 2.1937100682407618e-003
+ 0.4328865110874176
+ 0.6420509815216065
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 3 3 -1.
+ <_>12 4 1 3 3.
+ 0
+ -6.4666871912777424e-003
+ 1
+ 0.5254065990447998
+ <_>
+
+
+
+ <_>8 8 4 3 -1.
+ <_>8 9 4 1 3.
+ 0
+ -5.7186251506209373e-003
+ 0.2490984052419663
+ 0.5287619233131409
+ <_>
+
+ <_>
+
+
+
+ <_>6 4 3 3 -1.
+ <_>7 4 1 3 3.
+ 0
+ 9.9941878579556942e-004
+ 1
+ 0.3329795897006989
+ <_>
+
+
+
+ <_>4 14 1 3 -1.
+ <_>4 15 1 1 3.
+ 0
+ -7.8276498243212700e-004
+ 0.3598344922065735
+ 0.5498340725898743
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 7 1 3 2.
+ 0
+ 4.3231188319623470e-003
+ 0.4818705022335053
+ 1
+ <_>
+
+
+
+ <_>17 0 3 2 -1.
+ <_>17 1 3 1 2.
+ 0
+ 4.0838290005922318e-003
+ 0.5266330242156982
+ 0.3105789124965668
+ <_>
+
+ <_>
+
+
+
+ <_>8 10 2 9 -1.
+ <_>8 13 2 3 3.
+ 0
+ 3.0515898833982646e-004
+ 1
+ 0.3995291888713837
+ <_>
+
+
+
+ <_>0 8 18 2 -1.
+ <_>0 9 18 1 2.
+ 0
+ 1.2640280183404684e-003
+ 0.3228437900543213
+ 0.5819215178489685
+ <_>
+
+ <_>
+
+
+
+ <_>9 15 2 3 -1.
+ <_>9 16 2 1 3.
+ 0
+ -0.0101526603102684
+ 0.8026071190834045
+ 1
+ <_>
+
+
+
+ <_>8 7 4 3 -1.
+ <_>8 8 4 1 3.
+ 0
+ -2.6863690000027418e-003
+ 0.3875617086887360
+ 0.5466570854187012
+ <_>
+
+ <_>
+
+
+
+ <_>1 14 6 6 -1.
+ <_>1 14 3 3 2.
+ <_>4 17 3 3 2.
+ 0
+ -9.0515613555908203e-003
+ 1
+ 0.4372057914733887
+ <_>
+
+
+
+ <_>0 18 6 2 -1.
+ <_>0 19 6 1 2.
+ 0
+ -6.3204211182892323e-003
+ 0.1126551032066345
+ 0.6395416259765625
+ <_>
+
+ <_>
+
+
+
+ <_>12 9 4 3 -1.
+ <_>12 9 2 3 2.
+ 0
+ 2.6117300149053335e-003
+ 0.5423989295959473
+ 1
+ <_>
+
+
+
+ <_>9 8 3 8 -1.
+ <_>10 8 1 8 3.
+ 0
+ 0.0143390195444226
+ 0.4979273080825806
+ 0.6042236089706421
+ <_>
+
+ <_>
+
+
+
+ <_>4 9 4 3 -1.
+ <_>6 9 2 3 2.
+ 0
+ 2.8452780097723007e-003
+ 1
+ 0.3491092026233673
+ <_>
+
+
+
+ <_>4 18 6 1 -1.
+ <_>6 18 2 1 3.
+ 0
+ 1.4783289771003183e-005
+ 0.4195067882537842
+ 0.5775966048240662
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 2 -1.
+ <_>10 7 1 2 3.
+ 0
+ 8.1814555451273918e-003
+ 0.4885987043380737
+ 1
+ <_>
+
+
+
+ <_>6 7 8 12 -1.
+ <_>10 7 4 6 2.
+ <_>6 13 4 6 2.
+ 0
+ 6.6321990452706814e-003
+ 0.5444468259811401
+ 0.4420995116233826
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 2 -1.
+ <_>9 7 1 2 3.
+ 0
+ -2.2483461070805788e-003
+ 0.6699792146682739
+ 1
+ <_>
+
+
+
+ <_>8 7 3 6 -1.
+ <_>9 7 1 6 3.
+ 0
+ 0.0123745603486896
+ 0.4478605985641480
+ 0.6564893722534180
+ <_>
+
+ <_>
+
+
+
+ <_>3 16 14 4 -1.
+ <_>10 16 7 2 2.
+ <_>3 18 7 2 2.
+ 0
+ -6.6516688093543053e-003
+ 1
+ 0.5511878728866577
+ <_>
+
+
+
+ <_>1 14 18 4 -1.
+ <_>10 14 9 2 2.
+ <_>1 16 9 2 2.
+ 0
+ -8.5750613361597061e-003
+ 0.4017445147037506
+ 0.5405536293983460
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 3 -1.
+ <_>8 8 3 1 3.
+ 0
+ 6.5078441984951496e-003
+ 1
+ 0.2294393032789230
+ <_>
+
+
+
+ <_>0 4 20 12 -1.
+ <_>0 4 10 6 2.
+ <_>10 10 10 6 2.
+ 0
+ 0.0286752097308636
+ 0.5177900195121765
+ 0.3567756116390228
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 10 12 -1.
+ <_>10 5 5 6 2.
+ <_>5 11 5 6 2.
+ 0
+ 7.0673860609531403e-003
+ 0.5564699769020081
+ 1
+ <_>
+
+
+
+ <_>10 2 4 7 -1.
+ <_>10 2 2 7 2.
+ 0
+ 1.2367829913273454e-003
+ 0.3627698123455048
+ 0.5572413802146912
+ <_>
+
+ <_>
+
+
+
+ <_>8 11 4 3 -1.
+ <_>8 12 4 1 3.
+ 0
+ 7.4818679131567478e-003
+ 1
+ 0.6784911155700684
+ <_>
+
+
+
+ <_>8 12 3 3 -1.
+ <_>8 13 3 1 3.
+ 0
+ 4.7109839506447315e-003
+ 0.4121252894401550
+ 0.6072235703468323
+ <_>
+
+ <_>
+
+
+
+ <_>13 13 5 6 -1.
+ <_>13 15 5 2 3.
+ 0
+ -6.9405790418386459e-003
+ 1
+ 0.5459766983985901
+ <_>
+
+
+
+ <_>7 0 6 6 -1.
+ <_>9 0 2 6 3.
+ 0
+ 0.0333020985126495
+ 0.5276706814765930
+ 0.2374915927648544
+ <_>
+
+ <_>
+
+
+
+ <_>2 13 5 6 -1.
+ <_>2 15 5 2 3.
+ 0
+ 0.0361046306788921
+ 1
+ 0.0724927932024002
+ <_>
+
+
+
+ <_>0 4 2 12 -1.
+ <_>0 4 1 6 2.
+ <_>1 10 1 6 2.
+ 0
+ 0.0196746494621038
+ 0.4626345932483673
+ 0.8208963274955750
+ <_>
+
+ <_>
+
+
+
+ <_>9 19 3 1 -1.
+ <_>10 19 1 1 3.
+ 0
+ 3.4766150638461113e-003
+ 0.5208731889724731
+ 1
+ <_>
+
+
+
+ <_>18 0 2 6 -1.
+ <_>18 2 2 2 3.
+ 0
+ 1.3987369602546096e-003
+ 0.5484414100646973
+ 0.4230034947395325
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 1 6 -1.
+ <_>0 5 1 2 3.
+ 0
+ 4.0974249131977558e-003
+ 1
+ 0.2780553102493286
+ <_>
+
+
+
+ <_>0 0 3 6 -1.
+ <_>0 2 3 2 3.
+ 0
+ 2.6973790954798460e-003
+ 0.5403831005096436
+ 0.3790988922119141
+ <_>
+
+ <_>
+
+
+
+ <_>17 2 3 7 -1.
+ <_>18 2 1 7 3.
+ 0
+ -5.6591699831187725e-003
+ 1
+ 0.4798336029052734
+ <_>
+
+
+
+ <_>10 3 4 7 -1.
+ <_>10 3 2 7 2.
+ 0
+ 3.9460969856008887e-004
+ 0.3766950070858002
+ 0.5429229140281677
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 3 7 -1.
+ <_>1 2 1 7 3.
+ 0
+ 2.1750570740550756e-003
+ 1
+ 0.6207162737846375
+ <_>
+
+
+
+ <_>6 2 4 8 -1.
+ <_>8 2 2 8 2.
+ 0
+ 1.4614439569413662e-003
+ 0.3357945084571838
+ 0.5142632126808167
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 1 4 -1.
+ <_>13 2 1 2 2.
+ 0
+ -5.3006567759439349e-004
+ 1
+ 0.5344640016555786
+ <_>
+
+
+
+ <_>5 1 12 5 -1.
+ <_>9 1 4 5 3.
+ 0
+ 0.1486930996179581
+ 0.5159608125686646
+ 0.2561823129653931
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 1 4 -1.
+ <_>6 2 1 2 2.
+ 0
+ -5.8816498494707048e-005
+ 1
+ 0.5123091936111450
+ <_>
+
+
+
+ <_>3 1 12 5 -1.
+ <_>7 1 4 5 3.
+ 0
+ -1.6275369562208652e-003
+ 0.6017646193504334
+ 0.3109371960163117
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 3 8 -1.
+ <_>10 12 1 8 3.
+ 0
+ -0.0128818098455668
+ 0.2712287008762360
+ 1
+ <_>
+
+
+
+ <_>7 13 6 1 -1.
+ <_>9 13 2 1 3.
+ 0
+ 9.4982917653396726e-004
+ 0.5442442297935486
+ 0.4028888046741486
+ <_>
+
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ -0.0123159997165203
+ 1
+ 0.4736065864562988
+ <_>
+
+
+
+ <_>5 16 7 3 -1.
+ <_>5 17 7 1 3.
+ 0
+ 9.0286601334810257e-003
+ 0.7451434731483460
+ 0.3487991988658905
+ <_>
+
+ <_>
+
+
+
+ <_>0 12 20 6 -1.
+ <_>0 14 20 2 3.
+ 0
+ -0.0868761166930199
+ 0.2290333062410355
+ 1
+ <_>
+
+
+
+ <_>4 18 14 2 -1.
+ <_>4 19 14 1 2.
+ 0
+ -1.5107560102478601e-005
+ 0.5517889857292175
+ 0.4393149018287659
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 3 8 -1.
+ <_>9 12 1 8 3.
+ 0
+ -0.0174576602876186
+ 0.0901679024100304
+ 1
+ <_>
+
+
+
+ <_>7 13 3 3 -1.
+ <_>7 14 3 1 3.
+ 0
+ -2.5219470262527466e-003
+ 0.6233540177345276
+ 0.4789459109306335
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 12 10 -1.
+ <_>11 5 6 5 2.
+ <_>5 10 6 5 2.
+ 0
+ 1.0656520025804639e-003
+ 0.5489696264266968
+ 1
+ <_>
+
+
+
+ <_>8 1 5 10 -1.
+ <_>8 6 5 5 2.
+ 0
+ -4.2540300637483597e-003
+ 0.5579808950424194
+ 0.4375877976417542
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 9 12 -1.
+ <_>5 10 9 6 2.
+ 0
+ -9.0349102392792702e-003
+ 0.3579156100749970
+ 1
+ <_>
+
+
+
+ <_>7 13 6 6 -1.
+ <_>7 15 6 2 3.
+ 0
+ -1.5230999561026692e-003
+ 0.5613660216331482
+ 0.3939043879508972
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 5 16 -1.
+ <_>8 12 5 8 2.
+ 0
+ 2.8441150207072496e-003
+ 1
+ 0.3901554942131043
+ <_>
+
+
+
+ <_>8 12 4 6 -1.
+ <_>8 15 4 3 2.
+ 0
+ -3.2824429217725992e-003
+ 0.4528619050979614
+ 0.5441343188285828
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 2 2 -1.
+ <_>7 13 1 1 2.
+ <_>8 14 1 1 2.
+ 0
+ 3.2161718991119415e-005
+ 1
+ 0.5803111791610718
+ <_>
+
+
+
+ <_>7 12 2 2 -1.
+ <_>7 12 1 1 2.
+ <_>8 13 1 1 2.
+ 0
+ 3.0118400900391862e-005
+ 0.3336850106716156
+ 0.5504856109619141
+ <_>
+
+ <_>
+
+
+
+ <_>18 0 2 14 -1.
+ <_>18 0 1 14 2.
+ 0
+ -5.6150099262595177e-003
+ 0.6124789118766785
+ 1
+ <_>
+
+
+
+ <_>12 11 7 2 -1.
+ <_>12 12 7 1 2.
+ 0
+ -0.0173892099410295
+ 0.0872716307640076
+ 0.5204588174819946
+ <_>
+
+ <_>
+
+
+
+ <_>1 18 1 2 -1.
+ <_>1 19 1 1 2.
+ 0
+ -4.4361080654198304e-005
+ 0.3935329020023346
+ 1
+ <_>
+
+
+
+ <_>2 18 1 2 -1.
+ <_>2 19 1 1 2.
+ 0
+ 1.0354899859521538e-004
+ 0.5918853878974915
+ 0.4119614064693451
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 1 -1.
+ <_>9 7 1 1 2.
+ 0
+ 1.5939630102366209e-003
+ 0.4839623868465424
+ 1
+ <_>
+
+
+
+ <_>9 6 2 3 -1.
+ <_>9 6 1 3 2.
+ 0
+ 2.5440789759159088e-003
+ 0.4787364900112152
+ 0.6360663175582886
+ <_>
+
+ <_>
+
+
+
+ <_>3 1 2 2 -1.
+ <_>4 1 1 2 2.
+ 0
+ 1.5083180187502876e-005
+ 0.4231117069721222
+ 1
+ <_>
+
+
+
+ <_>3 0 3 2 -1.
+ <_>3 1 3 1 2.
+ 0
+ -9.9282202427275479e-005
+ 0.4274589121341705
+ 0.6094048023223877
+ <_>
+
+ <_>
+
+
+
+ <_>12 10 3 4 -1.
+ <_>12 12 3 2 2.
+ 0
+ 5.5371708003804088e-004
+ 1
+ 0.4271987974643707
+ <_>
+
+
+
+ <_>7 7 8 2 -1.
+ <_>7 8 8 1 2.
+ 0
+ 1.9186759600415826e-003
+ 0.4497107863426209
+ 0.5549122095108032
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 3 4 -1.
+ <_>8 10 3 2 2.
+ 0
+ -5.0764222396537662e-004
+ 1
+ 0.5477195978164673
+ <_>
+
+
+
+ <_>7 12 6 3 -1.
+ <_>7 13 6 1 3.
+ 0
+ 1.7236480489373207e-003
+ 0.2882922887802124
+ 0.5615127086639404
+ 34.6770782470703120
+ 12
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 10 3 -1.
+ <_>5 2 5 3 2.
+ 0
+ 0.0130921695381403
+ 0.3338870108127594
+ 1
+ <_>
+
+
+
+ <_>0 1 20 6 -1.
+ <_>0 3 20 2 3.
+ 0
+ 4.1446479735895991e-004
+ 0.3099352121353149
+ 0.6677492260932922
+ <_>
+
+ <_>
+
+
+
+ <_>7 6 6 3 -1.
+ <_>9 6 2 3 3.
+ 0
+ 0.0218357294797897
+ 0.4369049072265625
+ 1
+ <_>
+
+
+
+ <_>3 7 14 4 -1.
+ <_>3 9 14 2 2.
+ 0
+ 0.0483239404857159
+ 0.4301724135875702
+ 0.6153885126113892
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 3 6 -1.
+ <_>5 9 3 2 3.
+ 0
+ 1.6091950237751007e-003
+ 0.3387326002120972
+ 1
+ <_>
+
+
+
+ <_>8 8 3 12 -1.
+ <_>8 12 3 4 3.
+ 0
+ 1.3469760306179523e-003
+ 0.6248713731765747
+ 0.3594130873680115
+ <_>
+
+ <_>
+
+
+
+ <_>9 17 6 2 -1.
+ <_>12 17 3 1 2.
+ <_>9 18 3 1 2.
+ 0
+ 1.7729059618432075e-004
+ 0.3868424892425537
+ 1
+ <_>
+
+
+
+ <_>10 17 4 3 -1.
+ <_>10 18 4 1 3.
+ 0
+ 3.6743620876222849e-004
+ 0.4409345090389252
+ 0.5476474165916443
+ <_>
+
+ <_>
+
+
+
+ <_>4 2 4 2 -1.
+ <_>4 3 4 1 2.
+ 0
+ -1.2352119665592909e-003
+ 0.3260171115398407
+ 1
+ <_>
+
+
+
+ <_>7 3 6 14 -1.
+ <_>9 3 2 14 3.
+ 0
+ 1.1705530341714621e-003
+ 0.4111348986625671
+ 0.6088163852691650
+ <_>
+
+ <_>
+
+
+
+ <_>15 13 1 6 -1.
+ <_>15 16 1 3 2.
+ 0
+ -2.9695429475395940e-005
+ 1
+ 0.4269422888755798
+ <_>
+
+
+
+ <_>13 14 2 6 -1.
+ <_>13 16 2 2 3.
+ 0
+ 2.7050738572143018e-004
+ 0.4306466877460480
+ 0.5810514092445374
+ <_>
+
+ <_>
+
+
+
+ <_>4 11 5 6 -1.
+ <_>4 14 5 3 2.
+ 0
+ -7.9626210208516568e-005
+ 1
+ 0.3669143021106720
+ <_>
+
+
+
+ <_>4 17 4 2 -1.
+ <_>6 17 2 2 2.
+ 0
+ 3.3152441028505564e-004
+ 0.4610663950443268
+ 0.6290590167045593
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 20 2 -1.
+ <_>0 6 10 2 2.
+ 0
+ -0.0523058287799358
+ 1
+ 0.5328689813613892
+ <_>
+
+
+
+ <_>6 5 10 12 -1.
+ <_>11 5 5 6 2.
+ <_>6 11 5 6 2.
+ 0
+ 0.0268804691731930
+ 0.5213261246681213
+ 0.3231219947338104
+ <_>
+
+ <_>
+
+
+
+ <_>4 0 2 12 -1.
+ <_>4 0 1 6 2.
+ <_>5 6 1 6 2.
+ 0
+ -2.4203000066336244e-004
+ 1
+ 0.3568570017814636
+ <_>
+
+
+
+ <_>4 1 6 2 -1.
+ <_>6 1 2 2 3.
+ 0
+ -1.6424639616161585e-003
+ 0.3440661132335663
+ 0.5625604987144470
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 2 1 -1.
+ <_>13 7 1 1 2.
+ 0
+ -2.6830288697965443e-004
+ 1
+ 0.4561173021793366
+ <_>
+
+
+
+ <_>5 5 15 6 -1.
+ <_>5 7 15 2 3.
+ 0
+ -2.2649629972875118e-003
+ 0.5321351885795593
+ 0.3674154877662659
+ <_>
+
+ <_>
+
+
+
+ <_>1 10 18 2 -1.
+ <_>1 10 9 1 2.
+ <_>10 11 9 1 2.
+ 0
+ 0.0156272090971470
+ 1
+ 0.2029353976249695
+ <_>
+
+
+
+ <_>1 6 15 7 -1.
+ <_>6 6 5 7 3.
+ 0
+ 0.1621132045984268
+ 0.5563033223152161
+ 0.2618849873542786
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ -3.7391691002994776e-003
+ 0.6062194705009460
+ 1
+ <_>
+
+
+
+ <_>9 14 3 3 -1.
+ <_>9 15 3 1 3.
+ 0
+ -2.0878419745713472e-003
+ 0.5950763821601868
+ 0.4545117020606995
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ 2.3334210272878408e-003
+ 1
+ 0.6435524225234985
+ <_>
+
+
+
+ <_>8 13 3 2 -1.
+ <_>8 14 3 1 2.
+ 0
+ 6.5116386394947767e-005
+ 0.3520734012126923
+ 0.5179778933525085
+ <_>
+
+ <_>
+
+
+
+ <_>15 14 5 3 -1.
+ <_>15 15 5 1 3.
+ 0
+ 7.4625718407332897e-003
+ 0.5326688289642334
+ 1
+ <_>
+
+
+
+ <_>0 14 20 1 -1.
+ <_>0 14 10 1 2.
+ 0
+ -0.0220326893031597
+ 0.3491981029510498
+ 0.5429236888885498
+ <_>
+
+ <_>
+
+
+
+ <_>0 14 6 3 -1.
+ <_>0 15 6 1 3.
+ 0
+ -8.3081610500812531e-003
+ 0.2084023058414459
+ 1
+ <_>
+
+
+
+ <_>5 3 4 2 -1.
+ <_>5 4 4 1 2.
+ 0
+ -4.3259368976578116e-004
+ 0.3965272009372711
+ 0.5425453782081604
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 20 1 -1.
+ <_>0 6 10 1 2.
+ 0
+ -0.0322092287242413
+ 1
+ 0.5306411981582642
+ <_>
+
+
+
+ <_>6 3 10 14 -1.
+ <_>11 3 5 7 2.
+ <_>6 10 5 7 2.
+ 0
+ -9.0424838708713651e-004
+ 0.5450385808944702
+ 0.4256696999073029
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 4 2 -1.
+ <_>8 13 4 1 2.
+ 0
+ 2.2727500181645155e-003
+ 1
+ 0.5968611240386963
+ <_>
+
+
+
+ <_>6 3 8 6 -1.
+ <_>6 3 4 3 2.
+ <_>10 6 4 3 2.
+ 0
+ 5.9820008464157581e-003
+ 0.4758140146732330
+ 0.3150944113731384
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 2 1 -1.
+ <_>13 7 1 1 2.
+ 0
+ -5.8856618124991655e-004
+ 1
+ 0.4847748875617981
+ <_>
+
+
+
+ <_>6 3 10 14 -1.
+ <_>11 3 5 7 2.
+ <_>6 10 5 7 2.
+ 0
+ -8.8227191008627415e-004
+ 0.5426316261291504
+ 0.4338341057300568
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 2 1 -1.
+ <_>6 7 1 1 2.
+ 0
+ -7.4473457061685622e-005
+ 1
+ 0.4287509918212891
+ <_>
+
+
+
+ <_>4 3 10 14 -1.
+ <_>4 3 5 7 2.
+ <_>9 10 5 7 2.
+ 0
+ 3.9148979703895748e-004
+ 0.6345185041427612
+ 0.4101851880550385
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>9 7 1 2 2.
+ 0
+ -3.6939629353582859e-003
+ 1
+ 0.4849104881286621
+ <_>
+
+
+
+ <_>0 3 20 1 -1.
+ <_>0 3 10 1 2.
+ 0
+ -0.0112078497186303
+ 0.4146336913108826
+ 0.5471264123916626
+ <_>
+
+ <_>
+
+
+
+ <_>2 1 10 3 -1.
+ <_>2 2 10 1 3.
+ 0
+ -0.0103374095633626
+ 0.2877183854579926
+ 1
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ 3.6883640568703413e-003
+ 0.5101901888847351
+ 0.7216951251029968
+ <_>
+
+ <_>
+
+
+
+ <_>9 17 3 2 -1.
+ <_>10 17 1 2 3.
+ 0
+ -3.8984280545264482e-003
+ 1
+ 0.5276182293891907
+ <_>
+
+
+
+ <_>9 7 3 6 -1.
+ <_>10 7 1 6 3.
+ 0
+ -5.9986729174852371e-003
+ 0.6618459820747376
+ 0.4841631054878235
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 3 2 -1.
+ <_>9 17 1 2 3.
+ 0
+ 4.5043681748211384e-003
+ 1
+ 0.1874157935380936
+ <_>
+
+
+
+ <_>8 7 3 6 -1.
+ <_>9 7 1 6 3.
+ 0
+ 0.0177995301783085
+ 0.4616934955120087
+ 0.7088965773582459
+ <_>
+
+ <_>
+
+
+
+ <_>16 3 4 6 -1.
+ <_>16 5 4 2 3.
+ 0
+ -0.0184625703841448
+ 0.3001979887485504
+ 1
+ <_>
+
+
+
+ <_>15 6 2 12 -1.
+ <_>16 6 1 6 2.
+ <_>15 12 1 6 2.
+ 0
+ 1.4931300029275008e-005
+ 0.4561808109283447
+ 0.5610787868499756
+ <_>
+
+ <_>
+
+
+
+ <_>1 4 18 10 -1.
+ <_>1 4 9 5 2.
+ <_>10 9 9 5 2.
+ 0
+ -0.0860212296247482
+ 0.2341700941324234
+ 1
+ <_>
+
+
+
+ <_>9 4 2 4 -1.
+ <_>9 6 2 2 2.
+ 0
+ -6.0818758356617764e-005
+ 0.5672286152839661
+ 0.4199964106082916
+ <_>
+
+ <_>
+
+
+
+ <_>12 5 3 2 -1.
+ <_>12 6 3 1 2.
+ 0
+ 1.2670679716393352e-003
+ 1
+ 0.6207482218742371
+ <_>
+
+
+
+ <_>5 12 10 4 -1.
+ <_>5 14 10 2 2.
+ 0
+ 1.3699879636988044e-003
+ 0.5394958853721619
+ 0.3823862969875336
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 3 2 -1.
+ <_>5 6 3 1 2.
+ 0
+ 3.3162781037390232e-003
+ 1
+ 0.7061681151390076
+ <_>
+
+
+
+ <_>4 6 12 6 -1.
+ <_>8 6 4 6 3.
+ 0
+ -1.4532039640471339e-003
+ 0.3065513074398041
+ 0.4827373027801514
+ <_>
+
+ <_>
+
+
+
+ <_>14 4 6 6 -1.
+ <_>14 6 6 2 3.
+ 0
+ -0.0714920610189438
+ 1
+ 0.5193122029304504
+ <_>
+
+
+
+ <_>16 0 4 6 -1.
+ <_>18 0 2 3 2.
+ <_>16 3 2 3 2.
+ 0
+ 1.9857978913933039e-003
+ 0.4642435014247894
+ 0.5807694792747498
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 6 6 -1.
+ <_>0 6 6 2 3.
+ 0
+ 6.2516499310731888e-003
+ 1
+ 0.2949813902378082
+ <_>
+
+
+
+ <_>0 0 4 6 -1.
+ <_>0 0 2 3 2.
+ <_>2 3 2 3 2.
+ 0
+ 2.7005500160157681e-003
+ 0.4585886895656586
+ 0.6022353768348694
+ <_>
+
+ <_>
+
+
+
+ <_>12 0 8 5 -1.
+ <_>12 0 4 5 2.
+ 0
+ 0.0111303897574544
+ 0.4357841014862061
+ 1
+ <_>
+
+
+
+ <_>16 0 4 17 -1.
+ <_>16 0 2 17 2.
+ 0
+ 0.0150928497314453
+ 0.4561539888381958
+ 0.6119061708450317
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 20 -1.
+ <_>7 0 6 20 3.
+ 0
+ -0.0279433000832796
+ 0.6537144184112549
+ 1
+ <_>
+
+
+
+ <_>6 0 2 5 -1.
+ <_>7 0 1 5 2.
+ 0
+ 4.4036991312168539e-005
+ 0.3474723100662231
+ 0.5336967706680298
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 20 1 -1.
+ <_>0 6 10 1 2.
+ 0
+ -0.0122327702119946
+ 0.3731676042079926
+ 1
+ <_>
+
+
+
+ <_>8 7 6 4 -1.
+ <_>10 7 2 4 3.
+ 0
+ -6.8591412855312228e-004
+ 0.5717229247093201
+ 0.4793379008769989
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 16 4 -1.
+ <_>1 1 8 2 2.
+ <_>9 3 8 2 2.
+ 0
+ -3.8992990739643574e-003
+ 0.4056436121463776
+ 1
+ <_>
+
+
+
+ <_>7 2 4 2 -1.
+ <_>7 2 2 1 2.
+ <_>9 3 2 1 2.
+ 0
+ 4.9113907152786851e-004
+ 0.6174048185348511
+ 0.4471754133701325
+ <_>
+
+ <_>
+
+
+
+ <_>7 4 9 3 -1.
+ <_>7 5 9 1 3.
+ 0
+ 8.2117747515439987e-003
+ 1
+ 0.6179698109626770
+ <_>
+
+
+
+ <_>10 4 5 12 -1.
+ <_>10 10 5 6 2.
+ 0
+ -0.0455644801259041
+ 0.2285494953393936
+ 0.5249565839767456
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 2 3 -1.
+ <_>3 13 2 1 3.
+ 0
+ -5.3631910122931004e-003
+ 0.1784950047731400
+ 1
+ <_>
+
+
+
+ <_>8 8 3 5 -1.
+ <_>9 8 1 5 3.
+ 0
+ -0.0122749703004956
+ 0.7261952757835388
+ 0.4550398886203766
+ <_>
+
+ <_>
+
+
+
+ <_>13 9 2 3 -1.
+ <_>13 9 1 3 2.
+ 0
+ 5.4185991175472736e-003
+ 0.5252990722656250
+ 1
+ <_>
+
+
+
+ <_>15 11 2 2 -1.
+ <_>15 12 2 1 2.
+ 0
+ 8.1846961984410882e-004
+ 0.5445222258567810
+ 0.3272218108177185
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 2 3 -1.
+ <_>5 7 2 1 3.
+ 0
+ 4.1358140297234058e-003
+ 1
+ 0.7013831734657288
+ <_>
+
+
+
+ <_>2 11 6 2 -1.
+ <_>2 12 6 1 2.
+ 0
+ 3.9578010910190642e-004
+ 0.4965943992137909
+ 0.3295598030090332
+ <_>
+
+ <_>
+
+
+
+ <_>15 11 4 3 -1.
+ <_>15 12 4 1 3.
+ 0
+ 4.6887691132724285e-003
+ 0.5362641811370850
+ 1
+ <_>
+
+
+
+ <_>16 0 4 17 -1.
+ <_>16 0 2 17 2.
+ 0
+ -0.0182554405182600
+ 0.6496108770370483
+ 0.4757137000560761
+ <_>
+
+ <_>
+
+
+
+ <_>1 11 4 3 -1.
+ <_>1 12 4 1 3.
+ 0
+ -6.2736468389630318e-003
+ 0.2343741059303284
+ 1
+ <_>
+
+
+
+ <_>9 11 1 3 -1.
+ <_>9 12 1 1 3.
+ 0
+ 2.4320168886333704e-003
+ 0.4620118141174316
+ 0.6898419260978699
+ <_>
+
+ <_>
+
+
+
+ <_>10 9 6 7 -1.
+ <_>10 9 3 7 2.
+ 0
+ -0.0496176294982433
+ 0.2100719958543778
+ 1
+ <_>
+
+
+
+ <_>8 15 4 2 -1.
+ <_>8 16 4 1 2.
+ 0
+ 1.1701210169121623e-003
+ 0.4621528983116150
+ 0.5797135829925537
+ <_>
+
+ <_>
+
+
+
+ <_>4 9 6 7 -1.
+ <_>7 9 3 7 2.
+ 0
+ -0.0452372916042805
+ 0.2118262052536011
+ 1
+ <_>
+
+
+
+ <_>9 14 2 3 -1.
+ <_>9 15 2 1 3.
+ 0
+ 4.7563421539962292e-003
+ 0.4884614944458008
+ 0.6872498989105225
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 20 2 -1.
+ <_>10 2 10 1 2.
+ <_>0 3 10 1 2.
+ 0
+ -0.0148359695449471
+ 1
+ 0.5275105834007263
+ <_>
+
+
+
+ <_>6 7 8 2 -1.
+ <_>6 8 8 1 2.
+ 0
+ 7.7436608262360096e-004
+ 0.4172320961952210
+ 0.5491139888763428
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 20 2 -1.
+ <_>0 2 10 1 2.
+ <_>10 3 10 1 2.
+ 0
+ 0.0148359695449471
+ 1
+ 0.2124876976013184
+ <_>
+
+
+
+ <_>3 1 2 10 -1.
+ <_>3 1 1 5 2.
+ <_>4 6 1 5 2.
+ 0
+ -8.0892542609944940e-004
+ 0.5495215058326721
+ 0.4207795858383179
+ <_>
+
+ <_>
+
+
+
+ <_>13 4 1 10 -1.
+ <_>13 9 1 5 2.
+ 0
+ 7.7517668250948191e-004
+ 0.3321942090988159
+ 1
+ <_>
+
+
+
+ <_>9 8 4 3 -1.
+ <_>9 9 4 1 3.
+ 0
+ -6.7618978209793568e-003
+ 0.2212958037853241
+ 0.5232653021812439
+ <_>
+
+ <_>
+
+
+
+ <_>2 11 16 4 -1.
+ <_>2 11 8 2 2.
+ <_>10 13 8 2 2.
+ 0
+ -0.0401358604431152
+ 0.1101796030998230
+ 1
+ <_>
+
+
+
+ <_>5 1 3 5 -1.
+ <_>6 1 1 5 3.
+ 0
+ -3.3651469275355339e-003
+ 0.3810100853443146
+ 0.5617291927337647
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 2 3 -1.
+ <_>9 11 2 1 3.
+ 0
+ 7.4713007779791951e-004
+ 1
+ 0.5795056819915772
+ <_>
+
+
+
+ <_>9 11 2 2 -1.
+ <_>9 12 2 1 2.
+ 0
+ -4.2727389372885227e-003
+ 0.6392269134521484
+ 0.4711438119411469
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 20 2 -1.
+ <_>0 11 20 1 2.
+ 0
+ 3.6202510818839073e-003
+ 1
+ 0.3409883975982666
+ <_>
+
+
+
+ <_>1 7 6 4 -1.
+ <_>1 7 3 2 2.
+ <_>4 9 3 2 2.
+ 0
+ 4.7307618660852313e-004
+ 0.3659302890300751
+ 0.5388171076774597
+ <_>
+
+ <_>
+
+
+
+ <_>12 0 8 8 -1.
+ <_>16 0 4 4 2.
+ <_>12 4 4 4 2.
+ 0
+ 0.0330949090421200
+ 1
+ 0.7170385718345642
+ <_>
+
+
+
+ <_>14 1 6 4 -1.
+ <_>16 1 2 4 3.
+ 0
+ -0.0115441195666790
+ 0.6386818289756775
+ 0.4681304097175598
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 2 14 -1.
+ <_>6 10 2 7 2.
+ 0
+ -7.4234469793736935e-003
+ 0.3263700902462006
+ 1
+ <_>
+
+
+
+ <_>6 1 7 12 -1.
+ <_>6 7 7 6 2.
+ 0
+ -4.2252950370311737e-003
+ 0.5767819285392761
+ 0.4346418082714081
+ <_>
+
+ <_>
+
+
+
+ <_>5 0 15 5 -1.
+ <_>10 0 5 5 3.
+ 0
+ 0.0181331094354391
+ 0.4697827994823456
+ 1
+ <_>
+
+
+
+ <_>15 0 4 10 -1.
+ <_>15 0 2 10 2.
+ 0
+ 7.0903049781918526e-003
+ 0.4437389075756073
+ 0.6061668992042542
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 3 -1.
+ <_>7 0 6 3 3.
+ 0
+ -0.0132729401811957
+ 0.6558511257171631
+ 1
+ <_>
+
+
+
+ <_>0 0 17 2 -1.
+ <_>0 1 17 1 2.
+ 0
+ 1.4632199599873275e-004
+ 0.3376353979110718
+ 0.5091655254364014
+ <_>
+
+ <_>
+
+
+
+ <_>10 0 3 3 -1.
+ <_>11 0 1 3 3.
+ 0
+ -3.5790191031992435e-003
+ 0.2947883903980255
+ 1
+ <_>
+
+
+
+ <_>10 0 3 12 -1.
+ <_>11 0 1 12 3.
+ 0
+ -4.6997101162560284e-004
+ 0.5556982159614563
+ 0.4665456116199493
+ <_>
+
+ <_>
+
+
+
+ <_>1 3 4 16 -1.
+ <_>1 3 2 8 2.
+ <_>3 11 2 8 2.
+ 0
+ -0.0481794402003288
+ 0.7338355779647827
+ 1
+ <_>
+
+
+
+ <_>7 0 3 3 -1.
+ <_>8 0 1 3 3.
+ 0
+ -9.2581362696364522e-004
+ 0.3543871939182282
+ 0.5285149812698364
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 2 6 -1.
+ <_>9 16 2 3 2.
+ 0
+ -0.0147807300090790
+ 0.1944441944360733
+ 1
+ <_>
+
+
+
+ <_>9 0 6 13 -1.
+ <_>11 0 2 13 3.
+ 0
+ -0.1002745032310486
+ 0.0990492925047874
+ 0.5139853954315186
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 3 2 -1.
+ <_>8 7 1 2 3.
+ 0
+ -9.3848101096227765e-004
+ 0.5827109813690186
+ 1
+ <_>
+
+
+
+ <_>8 2 1 12 -1.
+ <_>8 6 1 4 3.
+ 0
+ -2.8861360624432564e-003
+ 0.3441427946090698
+ 0.5148838758468628
+ <_>
+
+ <_>
+
+
+
+ <_>4 10 12 6 -1.
+ <_>10 10 6 3 2.
+ <_>4 13 6 3 2.
+ 0
+ -0.0436827614903450
+ 1
+ 0.5207998156547546
+ <_>
+
+
+
+ <_>13 5 2 3 -1.
+ <_>13 6 2 1 3.
+ 0
+ 2.6115700602531433e-003
+ 0.4835503101348877
+ 0.6322219967842102
+ <_>
+
+ <_>
+
+
+
+ <_>4 10 12 6 -1.
+ <_>4 10 6 3 2.
+ <_>10 13 6 3 2.
+ 0
+ 0.0436827614903450
+ 1
+ 0.1364538073539734
+ <_>
+
+
+
+ <_>5 5 2 3 -1.
+ <_>5 6 2 1 3.
+ 0
+ 1.7179530113935471e-003
+ 0.4537320137023926
+ 0.6066750884056091
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 6 7 -1.
+ <_>10 6 2 7 3.
+ 0
+ -0.0339649096131325
+ 1
+ 0.4968374967575073
+ <_>
+
+
+
+ <_>9 6 2 4 -1.
+ <_>9 6 1 4 2.
+ 0
+ -1.0993590112775564e-003
+ 0.5831680893898010
+ 0.4688239991664887
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 6 7 -1.
+ <_>8 6 2 7 3.
+ 0
+ 0.0543010793626308
+ 1
+ 0.7568289041519165
+ <_>
+
+
+
+ <_>9 6 2 4 -1.
+ <_>10 6 1 4 2.
+ 0
+ 1.0993590112775564e-003
+ 0.4330148100852966
+ 0.5768468976020813
+ <_>
+
+ <_>
+
+
+
+ <_>12 9 2 3 -1.
+ <_>12 9 1 3 2.
+ 0
+ -1.4954120160837192e-005
+ 1
+ 0.4443281888961792
+ <_>
+
+
+
+ <_>0 6 20 1 -1.
+ <_>0 6 10 1 2.
+ 0
+ 0.0314158685505390
+ 0.5274472832679749
+ 0.3037855923175812
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 10 2 -1.
+ <_>10 7 5 2 2.
+ 0
+ 0.0108318496495485
+ 1
+ 0.3581720888614655
+ <_>
+
+
+
+ <_>1 16 4 3 -1.
+ <_>1 17 4 1 3.
+ 0
+ 8.6545711383223534e-004
+ 0.5937584042549133
+ 0.4294629991054535
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ 2.2743160370737314e-003
+ 1
+ 0.5954576730728149
+ <_>
+
+
+
+ <_>10 3 5 3 -1.
+ <_>10 4 5 1 3.
+ 0
+ 3.9340821094810963e-003
+ 0.4792222976684570
+ 0.5856133103370667
+ <_>
+
+ <_>
+
+
+
+ <_>3 9 14 8 -1.
+ <_>3 9 7 4 2.
+ <_>10 13 7 4 2.
+ 0
+ 8.1451907753944397e-003
+ 1
+ 0.3573477864265442
+ <_>
+
+
+
+ <_>6 8 8 10 -1.
+ <_>6 8 4 5 2.
+ <_>10 13 4 5 2.
+ 0
+ -5.2763288840651512e-003
+ 0.4026022851467133
+ 0.5764743089675903
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ -8.3787851035594940e-003
+ 1
+ 0.4981333017349243
+ <_>
+
+
+
+ <_>10 3 5 3 -1.
+ <_>10 4 5 1 3.
+ 0
+ 1.5621910570189357e-003
+ 0.4736588001251221
+ 0.5583608150482178
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ 3.2318739686161280e-003
+ 1
+ 0.6167436838150024
+ <_>
+
+
+
+ <_>5 3 5 3 -1.
+ <_>5 4 5 1 3.
+ 0
+ 6.6804019734263420e-003
+ 0.4131424129009247
+ 0.6280695199966431
+ <_>
+
+ <_>
+
+
+
+ <_>13 16 2 3 -1.
+ <_>13 17 2 1 3.
+ 0
+ -3.3396480139344931e-003
+ 0.3446358144283295
+ 1
+ <_>
+
+
+
+ <_>0 5 20 6 -1.
+ <_>0 7 20 2 3.
+ 0
+ -0.2093348056077957
+ 0.1038658022880554
+ 0.5204489231109619
+ <_>
+
+ <_>
+
+
+
+ <_>3 14 3 3 -1.
+ <_>3 15 3 1 3.
+ 0
+ 6.3805822283029556e-003
+ 1
+ 0.2167402058839798
+ <_>
+
+
+
+ <_>7 15 5 3 -1.
+ <_>7 16 5 1 3.
+ 0
+ -6.0137799009680748e-003
+ 0.6738399267196655
+ 0.4896650910377502
+ <_>
+
+ <_>
+
+
+
+ <_>12 9 2 3 -1.
+ <_>12 9 1 3 2.
+ 0
+ -8.1756077706813812e-003
+ 1
+ 0.5177915096282959
+ <_>
+
+
+
+ <_>15 13 2 6 -1.
+ <_>15 13 1 6 2.
+ 0
+ 6.3951779156923294e-004
+ 0.4819645881652832
+ 0.5464438199996948
+ <_>
+
+ <_>
+
+
+
+ <_>6 9 2 3 -1.
+ <_>7 9 1 3 2.
+ 0
+ 1.0127760469913483e-003
+ 1
+ 0.3423596024513245
+ <_>
+
+
+
+ <_>3 13 2 6 -1.
+ <_>4 13 1 6 2.
+ 0
+ 4.9784599104896188e-004
+ 0.4488461017608643
+ 0.5912671089172363
+ <_>
+
+ <_>
+
+
+
+ <_>11 4 2 4 -1.
+ <_>11 4 1 4 2.
+ 0
+ 1.3596490316558629e-004
+ 1
+ 0.5568863153457642
+ <_>
+
+
+
+ <_>13 4 2 5 -1.
+ <_>13 4 1 5 2.
+ 0
+ 0.0135716600343585
+ 0.5161067843437195
+ 0.1713000982999802
+ <_>
+
+ <_>
+
+
+
+ <_>7 4 2 4 -1.
+ <_>8 4 1 4 2.
+ 0
+ 3.0259079721872695e-005
+ 1
+ 0.4916203916072846
+ <_>
+
+
+
+ <_>5 4 2 5 -1.
+ <_>6 4 1 5 2.
+ 0
+ -3.2625840976834297e-003
+ 0.6404662728309631
+ 0.2859084904193878
+ <_>
+
+ <_>
+
+
+
+ <_>19 6 1 2 -1.
+ <_>19 7 1 1 2.
+ 0
+ -1.9217010412830859e-004
+ 1
+ 0.5459282994270325
+ <_>
+
+
+
+ <_>12 7 8 13 -1.
+ <_>12 7 4 13 2.
+ 0
+ 0.0219938792288303
+ 0.4715713858604431
+ 0.5690075159072876
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 1 2 -1.
+ <_>0 7 1 1 2.
+ 0
+ 7.8907777788117528e-004
+ 1
+ 0.3279826939105988
+ <_>
+
+
+
+ <_>6 15 4 3 -1.
+ <_>6 16 4 1 3.
+ 0
+ 5.0893891602754593e-004
+ 0.4302007853984833
+ 0.5696045160293579
+ <_>
+
+ <_>
+
+
+
+ <_>11 8 2 2 -1.
+ <_>11 9 2 1 2.
+ 0
+ 1.1662710312521085e-004
+ 1
+ 0.5387235283851624
+ <_>
+
+
+
+ <_>11 7 2 4 -1.
+ <_>11 7 1 4 2.
+ 0
+ 8.0604078248143196e-003
+ 0.5021423101425171
+ 0.5965322256088257
+ <_>
+
+ <_>
+
+
+
+ <_>4 13 2 3 -1.
+ <_>4 14 2 1 3.
+ 0
+ 9.5925969071686268e-004
+ 1
+ 0.3473494052886963
+ <_>
+
+
+
+ <_>0 17 18 3 -1.
+ <_>6 17 6 3 3.
+ 0
+ -0.0195261295884848
+ 0.6475545167922974
+ 0.4643782079219818
+ 36.7265014648437500
+ 13
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 5 -1.
+ <_>7 0 6 5 3.
+ 0
+ 0.0412424392998219
+ 0.3393315076828003
+ 1
+ <_>
+
+
+
+ <_>5 7 3 4 -1.
+ <_>5 9 3 2 2.
+ 0
+ 0.0156267099082470
+ 0.5104100108146668
+ 0.7772815227508545
+ <_>
+
+ <_>
+
+
+
+ <_>10 6 2 2 -1.
+ <_>10 6 1 2 2.
+ 0
+ 2.9947189614176750e-004
+ 0.3664673864841461
+ 1
+ <_>
+
+
+
+ <_>6 4 14 4 -1.
+ <_>13 4 7 2 2.
+ <_>6 6 7 2 2.
+ 0
+ -1.0037609608843923e-003
+ 0.5405650734901428
+ 0.3926205039024353
+ <_>
+
+ <_>
+
+
+
+ <_>5 16 6 4 -1.
+ <_>5 16 3 2 2.
+ <_>8 18 3 2 2.
+ 0
+ 6.8128242855891585e-004
+ 0.4251519143581390
+ 1
+ <_>
+
+
+
+ <_>7 15 2 4 -1.
+ <_>7 17 2 2 2.
+ 0
+ 1.3098999625071883e-004
+ 0.4135144948959351
+ 0.6925746202468872
+ <_>
+
+ <_>
+
+
+
+ <_>8 5 5 14 -1.
+ <_>8 12 5 7 2.
+ 0
+ 3.1696720980107784e-003
+ 1
+ 0.3455873131752014
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ -2.0587369799613953e-003
+ 0.2234193980693817
+ 0.5286118984222412
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 3 7 -1.
+ <_>8 5 1 7 3.
+ 0
+ -4.6395038953050971e-004
+ 1
+ 0.4206520020961762
+ <_>
+
+
+
+ <_>0 0 3 9 -1.
+ <_>0 3 3 3 3.
+ 0
+ 3.5089480224996805e-003
+ 0.6502981781959534
+ 0.4117597937583923
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 8 8 -1.
+ <_>12 6 4 4 2.
+ <_>8 10 4 4 2.
+ 0
+ -2.3975980002433062e-003
+ 1
+ 0.3673301041126251
+ <_>
+
+
+
+ <_>4 8 13 2 -1.
+ <_>4 9 13 1 2.
+ 0
+ 1.0901279747486115e-003
+ 0.2906238138675690
+ 0.5445111989974976
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 6 1 -1.
+ <_>6 3 2 1 3.
+ 0
+ -1.6524370585102588e-004
+ 0.4233515858650208
+ 1
+ <_>
+
+
+
+ <_>9 1 2 6 -1.
+ <_>9 3 2 2 3.
+ 0
+ -4.1602319106459618e-004
+ 0.3886361122131348
+ 0.6269165873527527
+ <_>
+
+ <_>
+
+
+
+ <_>10 5 6 4 -1.
+ <_>12 5 2 4 3.
+ 0
+ -2.3739910102449358e-004
+ 0.5524451136589050
+ 1
+ <_>
+
+
+
+ <_>9 5 2 12 -1.
+ <_>9 9 2 4 3.
+ 0
+ 0.0247397609055042
+ 0.4960095882415772
+ 0.5373491048812866
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ -0.0153428399935365
+ 0.6849405169487000
+ 1
+ <_>
+
+
+
+ <_>8 12 4 3 -1.
+ <_>8 13 4 1 3.
+ 0
+ 0.0115404697135091
+ 0.4037235081195831
+ 0.6786940097808838
+ <_>
+
+ <_>
+
+
+
+ <_>10 3 6 7 -1.
+ <_>12 3 2 7 3.
+ 0
+ 6.4230621792376041e-003
+ 1
+ 0.3814676105976105
+ <_>
+
+
+
+ <_>3 10 16 6 -1.
+ <_>3 12 16 2 3.
+ 0
+ 0.0129778096452355
+ 0.5527058839797974
+ 0.3744955956935883
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 3 10 -1.
+ <_>5 10 3 5 2.
+ 0
+ 1.1063399724662304e-003
+ 0.3520928919315338
+ 1
+ <_>
+
+
+
+ <_>6 10 3 6 -1.
+ <_>6 13 3 3 2.
+ 0
+ 1.3743690215051174e-003
+ 0.5641903281211853
+ 0.3075025975704193
+ <_>
+
+ <_>
+
+
+
+ <_>17 2 2 12 -1.
+ <_>17 2 1 12 2.
+ 0
+ 0.0162337794899940
+ 0.4888828098773956
+ 1
+ <_>
+
+
+
+ <_>16 6 2 14 -1.
+ <_>16 13 2 7 2.
+ 0
+ -8.1519351806491613e-004
+ 0.5456321239471436
+ 0.4743550121784210
+ <_>
+
+ <_>
+
+
+
+ <_>3 11 12 9 -1.
+ <_>3 14 12 3 3.
+ 0
+ -0.0907824933528900
+ 0.2925248146057129
+ 1
+ <_>
+
+
+
+ <_>0 2 4 12 -1.
+ <_>2 2 2 12 2.
+ 0
+ 0.0116652101278305
+ 0.4688454866409302
+ 0.6230347752571106
+ <_>
+
+ <_>
+
+
+
+ <_>18 0 2 18 -1.
+ <_>18 0 1 18 2.
+ 0
+ -0.0232864096760750
+ 0.6895843148231506
+ 1
+ <_>
+
+
+
+ <_>16 12 3 2 -1.
+ <_>16 13 3 1 2.
+ 0
+ 2.1559339947998524e-003
+ 0.5355802178382874
+ 0.3423466086387634
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 2 15 -1.
+ <_>1 2 1 15 2.
+ 0
+ -4.3167220428586006e-003
+ 0.5937076210975647
+ 1
+ <_>
+
+
+
+ <_>1 10 2 4 -1.
+ <_>1 12 2 2 2.
+ 0
+ 1.5610599657520652e-003
+ 0.4708659946918488
+ 0.2736997008323669
+ <_>
+
+ <_>
+
+
+
+ <_>11 1 2 18 -1.
+ <_>11 1 1 18 2.
+ 0
+ 0.0140766398981214
+ 0.5287156105041504
+ 1
+ <_>
+
+
+
+ <_>3 2 14 2 -1.
+ <_>10 2 7 1 2.
+ <_>3 3 7 1 2.
+ 0
+ 7.1018589660525322e-003
+ 0.5336192846298218
+ 0.3224813938140869
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 2 18 -1.
+ <_>8 1 1 18 2.
+ 0
+ -4.8221647739410400e-003
+ 0.2983910143375397
+ 1
+ <_>
+
+
+
+ <_>6 1 8 12 -1.
+ <_>6 7 8 6 2.
+ 0
+ -5.3852899000048637e-003
+ 0.5623999238014221
+ 0.4295912086963654
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 4 3 -1.
+ <_>8 15 4 1 3.
+ 0
+ 7.3483278974890709e-003
+ 1
+ 0.6813961267471314
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ -3.5707519855350256e-003
+ 0.5857968926429749
+ 0.4603429138660431
+ <_>
+
+ <_>
+
+
+
+ <_>0 13 5 2 -1.
+ <_>0 14 5 1 2.
+ 0
+ 2.3340100888162851e-003
+ 1
+ 0.2744851112365723
+ <_>
+
+
+
+ <_>9 0 2 6 -1.
+ <_>9 0 1 3 2.
+ <_>10 3 1 3 2.
+ 0
+ 4.7432780265808105e-003
+ 0.5047526955604553
+ 0.2362741976976395
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 2 6 -1.
+ <_>10 0 1 3 2.
+ <_>9 3 1 3 2.
+ 0
+ 6.5055489540100098e-003
+ 0.5242248177528381
+ 1
+ <_>
+
+
+
+ <_>9 7 3 6 -1.
+ <_>10 7 1 6 3.
+ 0
+ 0.0125892497599125
+ 0.4823690950870514
+ 0.6752536892890930
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 2 6 -1.
+ <_>9 0 1 3 2.
+ <_>10 3 1 3 2.
+ 0
+ -6.3358368352055550e-003
+ 0.1734634935855866
+ 1
+ <_>
+
+
+
+ <_>8 7 3 6 -1.
+ <_>9 7 1 6 3.
+ 0
+ -5.7639651931822300e-003
+ 0.6354380846023560
+ 0.4587475061416626
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 2 6 -1.
+ <_>9 6 1 6 2.
+ 0
+ 1.3599749654531479e-003
+ 0.4580380916595459
+ 1
+ <_>
+
+
+
+ <_>9 4 4 3 -1.
+ <_>9 4 2 3 2.
+ 0
+ 0.0284042600542307
+ 0.5176380872726440
+ 0.1204385012388229
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 4 3 -1.
+ <_>0 5 4 1 3.
+ 0
+ -9.2958156019449234e-003
+ 0.2337957024574280
+ 1
+ <_>
+
+
+
+ <_>8 7 4 2 -1.
+ <_>8 8 4 1 2.
+ 0
+ -1.1800320353358984e-003
+ 0.3902814090251923
+ 0.5652930140495300
+ <_>
+
+ <_>
+
+
+
+ <_>10 6 6 3 -1.
+ <_>12 6 2 3 3.
+ 0
+ -2.0948140881955624e-003
+ 0.5512028932571411
+ 1
+ <_>
+
+
+
+ <_>9 6 3 12 -1.
+ <_>9 10 3 4 3.
+ 0
+ 4.1679958812892437e-003
+ 0.5455976128578186
+ 0.4798949062824249
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 2 3 -1.
+ <_>5 5 2 1 3.
+ 0
+ 5.4458891972899437e-003
+ 1
+ 0.6127086877822876
+ <_>
+
+
+
+ <_>5 6 1 3 -1.
+ <_>5 7 1 1 3.
+ 0
+ -1.2766510481014848e-003
+ 0.5317131876945496
+ 0.3850932121276856
+ <_>
+
+ <_>
+
+
+
+ <_>9 17 3 2 -1.
+ <_>10 17 1 2 3.
+ 0
+ 5.9404270723462105e-004
+ 0.5446437001228333
+ 1
+ <_>
+
+
+
+ <_>0 7 20 2 -1.
+ <_>0 8 20 1 2.
+ 0
+ 0.0423096083104610
+ 0.5234643816947937
+ 0.2213044017553330
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 6 7 -1.
+ <_>6 3 2 7 3.
+ 0
+ 5.6189671158790588e-003
+ 0.4916197955608368
+ 1
+ <_>
+
+
+
+ <_>5 10 6 10 -1.
+ <_>5 10 3 5 2.
+ <_>8 15 3 5 2.
+ 0
+ 7.2401198558509350e-003
+ 0.1471475958824158
+ 0.4852893948554993
+ <_>
+
+ <_>
+
+
+
+ <_>9 17 3 2 -1.
+ <_>10 17 1 2 3.
+ 0
+ -4.5610670931637287e-003
+ 0.2773773968219757
+ 1
+ <_>
+
+
+
+ <_>9 10 2 2 -1.
+ <_>9 11 2 1 2.
+ 0
+ 4.5506159949582070e-005
+ 0.4626461863517761
+ 0.5768079161643982
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 3 2 -1.
+ <_>9 17 1 2 3.
+ 0
+ -6.1903791502118111e-003
+ 0.1644289940595627
+ 1
+ <_>
+
+
+
+ <_>5 6 1 3 -1.
+ <_>5 7 1 1 3.
+ 0
+ 8.1186462193727493e-004
+ 0.4778591096401215
+ 0.6261864900588989
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 20 2 -1.
+ <_>10 1 10 1 2.
+ <_>0 2 10 1 2.
+ 0
+ 0.0137798096984625
+ 0.5257307887077332
+ 1
+ <_>
+
+
+
+ <_>14 2 6 9 -1.
+ <_>14 5 6 3 3.
+ 0
+ 1.1290319962427020e-003
+ 0.5498048067092896
+ 0.3983106911182404
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 3 2 -1.
+ <_>5 4 3 1 2.
+ 0
+ -1.0610350000206381e-004
+ 0.4033519029617310
+ 1
+ <_>
+
+
+
+ <_>5 4 4 2 -1.
+ <_>7 4 2 2 2.
+ 0
+ 1.6695790691301227e-004
+ 0.4149340093135834
+ 0.5795341134071350
+ <_>
+
+ <_>
+
+
+
+ <_>14 2 6 9 -1.
+ <_>14 5 6 3 3.
+ 0
+ 1.1290319962427020e-003
+ 1
+ 0.3934114873409271
+ <_>
+
+
+
+ <_>0 12 20 6 -1.
+ <_>0 14 20 2 3.
+ 0
+ -0.1201934963464737
+ 0.0734004825353622
+ 0.5202586054801941
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 16 4 -1.
+ <_>2 2 8 2 2.
+ <_>10 4 8 2 2.
+ 0
+ -0.0152307404205203
+ 0.3749505877494812
+ 1
+ <_>
+
+
+
+ <_>7 12 5 3 -1.
+ <_>7 13 5 1 3.
+ 0
+ 3.5759829916059971e-003
+ 0.5078150033950806
+ 0.6606066226959229
+ <_>
+
+ <_>
+
+
+
+ <_>14 9 6 10 -1.
+ <_>14 9 3 10 2.
+ 0
+ 0.0134794600307941
+ 0.4547711014747620
+ 1
+ <_>
+
+
+
+ <_>16 6 3 2 -1.
+ <_>16 7 3 1 2.
+ 0
+ -2.1162950433790684e-003
+ 0.3311006128787994
+ 0.5384259223937988
+ <_>
+
+ <_>
+
+
+
+ <_>0 9 6 10 -1.
+ <_>3 9 3 10 2.
+ 0
+ -0.0178777091205120
+ 0.6513252854347229
+ 1
+ <_>
+
+
+
+ <_>0 16 5 2 -1.
+ <_>0 17 5 1 2.
+ 0
+ 1.0931970318779349e-003
+ 0.5264765024185181
+ 0.3456991016864777
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 2 3 -1.
+ <_>9 13 2 1 3.
+ 0
+ -3.0553159303963184e-003
+ 0.6268613934516907
+ 1
+ <_>
+
+
+
+ <_>9 7 2 12 -1.
+ <_>9 11 2 4 3.
+ 0
+ 3.6365049891173840e-003
+ 0.5399212837219238
+ 0.4345397055149078
+ <_>
+
+ <_>
+
+
+
+ <_>3 2 6 2 -1.
+ <_>5 2 2 2 3.
+ 0
+ 9.7896481747739017e-005
+ 0.3835605978965759
+ 1
+ <_>
+
+
+
+ <_>4 1 1 2 -1.
+ <_>4 2 1 1 2.
+ 0
+ -3.2714448752813041e-004
+ 0.3337667882442474
+ 0.5539165735244751
+ <_>
+
+ <_>
+
+
+
+ <_>11 15 1 2 -1.
+ <_>11 16 1 1 2.
+ 0
+ 4.3425030889920890e-004
+ 1
+ 0.5788270235061646
+ <_>
+
+
+
+ <_>3 1 16 2 -1.
+ <_>11 1 8 1 2.
+ <_>3 2 8 1 2.
+ 0
+ 0.0140055799856782
+ 0.5275077819824219
+ 0.2701125144958496
+ <_>
+
+ <_>
+
+
+
+ <_>3 6 2 2 -1.
+ <_>3 6 1 1 2.
+ <_>4 7 1 1 2.
+ 0
+ -9.2654931358993053e-004
+ 0.5852280259132385
+ 1
+ <_>
+
+
+
+ <_>5 11 10 6 -1.
+ <_>5 11 5 3 2.
+ <_>10 14 5 3 2.
+ 0
+ 3.9504268206655979e-003
+ 0.4728336930274963
+ 0.3313918113708496
+ <_>
+
+ <_>
+
+
+
+ <_>10 11 4 6 -1.
+ <_>10 14 4 3 2.
+ 0
+ -5.8086868375539780e-004
+ 1
+ 0.4258810877799988
+ <_>
+
+
+
+ <_>14 9 6 11 -1.
+ <_>16 9 2 11 3.
+ 0
+ -0.0120180202648044
+ 0.5609787106513977
+ 0.4895192086696625
+ <_>
+
+ <_>
+
+
+
+ <_>0 9 6 11 -1.
+ <_>2 9 2 11 3.
+ 0
+ -0.1452154070138931
+ 0.0438944809138775
+ 1
+ <_>
+
+
+
+ <_>2 11 16 6 -1.
+ <_>2 11 8 3 2.
+ <_>10 14 8 3 2.
+ 0
+ -6.6049019806087017e-003
+ 0.4229170978069305
+ 0.5616292953491211
+ <_>
+
+ <_>
+
+
+
+ <_>12 0 8 10 -1.
+ <_>16 0 4 5 2.
+ <_>12 5 4 5 2.
+ 0
+ -0.0349097512662411
+ 1
+ 0.4788128137588501
+ <_>
+
+
+
+ <_>14 2 6 4 -1.
+ <_>16 2 2 4 3.
+ 0
+ 3.7478420417755842e-003
+ 0.4800282120704651
+ 0.5801389217376709
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 8 10 -1.
+ <_>0 0 4 5 2.
+ <_>4 5 4 5 2.
+ 0
+ 0.0330380313098431
+ 1
+ 0.7078176140785217
+ <_>
+
+
+
+ <_>0 2 6 4 -1.
+ <_>2 2 2 4 3.
+ 0
+ 3.6872599739581347e-003
+ 0.4449624121189117
+ 0.5957731008529663
+ <_>
+
+ <_>
+
+
+
+ <_>4 9 15 2 -1.
+ <_>9 9 5 2 3.
+ 0
+ -4.5311939902603626e-003
+ 0.4177047014236450
+ 1
+ <_>
+
+
+
+ <_>12 3 4 8 -1.
+ <_>14 3 2 4 2.
+ <_>12 7 2 4 2.
+ 0
+ 4.1058510541915894e-003
+ 0.5372948050498962
+ 0.3736926913261414
+ <_>
+
+ <_>
+
+
+
+ <_>9 2 2 9 -1.
+ <_>10 2 1 9 2.
+ 0
+ -8.7599847465753555e-003
+ 0.6658807992935181
+ 1
+ <_>
+
+
+
+ <_>0 2 20 1 -1.
+ <_>10 2 10 1 2.
+ 0
+ -0.0230033099651337
+ 0.2647922039031982
+ 0.5101817846298218
+ <_>
+
+ <_>
+
+
+
+ <_>16 1 4 5 -1.
+ <_>16 1 2 5 2.
+ 0
+ 5.3664818406105042e-003
+ 0.4548634886741638
+ 1
+ <_>
+
+
+
+ <_>16 0 4 6 -1.
+ <_>16 3 4 3 2.
+ 0
+ 0.0389717705547810
+ 0.5157061815261841
+ 0.3436439037322998
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 6 4 -1.
+ <_>6 3 2 4 3.
+ 0
+ -0.0277671907097101
+ 0.2354391068220139
+ 1
+ <_>
+
+
+
+ <_>0 0 18 5 -1.
+ <_>6 0 6 5 3.
+ 0
+ -9.8894089460372925e-003
+ 0.6887741088867188
+ 0.5111051797866821
+ <_>
+
+ <_>
+
+
+
+ <_>6 2 12 14 -1.
+ <_>12 2 6 7 2.
+ <_>6 9 6 7 2.
+ 0
+ -3.2073140610009432e-003
+ 0.5438867807388306
+ 1
+ <_>
+
+
+
+ <_>11 8 3 5 -1.
+ <_>12 8 1 5 3.
+ 0
+ -6.7484978353604674e-004
+ 0.5451148748397827
+ 0.4831353127956390
+ <_>
+
+ <_>
+
+
+
+ <_>5 12 2 2 -1.
+ <_>5 13 2 1 2.
+ 0
+ -5.1947520114481449e-003
+ 0.2113419026136398
+ 1
+ <_>
+
+
+
+ <_>5 10 4 3 -1.
+ <_>7 10 2 3 2.
+ 0
+ -2.6169899501837790e-004
+ 0.5273681879043579
+ 0.3992587029933929
+ <_>
+
+ <_>
+
+
+
+ <_>4 9 15 2 -1.
+ <_>9 9 5 2 3.
+ 0
+ 2.2421479225158691e-003
+ 0.4688260853290558
+ 1
+ <_>
+
+
+
+ <_>10 7 6 2 -1.
+ <_>12 7 2 2 3.
+ 0
+ -1.2139769969508052e-003
+ 0.5504235029220581
+ 0.4384871125221252
+ <_>
+
+ <_>
+
+
+
+ <_>1 9 15 2 -1.
+ <_>6 9 5 2 3.
+ 0
+ -2.9469770379364491e-003
+ 0.3892847001552582
+ 1
+ <_>
+
+
+
+ <_>5 0 2 10 -1.
+ <_>5 0 1 5 2.
+ <_>6 5 1 5 2.
+ 0
+ -3.9291830034926534e-004
+ 0.6001722812652588
+ 0.4561662971973419
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 20 14 -1.
+ <_>0 7 20 7 2.
+ 0
+ 0.6255072951316834
+ 1
+ 0.0681256130337715
+ <_>
+
+
+
+ <_>12 7 8 4 -1.
+ <_>12 7 4 4 2.
+ 0
+ 9.7744520753622055e-003
+ 0.4813025891780853
+ 0.5620657205581665
+ <_>
+
+ <_>
+
+
+
+ <_>0 7 8 4 -1.
+ <_>4 7 4 4 2.
+ 0
+ 0.0943782478570938
+ 1
+ 0.0666322931647301
+ <_>
+
+
+
+ <_>8 1 3 3 -1.
+ <_>9 1 1 3 3.
+ 0
+ -1.9560910295695066e-003
+ 0.3588232994079590
+ 0.5295407176017761
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 4 -1.
+ <_>10 7 1 4 3.
+ 0
+ 9.0652769431471825e-003
+ 0.4822688102722168
+ 1
+ <_>
+
+
+
+ <_>9 9 3 1 -1.
+ <_>10 9 1 1 3.
+ 0
+ 4.2138071148656309e-004
+ 0.4670332968235016
+ 0.5683112740516663
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 3 2 -1.
+ <_>8 10 3 1 2.
+ 0
+ -4.4220191193744540e-004
+ 1
+ 0.5360795259475708
+ <_>
+
+
+
+ <_>8 4 2 8 -1.
+ <_>8 4 1 4 2.
+ <_>9 8 1 4 2.
+ 0
+ -4.7313501127064228e-003
+ 0.6137245893478394
+ 0.3188089132308960
+ <_>
+
+ <_>
+
+
+
+ <_>5 8 12 3 -1.
+ <_>5 9 12 1 3.
+ 0
+ 1.5395509544759989e-003
+ 0.4487720131874085
+ 1
+ <_>
+
+
+
+ <_>11 14 1 3 -1.
+ <_>11 15 1 1 3.
+ 0
+ 2.4315000046044588e-003
+ 0.4894166886806488
+ 0.6716653704643250
+ <_>
+
+ <_>
+
+
+
+ <_>6 10 3 6 -1.
+ <_>6 12 3 2 3.
+ 0
+ -0.0155816199257970
+ 0.3336741924285889
+ 1
+ <_>
+
+
+
+ <_>4 17 8 3 -1.
+ <_>4 18 8 1 3.
+ 0
+ 1.0816920548677444e-003
+ 0.4718219935894013
+ 0.5960627198219299
+ <_>
+
+ <_>
+
+
+
+ <_>17 6 2 3 -1.
+ <_>17 7 2 1 3.
+ 0
+ -2.2197659127414227e-003
+ 0.3588554859161377
+ 1
+ <_>
+
+
+
+ <_>9 12 2 2 -1.
+ <_>10 12 1 1 2.
+ <_>9 13 1 1 2.
+ 0
+ -9.3048671260476112e-004
+ 0.6218712925910950
+ 0.4817300140857697
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 2 4 -1.
+ <_>9 13 1 2 2.
+ <_>10 15 1 2 2.
+ 0
+ -4.7418707981705666e-003
+ 0.2550027072429657
+ 1
+ <_>
+
+
+
+ <_>9 11 2 3 -1.
+ <_>9 12 2 1 3.
+ 0
+ -6.2950369901955128e-003
+ 0.6728078722953796
+ 0.5051063895225525
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 12 10 -1.
+ <_>11 5 6 5 2.
+ <_>5 10 6 5 2.
+ 0
+ 3.5216049291193485e-003
+ 0.5401909947395325
+ 1
+ <_>
+
+
+
+ <_>6 3 12 12 -1.
+ <_>12 3 6 6 2.
+ <_>6 9 6 6 2.
+ 0
+ -2.4289379362016916e-003
+ 0.5419461727142334
+ 0.4347142875194550
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 2 2 -1.
+ <_>5 7 1 1 2.
+ <_>6 8 1 1 2.
+ 0
+ -2.5261470582336187e-003
+ 0.6970624923706055
+ 1
+ <_>
+
+
+
+ <_>4 3 3 2 -1.
+ <_>5 3 1 2 3.
+ 0
+ -1.4817339833825827e-003
+ 0.3263416886329651
+ 0.4917873144149780
+ <_>
+
+ <_>
+
+
+
+ <_>6 2 12 14 -1.
+ <_>12 2 6 7 2.
+ <_>6 9 6 7 2.
+ 0
+ -0.2247453033924103
+ 7.2937291115522385e-003
+ 1
+ <_>
+
+
+
+ <_>5 2 12 3 -1.
+ <_>9 2 4 3 3.
+ 0
+ 2.8342509176582098e-003
+ 0.4579229950904846
+ 0.5379881262779236
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 18 17 -1.
+ <_>7 1 6 17 3.
+ 0
+ -0.0208216104656458
+ 0.6024088859558106
+ 1
+ <_>
+
+
+
+ <_>0 9 10 1 -1.
+ <_>5 9 5 1 2.
+ 0
+ 1.4896340144332498e-004
+ 0.3336144089698792
+ 0.4962815940380096
+ <_>
+
+ <_>
+
+
+
+ <_>16 8 4 3 -1.
+ <_>16 9 4 1 3.
+ 0
+ -3.3524499740451574e-003
+ 0.3558751046657562
+ 1
+ <_>
+
+
+
+ <_>7 13 6 6 -1.
+ <_>7 16 6 3 2.
+ 0
+ -0.0372798815369606
+ 0.1698562949895859
+ 0.5208985805511475
+ <_>
+
+ <_>
+
+
+
+ <_>6 14 1 6 -1.
+ <_>6 16 1 2 3.
+ 0
+ 1.3896770542487502e-004
+ 1
+ 0.5590686202049255
+ <_>
+
+
+
+ <_>6 17 4 2 -1.
+ <_>6 18 4 1 2.
+ 0
+ -3.1912620761431754e-004
+ 0.5848733782768250
+ 0.3795836865901947
+ <_>
+
+ <_>
+
+
+
+ <_>10 18 6 2 -1.
+ <_>13 18 3 1 2.
+ <_>10 19 3 1 2.
+ 0
+ 5.4003461264073849e-004
+ 1
+ 0.5670288205146790
+ <_>
+
+
+
+ <_>16 8 1 3 -1.
+ <_>16 9 1 1 3.
+ 0
+ 3.8956850767135620e-003
+ 0.5182694792747498
+ 0.3327709138393402
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 1.6084529925137758e-003
+ 1
+ 0.5410485863685608
+ <_>
+
+
+
+ <_>9 15 1 2 -1.
+ <_>9 16 1 1 2.
+ 0
+ -5.7474587811157107e-004
+ 0.6022642254829407
+ 0.3644644021987915
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 3 12 -1.
+ <_>14 0 1 12 3.
+ 0
+ 0.0134350396692753
+ 1
+ 0.3441281914710999
+ <_>
+
+
+
+ <_>15 11 1 3 -1.
+ <_>15 12 1 1 3.
+ 0
+ 2.1368139423429966e-003
+ 0.5292434096336365
+ 0.2747075855731964
+ <_>
+
+ <_>
+
+
+
+ <_>8 15 3 3 -1.
+ <_>8 16 3 1 3.
+ 0
+ 0.0141576295718551
+ 1
+ 0.8027868270874023
+ <_>
+
+
+
+ <_>4 0 3 12 -1.
+ <_>5 0 1 12 3.
+ 0
+ 5.3884391672909260e-003
+ 0.5222315192222595
+ 0.3586727976799011
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 3 -1.
+ <_>10 7 1 3 3.
+ 0
+ 8.8013410568237305e-003
+ 0.4900386929512024
+ 1
+ <_>
+
+
+
+ <_>9 9 3 1 -1.
+ <_>10 9 1 1 3.
+ 0
+ 3.8858849438838661e-004
+ 0.4681056141853333
+ 0.5721952915191650
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 12 14 -1.
+ <_>2 2 6 7 2.
+ <_>8 9 6 7 2.
+ 0
+ -2.2143588867038488e-003
+ 0.5388805866241455
+ 1
+ <_>
+
+
+
+ <_>4 2 12 3 -1.
+ <_>8 2 4 3 3.
+ 0
+ -8.4642972797155380e-003
+ 0.6675537824630737
+ 0.3448441922664642
+ <_>
+
+ <_>
+
+
+
+ <_>18 18 2 2 -1.
+ <_>18 18 1 2 2.
+ 0
+ 0.0150443902239203
+ 1
+ 0.9239614009857178
+ <_>
+
+
+
+ <_>17 2 3 8 -1.
+ <_>18 2 1 8 3.
+ 0
+ 7.6346402056515217e-003
+ 0.4884896874427795
+ 0.6306052803993225
+ <_>
+
+ <_>
+
+
+
+ <_>0 18 2 2 -1.
+ <_>1 18 1 2 2.
+ 0
+ 3.3895121305249631e-004
+ 1
+ 0.3997431099414825
+ <_>
+
+
+
+ <_>6 11 2 6 -1.
+ <_>6 14 2 3 2.
+ 0
+ 2.1157610171940178e-004
+ 0.5663982033729553
+ 0.3972980976104736
+ <_>
+
+ <_>
+
+
+
+ <_>13 10 5 6 -1.
+ <_>13 12 5 2 3.
+ 0
+ -0.0275149494409561
+ 1
+ 0.5201063752174377
+ <_>
+
+
+
+ <_>5 8 15 3 -1.
+ <_>5 9 15 1 3.
+ 0
+ 0.0516030602157116
+ 0.5140730142593384
+ 0.1245130971074104
+ <_>
+
+ <_>
+
+
+
+ <_>2 10 5 6 -1.
+ <_>2 12 5 2 3.
+ 0
+ 3.7510651163756847e-003
+ 1
+ 0.3802095055580139
+ <_>
+
+
+
+ <_>0 8 15 3 -1.
+ <_>0 9 15 1 3.
+ 0
+ -2.1457639522850513e-003
+ 0.3309448063373566
+ 0.5474538803100586
+ <_>
+
+ <_>
+
+
+
+ <_>16 2 3 1 -1.
+ <_>17 2 1 1 3.
+ 0
+ -5.8178009930998087e-004
+ 1
+ 0.4892601966857910
+ <_>
+
+
+
+ <_>17 4 3 2 -1.
+ <_>18 4 1 2 3.
+ 0
+ -9.3638541875407100e-004
+ 0.5937399268150330
+ 0.4664669036865234
+ <_>
+
+ <_>
+
+
+
+ <_>0 8 8 12 -1.
+ <_>0 8 4 6 2.
+ <_>4 14 4 6 2.
+ 0
+ 0.0416674911975861
+ 1
+ 0.7021353244781494
+ <_>
+
+
+
+ <_>1 7 8 6 -1.
+ <_>1 7 4 3 2.
+ <_>5 10 4 3 2.
+ 0
+ -6.7763780243694782e-003
+ 0.3222751021385193
+ 0.5068395137786865
+ <_>
+
+ <_>
+
+
+
+ <_>14 1 6 2 -1.
+ <_>16 1 2 2 3.
+ 0
+ -2.9170580673962831e-003
+ 1
+ 0.4717701077461243
+ <_>
+
+
+
+ <_>15 0 4 4 -1.
+ <_>17 0 2 2 2.
+ <_>15 2 2 2 2.
+ 0
+ 3.2789530814625323e-004
+ 0.4509383141994476
+ 0.5651162862777710
+ 38.2360382080078130
+ 14
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 1 4 11 -1.
+ <_>3 1 2 11 2.
+ 0
+ 0.0117298001423478
+ 0.3805224895477295
+ 1
+ <_>
+
+
+
+ <_>5 5 1 8 -1.
+ <_>5 9 1 4 2.
+ 0
+ 1.1712179984897375e-003
+ 0.3140017986297607
+ 0.6858146190643311
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 6 1 -1.
+ <_>9 7 2 1 3.
+ 0
+ 9.3555096536874771e-003
+ 1
+ 0.6834673285484314
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>8 7 4 2 3.
+ 0
+ 1.6570610459893942e-003
+ 0.2992472946643829
+ 0.5475677847862244
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 4 4 -1.
+ <_>8 6 4 2 2.
+ 0
+ -1.3387809740379453e-003
+ 1
+ 0.2941406965255737
+ <_>
+
+
+
+ <_>2 4 9 1 -1.
+ <_>5 4 3 1 3.
+ 0
+ 1.7580550047568977e-004
+ 0.3896977901458740
+ 0.5872970819473267
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 2 8 -1.
+ <_>9 16 2 4 2.
+ 0
+ -2.9473248869180679e-003
+ 0.3576571941375732
+ 1
+ <_>
+
+
+
+ <_>3 8 14 12 -1.
+ <_>3 14 14 6 2.
+ 0
+ 8.3220899105072021e-003
+ 0.5232400894165039
+ 0.3231087923049927
+ <_>
+
+ <_>
+
+
+
+ <_>6 13 7 3 -1.
+ <_>6 14 7 1 3.
+ 0
+ 7.4366689659655094e-003
+ 1
+ 0.6715673208236694
+ <_>
+
+
+
+ <_>5 9 6 3 -1.
+ <_>7 9 2 3 3.
+ 0
+ -2.1322889369912446e-004
+ 0.5470541715621948
+ 0.3863396048545837
+ <_>
+
+ <_>
+
+
+
+ <_>12 1 6 3 -1.
+ <_>12 2 6 1 3.
+ 0
+ -7.8024631366133690e-003
+ 0.2771460115909576
+ 1
+ <_>
+
+
+
+ <_>8 12 6 2 -1.
+ <_>8 13 6 1 2.
+ 0
+ 5.6611228501424193e-004
+ 0.4689136147499085
+ 0.5851963758468628
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 18 2 -1.
+ <_>0 2 9 1 2.
+ <_>9 3 9 1 2.
+ 0
+ -9.2346500605344772e-003
+ 0.2704397141933441
+ 1
+ <_>
+
+
+
+ <_>6 10 3 6 -1.
+ <_>6 13 3 3 2.
+ 0
+ -1.4676499631605111e-005
+ 0.5622550249099731
+ 0.3579317033290863
+ <_>
+
+ <_>
+
+
+
+ <_>14 0 6 6 -1.
+ <_>14 0 3 6 2.
+ 0
+ 9.7007937729358673e-003
+ 0.4173871874809265
+ 1
+ <_>
+
+
+
+ <_>15 0 5 8 -1.
+ <_>15 4 5 4 2.
+ 0
+ -3.5320650786161423e-003
+ 0.4195013046264648
+ 0.5549468994140625
+ <_>
+
+ <_>
+
+
+
+ <_>7 16 6 4 -1.
+ <_>9 16 2 4 3.
+ 0
+ 0.0216164104640484
+ 1
+ 0.2857390940189362
+ <_>
+
+
+
+ <_>2 11 14 4 -1.
+ <_>2 11 7 2 2.
+ <_>9 13 7 2 2.
+ 0
+ 3.4567608963698149e-003
+ 0.6024532914161682
+ 0.4377507865428925
+ <_>
+
+ <_>
+
+
+
+ <_>14 10 6 10 -1.
+ <_>14 10 3 10 2.
+ 0
+ 0.0229143202304840
+ 0.4689350128173828
+ 1
+ <_>
+
+
+
+ <_>9 8 10 12 -1.
+ <_>14 8 5 6 2.
+ <_>9 14 5 6 2.
+ 0
+ 3.4328910987824202e-003
+ 0.4664604961872101
+ 0.5762562155723572
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 6 10 -1.
+ <_>3 10 3 10 2.
+ 0
+ -8.6510833352804184e-003
+ 0.6381739974021912
+ 1
+ <_>
+
+
+
+ <_>1 8 10 12 -1.
+ <_>1 8 5 6 2.
+ <_>6 14 5 6 2.
+ 0
+ 1.4510039472952485e-003
+ 0.3711487948894501
+ 0.5530750751495361
+ <_>
+
+ <_>
+
+
+
+ <_>9 3 6 1 -1.
+ <_>11 3 2 1 3.
+ 0
+ 7.8191719949245453e-003
+ 0.5264362096786499
+ 1
+ <_>
+
+
+
+ <_>7 4 6 3 -1.
+ <_>9 4 2 3 3.
+ 0
+ 2.0798550394829363e-004
+ 0.3730512857437134
+ 0.5445731282234192
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 6 1 -1.
+ <_>7 3 2 1 3.
+ 0
+ -3.9962218143045902e-003
+ 0.2438170015811920
+ 1
+ <_>
+
+
+
+ <_>4 5 6 3 -1.
+ <_>6 5 2 3 3.
+ 0
+ -1.5010139577498194e-005
+ 0.5324671268463135
+ 0.3682988882064819
+ <_>
+
+ <_>
+
+
+
+ <_>9 16 3 3 -1.
+ <_>9 17 3 1 3.
+ 0
+ -4.2428788729012012e-003
+ 0.6481474041938782
+ 1
+ <_>
+
+
+
+ <_>8 14 6 3 -1.
+ <_>8 15 6 1 3.
+ 0
+ 9.1374982148408890e-003
+ 0.4896158874034882
+ 0.6558843255043030
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 8 12 -1.
+ <_>6 0 4 6 2.
+ <_>10 6 4 6 2.
+ 0
+ 8.8254585862159729e-003
+ 1
+ 0.3613870143890381
+ <_>
+
+
+
+ <_>4 12 2 3 -1.
+ <_>4 13 2 1 3.
+ 0
+ 9.4092212384566665e-004
+ 0.5502895712852478
+ 0.3632518053054810
+ <_>
+
+ <_>
+
+
+
+ <_>12 16 6 3 -1.
+ <_>12 17 6 1 3.
+ 0
+ -0.0125033501535654
+ 0.2261132001876831
+ 1
+ <_>
+
+
+
+ <_>7 12 7 2 -1.
+ <_>7 13 7 1 2.
+ 0
+ 8.6759645491838455e-003
+ 0.4987890124320984
+ 0.6847196221351624
+ <_>
+
+ <_>
+
+
+
+ <_>2 16 6 3 -1.
+ <_>2 17 6 1 3.
+ 0
+ -0.0104167601093650
+ 0.2446299046278000
+ 1
+ <_>
+
+
+
+ <_>0 7 16 6 -1.
+ <_>0 10 16 3 2.
+ 0
+ 2.7432460337877274e-003
+ 0.3511525094509125
+ 0.5399826765060425
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 3 -1.
+ <_>10 7 1 3 3.
+ 0
+ -4.2385691776871681e-003
+ 0.6823673248291016
+ 1
+ <_>
+
+
+
+ <_>9 7 3 5 -1.
+ <_>10 7 1 5 3.
+ 0
+ 0.0183258708566427
+ 0.4891580045223236
+ 0.7135618925094605
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 20 10 -1.
+ <_>0 5 10 5 2.
+ <_>10 10 10 5 2.
+ 0
+ -0.0243345405906439
+ 0.3522521853446960
+ 1
+ <_>
+
+
+
+ <_>3 1 4 2 -1.
+ <_>5 1 2 2 2.
+ 0
+ 4.6469361404888332e-004
+ 0.4049868881702423
+ 0.5515825748443604
+ <_>
+
+ <_>
+
+
+
+ <_>7 6 8 10 -1.
+ <_>11 6 4 5 2.
+ <_>7 11 4 5 2.
+ 0
+ 3.4260009415447712e-003
+ 1
+ 0.4126769900321960
+ <_>
+
+
+
+ <_>17 6 3 2 -1.
+ <_>17 7 3 1 2.
+ 0
+ -2.5827318895608187e-003
+ 0.2899428904056549
+ 0.5386431813240051
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 8 10 -1.
+ <_>5 6 4 5 2.
+ <_>9 11 4 5 2.
+ 0
+ 1.0545699624344707e-003
+ 1
+ 0.3771344125270844
+ <_>
+
+
+
+ <_>5 12 10 6 -1.
+ <_>5 14 10 2 3.
+ 0
+ -9.1257691383361816e-004
+ 0.5827386975288391
+ 0.4267556965351105
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 3 -1.
+ <_>10 7 1 3 3.
+ 0
+ 2.6589010376483202e-003
+ 0.4688124954700470
+ 1
+ <_>
+
+
+
+ <_>10 3 2 6 -1.
+ <_>11 3 1 3 2.
+ <_>10 6 1 3 2.
+ 0
+ 4.8598358407616615e-003
+ 0.4853922128677368
+ 0.6163644790649414
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 3 3 -1.
+ <_>0 5 3 1 3.
+ 0
+ 8.0638676881790161e-003
+ 1
+ 0.1749195009469986
+ <_>
+
+
+
+ <_>3 16 8 4 -1.
+ <_>3 16 4 2 2.
+ <_>7 18 4 2 2.
+ 0
+ -7.5898370705544949e-003
+ 0.6826189756393433
+ 0.4894070029258728
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 5 2 -1.
+ <_>8 14 5 1 2.
+ 0
+ 3.6368070868775249e-004
+ 0.4614596068859100
+ 1
+ <_>
+
+
+
+ <_>8 7 4 12 -1.
+ <_>8 11 4 4 3.
+ 0
+ 0.0625949501991272
+ 0.5183017253875732
+ 0.2686696052551270
+ <_>
+
+ <_>
+
+
+
+ <_>5 9 2 2 -1.
+ <_>6 9 1 2 2.
+ 0
+ -4.9753207713365555e-003
+ 0.1758466958999634
+ 1
+ <_>
+
+
+
+ <_>9 15 2 3 -1.
+ <_>9 16 2 1 3.
+ 0
+ -2.0880119409412146e-003
+ 0.6369382143020630
+ 0.4930044114589691
+ <_>
+
+ <_>
+
+
+
+ <_>13 9 2 3 -1.
+ <_>13 9 1 3 2.
+ 0
+ 9.5644511748105288e-004
+ 1
+ 0.4139398932456970
+ <_>
+
+
+
+ <_>14 0 6 17 -1.
+ <_>16 0 2 17 3.
+ 0
+ -0.0317214615643024
+ 0.6045557260513306
+ 0.4816364049911499
+ <_>
+
+ <_>
+
+
+
+ <_>5 10 2 2 -1.
+ <_>6 10 1 2 2.
+ 0
+ 1.2898689601570368e-003
+ 0.5450810790061951
+ 1
+ <_>
+
+
+
+ <_>2 9 9 1 -1.
+ <_>5 9 3 1 3.
+ 0
+ 9.8405163735151291e-003
+ 0.2924000918865204
+ 0.6699606180191040
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 2 3 -1.
+ <_>9 12 2 1 3.
+ 0
+ 1.2237089686095715e-003
+ 1
+ 0.6282836794853210
+ <_>
+
+
+
+ <_>7 11 6 3 -1.
+ <_>7 12 6 1 3.
+ 0
+ -8.4232585504651070e-003
+ 0.5986570119857788
+ 0.4852580130100250
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 3 2 -1.
+ <_>0 7 3 1 2.
+ 0
+ -7.2726322105154395e-004
+ 0.3340049088001251
+ 1
+ <_>
+
+
+
+ <_>7 0 6 1 -1.
+ <_>9 0 2 1 3.
+ 0
+ 4.6842931769788265e-003
+ 0.5168923735618591
+ 0.2679480016231537
+ <_>
+
+ <_>
+
+
+
+ <_>9 16 3 3 -1.
+ <_>9 17 3 1 3.
+ 0
+ -1.0379579616710544e-003
+ 0.5925791859626770
+ 1
+ <_>
+
+
+
+ <_>2 13 17 6 -1.
+ <_>2 16 17 3 2.
+ 0
+ 9.1342730447649956e-003
+ 0.5437728166580200
+ 0.4346800148487091
+ <_>
+
+ <_>
+
+
+
+ <_>1 3 3 7 -1.
+ <_>2 3 1 7 3.
+ 0
+ 1.4971119817346334e-003
+ 0.4129500985145569
+ 1
+ <_>
+
+
+
+ <_>1 1 6 4 -1.
+ <_>3 1 2 4 3.
+ 0
+ 1.5762320253998041e-003
+ 0.4522874057292938
+ 0.6556292176246643
+ <_>
+
+ <_>
+
+
+
+ <_>14 1 6 5 -1.
+ <_>14 1 3 5 2.
+ 0
+ 8.7496247142553329e-003
+ 0.4532034099102020
+ 1
+ <_>
+
+
+
+ <_>13 2 3 2 -1.
+ <_>13 3 3 1 2.
+ 0
+ -8.5103599121794105e-004
+ 0.3785983920097351
+ 0.5416975021362305
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 6 5 -1.
+ <_>3 1 3 5 2.
+ 0
+ -0.0173255708068609
+ 0.6884248256683350
+ 1
+ <_>
+
+
+
+ <_>2 3 2 6 -1.
+ <_>2 5 2 2 3.
+ 0
+ -8.3266440778970718e-003
+ 0.3091326057910919
+ 0.5243654847145081
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 3 2 -1.
+ <_>9 11 3 1 2.
+ 0
+ 1.5157909729168750e-005
+ 0.4765793979167938
+ 1
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 1.8041470320895314e-003
+ 0.4725385904312134
+ 0.5716555118560791
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 3 1 -1.
+ <_>7 3 1 1 3.
+ 0
+ 3.0691560823470354e-003
+ 1
+ 0.2143359929323196
+ <_>
+
+
+
+ <_>8 2 3 12 -1.
+ <_>8 6 3 4 3.
+ 0
+ -5.2225510444259271e-005
+ 0.5653210282325745
+ 0.4385111033916473
+ <_>
+
+ <_>
+
+
+
+ <_>11 12 1 2 -1.
+ <_>11 13 1 1 2.
+ 0
+ 1.0072169970953837e-004
+ 1
+ 0.5924776196479797
+ <_>
+
+
+
+ <_>11 12 2 2 -1.
+ <_>12 12 1 1 2.
+ <_>11 13 1 1 2.
+ 0
+ 1.3573700562119484e-004
+ 0.4573448896408081
+ 0.5769382715225220
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 2 2 -1.
+ <_>5 6 2 1 2.
+ 0
+ 9.2137878527864814e-004
+ 1
+ 0.5992609262466431
+ <_>
+
+
+
+ <_>5 4 1 3 -1.
+ <_>5 5 1 1 3.
+ 0
+ 3.0316581251099706e-004
+ 0.3610081076622009
+ 0.5049325823783875
+ <_>
+
+ <_>
+
+
+
+ <_>3 11 16 4 -1.
+ <_>11 11 8 2 2.
+ <_>3 13 8 2 2.
+ 0
+ 0.0395824797451496
+ 1
+ 0.1538489013910294
+ <_>
+
+
+
+ <_>0 10 20 3 -1.
+ <_>0 11 20 1 3.
+ 0
+ 0.0475196801126003
+ 0.5216140747070313
+ 0.1428391039371491
+ <_>
+
+ <_>
+
+
+
+ <_>1 11 16 4 -1.
+ <_>1 11 8 2 2.
+ <_>9 13 8 2 2.
+ 0
+ 0.0188717599958181
+ 1
+ 0.2825506925582886
+ <_>
+
+
+
+ <_>4 2 4 2 -1.
+ <_>4 3 4 1 2.
+ 0
+ -3.9876459049992263e-004
+ 0.4035016894340515
+ 0.5437793135643005
+ <_>
+
+ <_>
+
+
+
+ <_>12 6 2 2 -1.
+ <_>13 6 1 1 2.
+ <_>12 7 1 1 2.
+ 0
+ 4.6556600136682391e-004
+ 0.4668996930122376
+ 1
+ <_>
+
+
+
+ <_>12 11 6 6 -1.
+ <_>12 13 6 2 3.
+ 0
+ 6.7090610973536968e-003
+ 0.5331354737281799
+ 0.4136571884155273
+ <_>
+
+ <_>
+
+
+
+ <_>6 6 2 2 -1.
+ <_>6 6 1 1 2.
+ <_>7 7 1 1 2.
+ 0
+ -1.8931160448119044e-003
+ 0.7155163288116455
+ 1
+ <_>
+
+
+
+ <_>6 4 4 16 -1.
+ <_>8 4 2 16 2.
+ 0
+ -0.0130569497123361
+ 0.3117899894714356
+ 0.5208439826965332
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 3 2 -1.
+ <_>11 19 3 1 2.
+ 0
+ -1.9484119547996670e-004
+ 1
+ 0.4637658894062042
+ <_>
+
+
+
+ <_>9 17 6 2 -1.
+ <_>12 17 3 1 2.
+ <_>9 18 3 1 2.
+ 0
+ 1.5093220099515747e-005
+ 0.4561653137207031
+ 0.5445234179496765
+ <_>
+
+ <_>
+
+
+
+ <_>2 13 5 2 -1.
+ <_>2 14 5 1 2.
+ 0
+ -7.1617960202274844e-006
+ 1
+ 0.4193108081817627
+ <_>
+
+
+
+ <_>3 15 2 2 -1.
+ <_>3 16 2 1 2.
+ 0
+ 3.0164679628796875e-004
+ 0.5966237783432007
+ 0.4100500047206879
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 3 3 -1.
+ <_>10 7 1 3 3.
+ 0
+ 4.4195181690156460e-003
+ 0.4845055937767029
+ 1
+ <_>
+
+
+
+ <_>9 6 2 6 -1.
+ <_>9 6 1 6 2.
+ 0
+ -7.3984181508421898e-003
+ 0.6206846237182617
+ 0.4931209087371826
+ <_>
+
+ <_>
+
+
+
+ <_>1 14 7 6 -1.
+ <_>1 16 7 2 3.
+ 0
+ -7.8031201846897602e-003
+ 1
+ 0.5282462835311890
+ <_>
+
+
+
+ <_>8 1 2 11 -1.
+ <_>9 1 1 11 2.
+ 0
+ -0.0107314297929406
+ 0.9104834198951721
+ 0.3455922007560730
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 4 -1.
+ <_>9 7 1 4 2.
+ 0
+ 1.4246780192479491e-003
+ 0.4708554148674011
+ 1
+ <_>
+
+
+
+ <_>11 10 2 1 -1.
+ <_>11 10 1 1 2.
+ 0
+ -8.2717568147927523e-005
+ 0.5651623010635376
+ 0.4731023907661438
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 3 9 -1.
+ <_>1 3 1 9 3.
+ 0
+ 4.4803409837186337e-003
+ 1
+ 0.6175886988639832
+ <_>
+
+
+
+ <_>0 3 3 6 -1.
+ <_>0 5 3 2 3.
+ 0
+ 3.0789140146225691e-003
+ 0.5139533281326294
+ 0.3423087894916534
+ <_>
+
+ <_>
+
+
+
+ <_>11 15 2 2 -1.
+ <_>12 15 1 1 2.
+ <_>11 16 1 1 2.
+ 0
+ -1.1310289846733212e-003
+ 1
+ 0.4918282032012940
+ <_>
+
+
+
+ <_>11 14 2 2 -1.
+ <_>12 14 1 1 2.
+ <_>11 15 1 1 2.
+ 0
+ -1.0410690447315574e-003
+ 0.5942087173461914
+ 0.4923042953014374
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 2 2 -1.
+ <_>7 15 1 1 2.
+ <_>8 16 1 1 2.
+ 0
+ 1.1648540385067463e-003
+ 1
+ 0.6405271887779236
+ <_>
+
+
+
+ <_>7 14 2 2 -1.
+ <_>7 14 1 1 2.
+ <_>8 15 1 1 2.
+ 0
+ 9.0057362103834748e-004
+ 0.4504396915435791
+ 0.6192076802253723
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 4 6 -1.
+ <_>10 13 2 3 2.
+ <_>8 16 2 3 2.
+ 0
+ 6.8781538866460323e-003
+ 0.5374813079833984
+ 1
+ <_>
+
+
+
+ <_>2 14 16 4 -1.
+ <_>10 14 8 2 2.
+ <_>2 16 8 2 2.
+ 0
+ -0.0352839007973671
+ 0.2247101068496704
+ 0.5217170715332031
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 2 2 -1.
+ <_>9 9 2 1 2.
+ 0
+ -1.3320200378075242e-003
+ 0.2554703056812286
+ 1
+ <_>
+
+
+
+ <_>7 7 5 3 -1.
+ <_>7 8 5 1 3.
+ 0
+ -2.3177571129053831e-003
+ 0.3792515993118286
+ 0.5243226885795593
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 6 2 -1.
+ <_>9 5 2 2 3.
+ 0
+ 2.1332940377760679e-004
+ 0.3860337138175964
+ 1
+ <_>
+
+
+
+ <_>9 1 6 18 -1.
+ <_>11 1 2 18 3.
+ 0
+ 0.0134679004549980
+ 0.5380687713623047
+ 0.4178363978862763
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 3 4 -1.
+ <_>9 6 1 4 3.
+ 0
+ -1.2829169863834977e-003
+ 0.6133623123168945
+ 1
+ <_>
+
+
+
+ <_>8 5 2 4 -1.
+ <_>8 5 1 2 2.
+ <_>9 7 1 2 2.
+ 0
+ 5.1571638323366642e-004
+ 0.4028537869453430
+ 0.5536851882934570
+ <_>
+
+ <_>
+
+
+
+ <_>9 13 2 6 -1.
+ <_>10 13 1 3 2.
+ <_>9 16 1 3 2.
+ 0
+ 3.9254198782145977e-003
+ 0.5279921293258667
+ 1
+ <_>
+
+
+
+ <_>11 0 3 18 -1.
+ <_>12 0 1 18 3.
+ 0
+ -0.0337805896997452
+ 0.2334675043821335
+ 0.5175911784172058
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 3 18 -1.
+ <_>7 0 1 18 3.
+ 0
+ -0.0378537215292454
+ 0.1074853017926216
+ 1
+ <_>
+
+
+
+ <_>5 15 4 2 -1.
+ <_>7 15 2 2 2.
+ 0
+ -4.0752900531515479e-004
+ 0.5345929861068726
+ 0.4198938012123108
+ <_>
+
+ <_>
+
+
+
+ <_>1 9 18 1 -1.
+ <_>7 9 6 1 3.
+ 0
+ -3.1193809118121862e-003
+ 0.3855825066566467
+ 1
+ <_>
+
+
+
+ <_>0 0 20 3 -1.
+ <_>0 1 20 1 3.
+ 0
+ -0.0157149694859982
+ 0.3335190117359161
+ 0.5263202190399170
+ <_>
+
+ <_>
+
+
+
+ <_>9 6 2 4 -1.
+ <_>10 6 1 4 2.
+ 0
+ -7.8525702701881528e-004
+ 0.5860397219657898
+ 1
+ <_>
+
+
+
+ <_>6 10 6 2 -1.
+ <_>8 10 2 2 3.
+ 0
+ -2.8750501223839819e-004
+ 0.5437784790992737
+ 0.3716104924678803
+ <_>
+
+ <_>
+
+
+
+ <_>0 7 20 1 -1.
+ <_>0 7 10 1 2.
+ 0
+ 0.0280168596655130
+ 1
+ 0.3330754935741425
+ <_>
+
+
+
+ <_>11 3 5 4 -1.
+ <_>11 5 5 2 2.
+ 0
+ -1.9018839811906219e-003
+ 0.5366597771644592
+ 0.4693793952465057
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 10 1 -1.
+ <_>10 7 5 1 2.
+ 0
+ 0.0206475593149662
+ 1
+ 0.1006956025958061
+ <_>
+
+
+
+ <_>8 10 3 3 -1.
+ <_>8 11 3 1 3.
+ 0
+ 4.3002571910619736e-003
+ 0.4816035926342011
+ 0.6215677261352539
+ <_>
+
+ <_>
+
+
+
+ <_>2 0 16 8 -1.
+ <_>10 0 8 4 2.
+ <_>2 4 8 4 2.
+ 0
+ 0.0134591404348612
+ 0.5461953878402710
+ 1
+ <_>
+
+
+
+ <_>11 0 9 10 -1.
+ <_>11 5 9 5 2.
+ 0
+ -0.0103200403973460
+ 0.4578453004360199
+ 0.5419309735298157
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 8 18 -1.
+ <_>4 2 4 18 2.
+ 0
+ 0.3199074864387512
+ 1
+ 0.2008046954870224
+ <_>
+
+
+
+ <_>0 0 2 6 -1.
+ <_>0 2 2 2 3.
+ 0
+ 9.2198798665776849e-004
+ 0.5193281173706055
+ 0.3912194073200226
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 9 2 -1.
+ <_>6 1 9 1 2.
+ 0
+ 4.1852539288811386e-004
+ 0.4299744069576263
+ 1
+ <_>
+
+
+
+ <_>4 1 12 2 -1.
+ <_>4 2 12 1 2.
+ 0
+ 3.5891108564101160e-004
+ 0.4344502985477448
+ 0.5531973838806152
+ <_>
+
+ <_>
+
+
+
+ <_>2 1 16 14 -1.
+ <_>2 8 16 7 2.
+ 0
+ -0.2099243998527527
+ 0.1075721010565758
+ 1
+ <_>
+
+
+
+ <_>5 1 8 12 -1.
+ <_>5 7 8 6 2.
+ 0
+ -4.9328152090311050e-003
+ 0.5762796998023987
+ 0.4574643969535828
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 2 2 -1.
+ <_>9 12 2 1 2.
+ 0
+ 2.3409130517393351e-003
+ 1
+ 0.7476807832717896
+ <_>
+
+
+
+ <_>9 10 5 6 -1.
+ <_>9 12 5 2 3.
+ 0
+ 4.7120270319283009e-003
+ 0.5261765122413635
+ 0.4505550861358643
+ <_>
+
+ <_>
+
+
+
+ <_>3 0 13 8 -1.
+ <_>3 4 13 4 2.
+ 0
+ 0.0287131909281015
+ 0.4407103061676025
+ 1
+ <_>
+
+
+
+ <_>6 7 5 8 -1.
+ <_>6 11 5 4 2.
+ 0
+ -2.6156550738960505e-003
+ 0.4244270920753479
+ 0.6892976760864258
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 3 -1.
+ <_>9 6 2 1 3.
+ 0
+ -0.0135589698329568
+ 0.1252267956733704
+ 1
+ <_>
+
+
+
+ <_>6 8 8 3 -1.
+ <_>6 9 8 1 3.
+ 0
+ -3.0331799644045532e-004
+ 0.4077791869640350
+ 0.5442817807197571
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 7 6 -1.
+ <_>2 5 7 3 2.
+ 0
+ -5.5601762142032385e-004
+ 0.5378003716468811
+ 1
+ <_>
+
+
+
+ <_>2 1 14 4 -1.
+ <_>2 1 7 2 2.
+ <_>9 3 7 2 2.
+ 0
+ 2.4025330785661936e-003
+ 0.3166579902172089
+ 0.5285738110542297
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 1 3 -1.
+ <_>11 15 1 1 3.
+ 0
+ -3.4089901018887758e-003
+ 1
+ 0.4905214905738831
+ <_>
+
+
+
+ <_>6 15 8 2 -1.
+ <_>6 16 8 1 2.
+ 0
+ 8.0019602319225669e-004
+ 0.4522736072540283
+ 0.5580614209175110
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 1 3 -1.
+ <_>8 15 1 1 3.
+ 0
+ 2.1901070140302181e-003
+ 1
+ 0.6612681746482849
+ <_>
+
+
+
+ <_>8 11 2 8 -1.
+ <_>8 15 2 4 2.
+ 0
+ 3.3745369873940945e-003
+ 0.5107765197753906
+ 0.3386929929256439
+ <_>
+
+ <_>
+
+
+
+ <_>6 15 8 2 -1.
+ <_>6 16 8 1 2.
+ 0
+ 8.0019602319225669e-004
+ 1
+ 0.5707560181617737
+ <_>
+
+
+
+ <_>7 16 8 3 -1.
+ <_>7 17 8 1 3.
+ 0
+ 0.0173460692167282
+ 0.5016021132469177
+ 0.6306459903717041
+ <_>
+
+ <_>
+
+
+
+ <_>0 16 2 2 -1.
+ <_>0 17 2 1 2.
+ 0
+ -1.9568449351936579e-003
+ 0.3017806112766266
+ 1
+ <_>
+
+
+
+ <_>1 16 8 4 -1.
+ <_>1 16 4 2 2.
+ <_>5 18 4 2 2.
+ 0
+ -0.0112290196120739
+ 0.6293851137161255
+ 0.4520488977432251
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 16 3 -1.
+ <_>2 10 16 1 3.
+ 0
+ -2.6608388870954514e-003
+ 0.3344007134437561
+ 1
+ <_>
+
+
+
+ <_>13 11 2 4 -1.
+ <_>13 11 1 4 2.
+ 0
+ -0.0116151003167033
+ 0.2825379073619843
+ 0.5150970816612244
+ <_>
+
+ <_>
+
+
+
+ <_>0 13 16 6 -1.
+ <_>0 15 16 2 3.
+ 0
+ -0.0952486023306847
+ 0.1398265063762665
+ 1
+ <_>
+
+
+
+ <_>5 11 2 4 -1.
+ <_>6 11 1 4 2.
+ 0
+ 7.3701781220734119e-003
+ 0.5293998718261719
+ 0.2331728041172028
+ <_>
+
+ <_>
+
+
+
+ <_>18 2 2 18 -1.
+ <_>19 2 1 9 2.
+ <_>18 11 1 9 2.
+ 0
+ -0.0149539001286030
+ 1
+ 0.4940465986728668
+ <_>
+
+
+
+ <_>19 7 1 9 -1.
+ <_>19 10 1 3 3.
+ 0
+ 5.7038792874664068e-004
+ 0.5466570854187012
+ 0.4626767933368683
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 2 18 -1.
+ <_>0 2 1 9 2.
+ <_>1 11 1 9 2.
+ 0
+ 5.8516198769211769e-003
+ 1
+ 0.6270040869712830
+ <_>
+
+
+
+ <_>0 7 1 9 -1.
+ <_>0 10 1 3 3.
+ 0
+ 2.1150549582671374e-004
+ 0.5508140921592712
+ 0.4061872959136963
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 2 2 -1.
+ <_>14 13 2 1 2.
+ 0
+ -6.9679190346505493e-006
+ 1
+ 0.4096567928791046
+ <_>
+
+
+
+ <_>11 14 2 3 -1.
+ <_>11 15 2 1 3.
+ 0
+ -7.9677387839183211e-004
+ 0.5615556836128235
+ 0.4666886031627655
+ <_>
+
+ <_>
+
+
+
+ <_>7 8 6 2 -1.
+ <_>7 9 6 1 2.
+ 0
+ 0.0194594804197550
+ 1
+ 0.2311480939388275
+ <_>
+
+
+
+ <_>7 12 4 6 -1.
+ <_>7 12 2 3 2.
+ <_>9 15 2 3 2.
+ 0
+ -0.0111608300358057
+ 0.3087011873722076
+ 0.5514662265777588
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 5 3 -1.
+ <_>8 14 5 1 3.
+ 0
+ 0.0140561498701572
+ 1
+ 0.7005056142807007
+ <_>
+
+
+
+ <_>12 14 2 2 -1.
+ <_>13 14 1 1 2.
+ <_>12 15 1 1 2.
+ 0
+ -3.2958350493572652e-004
+ 0.5797485709190369
+ 0.4691650867462158
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -5.4636420682072639e-003
+ 0.5928595066070557
+ 1
+ <_>
+
+
+
+ <_>7 13 5 2 -1.
+ <_>7 14 5 1 2.
+ 0
+ 5.8881669247057289e-005
+ 0.3741397857666016
+ 0.5170168876647949
+ <_>
+
+ <_>
+
+
+
+ <_>2 10 16 4 -1.
+ <_>10 10 8 2 2.
+ <_>2 12 8 2 2.
+ 0
+ 6.6343429498374462e-003
+ 0.5414987802505493
+ 1
+ <_>
+
+
+
+ <_>7 0 6 6 -1.
+ <_>9 0 2 6 3.
+ 0
+ 0.0452634096145630
+ 0.5180327296257019
+ 0.1529684066772461
+ <_>
+
+ <_>
+
+
+
+ <_>7 1 6 3 -1.
+ <_>7 2 6 1 3.
+ 0
+ -8.0646127462387085e-003
+ 0.2515468001365662
+ 1
+ <_>
+
+
+
+ <_>0 12 6 2 -1.
+ <_>0 13 6 1 2.
+ 0
+ 4.7389548853971064e-004
+ 0.5121998786926270
+ 0.3725948929786682
+ <_>
+
+ <_>
+
+
+
+ <_>6 3 11 2 -1.
+ <_>6 4 11 1 2.
+ 0
+ 1.4877359717502259e-005
+ 1
+ 0.5532435774803162
+ <_>
+
+
+
+ <_>12 0 8 6 -1.
+ <_>16 0 4 3 2.
+ <_>12 3 4 3 2.
+ 0
+ 0.0243211593478918
+ 0.4960766136646271
+ 0.5983315110206604
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 1 2 -1.
+ <_>8 13 1 1 2.
+ 0
+ 6.9931396865285933e-005
+ 0.4163953065872192
+ 1
+ <_>
+
+
+
+ <_>8 8 1 12 -1.
+ <_>8 12 1 4 3.
+ 0
+ 2.6287760119885206e-003
+ 0.5880144834518433
+ 0.3399662971496582
+ <_>
+
+ <_>
+
+
+
+ <_>11 11 2 2 -1.
+ <_>12 11 1 1 2.
+ <_>11 12 1 1 2.
+ 0
+ 3.8190539926290512e-003
+ 1
+ 0.7846621274948120
+ <_>
+
+
+
+ <_>12 7 3 13 -1.
+ <_>13 7 1 13 3.
+ 0
+ -0.0259891506284475
+ 0.3288114070892334
+ 0.5155087709426880
+ <_>
+
+ <_>
+
+
+
+ <_>7 11 2 2 -1.
+ <_>7 11 1 1 2.
+ <_>8 12 1 1 2.
+ 0
+ 1.2062400346621871e-003
+ 0.4596059918403626
+ 1
+ <_>
+
+
+
+ <_>3 13 1 3 -1.
+ <_>3 14 1 1 3.
+ 0
+ -1.5557400183752179e-003
+ 0.3126986920833588
+ 0.7183399200439453
+ <_>
+
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ -2.2691930644214153e-003
+ 1
+ 0.5274006128311157
+ <_>
+
+
+
+ <_>11 11 2 1 -1.
+ <_>11 11 1 1 2.
+ 0
+ 2.3287249496206641e-004
+ 0.4878666102886200
+ 0.5615152716636658
+ <_>
+
+ <_>
+
+
+
+ <_>1 10 5 9 -1.
+ <_>1 13 5 3 3.
+ 0
+ -5.5999699980020523e-003
+ 1
+ 0.5160812139511108
+ <_>
+
+
+
+ <_>4 8 6 4 -1.
+ <_>6 8 2 4 3.
+ 0
+ -0.0104961898177862
+ 0.5701614022254944
+ 0.3204850852489471
+ <_>
+
+ <_>
+
+
+
+ <_>13 12 1 4 -1.
+ <_>13 14 1 2 2.
+ 0
+ -1.4814930182183161e-005
+ 0.5538837909698486
+ 1
+ <_>
+
+
+
+ <_>11 3 4 14 -1.
+ <_>13 3 2 7 2.
+ <_>11 10 2 7 2.
+ 0
+ -6.4287078566849232e-004
+ 0.5349429249763489
+ 0.4472151100635529
+ <_>
+
+ <_>
+
+
+
+ <_>6 12 1 4 -1.
+ <_>6 14 1 2 2.
+ 0
+ -1.8891949730459601e-004
+ 0.5012837052345276
+ 1
+ <_>
+
+
+
+ <_>5 3 4 14 -1.
+ <_>5 3 2 7 2.
+ <_>7 10 2 7 2.
+ 0
+ -9.0413521975278854e-003
+ 0.2562935948371887
+ 0.4503383040428162
+ <_>
+
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ 7.9534705728292465e-003
+ 1
+ 0.2630499899387360
+ <_>
+
+
+
+ <_>9 12 3 3 -1.
+ <_>9 13 3 1 3.
+ 0
+ -2.7908999472856522e-003
+ 0.5756508708000183
+ 0.4854863882064819
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 12 6 -1.
+ <_>2 2 6 3 2.
+ <_>8 5 6 3 2.
+ 0
+ 3.2857100013643503e-003
+ 1
+ 0.4084751904010773
+ <_>
+
+
+
+ <_>6 6 6 2 -1.
+ <_>9 6 3 2 2.
+ 0
+ 7.7063008211553097e-004
+ 0.4073356091976166
+ 0.5920240879058838
+ 44.6829681396484380
+ 15
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 18 12 -1.
+ <_>7 0 6 12 3.
+ 0
+ 0.0630219429731369
+ 0.3419382870197296
+ 1
+ <_>
+
+
+
+ <_>5 7 6 4 -1.
+ <_>5 7 3 2 2.
+ <_>8 9 3 2 2.
+ 0
+ -2.8374609537422657e-003
+ 0.6829563975334168
+ 0.4404523074626923
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 10 4 -1.
+ <_>5 9 10 2 2.
+ 0
+ 0.0464619509875774
+ 0.4391745030879974
+ 1
+ <_>
+
+
+
+ <_>7 7 6 4 -1.
+ <_>9 7 2 4 3.
+ 0
+ 0.0291525404900312
+ 0.4601063132286072
+ 0.6357936859130859
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 2 -1.
+ <_>9 6 2 1 2.
+ 0
+ -1.4000290320836939e-005
+ 1
+ 0.3730010092258453
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ -1.2757079675793648e-003
+ 0.3093824088573456
+ 0.5901370048522949
+ <_>
+
+ <_>
+
+
+
+ <_>6 17 8 3 -1.
+ <_>6 18 8 1 3.
+ 0
+ 1.3596529606729746e-003
+ 0.4337565004825592
+ 1
+ <_>
+
+
+
+ <_>9 17 6 2 -1.
+ <_>12 17 3 1 2.
+ <_>9 18 3 1 2.
+ 0
+ 1.7991929780691862e-004
+ 0.4217503964900971
+ 0.5846847891807556
+ <_>
+
+ <_>
+
+
+
+ <_>4 12 2 2 -1.
+ <_>4 13 2 1 2.
+ 0
+ -1.4166639630275313e-005
+ 1
+ 0.4084691107273102
+ <_>
+
+
+
+ <_>3 12 9 2 -1.
+ <_>3 13 9 1 2.
+ 0
+ 6.0252390539972112e-005
+ 0.5087286829948425
+ 0.7277184128761292
+ <_>
+
+ <_>
+
+
+
+ <_>8 3 6 1 -1.
+ <_>10 3 2 1 3.
+ 0
+ 6.4320368692278862e-003
+ 1
+ 0.2967903017997742
+ <_>
+
+
+
+ <_>9 3 4 6 -1.
+ <_>11 3 2 3 2.
+ <_>9 6 2 3 2.
+ 0
+ 4.6682319953106344e-004
+ 0.4110462963581085
+ 0.5581219792366028
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 6 5 -1.
+ <_>3 3 3 5 2.
+ 0
+ 5.7436279021203518e-003
+ 0.4287309944629669
+ 1
+ <_>
+
+
+
+ <_>2 0 2 18 -1.
+ <_>2 6 2 6 3.
+ 0
+ 3.2019240316003561e-003
+ 0.4266195893287659
+ 0.6444045901298523
+ <_>
+
+ <_>
+
+
+
+ <_>14 2 4 9 -1.
+ <_>14 5 4 3 3.
+ 0
+ -5.7637941790744662e-004
+ 1
+ 0.4084824919700623
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ -3.7901920732110739e-003
+ 0.3181920945644379
+ 0.5230693221092224
+ <_>
+
+ <_>
+
+
+
+ <_>2 2 4 9 -1.
+ <_>2 5 4 3 3.
+ 0
+ 4.8914109356701374e-003
+ 1
+ 0.3548356890678406
+ <_>
+
+
+
+ <_>7 18 3 2 -1.
+ <_>8 18 1 2 3.
+ 0
+ 4.6459292061626911e-003
+ 0.5610597729682922
+ 0.2693848907947540
+ <_>
+
+ <_>
+
+
+
+ <_>10 14 3 3 -1.
+ <_>10 15 3 1 3.
+ 0
+ -6.8799369037151337e-003
+ 0.6235408186912537
+ 1
+ <_>
+
+
+
+ <_>10 12 2 6 -1.
+ <_>10 15 2 3 2.
+ 0
+ -0.0181474704295397
+ 0.2861981987953186
+ 0.5226848125457764
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 3 6 -1.
+ <_>7 7 3 2 3.
+ 0
+ 1.1409220314817503e-004
+ 1
+ 0.3257833123207092
+ <_>
+
+
+
+ <_>3 3 6 2 -1.
+ <_>3 4 6 1 2.
+ 0
+ -5.4334272863343358e-004
+ 0.3882969021797180
+ 0.5341166257858276
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 7 3 -1.
+ <_>8 5 7 1 3.
+ 0
+ -2.7602489572018385e-003
+ 0.6353965997695923
+ 1
+ <_>
+
+
+
+ <_>13 6 2 3 -1.
+ <_>13 7 2 1 3.
+ 0
+ -1.9730569329112768e-003
+ 0.5880761146545410
+ 0.4593090116977692
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 2 12 -1.
+ <_>8 12 2 4 3.
+ 0
+ 2.4565239436924458e-003
+ 1
+ 0.3134010136127472
+ <_>
+
+
+
+ <_>5 4 8 14 -1.
+ <_>5 4 4 7 2.
+ <_>9 11 4 7 2.
+ 0
+ 1.9392010290175676e-004
+ 0.5277131795883179
+ 0.3604106903076172
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 20 8 -1.
+ <_>10 1 10 4 2.
+ <_>0 5 10 4 2.
+ 0
+ 0.0786430165171623
+ 0.5290341973304749
+ 1
+ <_>
+
+
+
+ <_>4 0 12 2 -1.
+ <_>4 1 12 1 2.
+ 0
+ 6.5276869572699070e-003
+ 0.4654479920864105
+ 0.6044905185699463
+ <_>
+
+ <_>
+
+
+
+ <_>0 1 20 8 -1.
+ <_>0 1 10 4 2.
+ <_>10 5 10 4 2.
+ 0
+ -0.0787167996168137
+ 0.2541126906871796
+ 1
+ <_>
+
+
+
+ <_>4 0 12 2 -1.
+ <_>4 1 12 1 2.
+ 0
+ 5.7298499159514904e-003
+ 0.4366919100284576
+ 0.5822886228561401
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 6 3 -1.
+ <_>9 5 3 3 2.
+ 0
+ 6.2386557692661881e-004
+ 1
+ 0.5472692251205444
+ <_>
+
+
+
+ <_>8 13 10 6 -1.
+ <_>8 15 10 2 3.
+ 0
+ -0.0852672308683395
+ 0.1461607962846756
+ 0.5181810855865479
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 6 3 -1.
+ <_>8 5 3 3 2.
+ 0
+ 0.0409811101853848
+ 1
+ 0.1270135045051575
+ <_>
+
+
+
+ <_>6 3 6 1 -1.
+ <_>8 3 2 1 3.
+ 0
+ 7.7135749161243439e-003
+ 0.4832684993743897
+ 0.2223578989505768
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 9 2 -1.
+ <_>14 18 3 2 3.
+ 0
+ -6.8663940764963627e-003
+ 0.5918928980827332
+ 1
+ <_>
+
+
+
+ <_>13 11 6 7 -1.
+ <_>13 11 3 7 2.
+ 0
+ 0.0145596396178007
+ 0.4761506915092468
+ 0.5727223753929138
+ <_>
+
+ <_>
+
+
+
+ <_>4 6 12 10 -1.
+ <_>4 6 6 5 2.
+ <_>10 11 6 5 2.
+ 0
+ -0.0100643103942275
+ 0.3636730909347534
+ 1
+ <_>
+
+
+
+ <_>8 17 3 3 -1.
+ <_>9 17 1 3 3.
+ 0
+ 3.6274080630391836e-003
+ 0.5271731019020081
+ 0.2740525007247925
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 9 2 -1.
+ <_>14 18 3 2 3.
+ 0
+ -2.3421540390700102e-003
+ 0.5497784018516541
+ 1
+ <_>
+
+
+
+ <_>13 11 6 8 -1.
+ <_>13 11 3 8 2.
+ 0
+ -0.0246864091604948
+ 0.6059895157814026
+ 0.4960314035415649
+ <_>
+
+ <_>
+
+
+
+ <_>4 16 2 2 -1.
+ <_>4 17 2 1 2.
+ 0
+ 1.9456120207905769e-004
+ 1
+ 0.3769465088844299
+ <_>
+
+
+
+ <_>7 15 4 4 -1.
+ <_>7 17 4 2 2.
+ 0
+ 3.1714211218059063e-004
+ 0.4062362015247345
+ 0.5668215155601502
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ 2.0793990697711706e-003
+ 0.4618656933307648
+ 1
+ <_>
+
+
+
+ <_>13 6 2 3 -1.
+ <_>13 7 2 1 3.
+ 0
+ 1.7982709687203169e-003
+ 0.4867505133152008
+ 0.6518449783325195
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 6 1 -1.
+ <_>7 11 2 1 3.
+ 0
+ -2.2287059982772917e-004
+ 0.5677595734596252
+ 1
+ <_>
+
+
+
+ <_>7 10 3 1 -1.
+ <_>8 10 1 1 3.
+ 0
+ 3.2623921288177371e-004
+ 0.3710733950138092
+ 0.5676605105400085
+ <_>
+
+ <_>
+
+
+
+ <_>0 12 20 4 -1.
+ <_>0 14 20 2 2.
+ 0
+ -0.0667926818132401
+ 0.2511521875858307
+ 1
+ <_>
+
+
+
+ <_>10 2 3 2 -1.
+ <_>10 3 3 1 2.
+ 0
+ -1.4869889710098505e-003
+ 0.3886750936508179
+ 0.5262253880500794
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ -5.0454870797693729e-003
+ 0.6557472944259644
+ 1
+ <_>
+
+
+
+ <_>5 5 4 3 -1.
+ <_>5 6 4 1 3.
+ 0
+ -4.8297587782144547e-003
+ 0.5934106111526489
+ 0.4285922050476074
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 4 3 -1.
+ <_>8 9 4 1 3.
+ 0
+ -1.0722599690780044e-003
+ 1
+ 0.5426058769226074
+ <_>
+
+
+
+ <_>10 4 2 12 -1.
+ <_>10 8 2 4 3.
+ 0
+ 8.7901195511221886e-003
+ 0.5351303219795227
+ 0.4834277927875519
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 4 3 -1.
+ <_>0 4 4 1 3.
+ 0
+ -7.1750381030142307e-003
+ 0.2067168951034546
+ 1
+ <_>
+
+
+
+ <_>1 3 2 3 -1.
+ <_>1 4 2 1 3.
+ 0
+ 1.1251230025663972e-003
+ 0.5112252235412598
+ 0.3468714058399200
+ <_>
+
+ <_>
+
+
+
+ <_>16 1 4 11 -1.
+ <_>16 1 2 11 2.
+ 0
+ 0.0106347100809217
+ 0.4479008018970490
+ 1
+ <_>
+
+
+
+ <_>18 2 2 16 -1.
+ <_>19 2 1 8 2.
+ <_>18 10 1 8 2.
+ 0
+ -0.0117632197216153
+ 0.6253901720046997
+ 0.4968987107276917
+ <_>
+
+ <_>
+
+
+
+ <_>1 8 6 12 -1.
+ <_>3 8 2 12 3.
+ 0
+ 0.0923240631818771
+ 1
+ 0.2031303942203522
+ <_>
+
+
+
+ <_>7 2 6 2 -1.
+ <_>7 2 3 1 2.
+ <_>10 3 3 1 2.
+ 0
+ 1.8991080578416586e-003
+ 0.5618721842765808
+ 0.4046572148799896
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 8 2 -1.
+ <_>16 4 4 1 2.
+ <_>12 5 4 1 2.
+ 0
+ -0.0105103403329849
+ 1
+ 0.4943264126777649
+ <_>
+
+
+
+ <_>10 6 6 2 -1.
+ <_>12 6 2 2 3.
+ 0
+ -7.4531312566250563e-004
+ 0.5613427758216858
+ 0.3845331966876984
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 8 2 -1.
+ <_>0 4 4 1 2.
+ <_>4 5 4 1 2.
+ 0
+ 8.0041000619530678e-003
+ 1
+ 0.7759842276573181
+ <_>
+
+
+
+ <_>1 3 3 5 -1.
+ <_>2 3 1 5 3.
+ 0
+ 5.8110528625547886e-003
+ 0.4624733030796051
+ 0.6286277174949646
+ <_>
+
+ <_>
+
+
+
+ <_>16 3 4 6 -1.
+ <_>16 5 4 2 3.
+ 0
+ -0.0279185809195042
+ 0.2409314066171646
+ 1
+ <_>
+
+
+
+ <_>8 6 4 3 -1.
+ <_>8 7 4 1 3.
+ 0
+ 2.1739399526268244e-003
+ 0.5345504879951477
+ 0.3507958054542542
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 1 3 -1.
+ <_>8 15 1 1 3.
+ 0
+ -4.0639587678015232e-003
+ 0.6647101044654846
+ 1
+ <_>
+
+
+
+ <_>4 11 1 2 -1.
+ <_>4 12 1 1 2.
+ 0
+ 6.0017139185220003e-004
+ 0.4998509883880615
+ 0.3022165000438690
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 6 3 -1.
+ <_>8 15 6 1 3.
+ 0
+ 1.9214770291000605e-003
+ 1
+ 0.5919150710105896
+ <_>
+
+
+
+ <_>7 15 7 3 -1.
+ <_>7 16 7 1 3.
+ 0
+ -0.0138608301058412
+ 0.6351767778396606
+ 0.4993310868740082
+ <_>
+
+ <_>
+
+
+
+ <_>9 12 2 8 -1.
+ <_>9 16 2 4 2.
+ 0
+ 0.0230068508535624
+ 1
+ 0.1902336031198502
+ <_>
+
+
+
+ <_>4 6 6 2 -1.
+ <_>6 6 2 2 3.
+ 0
+ -1.3857929734513164e-003
+ 0.5253369212150574
+ 0.3985860049724579
+ <_>
+
+ <_>
+
+
+
+ <_>12 7 4 2 -1.
+ <_>12 8 4 1 2.
+ 0
+ 1.2637410545721650e-003
+ 0.4666104018688202
+ 1
+ <_>
+
+
+
+ <_>5 3 13 10 -1.
+ <_>5 8 13 5 2.
+ 0
+ -0.0146752102300525
+ 0.3823164999485016
+ 0.5326632857322693
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 4 2 -1.
+ <_>4 8 4 1 2.
+ 0
+ -2.9535070061683655e-003
+ 0.7063655853271484
+ 1
+ <_>
+
+
+
+ <_>0 8 16 2 -1.
+ <_>0 8 8 1 2.
+ <_>8 9 8 1 2.
+ 0
+ -1.7189770005643368e-003
+ 0.3813462853431702
+ 0.5246735215187073
+ <_>
+
+ <_>
+
+
+
+ <_>11 8 2 5 -1.
+ <_>11 8 1 5 2.
+ 0
+ -4.2484089499339461e-004
+ 1
+ 0.4791638851165772
+ <_>
+
+
+
+ <_>10 0 6 13 -1.
+ <_>10 0 3 13 2.
+ 0
+ -8.5248658433556557e-004
+ 0.4491218030452728
+ 0.5370901226997376
+ <_>
+
+ <_>
+
+
+
+ <_>1 6 4 2 -1.
+ <_>1 7 4 1 2.
+ 0
+ 8.9034568518400192e-003
+ 1
+ 0.2076473981142044
+ <_>
+
+
+
+ <_>4 3 2 1 -1.
+ <_>5 3 1 1 2.
+ 0
+ 1.4895649655954912e-005
+ 0.4447635114192963
+ 0.5667163133621216
+ <_>
+
+ <_>
+
+
+
+ <_>11 8 2 5 -1.
+ <_>11 8 1 5 2.
+ 0
+ -4.7091601300053298e-004
+ 0.5465071201324463
+ 1
+ <_>
+
+
+
+ <_>12 10 4 8 -1.
+ <_>12 10 2 8 2.
+ 0
+ 4.3084810022264719e-004
+ 0.5493261814117432
+ 0.4580708146095276
+ <_>
+
+ <_>
+
+
+
+ <_>7 8 2 5 -1.
+ <_>8 8 1 5 2.
+ 0
+ -6.3893961487337947e-004
+ 0.5501571893692017
+ 1
+ <_>
+
+
+
+ <_>4 10 4 8 -1.
+ <_>6 10 2 8 2.
+ 0
+ -7.3733746830839664e-005
+ 0.5085790753364563
+ 0.3305698037147522
+ <_>
+
+ <_>
+
+
+
+ <_>6 7 9 12 -1.
+ <_>9 7 3 12 3.
+ 0
+ -8.8991485536098480e-003
+ 0.4276469051837921
+ 1
+ <_>
+
+
+
+ <_>11 13 2 3 -1.
+ <_>11 13 1 3 2.
+ 0
+ -0.0102533502504230
+ 0.1123218014836311
+ 0.5152723193168640
+ <_>
+
+ <_>
+
+
+
+ <_>7 10 6 10 -1.
+ <_>10 10 3 10 2.
+ 0
+ -0.0596374906599522
+ 0.7386772036552429
+ 1
+ <_>
+
+
+
+ <_>8 11 4 8 -1.
+ <_>8 11 2 4 2.
+ <_>10 15 2 4 2.
+ 0
+ 0.0217071995139122
+ 0.4996291995048523
+ 0.1339413970708847
+ <_>
+
+ <_>
+
+
+
+ <_>16 1 4 11 -1.
+ <_>16 1 2 11 2.
+ 0
+ 9.9107045680284500e-003
+ 0.4679012000560761
+ 1
+ <_>
+
+
+
+ <_>18 2 2 4 -1.
+ <_>18 2 1 4 2.
+ 0
+ -0.0109983002766967
+ 0.6928656101226807
+ 0.5012068152427673
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 6 2 -1.
+ <_>5 6 3 1 2.
+ <_>8 7 3 1 2.
+ 0
+ 7.4608891736716032e-004
+ 1
+ 0.5833582282066345
+ <_>
+
+
+
+ <_>5 4 1 3 -1.
+ <_>5 5 1 1 3.
+ 0
+ 2.9539171373471618e-004
+ 0.3826391100883484
+ 0.5566350817680359
+ <_>
+
+ <_>
+
+
+
+ <_>11 1 4 14 -1.
+ <_>11 1 2 14 2.
+ 0
+ 0.0500541292130947
+ 1
+ 0.3002721071243286
+ <_>
+
+
+
+ <_>4 2 12 3 -1.
+ <_>8 2 4 3 3.
+ 0
+ -7.2330660186707973e-003
+ 0.5908042788505554
+ 0.5000870823860169
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 4 14 -1.
+ <_>7 1 2 14 2.
+ 0
+ -2.6863380335271358e-003
+ 0.3975034952163696
+ 1
+ <_>
+
+
+
+ <_>7 3 6 2 -1.
+ <_>9 3 2 2 3.
+ 0
+ -1.0195849463343620e-003
+ 0.3697685897350311
+ 0.5756192803382874
+ <_>
+
+ <_>
+
+
+
+ <_>2 0 18 4 -1.
+ <_>8 0 6 4 3.
+ 0
+ -0.0202049203217030
+ 0.6375268101692200
+ 1
+ <_>
+
+
+
+ <_>9 5 2 10 -1.
+ <_>9 10 2 5 2.
+ 0
+ 2.1340379025787115e-003
+ 0.5363265872001648
+ 0.4433170855045319
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 3 4 -1.
+ <_>9 6 1 4 3.
+ 0
+ -1.8348889425396919e-003
+ 0.5828999280929565
+ 1
+ <_>
+
+
+
+ <_>5 5 9 11 -1.
+ <_>8 5 3 11 3.
+ 0
+ -5.9489468112587929e-003
+ 0.2680670917034149
+ 0.4642885923385620
+ <_>
+
+ <_>
+
+
+
+ <_>10 6 3 5 -1.
+ <_>11 6 1 5 3.
+ 0
+ -2.3030120064504445e-004
+ 0.5475320219993591
+ 1
+ <_>
+
+
+
+ <_>8 9 6 5 -1.
+ <_>8 9 3 5 2.
+ 0
+ 5.0581009127199650e-003
+ 0.5320833921432495
+ 0.4646492898464203
+ <_>
+
+ <_>
+
+
+
+ <_>7 6 3 5 -1.
+ <_>8 6 1 5 3.
+ 0
+ -5.1950011402368546e-004
+ 0.5232744812965393
+ 1
+ <_>
+
+
+
+ <_>6 10 6 3 -1.
+ <_>9 10 3 3 2.
+ 0
+ -6.8620947422459722e-004
+ 0.4935086071491242
+ 0.3103117942810059
+ <_>
+
+ <_>
+
+
+
+ <_>10 0 3 7 -1.
+ <_>11 0 1 7 3.
+ 0
+ -7.4936267919838428e-003
+ 0.2883046865463257
+ 1
+ <_>
+
+
+
+ <_>0 3 20 12 -1.
+ <_>0 9 20 6 2.
+ 0
+ -0.0156829301267862
+ 0.3640313148498535
+ 0.5368754863739014
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ -3.2649750355631113e-003
+ 0.6468631029129028
+ 1
+ <_>
+
+
+
+ <_>5 9 4 1 -1.
+ <_>7 9 2 1 2.
+ 0
+ 3.8463930832222104e-004
+ 0.5259659886360169
+ 0.3831427991390228
+ <_>
+
+ <_>
+
+
+
+ <_>13 13 3 2 -1.
+ <_>13 14 3 1 2.
+ 0
+ 4.4492390006780624e-003
+ 1
+ 0.2086818963289261
+ <_>
+
+
+
+ <_>16 9 4 6 -1.
+ <_>16 9 2 6 2.
+ 0
+ 0.0231183208525181
+ 0.4978533089160919
+ 0.5961257219314575
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 6 3 -1.
+ <_>7 16 6 1 3.
+ 0
+ 2.0835159812122583e-003
+ 1
+ 0.5746421813964844
+ <_>
+
+
+
+ <_>6 16 7 3 -1.
+ <_>6 17 7 1 3.
+ 0
+ 1.1513150529935956e-003
+ 0.3586845099925995
+ 0.5363473892211914
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 9 6 -1.
+ <_>11 16 9 2 3.
+ 0
+ 0.0361047089099884
+ 1
+ 0.2833136916160584
+ <_>
+
+
+
+ <_>19 14 1 3 -1.
+ <_>19 15 1 1 3.
+ 0
+ 3.6256198654882610e-004
+ 0.5477722287178040
+ 0.4110532104969025
+ <_>
+
+ <_>
+
+
+
+ <_>0 9 6 6 -1.
+ <_>3 9 3 6 2.
+ 0
+ -3.4635469783097506e-003
+ 0.5990386009216309
+ 1
+ <_>
+
+
+
+ <_>0 19 9 1 -1.
+ <_>3 19 3 1 3.
+ 0
+ -2.8796829283237457e-003
+ 0.5725253224372864
+ 0.4149512052536011
+ <_>
+
+ <_>
+
+
+
+ <_>11 14 9 6 -1.
+ <_>11 16 9 2 3.
+ 0
+ -8.1119500100612640e-003
+ 1
+ 0.5396351814270020
+ <_>
+
+
+
+ <_>12 12 6 6 -1.
+ <_>12 14 6 2 3.
+ 0
+ 4.5932079665362835e-003
+ 0.5379704236984253
+ 0.3891302943229675
+ <_>
+
+ <_>
+
+
+
+ <_>1 14 8 6 -1.
+ <_>1 16 8 2 3.
+ 0
+ 7.0014740340411663e-003
+ 1
+ 0.3714671134948731
+ <_>
+
+
+
+ <_>8 1 3 2 -1.
+ <_>9 1 1 2 3.
+ 0
+ 8.0169539432972670e-004
+ 0.5529567003250122
+ 0.3755804896354675
+ <_>
+
+ <_>
+
+
+
+ <_>18 2 2 4 -1.
+ <_>18 2 1 4 2.
+ 0
+ -8.6652329191565514e-003
+ 1
+ 0.5025773048400879
+ <_>
+
+
+
+ <_>14 0 6 3 -1.
+ <_>16 0 2 3 3.
+ 0
+ -2.7315050829201937e-003
+ 0.5850322246551514
+ 0.4617573916912079
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 2 4 -1.
+ <_>1 2 1 4 2.
+ 0
+ 1.3301590224727988e-003
+ 1
+ 0.5937700867652893
+ <_>
+
+
+
+ <_>0 0 6 3 -1.
+ <_>2 0 2 3 3.
+ 0
+ -4.2648240923881531e-003
+ 0.5645368099212647
+ 0.3937624990940094
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 3 2 -1.
+ <_>10 0 1 2 3.
+ 0
+ 6.3251499086618423e-003
+ 0.5182105898857117
+ 1
+ <_>
+
+
+
+ <_>12 1 2 2 -1.
+ <_>12 1 1 2 2.
+ 0
+ -3.0753740575164557e-003
+ 0.3007416129112244
+ 0.5196403861045837
+ <_>
+
+ <_>
+
+
+
+ <_>8 0 3 2 -1.
+ <_>9 0 1 2 3.
+ 0
+ -7.3622138006612659e-004
+ 0.3697580099105835
+ 1
+ <_>
+
+
+
+ <_>6 1 2 2 -1.
+ <_>7 1 1 2 2.
+ 0
+ 3.0082479497650638e-005
+ 0.4327593147754669
+ 0.5715808868408203
+ <_>
+
+ <_>
+
+
+
+ <_>10 8 2 3 -1.
+ <_>10 9 2 1 3.
+ 0
+ -3.8722730241715908e-003
+ 0.3473713099956513
+ 1
+ <_>
+
+
+
+ <_>13 15 6 2 -1.
+ <_>13 16 6 1 2.
+ 0
+ 6.2879058532416821e-004
+ 0.5438259243965149
+ 0.4453906118869782
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 2 2 -1.
+ <_>8 12 1 1 2.
+ <_>9 13 1 1 2.
+ 0
+ 1.3411579420790076e-003
+ 1
+ 0.6511713862419128
+ <_>
+
+
+
+ <_>8 15 3 5 -1.
+ <_>9 15 1 5 3.
+ 0
+ -8.3681922405958176e-003
+ 0.1443295031785965
+ 0.4888199865818024
+ <_>
+
+ <_>
+
+
+
+ <_>8 6 4 12 -1.
+ <_>8 12 4 6 2.
+ 0
+ 9.3305751215666533e-004
+ 1
+ 0.3951109051704407
+ <_>
+
+
+
+ <_>7 6 7 8 -1.
+ <_>7 10 7 4 2.
+ 0
+ -1.0746510233730078e-003
+ 0.3910265862941742
+ 0.5349503755569458
+ <_>
+
+ <_>
+
+
+
+ <_>0 11 8 2 -1.
+ <_>0 12 8 1 2.
+ 0
+ -0.0186100509017706
+ 0.1275743991136551
+ 1
+ <_>
+
+
+
+ <_>8 11 2 2 -1.
+ <_>8 11 1 1 2.
+ <_>9 12 1 1 2.
+ 0
+ 1.3651419430971146e-003
+ 0.5038288831710815
+ 0.6951304078102112
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 12 1 -1.
+ <_>11 7 4 1 3.
+ 0
+ 7.3744421824812889e-003
+ 0.5253443121910095
+ 1
+ <_>
+
+
+
+ <_>10 8 3 2 -1.
+ <_>11 8 1 2 3.
+ 0
+ 8.4163323044776917e-003
+ 0.5011243820190430
+ 0.7311332821846008
+ <_>
+
+ <_>
+
+
+
+ <_>1 7 12 1 -1.
+ <_>5 7 4 1 3.
+ 0
+ 5.1413988694548607e-003
+ 0.4953536093235016
+ 1
+ <_>
+
+
+
+ <_>6 5 8 2 -1.
+ <_>6 5 4 1 2.
+ <_>10 6 4 1 2.
+ 0
+ 4.5847031287848949e-003
+ 0.2535555958747864
+ 0.6462442874908447
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 3 10 -1.
+ <_>10 10 1 10 3.
+ 0
+ 0.0285652391612530
+ 1
+ 0.2330722063779831
+ <_>
+
+
+
+ <_>16 0 2 4 -1.
+ <_>16 0 1 4 2.
+ 0
+ 4.3958800961263478e-004
+ 0.4702244102954865
+ 0.5544549226760864
+ <_>
+
+ <_>
+
+
+
+ <_>8 10 3 10 -1.
+ <_>9 10 1 10 3.
+ 0
+ 0.0314594581723213
+ 1
+ 0.0336896888911724
+ <_>
+
+
+
+ <_>9 10 2 3 -1.
+ <_>9 11 2 1 3.
+ 0
+ 5.6011630222201347e-003
+ 0.4787121117115021
+ 0.6338351964950562
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 4 2 -1.
+ <_>10 9 2 1 2.
+ <_>8 10 2 1 2.
+ 0
+ 7.1835669223219156e-004
+ 0.5431486964225769
+ 1
+ <_>
+
+
+
+ <_>12 14 7 6 -1.
+ <_>12 16 7 2 3.
+ 0
+ -5.5303089320659637e-003
+ 0.4105832874774933
+ 0.5403990745544434
+ <_>
+
+ <_>
+
+
+
+ <_>6 1 3 1 -1.
+ <_>7 1 1 1 3.
+ 0
+ 1.4129279879853129e-003
+ 1
+ 0.3105539977550507
+ <_>
+
+
+
+ <_>2 0 2 4 -1.
+ <_>3 0 1 4 2.
+ 0
+ 2.5530709535814822e-004
+ 0.4254471957683563
+ 0.5447154045104981
+ <_>
+
+ <_>
+
+
+
+ <_>11 11 2 2 -1.
+ <_>12 11 1 1 2.
+ <_>11 12 1 1 2.
+ 0
+ 3.1966410460881889e-004
+ 1
+ 0.6118361949920654
+ <_>
+
+
+
+ <_>12 12 6 6 -1.
+ <_>12 14 6 2 3.
+ 0
+ 5.0411392003297806e-003
+ 0.5290042161941528
+ 0.4224787056446075
+ <_>
+
+ <_>
+
+
+
+ <_>1 0 6 10 -1.
+ <_>1 0 3 5 2.
+ <_>4 5 3 5 2.
+ 0
+ 7.7617880888283253e-003
+ 0.4315345883369446
+ 1
+ <_>
+
+
+
+ <_>3 0 2 9 -1.
+ <_>3 3 2 3 3.
+ 0
+ 2.9374631121754646e-003
+ 0.6629263162612915
+ 0.3028964996337891
+ <_>
+
+ <_>
+
+
+
+ <_>14 13 3 2 -1.
+ <_>14 14 3 1 2.
+ 0
+ -1.6497720498591661e-003
+ 1
+ 0.5491852760314941
+ <_>
+
+
+
+ <_>15 2 3 2 -1.
+ <_>15 3 3 1 2.
+ 0
+ -5.8834417723119259e-003
+ 0.3188554048538208
+ 0.5184289216995239
+ <_>
+
+ <_>
+
+
+
+ <_>2 13 5 2 -1.
+ <_>2 14 5 1 2.
+ 0
+ 8.7459187489002943e-004
+ 1
+ 0.3328830897808075
+ <_>
+
+
+
+ <_>3 4 12 10 -1.
+ <_>3 4 6 5 2.
+ <_>9 9 6 5 2.
+ 0
+ -0.0153087796643376
+ 0.3923608064651489
+ 0.5235139131546021
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 14 6 -1.
+ <_>5 3 14 2 3.
+ 0
+ 0.0322924517095089
+ 1
+ 0.5977646708488464
+ <_>
+
+
+
+ <_>15 3 3 2 -1.
+ <_>15 4 3 1 2.
+ 0
+ -4.3842519517056644e-004
+ 0.4541687965393066
+ 0.5369428992271423
+ <_>
+
+ <_>
+
+
+
+ <_>7 11 2 2 -1.
+ <_>7 11 1 1 2.
+ <_>8 12 1 1 2.
+ 0
+ 1.5429529594257474e-003
+ 1
+ 0.6318141222000122
+ <_>
+
+
+
+ <_>2 14 6 6 -1.
+ <_>2 16 6 2 3.
+ 0
+ -2.4733028840273619e-003
+ 0.3490633070468903
+ 0.4759024977684021
+ <_>
+
+ <_>
+
+
+
+ <_>6 13 8 3 -1.
+ <_>6 14 8 1 3.
+ 0
+ 2.0994939841330051e-003
+ 1
+ 0.5887197852134705
+ <_>
+
+
+
+ <_>1 19 18 1 -1.
+ <_>7 19 6 1 3.
+ 0
+ -5.7541108690202236e-003
+ 0.5961331725120544
+ 0.4841983020305634
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 1 6 -1.
+ <_>8 15 1 3 2.
+ 0
+ -0.0102331303060055
+ 0.1705404072999954
+ 1
+ <_>
+
+
+
+ <_>0 0 14 15 -1.
+ <_>0 5 14 5 3.
+ 0
+ 0.2255450934171677
+ 0.4779379963874817
+ 0.0978796631097794
+ <_>
+
+ <_>
+
+
+
+ <_>3 0 16 8 -1.
+ <_>3 4 16 4 2.
+ 0
+ 0.0296665597707033
+ 1
+ 0.5822224020957947
+ <_>
+
+
+
+ <_>6 1 8 12 -1.
+ <_>6 7 8 6 2.
+ 0
+ -2.8518449980765581e-003
+ 0.5459626913070679
+ 0.4610066115856171
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 3 3 -1.
+ <_>6 3 1 3 3.
+ 0
+ 9.7465328872203827e-004
+ 1
+ 0.3670322895050049
+ <_>
+
+
+
+ <_>5 1 3 4 -1.
+ <_>6 1 1 4 3.
+ 0
+ 1.4044740055396687e-005
+ 0.4302386045455933
+ 0.5691710710525513
+ <_>
+
+ <_>
+
+
+
+ <_>15 14 4 6 -1.
+ <_>17 14 2 3 2.
+ <_>15 17 2 3 2.
+ 0
+ -0.0175794307142496
+ 0.6917321085929871
+ 1
+ <_>
+
+
+
+ <_>12 11 6 8 -1.
+ <_>15 11 3 4 2.
+ <_>12 15 3 4 2.
+ 0
+ -0.0523816794157028
+ 0.7110040187835693
+ 0.5060154795646668
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 2 4 -1.
+ <_>9 7 1 4 2.
+ 0
+ -0.0112421102821827
+ 0.8769189119338989
+ 1
+ <_>
+
+
+
+ <_>6 11 3 1 -1.
+ <_>7 11 1 1 3.
+ 0
+ -3.6728400737047195e-003
+ 0.6519191861152649
+ 0.4546068906784058
+ <_>
+
+ <_>
+
+
+
+ <_>12 3 2 14 -1.
+ <_>12 3 1 14 2.
+ 0
+ 3.5082760732620955e-003
+ 0.5329865813255310
+ 1
+ <_>
+
+
+
+ <_>12 11 6 2 -1.
+ <_>15 11 3 1 2.
+ <_>12 12 3 1 2.
+ 0
+ 6.1679710634052753e-003
+ 0.5220459103584290
+ 0.2953518927097321
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 5 2 -1.
+ <_>0 3 5 1 2.
+ 0
+ -9.7009900491684675e-004
+ 1
+ 0.5048633217811585
+ <_>
+
+
+
+ <_>0 0 15 1 -1.
+ <_>5 0 5 1 3.
+ 0
+ -0.0109570100903511
+ 0.5837358236312866
+ 0.3020085990428925
+ <_>
+
+ <_>
+
+
+
+ <_>12 11 6 2 -1.
+ <_>15 11 3 1 2.
+ <_>12 12 3 1 2.
+ 0
+ -8.3272513002157211e-003
+ 0.3158063888549805
+ 1
+ <_>
+
+
+
+ <_>10 5 2 2 -1.
+ <_>10 5 1 2 2.
+ 0
+ 2.9798380637657829e-005
+ 0.4386389851570129
+ 0.5443211197853088
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ 2.8244039276614785e-004
+ 1
+ 0.5625395774841309
+ <_>
+
+
+
+ <_>9 0 2 10 -1.
+ <_>9 0 1 5 2.
+ <_>10 5 1 5 2.
+ 0
+ -8.1364117795601487e-004
+ 0.5281198024749756
+ 0.3401407897472382
+ <_>
+
+ <_>
+
+
+
+ <_>18 14 2 2 -1.
+ <_>18 15 2 1 2.
+ 0
+ 1.8008040497079492e-003
+ 1
+ 0.3471659123897553
+ <_>
+
+
+
+ <_>13 11 4 9 -1.
+ <_>13 14 4 3 3.
+ 0
+ -6.9944779388606548e-003
+ 0.4481697082519531
+ 0.5385770201683044
+ <_>
+
+ <_>
+
+
+
+ <_>8 13 2 2 -1.
+ <_>8 13 1 1 2.
+ <_>9 14 1 1 2.
+ 0
+ 4.5625398342963308e-005
+ 0.4492512941360474
+ 1
+ <_>
+
+
+
+ <_>7 8 4 3 -1.
+ <_>7 9 4 1 3.
+ 0
+ -7.3189922841265798e-004
+ 0.4167312085628510
+ 0.6021102070808411
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 4 2 -1.
+ <_>8 10 4 1 2.
+ 0
+ -2.9980219551362097e-004
+ 0.4148428142070770
+ 1
+ <_>
+
+
+
+ <_>13 12 4 2 -1.
+ <_>13 13 4 1 2.
+ 0
+ -2.9060940505587496e-005
+ 0.5592089891433716
+ 0.4073210954666138
+ <_>
+
+ <_>
+
+
+
+ <_>6 14 2 2 -1.
+ <_>6 14 1 1 2.
+ <_>7 15 1 1 2.
+ 0
+ -5.9742690064013004e-004
+ 0.6088914275169373
+ 1
+ <_>
+
+
+
+ <_>0 14 2 2 -1.
+ <_>0 15 2 1 2.
+ 0
+ 1.4831830048933625e-004
+ 0.5298305153846741
+ 0.3761950135231018
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -2.9441029764711857e-003
+ 1
+ 0.4716084897518158
+ <_>
+
+
+
+ <_>7 9 10 6 -1.
+ <_>7 11 10 2 3.
+ 0
+ 0.1374121010303497
+ 0.5101336836814880
+ 0.0467468015849590
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 12 4 -1.
+ <_>6 9 4 4 3.
+ 0
+ -0.0884141772985458
+ 0.1181868985295296
+ 1
+ <_>
+
+
+
+ <_>7 9 6 11 -1.
+ <_>10 9 3 11 2.
+ 0
+ 0.0706102773547173
+ 0.5119063258171082
+ 0.7778441905975342
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 8 2 1 3.
+ 0
+ -7.7188978902995586e-003
+ 0.1874134987592697
+ 1
+ <_>
+
+
+
+ <_>9 14 4 3 -1.
+ <_>9 15 4 1 3.
+ 0
+ 0.0151153998449445
+ 0.4980027973651886
+ 0.7005817890167236
+ <_>
+
+ <_>
+
+
+
+ <_>2 3 3 17 -1.
+ <_>3 3 1 17 3.
+ 0
+ 1.0671879863366485e-003
+ 0.4482238888740540
+ 1
+ <_>
+
+
+
+ <_>0 11 6 3 -1.
+ <_>0 12 6 1 3.
+ 0
+ 7.0487911580130458e-004
+ 0.6265752911567688
+ 0.4402655065059662
+ 47.7634506225585940
+ 16
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>4 3 11 9 -1.
+ <_>4 6 11 3 3.
+ 0
+ -0.0986907333135605
+ 1
+ 0.3999474942684174
+ <_>
+
+
+
+ <_>0 2 6 11 -1.
+ <_>3 2 3 11 2.
+ 0
+ 0.0623734183609486
+ 0.5247784852981567
+ 0.8193575739860535
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 4 5 -1.
+ <_>13 0 2 5 2.
+ 0
+ 1.9496519817039371e-003
+ 0.3529816865921021
+ 1
+ <_>
+
+
+
+ <_>9 7 6 4 -1.
+ <_>12 7 3 2 2.
+ <_>9 9 3 2 2.
+ 0
+ -8.9139147894456983e-004
+ 0.5852727890014648
+ 0.3245978057384491
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 8 2 -1.
+ <_>9 7 4 2 2.
+ 0
+ -5.5150408297777176e-004
+ 0.3892816901206970
+ 1
+ <_>
+
+
+
+ <_>1 8 15 1 -1.
+ <_>6 8 5 1 3.
+ 0
+ -1.1721949558705091e-003
+ 0.4335052073001862
+ 0.6520624160766602
+ <_>
+
+ <_>
+
+
+
+ <_>4 12 12 2 -1.
+ <_>8 12 4 2 3.
+ 0
+ -7.4480642797425389e-004
+ 1
+ 0.4041135013103485
+ <_>
+
+
+
+ <_>13 0 4 10 -1.
+ <_>15 0 2 5 2.
+ <_>13 5 2 5 2.
+ 0
+ -2.6264840271323919e-003
+ 0.5624982118606567
+ 0.3967525064945221
+ <_>
+
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ -3.9712688885629177e-004
+ 0.3856112062931061
+ 1
+ <_>
+
+
+
+ <_>3 9 6 2 -1.
+ <_>6 9 3 2 2.
+ 0
+ 3.5984949208796024e-003
+ 0.5997889041900635
+ 0.4241614043712616
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 4 3 -1.
+ <_>8 18 4 1 3.
+ 0
+ 5.3080618381500244e-003
+ 1
+ 0.6660168766975403
+ <_>
+
+
+
+ <_>8 3 9 2 -1.
+ <_>11 3 3 2 3.
+ 0
+ 9.6319877775385976e-004
+ 0.4481379091739655
+ 0.5583487749099731
+ <_>
+
+ <_>
+
+
+
+ <_>3 3 9 2 -1.
+ <_>6 3 3 2 3.
+ 0
+ 5.0776469288393855e-004
+ 0.3535459041595459
+ 1
+ <_>
+
+
+
+ <_>5 0 9 14 -1.
+ <_>8 0 3 14 3.
+ 0
+ 3.6223160568624735e-003
+ 0.3409807085990906
+ 0.5420687794685364
+ <_>
+
+ <_>
+
+
+
+ <_>7 3 7 10 -1.
+ <_>7 8 7 5 2.
+ 0
+ -0.0620614103972912
+ 0.1934083998203278
+ 1
+ <_>
+
+
+
+ <_>4 8 13 3 -1.
+ <_>4 9 13 1 3.
+ 0
+ 6.4387189922854304e-004
+ 0.4083626866340637
+ 0.5490221977233887
+ <_>
+
+ <_>
+
+
+
+ <_>3 12 14 4 -1.
+ <_>3 12 7 2 2.
+ <_>10 14 7 2 2.
+ 0
+ 0.0262399092316628
+ 1
+ 0.2285708039999008
+ <_>
+
+
+
+ <_>8 12 4 2 -1.
+ <_>8 13 4 1 2.
+ 0
+ 8.1940297968685627e-004
+ 0.4648667871952057
+ 0.6017355918884277
+ <_>
+
+ <_>
+
+
+
+ <_>6 10 9 8 -1.
+ <_>6 14 9 4 2.
+ 0
+ 2.3833119485061616e-004
+ 1
+ 0.3598038852214813
+ <_>
+
+
+
+ <_>9 12 2 8 -1.
+ <_>9 16 2 4 2.
+ 0
+ -1.5869759954512119e-003
+ 0.4259651005268097
+ 0.5476434826850891
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 3 3 -1.
+ <_>8 13 3 1 3.
+ 0
+ -6.7263417877256870e-003
+ 0.6507238149642944
+ 1
+ <_>
+
+
+
+ <_>5 5 4 10 -1.
+ <_>7 5 2 10 2.
+ 0
+ 0.0110061103478074
+ 0.5149409770965576
+ 0.3362984955310822
+ <_>
+
+ <_>
+
+
+
+ <_>14 15 3 3 -1.
+ <_>14 16 3 1 3.
+ 0
+ 7.1445819921791553e-003
+ 1
+ 0.2672930061817169
+ <_>
+
+
+
+ <_>4 6 13 3 -1.
+ <_>4 7 13 1 3.
+ 0
+ -4.7233798541128635e-003
+ 0.5652182102203369
+ 0.4298144876956940
+ <_>
+
+ <_>
+
+
+
+ <_>3 15 3 3 -1.
+ <_>3 16 3 1 3.
+ 0
+ 9.8437406122684479e-003
+ 1
+ 0.1151885986328125
+ <_>
+
+
+
+ <_>3 9 4 2 -1.
+ <_>3 9 2 1 2.
+ <_>5 10 2 1 2.
+ 0
+ 1.5124640412977897e-005
+ 0.4373598098754883
+ 0.5612128973007202
+ <_>
+
+ <_>
+
+
+
+ <_>0 11 20 4 -1.
+ <_>10 11 10 2 2.
+ <_>0 13 10 2 2.
+ 0
+ 0.0399088710546494
+ 0.5204648971557617
+ 1
+ <_>
+
+
+
+ <_>8 15 4 3 -1.
+ <_>8 16 4 1 3.
+ 0
+ 5.3903679363429546e-003
+ 0.4813467860221863
+ 0.6361209154129028
+ <_>
+
+ <_>
+
+
+
+ <_>0 11 20 4 -1.
+ <_>0 11 10 2 2.
+ <_>10 13 10 2 2.
+ 0
+ -0.0399088710546494
+ 0.1506870985031128
+ 1
+ <_>
+
+
+
+ <_>8 15 4 3 -1.
+ <_>8 16 4 1 3.
+ 0
+ 5.3903679363429546e-003
+ 0.4581694900989533
+ 0.6200240850448608
+ <_>
+
+ <_>
+
+
+
+ <_>10 13 1 6 -1.
+ <_>10 16 1 3 2.
+ 0
+ 6.7005190066993237e-003
+ 1
+ 0.3432235121726990
+ <_>
+
+
+
+ <_>2 1 18 2 -1.
+ <_>11 1 9 1 2.
+ <_>2 2 9 1 2.
+ 0
+ -0.0126237897202373
+ 0.3088226914405823
+ 0.5226737856864929
+ <_>
+
+ <_>
+
+
+
+ <_>8 14 3 3 -1.
+ <_>8 15 3 1 3.
+ 0
+ 0.0118066100403667
+ 1
+ 0.7187939286231995
+ <_>
+
+
+
+ <_>4 1 6 1 -1.
+ <_>6 1 2 1 3.
+ 0
+ -3.4257229417562485e-003
+ 0.3120814859867096
+ 0.5065844058990479
+ <_>
+
+ <_>
+
+
+
+ <_>11 13 1 3 -1.
+ <_>11 14 1 1 3.
+ 0
+ 3.9385299896821380e-004
+ 0.4754584133625031
+ 1
+ <_>
+
+
+
+ <_>13 5 2 12 -1.
+ <_>13 11 2 6 2.
+ 0
+ 0.0343881882727146
+ 0.5261657834053040
+ 0.3350174129009247
+ <_>
+
+ <_>
+
+
+
+ <_>1 14 18 6 -1.
+ <_>1 16 18 2 3.
+ 0
+ -0.0750099867582321
+ 0.1713480949401856
+ 1
+ <_>
+
+
+
+ <_>8 13 1 3 -1.
+ <_>8 14 1 1 3.
+ 0
+ 4.9022492021322250e-004
+ 0.4725801944732666
+ 0.5956469178199768
+ <_>
+
+ <_>
+
+
+
+ <_>7 13 6 3 -1.
+ <_>7 14 6 1 3.
+ 0
+ -8.5525289177894592e-003
+ 0.6558222770690918
+ 1
+ <_>
+
+
+
+ <_>9 10 3 2 -1.
+ <_>9 11 3 1 2.
+ 0
+ 1.3135520566720515e-004
+ 0.4835400879383087
+ 0.5586913824081421
+ <_>
+
+ <_>
+
+
+
+ <_>5 1 3 3 -1.
+ <_>6 1 1 3 3.
+ 0
+ 4.7948658466339111e-003
+ 1
+ 0.2645705938339233
+ <_>
+
+
+
+ <_>5 5 6 5 -1.
+ <_>8 5 3 5 2.
+ 0
+ 2.0124691072851419e-003
+ 0.3657945096492767
+ 0.5124772191047669
+ <_>
+
+ <_>
+
+
+
+ <_>7 5 6 14 -1.
+ <_>7 12 6 7 2.
+ 0
+ -0.1178547963500023
+ 0.2385654002428055
+ 1
+ <_>
+
+
+
+ <_>7 16 6 2 -1.
+ <_>9 16 2 2 3.
+ 0
+ 1.5575019642710686e-003
+ 0.5490474104881287
+ 0.4274747967720032
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 2 12 -1.
+ <_>1 2 1 12 2.
+ 0
+ -0.0155737595632672
+ 0.6938900947570801
+ 1
+ <_>
+
+
+
+ <_>1 0 5 3 -1.
+ <_>1 1 5 1 3.
+ 0
+ -2.1854790393263102e-003
+ 0.3645988106727600
+ 0.5092526078224182
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ 2.9272339306771755e-003
+ 0.4685808122158051
+ 1
+ <_>
+
+
+
+ <_>12 6 3 3 -1.
+ <_>12 7 3 1 3.
+ 0
+ 6.4663668163120747e-003
+ 0.4973410069942474
+ 0.7726097106933594
+ <_>
+
+ <_>
+
+
+
+ <_>5 4 3 3 -1.
+ <_>5 5 3 1 3.
+ 0
+ -7.6140360906720161e-003
+ 0.6877465844154358
+ 1
+ <_>
+
+
+
+ <_>5 6 3 3 -1.
+ <_>5 7 3 1 3.
+ 0
+ 4.1512572206556797e-003
+ 0.4788525104522705
+ 0.6921657919883728
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 4 8 -1.
+ <_>10 12 2 4 2.
+ <_>8 16 2 4 2.
+ 0
+ 2.7711640577763319e-003
+ 0.5481839776039124
+ 1
+ <_>
+
+
+
+ <_>2 17 18 2 -1.
+ <_>11 17 9 1 2.
+ <_>2 18 9 1 2.
+ 0
+ -0.0128361098468304
+ 0.3800162971019745
+ 0.5204492807388306
+ <_>
+
+ <_>
+
+
+
+ <_>9 3 2 2 -1.
+ <_>9 4 2 1 2.
+ 0
+ -2.4380050599575043e-003
+ 0.2582435011863709
+ 1
+ <_>
+
+
+
+ <_>8 5 4 6 -1.
+ <_>8 7 4 2 3.
+ 0
+ 2.1713329479098320e-003
+ 0.4961163103580475
+ 0.3215202987194061
+ <_>
+
+ <_>
+
+
+
+ <_>9 0 8 6 -1.
+ <_>9 2 8 2 3.
+ 0
+ 6.2800728483125567e-004
+ 1
+ 0.5460423827171326
+ <_>
+
+
+
+ <_>1 0 18 4 -1.
+ <_>7 0 6 4 3.
+ 0
+ -9.7982389852404594e-003
+ 0.6046543717384338
+ 0.4939922094345093
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 4 8 -1.
+ <_>2 0 2 8 2.
+ 0
+ 7.3543828912079334e-003
+ 1
+ 0.5291094183921814
+ <_>
+
+
+
+ <_>0 4 6 9 -1.
+ <_>2 4 2 9 3.
+ 0
+ -0.0146650401875377
+ 0.5446122884750366
+ 0.3567362129688263
+ <_>
+
+ <_>
+
+
+
+ <_>1 4 18 2 -1.
+ <_>7 4 6 2 3.
+ 0
+ 0.0302445106208324
+ 0.5518329143524170
+ 1
+ <_>
+
+
+
+ <_>8 16 12 4 -1.
+ <_>14 16 6 2 2.
+ <_>8 18 6 2 2.
+ 0
+ -0.0566602088510990
+ 0.6930978894233704
+ 0.5093387961387634
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 18 2 -1.
+ <_>0 0 9 1 2.
+ <_>9 1 9 1 2.
+ 0
+ -5.6967479176819324e-003
+ 0.3201526105403900
+ 1
+ <_>
+
+
+
+ <_>3 0 3 18 -1.
+ <_>4 0 1 18 3.
+ 0
+ 0.0308067705482244
+ 0.4989246129989624
+ 0.2277054041624069
+ <_>
+
+ <_>
+
+
+
+ <_>14 9 4 7 -1.
+ <_>14 9 2 7 2.
+ 0
+ 2.2748769260942936e-003
+ 0.4810931086540222
+ 1
+ <_>
+
+
+
+ <_>15 14 2 2 -1.
+ <_>15 15 2 1 2.
+ 0
+ 2.0436900667846203e-003
+ 0.5283867120742798
+ 0.3255924880504608
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 4 7 -1.
+ <_>4 9 2 7 2.
+ 0
+ -8.6277956143021584e-003
+ 0.6266536116600037
+ 1
+ <_>
+
+
+
+ <_>3 14 2 2 -1.
+ <_>3 15 2 1 2.
+ 0
+ 6.5113382879644632e-004
+ 0.5097137093544006
+ 0.3191910088062286
+ <_>
+
+ <_>
+
+
+
+ <_>11 0 6 6 -1.
+ <_>11 2 6 2 3.
+ 0
+ 8.8188261725008488e-004
+ 0.4549585878849030
+ 1
+ <_>
+
+
+
+ <_>14 0 2 6 -1.
+ <_>15 0 1 3 2.
+ <_>14 3 1 3 2.
+ 0
+ -0.0145949097350240
+ 0.2645038962364197
+ 0.5153868198394775
+ <_>
+
+ <_>
+
+
+
+ <_>7 11 2 2 -1.
+ <_>7 11 1 1 2.
+ <_>8 12 1 1 2.
+ 0
+ -1.2304580304771662e-003
+ 0.6197584867477417
+ 1
+ <_>
+
+
+
+ <_>7 10 2 2 -1.
+ <_>8 10 1 2 2.
+ 0
+ -2.1867299801670015e-004
+ 0.5469198822975159
+ 0.4206855893135071
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 2 6 -1.
+ <_>9 17 2 3 2.
+ 0
+ -1.0909959673881531e-003
+ 0.4140760004520416
+ 1
+ <_>
+
+
+
+ <_>12 18 4 2 -1.
+ <_>12 19 4 1 2.
+ 0
+ 3.5210378700867295e-004
+ 0.5476608872413635
+ 0.4155021011829376
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 4 3 -1.
+ <_>8 18 4 1 3.
+ 0
+ -7.2563779540359974e-003
+ 0.7160469293594360
+ 1
+ <_>
+
+
+
+ <_>2 18 8 2 -1.
+ <_>2 19 8 1 2.
+ 0
+ 1.4701850013807416e-003
+ 0.5240808129310608
+ 0.3729662895202637
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 16 3 -1.
+ <_>2 10 16 1 3.
+ 0
+ 1.1472719779703766e-004
+ 0.4033798873424530
+ 1
+ <_>
+
+
+
+ <_>9 9 2 2 -1.
+ <_>9 10 2 1 2.
+ 0
+ 3.0506469774991274e-003
+ 0.5263985991477966
+ 0.3560093045234680
+ <_>
+
+ <_>
+
+
+
+ <_>5 14 2 4 -1.
+ <_>5 14 1 2 2.
+ <_>6 16 1 2 2.
+ 0
+ 2.6269949739798903e-004
+ 0.4569799900054932
+ 1
+ <_>
+
+
+
+ <_>8 9 4 2 -1.
+ <_>8 9 2 1 2.
+ <_>10 10 2 1 2.
+ 0
+ -3.6365550477057695e-003
+ 0.3042570948600769
+ 0.5868253707885742
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 5 -1.
+ <_>9 5 1 5 2.
+ 0
+ -8.4893293678760529e-003
+ 1
+ 0.4914157092571259
+ <_>
+
+
+
+ <_>9 9 3 2 -1.
+ <_>10 9 1 2 3.
+ 0
+ 5.8107408694922924e-003
+ 0.4918529987335205
+ 0.6266962885856628
+ <_>
+
+ <_>
+
+
+
+ <_>8 9 3 2 -1.
+ <_>9 9 1 2 3.
+ 0
+ 7.5583951547741890e-004
+ 1
+ 0.5633236169815064
+ <_>
+
+
+
+ <_>8 8 3 6 -1.
+ <_>9 8 1 6 3.
+ 0
+ -2.2017690353095531e-003
+ 0.5553916096687317
+ 0.3827646076679230
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 4 8 -1.
+ <_>10 12 2 4 2.
+ <_>8 16 2 4 2.
+ 0
+ 2.7908938936889172e-003
+ 0.5498697757720947
+ 1
+ <_>
+
+
+
+ <_>2 17 16 2 -1.
+ <_>10 17 8 1 2.
+ <_>2 18 8 1 2.
+ 0
+ -1.8228569533675909e-003
+ 0.4382283091545105
+ 0.5424032807350159
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 3 8 -1.
+ <_>9 12 1 8 3.
+ 0
+ -7.2495508939027786e-003
+ 0.2888121902942658
+ 1
+ <_>
+
+
+
+ <_>3 10 1 3 -1.
+ <_>3 11 1 1 3.
+ 0
+ -6.8744522286579013e-004
+ 0.3472655117511749
+ 0.5076370835304260
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 10 6 -1.
+ <_>14 14 5 3 2.
+ <_>9 17 5 3 2.
+ 0
+ 2.5174440816044807e-003
+ 0.4661205112934113
+ 1
+ <_>
+
+
+
+ <_>14 13 3 6 -1.
+ <_>14 15 3 2 3.
+ 0
+ -0.0101513797417283
+ 0.3744775056838989
+ 0.5294001102447510
+ <_>
+
+ <_>
+
+
+
+ <_>1 19 18 1 -1.
+ <_>7 19 6 1 3.
+ 0
+ -4.1399952024221420e-003
+ 1
+ 0.4660485088825226
+ <_>
+
+
+
+ <_>2 10 15 2 -1.
+ <_>7 10 5 2 3.
+ 0
+ -4.7078551724553108e-003
+ 0.4175061881542206
+ 0.6916306018829346
+ <_>
+
+ <_>
+
+
+
+ <_>4 17 16 3 -1.
+ <_>4 18 16 1 3.
+ 0
+ 0.0419810414314270
+ 1
+ 0.2018215060234070
+ <_>
+
+
+
+ <_>8 6 4 9 -1.
+ <_>8 9 4 3 3.
+ 0
+ -0.0142729999497533
+ 0.7511197924613953
+ 0.5032083988189697
+ <_>
+
+ <_>
+
+
+
+ <_>9 16 2 4 -1.
+ <_>9 16 1 2 2.
+ <_>10 18 1 2 2.
+ 0
+ 4.0869521908462048e-003
+ 1
+ 0.2504513859748840
+ <_>
+
+
+
+ <_>5 5 10 8 -1.
+ <_>5 9 10 4 2.
+ 0
+ 1.7606799956411123e-003
+ 0.3301401138305664
+ 0.5218337178230286
+ <_>
+
+ <_>
+
+
+
+ <_>13 1 4 2 -1.
+ <_>13 1 2 2 2.
+ 0
+ 1.2550549581646919e-004
+ 0.4614442884922028
+ 1
+ <_>
+
+
+
+ <_>14 0 3 6 -1.
+ <_>14 2 3 2 3.
+ 0
+ -2.9503209516406059e-003
+ 0.4619950056076050
+ 0.5247030258178711
+ <_>
+
+ <_>
+
+
+
+ <_>6 7 2 2 -1.
+ <_>6 7 1 1 2.
+ <_>7 8 1 1 2.
+ 0
+ -1.1312420247122645e-003
+ 0.6314368247985840
+ 1
+ <_>
+
+
+
+ <_>7 1 6 1 -1.
+ <_>9 1 2 1 3.
+ 0
+ -1.6983180539682508e-003
+ 0.3401306867599487
+ 0.5055527091026306
+ <_>
+
+ <_>
+
+
+
+ <_>9 11 3 3 -1.
+ <_>9 12 3 1 3.
+ 0
+ -0.0114578204229474
+ 1
+ 0.4939996004104614
+ <_>
+
+
+
+ <_>12 9 3 3 -1.
+ <_>13 9 1 3 3.
+ 0
+ -8.4962565451860428e-003
+ 0.2965450882911682
+ 0.5194367766380310
+ <_>
+
+ <_>
+
+
+
+ <_>8 11 3 3 -1.
+ <_>8 12 3 1 3.
+ 0
+ 0.0119190895929933
+ 1
+ 0.7886998057365418
+ <_>
+
+
+
+ <_>5 9 3 3 -1.
+ <_>6 9 1 3 3.
+ 0
+ 6.4416420646011829e-003
+ 0.5106986761093140
+ 0.2967146039009094
+ <_>
+
+ <_>
+
+
+
+ <_>10 11 1 3 -1.
+ <_>10 12 1 1 3.
+ 0
+ -8.7857811013236642e-004
+ 0.5714371204376221
+ 1
+ <_>
+
+
+
+ <_>7 9 6 4 -1.
+ <_>10 9 3 2 2.
+ <_>7 11 3 2 2.
+ 0
+ -2.0312711130827665e-003
+ 0.4481200873851776
+ 0.5384911894798279
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 2 2 -1.
+ <_>4 7 1 1 2.
+ <_>5 8 1 1 2.
+ 0
+ -1.5262430533766747e-003
+ 0.6193568706512451
+ 1
+ <_>
+
+
+
+ <_>5 7 3 1 -1.
+ <_>6 7 1 1 3.
+ 0
+ 4.2860880494117737e-003
+ 0.4339885115623474
+ 0.7697299122810364
+ <_>
+
+ <_>
+
+
+
+ <_>18 3 2 3 -1.
+ <_>18 4 2 1 3.
+ 0
+ 3.5010920837521553e-003
+ 1
+ 0.3171389102935791
+ <_>
+
+
+
+ <_>13 1 4 2 -1.
+ <_>13 1 2 2 2.
+ 0
+ 0.0125876702368259
+ 0.5246698856353760
+ 0.4241208136081696
+ <_>
+
+ <_>
+
+
+
+ <_>3 1 4 2 -1.
+ <_>5 1 2 2 2.
+ 0
+ 2.6207490009255707e-004
+ 0.4231899976730347
+ 1
+ <_>
+
+
+
+ <_>3 0 5 2 -1.
+ <_>3 1 5 1 2.
+ 0
+ 4.4701730075757951e-005
+ 0.4174138903617859
+ 0.5919603705406189
+ <_>
+
+ <_>
+
+
+
+ <_>14 7 6 4 -1.
+ <_>17 7 3 2 2.
+ <_>14 9 3 2 2.
+ 0
+ 7.8084698179736733e-004
+ 0.4277389049530029
+ 1
+ <_>
+
+
+
+ <_>4 8 16 2 -1.
+ <_>4 9 16 1 2.
+ 0
+ 8.8851212058216333e-004
+ 0.3720161020755768
+ 0.5226818919181824
+ <_>
+
+ <_>
+
+
+
+ <_>2 11 5 6 -1.
+ <_>2 13 5 2 3.
+ 0
+ 2.3369069676846266e-003
+ 0.5478066802024841
+ 1
+ <_>
+
+
+
+ <_>5 16 2 4 -1.
+ <_>5 16 1 2 2.
+ <_>6 18 1 2 2.
+ 0
+ 1.6688359901309013e-003
+ 0.3628678917884827
+ 0.6150004863739014
+ <_>
+
+ <_>
+
+
+
+ <_>15 6 2 12 -1.
+ <_>16 6 1 6 2.
+ <_>15 12 1 6 2.
+ 0
+ 3.0844469438306987e-004
+ 0.4747075140476227
+ 1
+ <_>
+
+
+
+ <_>13 3 6 16 -1.
+ <_>15 3 2 16 3.
+ 0
+ 3.4617560449987650e-003
+ 0.4580138027667999
+ 0.5585681796073914
+ <_>
+
+ <_>
+
+
+
+ <_>4 5 12 12 -1.
+ <_>4 5 6 6 2.
+ <_>10 11 6 6 2.
+ 0
+ 0.0189613103866577
+ 0.5298801064491272
+ 1
+ <_>
+
+
+
+ <_>5 1 10 13 -1.
+ <_>10 1 5 13 2.
+ 0
+ 0.1734731048345566
+ 0.3698385059833527
+ 0.8498619794845581
+ <_>
+
+ <_>
+
+
+
+ <_>11 5 2 2 -1.
+ <_>12 5 1 1 2.
+ <_>11 6 1 1 2.
+ 0
+ 2.0020549709443003e-004
+ 1
+ 0.5565661787986755
+ <_>
+
+
+
+ <_>13 5 1 3 -1.
+ <_>13 6 1 1 3.
+ 0
+ 1.0967060225084424e-003
+ 0.4795713126659393
+ 0.6286259889602661
+ <_>
+
+ <_>
+
+
+
+ <_>7 4 2 4 -1.
+ <_>7 4 1 2 2.
+ <_>8 6 1 2 2.
+ 0
+ 1.5107099898159504e-004
+ 0.4052405953407288
+ 1
+ <_>
+
+
+
+ <_>7 5 6 4 -1.
+ <_>10 5 3 4 2.
+ 0
+ -3.4463501069694757e-003
+ 0.6173015236854553
+ 0.4414263963699341
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 4 6 -1.
+ <_>14 4 2 3 2.
+ <_>12 7 2 3 2.
+ 0
+ 8.5176620632410049e-003
+ 1
+ 0.3570570945739746
+ <_>
+
+
+
+ <_>12 11 7 6 -1.
+ <_>12 13 7 2 3.
+ 0
+ -0.0358121097087860
+ 0.3151328861713409
+ 0.5252702832221985
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 6 6 -1.
+ <_>7 6 2 6 3.
+ 0
+ -0.0211554002016783
+ 0.6124721169471741
+ 1
+ <_>
+
+
+
+ <_>9 8 2 2 -1.
+ <_>9 9 2 1 2.
+ 0
+ 8.9890940580517054e-004
+ 0.5169975757598877
+ 0.3596271872520447
+ <_>
+
+ <_>
+
+
+
+ <_>15 6 2 2 -1.
+ <_>16 6 1 1 2.
+ <_>15 7 1 1 2.
+ 0
+ -1.5613760333508253e-003
+ 1
+ 0.4914987981319428
+ <_>
+
+
+
+ <_>14 7 4 4 -1.
+ <_>16 7 2 2 2.
+ <_>14 9 2 2 2.
+ 0
+ 6.7120860330760479e-004
+ 0.4546211063861847
+ 0.5395811796188355
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 6 2 -1.
+ <_>7 5 2 2 3.
+ 0
+ -0.0215970296412706
+ 0.1903133988380432
+ 1
+ <_>
+
+
+
+ <_>1 19 18 1 -1.
+ <_>7 19 6 1 3.
+ 0
+ -0.0249472297728062
+ 0.6974077224731445
+ 0.4967716038227081
+ <_>
+
+ <_>
+
+
+
+ <_>12 3 3 3 -1.
+ <_>12 4 3 1 3.
+ 0
+ 1.8725979607552290e-003
+ 0.4748947918415070
+ 1
+ <_>
+
+
+
+ <_>16 0 2 3 -1.
+ <_>16 1 2 1 3.
+ 0
+ 6.3912719488143921e-003
+ 0.5180178284645081
+ 0.2924321889877319
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 3 3 -1.
+ <_>5 4 3 1 3.
+ 0
+ -9.1552399098873138e-003
+ 0.7665870189666748
+ 1
+ <_>
+
+
+
+ <_>2 0 2 3 -1.
+ <_>2 1 2 1 3.
+ 0
+ 2.1715660113841295e-003
+ 0.5215551257133484
+ 0.3365719020366669
+ <_>
+
+ <_>
+
+
+
+ <_>15 6 2 2 -1.
+ <_>16 6 1 1 2.
+ <_>15 7 1 1 2.
+ 0
+ 1.2330369791015983e-003
+ 1
+ 0.6260957717895508
+ <_>
+
+
+
+ <_>10 13 1 6 -1.
+ <_>10 16 1 3 2.
+ 0
+ -4.0785901364870369e-004
+ 0.4533509910106659
+ 0.5386489033699036
+ <_>
+
+ <_>
+
+
+
+ <_>0 7 10 2 -1.
+ <_>0 7 5 1 2.
+ <_>5 8 5 1 2.
+ 0
+ 4.6437609125860035e-004
+ 0.4103496074676514
+ 1
+ <_>
+
+
+
+ <_>3 10 6 2 -1.
+ <_>3 11 6 1 2.
+ 0
+ -1.1600199650274590e-004
+ 0.5830391049385071
+ 0.4304105937480927
+ <_>
+
+ <_>
+
+
+
+ <_>12 18 4 2 -1.
+ <_>12 19 4 1 2.
+ 0
+ -0.0127187203615904
+ 0.2132582962512970
+ 1
+ <_>
+
+
+
+ <_>12 18 2 2 -1.
+ <_>13 18 1 1 2.
+ <_>12 19 1 1 2.
+ 0
+ 8.9431880041956902e-005
+ 0.4872891008853912
+ 0.5458915233612061
+ <_>
+
+ <_>
+
+
+
+ <_>6 19 2 1 -1.
+ <_>7 19 1 1 2.
+ 0
+ -3.3913689549081028e-004
+ 0.3974364995956421
+ 1
+ <_>
+
+
+
+ <_>0 4 2 16 -1.
+ <_>0 4 1 8 2.
+ <_>1 12 1 8 2.
+ 0
+ -0.0180263407528400
+ 0.7568550705909729
+ 0.5045611858367920
+ <_>
+
+ <_>
+
+
+
+ <_>16 1 4 9 -1.
+ <_>16 4 4 3 3.
+ 0
+ 6.9179181009531021e-003
+ 1
+ 0.3966299891471863
+ <_>
+
+
+
+ <_>10 2 1 2 -1.
+ <_>10 3 1 1 2.
+ 0
+ -1.1839679791592062e-004
+ 0.4198082983493805
+ 0.5435804128646851
+ <_>
+
+ <_>
+
+
+
+ <_>4 14 4 6 -1.
+ <_>4 14 2 3 2.
+ <_>6 17 2 3 2.
+ 0
+ -3.9474181830883026e-003
+ 0.6369457840919495
+ 1
+ <_>
+
+
+
+ <_>4 15 1 4 -1.
+ <_>4 17 1 2 2.
+ 0
+ 6.0050919273635373e-005
+ 0.5269566774368286
+ 0.3812243044376373
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 20 4 -1.
+ <_>10 2 10 2 2.
+ <_>0 4 10 2 2.
+ 0
+ 9.1423643752932549e-003
+ 1
+ 0.4156762957572937
+ <_>
+
+
+
+ <_>14 5 2 8 -1.
+ <_>14 9 2 4 2.
+ 0
+ 2.1305440168362111e-004
+ 0.3523533046245575
+ 0.5349454283714294
+ <_>
+
+ <_>
+
+
+
+ <_>5 12 4 5 -1.
+ <_>7 12 2 5 2.
+ 0
+ -2.0855850016232580e-004
+ 1
+ 0.4403322041034699
+ <_>
+
+
+
+ <_>0 13 9 6 -1.
+ <_>0 15 9 2 3.
+ 0
+ 1.3130389852449298e-003
+ 0.6058161258697510
+ 0.4468218982219696
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 11 3 -1.
+ <_>9 15 11 1 3.
+ 0
+ -2.9134768992662430e-003
+ 1
+ 0.4825705885887146
+ <_>
+
+
+
+ <_>7 14 7 3 -1.
+ <_>7 15 7 1 3.
+ 0
+ 2.9645769391208887e-003
+ 0.4835998117923737
+ 0.6039277911186218
+ <_>
+
+ <_>
+
+
+
+ <_>3 6 2 2 -1.
+ <_>3 6 1 1 2.
+ <_>4 7 1 1 2.
+ 0
+ 1.7772549763321877e-003
+ 1
+ 0.6871827244758606
+ <_>
+
+
+
+ <_>6 7 2 7 -1.
+ <_>7 7 1 7 2.
+ 0
+ -7.7136349864304066e-003
+ 0.2842220962047577
+ 0.5145428180694580
+ <_>
+
+ <_>
+
+
+
+ <_>14 5 1 3 -1.
+ <_>14 6 1 1 3.
+ 0
+ 5.1027478184551001e-004
+ 1
+ 0.6024426221847534
+ <_>
+
+
+
+ <_>13 4 4 3 -1.
+ <_>13 5 4 1 3.
+ 0
+ 1.7460630042478442e-003
+ 0.4756610095500946
+ 0.5721154212951660
+ <_>
+
+ <_>
+
+
+
+ <_>2 7 4 4 -1.
+ <_>2 7 2 2 2.
+ <_>4 9 2 2 2.
+ 0
+ 3.8068278809078038e-004
+ 1
+ 0.4931069016456604
+ <_>
+
+
+
+ <_>2 9 13 6 -1.
+ <_>2 12 13 3 2.
+ 0
+ 2.8228890150785446e-003
+ 0.3311698138713837
+ 0.6227598190307617
+ <_>
+
+ <_>
+
+
+
+ <_>10 1 3 4 -1.
+ <_>11 1 1 4 3.
+ 0
+ -5.3000478073954582e-003
+ 1
+ 0.5232092738151550
+ <_>
+
+
+
+ <_>9 8 5 2 -1.
+ <_>9 9 5 1 2.
+ 0
+ 4.4951299059903249e-005
+ 0.3995231986045837
+ 0.5314797759056091
+ <_>
+
+ <_>
+
+
+
+ <_>0 14 11 3 -1.
+ <_>0 15 11 1 3.
+ 0
+ 3.2752458937466145e-003
+ 0.4481619894504547
+ 1
+ <_>
+
+
+
+ <_>8 11 2 8 -1.
+ <_>8 15 2 4 2.
+ 0
+ -2.8162579983472824e-003
+ 0.3907971978187561
+ 0.6671640872955322
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 10 6 -1.
+ <_>5 14 10 3 2.
+ 0
+ 1.4112279750406742e-003
+ 0.5357010960578919
+ 1
+ <_>
+
+
+
+ <_>5 13 15 5 -1.
+ <_>10 13 5 5 3.
+ 0
+ 8.3062034100294113e-003
+ 0.4770965874195099
+ 0.5570099949836731
+ <_>
+
+ <_>
+
+
+
+ <_>8 10 1 10 -1.
+ <_>8 15 1 5 2.
+ 0
+ 2.2164839319884777e-003
+ 0.4947124123573303
+ 1
+ <_>
+
+
+
+ <_>4 14 6 2 -1.
+ <_>6 14 2 2 3.
+ 0
+ -4.9868631176650524e-003
+ 0.5241307020187378
+ 0.2512654960155487
+ <_>
+
+ <_>
+
+
+
+ <_>7 14 7 3 -1.
+ <_>7 15 7 1 3.
+ 0
+ -3.6664260551333427e-003
+ 1
+ 0.4619553983211517
+ <_>
+
+
+
+ <_>7 16 9 3 -1.
+ <_>7 17 9 1 3.
+ 0
+ -0.0105812298133969
+ 0.6301718950271606
+ 0.4973031878471375
+ <_>
+
+ <_>
+
+
+
+ <_>8 7 3 3 -1.
+ <_>8 8 3 1 3.
+ 0
+ 7.3366491124033928e-003
+ 1
+ 0.2870970070362091
+ <_>
+
+
+
+ <_>3 5 1 6 -1.
+ <_>3 8 1 3 2.
+ 0
+ -3.9318940252996981e-004
+ 0.4252805113792419
+ 0.5579246878623962
+ <_>
+
+ <_>
+
+
+
+ <_>6 5 11 2 -1.
+ <_>6 6 11 1 2.
+ 0
+ -8.1375334411859512e-003
+ 0.5747315883636475
+ 1
+ <_>
+
+
+
+ <_>9 0 3 2 -1.
+ <_>10 0 1 2 3.
+ 0
+ 2.4809150490909815e-003
+ 0.5203374028205872
+ 0.3903566896915436
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 1 3 -1.
+ <_>5 6 1 1 3.
+ 0
+ 8.8749779388308525e-004
+ 1
+ 0.5534321069717407
+ <_>
+
+
+
+ <_>8 7 3 2 -1.
+ <_>9 7 1 2 3.
+ 0
+ -4.2194919660687447e-004
+ 0.5338044166564941
+ 0.3925840854644775
+ <_>
+
+ <_>
+
+
+
+ <_>5 2 10 6 -1.
+ <_>10 2 5 3 2.
+ <_>5 5 5 3 2.
+ 0
+ -7.9790111631155014e-003
+ 0.4144316017627716
+ 1
+ <_>
+
+
+
+ <_>8 4 6 4 -1.
+ <_>8 4 3 4 2.
+ 0
+ 1.1439629597589374e-003
+ 0.4701372981071472
+ 0.5281736254692078
+ <_>
+
+ <_>
+
+
+
+ <_>8 16 3 4 -1.
+ <_>9 16 1 4 3.
+ 0
+ 7.5542130507528782e-003
+ 1
+ 0.2527256011962891
+ <_>
+
+
+
+ <_>9 13 2 6 -1.
+ <_>9 13 1 3 2.
+ <_>10 16 1 3 2.
+ 0
+ 1.0288399644196033e-003
+ 0.5605146288871765
+ 0.4297856092453003
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 1 -1.
+ <_>10 8 1 1 3.
+ 0
+ -1.7234670231118798e-003
+ 1
+ 0.4839682877063751
+ <_>
+
+
+
+ <_>2 5 18 15 -1.
+ <_>2 10 18 5 3.
+ 0
+ 0.5758669972419739
+ 0.5110502839088440
+ 0.0804893299937248
+ 44.2512817382812500
+ 17
+ -1
+ <_>
+
+
+ <_>
+
+ <_>
+
+
+
+ <_>1 3 6 2 -1.
+ <_>4 3 3 2 2.
+ 0
+ 6.6640521399676800e-003
+ 0.3828920125961304
+ 1
+ <_>
+
+
+
+ <_>7 6 6 2 -1.
+ <_>9 6 2 2 3.
+ 0
+ 8.9905522763729095e-003
+ 0.4858429133892059
+ 0.7354959249496460
+ <_>
+
+ <_>
+
+
+
+ <_>8 17 4 3 -1.
+ <_>8 18 4 1 3.
+ 0
+ 5.7154200039803982e-003
+ 1
+ 0.6723223924636841
+ <_>
+
+
+
+ <_>10 13 2 3 -1.
+ <_>10 14 2 1 3.
+ 0
+ 1.1257929727435112e-003
+ 0.4429577887058258
+ 0.6070777773857117
+ <_>
+
+ <_>
+
+
+
+ <_>0 10 20 4 -1.
+ <_>0 12 20 2 2.
+ 0
+ -9.1789010912179947e-004
+ 1
+ 0.3076345026493073
+ <_>
+
+
+
+ <_>5 7 6 4 -1.
+ <_>5 7 3 2 2.
+ <_>8 9 3 2 2.
+ 0
+ -1.0492859873920679e-003
+ 0.5593643784523010
+ 0.3651022911071777
+ <_>
+
+ <_>
+
+
+
+ <_>11 12 1 2 -1.
+ <_>11 13 1 1 2.
+ 0
+ 3.5453929740469903e-005
+ 0.4277968108654022
+ 1
+ <_>
+
+
+
+ <_>10 10 2 3 -1.
+ <_>10 11 2 1 3.
+ 0
+ 2.9015709878876805e-004
+ 0.4583545029163361
+ 0.5284683108329773
+ <_>
+
+ <_>
+
+
+
+ <_>9 5 2 2 -1.
+ <_>9 6 2 1 2.
+ 0
+ 1.6071660502348095e-004
+ 1
+ 0.3798192143440247
+ <_>
+
+
+
+ <_>4 4 1 10 -1.
+ <_>4 9 1 5 2.
+ 0
+ -5.2961107576265931e-004
+ 0.3850437104701996
+ 0.5939688086509705
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 4 2 -1.
+ <_>11 18 2 2 2.
+ 0
+ 2.6682569296099246e-004
+ 0.4123024940490723
+ 1
+ <_>
+
+
+
+ <_>12 18 3 2 -1.
+ <_>12 19 3 1 2.
+ 0
+ -1.3492540165316314e-004
+ 0.5760599970817566
+ 0.4237645864486694
+ <_>
+
+ <_>
+
+
+
+ <_>0 6 16 6 -1.
+ <_>0 6 8 3 2.
+ <_>8 9 8 3 2.
+ 0
+ -0.0108416797593236
+ 0.3929921090602875
+ 1
+ <_>
+
+
+
+ <_>7 6 4 12 -1.
+ <_>7 12 4 6 2.
+ 0
+ 0.0120778298005462
+ 0.5761923193931580
+ 0.2780444920063019
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 4 2 -1.
+ <_>11 18 2 2 2.
+ 0
+ 2.2128869313746691e-003
+ 0.4794507026672363
+ 1
+ <_>
+
+
+
+ <_>12 18 3 2 -1.
+ <_>12 19 3 1 2.
+ 0
+ -0.0152661902830005
+ 0.0740558803081512
+ 0.5153577923774719
+ <_>
+
+ <_>
+
+
+
+ <_>8 12 1 2 -1.
+ <_>8 13 1 1 2.
+ 0
+ 6.7929533543065190e-005
+ 1
+ 0.5858737826347351
+ <_>
+
+
+
+ <_>8 13 1 3 -1.
+ <_>8 14 1 1 3.
+ 0
+ 1.7633590323384851e-004
+ 0.3567610979080200
+ 0.5598962903022766
+ <_>
+
+ <_>
+
+
+
+ <_>11 18 4 2 -1.
+ <_>11 18 2 2 2.
+ 0
+ 8.1311381654813886e-004
+ 1
+ 0.5346850752830505
+ <_>
+
+
+
+ <_>14 12 4 6 -1.
+ <_>14 12 2 6 2.
+ 0
+ 3.2630451023578644e-003
+ 0.4782536923885346
+ 0.5456753969192505
+ <_>
+
+ <_>
+
+
+
+ <_>6 0 3 4 -1.
+ <_>7 0 1 4 3.
+ 0
+ -3.9503918960690498e-003
+ 0.2831811904907227
+ 1
+ <_>
+
+
+
+ <_>4 0 2 8 -1.
+ <_>4 0 1 4 2.
+ <_>5 4 1 4 2.
+ 0
+ -3.9864578866399825e-004
+ 0.5485215783119202
+ 0.4159697890281677
+ <_>
+
+ <_>
+
+
+
+ <_>11 17 9 3 -1.
+ <_>14 17 3 3 3.
+ 0
+ -0.0114325201138854
+ 0.5639101266860962
+ 1
+ <_>
+
+
+
+ <_>16 2 4 5 -1.
+ <_>16 2 2 5 2.
+ 0
+ 5.3339172154664993e-003
+ 0.4596984088420868
+ 0.5931242704391480
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 5 9 -1.
+ <_>0 5 5 3 3.
+ 0
+ 8.3193257451057434e-003
+ 1
+ 0.3230620026588440
+ <_>
+
+
+
+ <_>7 2 3 2 -1.
+ <_>8 2 1 2 3.
+ 0
+ -4.2479918920435011e-004
+ 0.3795293867588043
+ 0.5408611297607422
+ <_>
+
+ <_>
+
+
+
+ <_>11 17 9 3 -1.
+ <_>14 17 3 3 3.
+ 0
+ -0.1118943020701408
+ 0.1132297962903976
+ 1
+ <_>
+
+
+
+ <_>16 2 4 5 -1.
+ <_>16 2 2 5 2.
+ 0
+ -7.5553781352937222e-003
+ 0.6339370012283325
+ 0.4838770925998688
+ <_>
+
+ <_>
+
+
+
+ <_>0 17 9 3 -1.
+ <_>3 17 3 3 3.
+ 0
+ -7.0337029173970222e-003
+ 0.5665255188941956
+ 1
+ <_>
+
+
+
+ <_>0 2 4 5 -1.
+ <_>2 2 2 5 2.
+ 0
+ -0.0148336803540587
+ 0.6751418113708496
+ 0.4140945076942444
+ <_>
+
+ <_>
+
+
+
+ <_>5 11 10 9 -1.
+ <_>5 14 10 3 3.
+ 0
+ 8.7506724521517754e-003
+ 1
+ 0.3561258912086487
+ <_>
+
+
+
+ <_>9 6 3 3 -1.
+ <_>9 7 3 1 3.
+ 0
+ 1.6645010327920318e-003
+ 0.5347279906272888
+ 0.3649779856204987
+ <_>
+
+ <_>
+
+
+
+ <_>3 17 5 3 -1.
+ <_>3 18 5 1 3.
+ 0
+ 9.4900820404291153e-003
+ 1
+ 0.2754656076431274
+ <_>
+
+
+
+ <_>7 5 4 7 -1.
+ <_>9 5 2 7 2.
+ 0
+ 1.1133110383525491e-003
+ 0.4225992858409882
+ 0.5629178881645203
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 2 5 -1.
+ <_>9 8 1 5 2.
+ 0
+ 9.4940755516290665e-003
+ 0.4906036853790283
+ 1
+ <_>
+
+
+
+ <_>2 2 18 2 -1.
+ <_>2 3 18 1 2.
+ 0
+ -1.5396620146930218e-003
+ 0.4007051885128021
+ 0.5380709171295166
+ <_>
+
+ <_>
+
+
+
+ <_>2 8 15 6 -1.
+ <_>7 8 5 6 3.
+ 0
+ 0.1343495994806290
+ 1
+ 0.2214671969413757
+ <_>
+
+
+
+ <_>9 8 2 5 -1.
+ <_>10 8 1 5 2.
+ 0
+ -9.4940755516290665e-003
+ 0.7353156208992004
+ 0.5005033016204834
+ <_>
+
+ <_>
+
+
+
+ <_>12 10 4 6 -1.
+ <_>12 12 4 2 3.
+ 0
+ 0.0200117900967598
+ 1
+ 0.3327906131744385
+ <_>
+
+
+
+ <_>14 3 6 2 -1.
+ <_>14 4 6 1 2.
+ 0
+ -1.8875009845942259e-003
+ 0.3915289044380188
+ 0.5401849746704102
+ <_>
+
+ <_>
+
+
+
+ <_>5 5 2 3 -1.
+ <_>5 6 2 1 3.
+ 0
+ 7.1842782199382782e-003
+ 1
+ 0.7176604866981506
+ <_>
+
+
+
+ <_>4 6 3 3 -1.
+ <_>4 7 3 1 3.
+ 0
+ 1.6976969782263041e-003
+ 0.4526978135108948
+ 0.6076912879943848
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 3 3 -1.
+ <_>14 13 3 1 3.
+ 0
+ 4.9219978973269463e-003
+ 1
+ 0.2569833993911743
+ <_>
+
+
+
+ <_>6 12 11 3 -1.
+ <_>6 13 11 1 3.
+ 0
+ 0.0118031995370984
+ 0.4999637901782990
+ 0.5958228111267090
+ <_>
+
+ <_>
+
+
+
+ <_>1 2 3 6 -1.
+ <_>1 4 3 2 3.
+ 0
+ -9.7703449428081512e-003
+ 0.3459093868732452
+ 1
+ <_>
+
+
+
+ <_>1 0 4 7 -1.
+ <_>3 0 2 7 2.
+ 0
+ 2.1174899302423000e-003
+ 0.4515126943588257
+ 0.5829715728759766
+ <_>
+
+ <_>
+
+
+
+ <_>9 8 3 4 -1.
+ <_>10 8 1 4 3.
+ 0
+ 9.4801411032676697e-003
+ 0.4807392060756683
+ 1
+ <_>
+
+
+
+ <_>10 9 2 2 -1.
+ <_>10 10 2 1 2.
+ 0
+ -2.6078789960592985e-003
+ 0.3462216854095459
+ 0.5201594829559326
+ <_>
+
+ <_>
+
+
+
+ <_>8 8 3 4 -1.
+ <_>9 8 1 4 3.
+ 0
+ -5.7252747938036919e-003
+ 0.6599853038787842
+ 1
+ <_>
+
+
+
+ <_>4 4 10 10 -1.
+ <_>4 9 10 5 2.
+ 0
+ -8.2325618714094162e-003
+ 0.2821828126907349
+ 0.5125284790992737
+ <_>
+
+ <_>
+
+
+
+ <_>9 10 3 2 -1.
+ <_>10 10 1 2 3.
+ 0
+ 8.9571950957179070e-004
+ 0.4883818924427033
+ 1
+ <_>
+
+
+
+ <_>9 10 3 2 -1.
+ <_>9 11 3 1 2.
+ 0
+ -1.5021569561213255e-004
+ 0.4829918146133423
+ 0.5428717136383057
+ <_>
+
+ <_>
+
+
+
+ <_>8 10 3 2 -1.
+ <_>9 10 1 2 3.
+ 0
+ 4.8489659093320370e-004
+ 0.4434598982334137
+ 1
+ <_>
+
+
+
+ <_>2 4 14 12 -1.
+ <_>2 4 7 6 2.
+ <_>9 10 7 6 2.
+ 0
+ -0.0961926504969597
+ 0.2256636023521423
+ 0.5956227779388428
+ <_>
+
+ <_>
+
+
+
+ <_>10 12 1 6 -1.
+ <_>10 15 1 3 2.
+ 0
+ -1.1053519556298852e-003
+ 0.4527224004268646
+ 1
+ <_>
+
+
+
+ <_>7 3 8 16 -1.
+ <_>11 3 4 8 2.
+ <_>7 11 4 8 2.
+ 0
+ -0.1021504029631615
+ 0.2844349145889282
+ 0.5186452865600586
+ <_>
+
+ <_>
+
+
+
+ <_>5 6 8 10 -1.
+ <_>5 6 4 5 2.
+ <_>9 11 4 5 2.
+ 0
+ 3.0147889629006386e-003
+ 1
+ 0.3808999061584473
+ <_>
+
+
+
+ <_>6 2 8 8 -1.
+ <_>6 2 4 4 2.
+ <_>10 6 4 4 2.
+ 0
+ 7.6131648384034634e-003
+ 0.5718699097633362
+ 0.4262563884258270
+ <_>
+
+ <_>
+
+
+
+ <_>10 5 4 2 -1.
+ <_>12 5 2 1 2.
+ <_>10 6 2 1 2.
+ 0
+ 1.5197630273178220e-003
+ 1
+ 0.5942718982696533
+ <_>
+
+
+
+ <_>12 4 3 3 -1.
+ <_>12 5 3 1 3.
+ 0
+ -0.0141972796991467
+ 0.7731103897094727
+ 0.4997653961181641
+ <_>
+
+ <_>
+
+
+
+ <_>4 19 12 1 -1.
+ <_>8 19 4 1 3.
+ 0
+ -0.0138188796117902
+ 0.6681138277053833
+ 1
+ <_>
+
+
+
+ <_>8 2 3 1 -1.
+ <_>9 2 1 1 3.
+ 0
+ -5.0701329018920660e-004
+ 0.3305608034133911
+ 0.4749974906444550
+ <_>
+
+ <_>
+
+
+
+ <_>13 17 4 3 -1.
+ <_>13 18 4 1 3.
+ 0
+ -9.3537531793117523e-003
+ 0.2860932946205139
+ 1
+ <_>
+
+
+
+ <_>7 14 6 3 -1.
+ <_>7 15 6 1 3.
+ 0
+ -9.4771059229969978e-003
+ 0.6188883185386658
+ 0.4842100143432617
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 2 3 -1.
+ <_>9 15 2 1 3.
+ 0
+ 1.6923650400713086e-003
+ 1
+ 0.6070249080657959
+ <_>
+
+
+
+ <_>7 15 6 3 -1.
+ <_>7 16 6 1 3.
+ 0
+ 5.8652542065829039e-004
+ 0.3782689869403839
+ 0.5368196964263916
+ <_>
+
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ -2.5826620403677225e-003
+ 0.3690209984779358
+ 1
+ <_>
+
+
+
+ <_>14 12 2 3 -1.
+ <_>14 13 2 1 3.
+ 0
+ -2.7307639829814434e-003
+ 0.3857114911079407
+ 0.5318108797073364
+ <_>
+
+ <_>
+
+
+
+ <_>4 10 4 6 -1.
+ <_>4 12 4 2 3.
+ 0
+ 0.0218715704977512
+ 1
+ 0.2327008992433548
+ <_>
+
+
+
+ <_>4 13 3 2 -1.
+ <_>4 14 3 1 2.
+ 0
+ -1.5010299648565706e-005
+ 0.5560722947120667
+ 0.4301410019397736
+ <_>
+
+ <_>
+
+
+
+ <_>9 16 2 3 -1.
+ <_>9 17 2 1 3.
+ 0
+ 5.3583700209856033e-003
+ 1
+ 0.6767637729644775
+ <_>
+
+
+
+ <_>10 18 3 2 -1.
+ <_>11 18 1 2 3.
+ 0
+ 5.0057549960911274e-003
+ 0.5194904208183289
+ 0.3612853884696960
+ <_>
+
+ <_>
+
+
+
+ <_>7 18 3 2 -1.
+ <_>8 18 1 2 3.
+ 0
+ -1.9030070398002863e-003
+ 0.3237845003604889
+ 1
+ <_>
+
+
+
+ <_>1 10 4 2 -1.
+ <_>1 11 4 1 2.
+ 0
+ -7.8506693243980408e-003
+ 0.1194851994514465
+ 0.4991723895072937
+ <_>
+
+ <_>
+
+
+
+ <_>12 4 6 3 -1.
+ <_>12 5 6 1 3.
+ 0
+ -2.7093670796602964e-003
+ 1
+ 0.4854960143566132
+ <_>
+
+
+
+ <_>14 4 1 3 -1.
+ <_>14 5 1 1 3.
+ 0
+ 1.4138079714030027e-003
+ 0.4872322976589203
+ 0.5903577804565430
+ <_>
+
+ <_>
+
+
+
+ <_>2 4 6 3 -1.
+ <_>2 5 6 1 3.
+ 0
+ 9.0300198644399643e-003
+ 1
+ 0.6547315716743469
+ <_>
+
+
+
+ <_>5 4 1 3 -1.
+ <_>5 5 1 1 3.
+ 0
+ -9.7925681620836258e-004
+ 0.5849273204803467
+ 0.4554230868816376
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 3 3 -1.
+ <_>14 13 3 1 3.
+ 0
+ 1.3984439428895712e-003
+ 1
+ 0.4064626097679138
+ <_>
+
+
+
+ <_>15 12 2 3 -1.
+ <_>15 13 2 1 3.
+ 0
+ 8.3372107474133372e-004
+ 0.5399543046951294
+ 0.4152809977531433
+ <_>
+
+ <_>
+
+
+
+ <_>3 16 4 3 -1.
+ <_>3 17 4 1 3.
+ 0
+ 0.0105510596185923
+ 1
+ 0.1796680986881256
+ <_>
+
+
+
+ <_>8 0 4 2 -1.
+ <_>8 1 4 1 2.
+ 0
+ 8.8344102550763637e-005
+ 0.4251863062381744
+ 0.5413522720336914
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 20 1 -1.
+ <_>0 0 10 1 2.
+ 0
+ -0.0410223081707954
+ 1
+ 0.5228124856948853
+ <_>
+
+
+
+ <_>9 7 3 4 -1.
+ <_>10 7 1 4 3.
+ 0
+ 7.5065628625452518e-003
+ 0.4853743016719818
+ 0.6093444228172302
+ <_>
+
+ <_>
+
+
+
+ <_>0 0 20 1 -1.
+ <_>10 0 10 1 2.
+ 0
+ 0.0410223081707954
+ 1
+ 0.2205024063587189
+ <_>
+
+
+
+ <_>8 7 3 4 -1.
+ <_>9 7 1 4 3.
+ 0
+ -5.3961377125233412e-004
+ 0.5692731738090515
+ 0.4468756914138794
+ <_>
+
+ <_>
+
+
+
+ <_>1 6 19 3 -1.
+ <_>1 7 19 1 3.
+ 0
+ -0.0686960369348526
+ 0.1483314037322998
+ 1
+ <_>
+
+
+
+ <_>12 7 4 2 -1.
+ <_>12 8 4 1 2.
+ 0
+ -1.8447940237820148e-003
+ 0.6211283802986145
+ 0.4966601133346558
+ <_>
+
+ <_>
+
+
+
+ <_>7 8 3 3 -1.
+ <_>7 9 3 1 3.
+ 0
+ -6.0959919355809689e-003
+ 0.2294671982526779
+ 1
+ <_>
+
+
+
+ <_>7 7 3 3 -1.
+ <_>8 7 1 3 3.
+ 0
+ -4.2068301700055599e-003
+ 0.6407091021537781
+ 0.4748562872409821
+ <_>
+
+ <_>
+
+
+
+ <_>2 9 16 3 -1.
+ <_>2 10 16 1 3.
+ 0
+ -7.1332789957523346e-004
+ 1
+ 0.5354936122894287
+ <_>
+
+
+
+ <_>9 4 2 12 -1.
+ <_>9 8 2 4 3.
+ 0
+ 0.1175677999854088
+ 0.5136978030204773
+ 0.0105957398191094
+ <_>
+
+ <_>
+
+
+
+ <_>7 3 2 5 -1.
+ <_>8 3 1 5 2.
+ 0
+ 5.9354289987822995e-005
+ 0.3711803853511810
+ 1
+ <_>
+
+
+
+ <_>9 7 2 3 -1.
+ <_>9 8 2 1 3.
+ 0
+ -6.3173691742122173e-003
+ 0.1712073981761932
+ 0.5061758160591126
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 4 3 -1.
+ <_>9 15 4 1 3.
+ 0
+ 0.0149414995685220
+ 1
+ 0.6729118824005127
+ <_>
+
+
+
+ <_>7 8 6 4 -1.
+ <_>10 8 3 2 2.
+ <_>7 10 3 2 2.
+ 0
+ -2.0789399277418852e-003
+ 0.4410645961761475
+ 0.5444027781486511
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 2 2 -1.
+ <_>10 7 1 2 2.
+ 0
+ -7.0736219640821218e-004
+ 0.5568910837173462
+ 1
+ <_>
+
+
+
+ <_>5 5 6 6 -1.
+ <_>7 5 2 6 3.
+ 0
+ -3.1247111037373543e-003
+ 0.5023869276046753
+ 0.3562405109405518
+ <_>
+
+ <_>
+
+
+
+ <_>9 1 3 6 -1.
+ <_>10 1 1 6 3.
+ 0
+ -7.8919378574937582e-004
+ 1
+ 0.5456786155700684
+ <_>
+
+
+
+ <_>4 5 12 2 -1.
+ <_>8 5 4 2 3.
+ 0
+ 0.0101795801892877
+ 0.5545138716697693
+ 0.4622310996055603
+ <_>
+
+ <_>
+
+
+
+ <_>4 2 6 4 -1.
+ <_>6 2 2 4 3.
+ 0
+ -2.7506109327077866e-003
+ 1
+ 0.4942536056041718
+ <_>
+
+
+
+ <_>4 7 8 2 -1.
+ <_>4 8 8 1 2.
+ 0
+ 0.0106013296172023
+ 0.2961233854293823
+ 0.5964338779449463
+ <_>
+
+ <_>
+
+
+
+ <_>3 6 14 6 -1.
+ <_>10 6 7 3 2.
+ <_>3 9 7 3 2.
+ 0
+ 5.1466780714690685e-003
+ 0.5495228767395020
+ 1
+ <_>
+
+
+
+ <_>3 6 14 3 -1.
+ <_>3 6 7 3 2.
+ 0
+ 0.0763211473822594
+ 0.5173959136009216
+ 0.2940216958522797
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 2 2 -1.
+ <_>0 6 2 1 2.
+ 0
+ -1.5027689514681697e-003
+ 0.3106299936771393
+ 1
+ <_>
+
+
+
+ <_>8 13 4 3 -1.
+ <_>8 14 4 1 3.
+ 0
+ 0.0122666703537107
+ 0.4651150107383728
+ 0.6846613883972168
+ <_>
+
+ <_>
+
+
+
+ <_>13 0 3 20 -1.
+ <_>14 0 1 20 3.
+ 0
+ -0.0311185792088509
+ 1
+ 0.5226057171821594
+ <_>
+
+
+
+ <_>10 8 10 3 -1.
+ <_>10 9 10 1 3.
+ 0
+ 0.0289055891335011
+ 0.5182244181632996
+ 0.2705428004264832
+ <_>
+
+ <_>
+
+
+
+ <_>4 0 3 20 -1.
+ <_>5 0 1 20 3.
+ 0
+ 0.0475983805954456
+ 1
+ 0.1109512001276016
+ <_>
+
+
+
+ <_>0 8 10 3 -1.
+ <_>0 9 10 1 3.
+ 0
+ 0.0308085493743420
+ 0.4938625097274780
+ 0.1404110938310623
+ <_>
+
+ <_>
+
+
+
+ <_>12 5 3 4 -1.
+ <_>13 5 1 4 3.
+ 0
+ -2.1277810446918011e-004
+ 1
+ 0.4392356872558594
+ <_>
+
+
+
+ <_>6 7 12 4 -1.
+ <_>10 7 4 4 3.
+ 0
+ 0.0789699628949165
+ 0.5216552019119263
+ 0.2294113934040070
+ <_>
+
+ <_>
+
+
+
+ <_>1 14 6 6 -1.
+ <_>1 14 3 3 2.
+ <_>4 17 3 3 2.
+ 0
+ -0.0102579500526190
+ 0.6176652908325195
+ 1
+ <_>
+
+
+
+ <_>1 17 6 2 -1.
+ <_>1 18 6 1 2.
+ 0
+ 1.2604889925569296e-003
+ 0.5236222743988037
+ 0.3328965902328491
+ <_>
+
+ <_>
+
+
+
+ <_>14 8 6 12 -1.
+ <_>17 8 3 6 2.
+ <_>14 14 3 6 2.
+ 0
+ -0.0334904603660107
+ 1
+ 0.4866186976432800
+ <_>
+
+
+
+ <_>18 5 2 2 -1.
+ <_>18 6 2 1 2.
+ 0
+ -5.9202767442911863e-004
+ 0.4116407036781311
+ 0.5395640134811401
+ <_>
+
+ <_>
+
+
+
+ <_>3 16 4 2 -1.
+ <_>3 16 2 1 2.
+ <_>5 17 2 1 2.
+ 0
+ 3.0320750738610514e-005
+ 1
+ 0.5610736012458801
+ <_>
+
+
+
+ <_>2 16 6 2 -1.
+ <_>4 16 2 2 3.
+ 0
+ -5.4369680583477020e-004
+ 0.5621389150619507
+ 0.3461203873157501
+ <_>
+
+ <_>
+
+
+
+ <_>14 8 6 12 -1.
+ <_>17 8 3 6 2.
+ <_>14 14 3 6 2.
+ 0
+ -0.0334904603660107
+ 1
+ 0.4896762073040009
+ <_>
+
+
+
+ <_>18 5 2 2 -1.
+ <_>18 6 2 1 2.
+ 0
+ -5.9202767442911863e-004
+ 0.4305404126644135
+ 0.5340713858604431
+ <_>
+
+ <_>
+
+
+
+ <_>5 16 9 2 -1.
+ <_>8 16 3 2 3.
+ 0
+ 2.0550889894366264e-003
+ 0.5544999837875366
+ 1
+ <_>
+
+
+
+ <_>3 14 6 6 -1.
+ <_>3 14 3 3 2.
+ <_>6 17 3 3 2.
+ 0
+ -4.4353571720421314e-003
+ 0.6038540005683899
+ 0.3746592998504639
+ <_>
+
+ <_>
+
+
+
+ <_>14 8 6 12 -1.
+ <_>17 8 3 6 2.
+ <_>14 14 3 6 2.
+ 0
+ -0.0841704234480858
+ 1
+ 0.5007348060607910
+ <_>
+
+
+
+ <_>11 7 2 12 -1.
+ <_>11 11 2 4 3.
+ 0
+ 6.7419027909636497e-003
+ 0.5298097133636475
+ 0.4716145098209381
+ <_>
+
+ <_>
+
+
+
+ <_>0 8 6 12 -1.
+ <_>0 8 3 6 2.
+ <_>3 14 3 6 2.
+ 0
+ 0.0102781504392624
+ 1
+ 0.6269375085830689
+ <_>
+
+
+
+ <_>7 7 2 12 -1.
+ <_>7 11 2 4 3.
+ 0
+ 5.8800862170755863e-003
+ 0.5154827833175659
+ 0.3813040852546692
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 1 2 -1.
+ <_>14 13 1 1 2.
+ 0
+ -6.9679190346505493e-006
+ 1
+ 0.4440239965915680
+ <_>
+
+
+
+ <_>12 13 8 1 -1.
+ <_>12 13 4 1 2.
+ 0
+ 8.2419527461752295e-004
+ 0.4697534143924713
+ 0.5485504269599915
+ <_>
+
+ <_>
+
+
+
+ <_>0 3 16 6 -1.
+ <_>0 6 16 3 2.
+ 0
+ -5.5268318392336369e-003
+ 0.5513604879379273
+ 1
+ <_>
+
+
+
+ <_>1 4 8 2 -1.
+ <_>1 4 4 1 2.
+ <_>5 5 4 1 2.
+ 0
+ 9.6128671430051327e-004
+ 0.3618639111518860
+ 0.5838456749916077
+ <_>
+
+ <_>
+
+
+
+ <_>14 12 1 2 -1.
+ <_>14 13 1 1 2.
+ 0
+ 2.4810510221868753e-003
+ 1
+ 0.2523222863674164
+ <_>
+
+
+
+ <_>15 12 2 3 -1.
+ <_>15 13 2 1 3.
+ 0
+ -1.0480589699000120e-003
+ 0.4117257893085480
+ 0.5392996072769165
+ <_>
+
+ <_>
+
+
+
+ <_>8 16 3 3 -1.
+ <_>8 17 3 1 3.
+ 0
+ -6.1287907883524895e-003
+ 0.6726329922676086
+ 1
+ <_>
+
+
+
+ <_>5 12 1 2 -1.
+ <_>5 13 1 1 2.
+ 0
+ 1.1682329932227731e-004
+ 0.5041192770004273
+ 0.3607729077339172
+ <_>
+
+ <_>
+
+
+
+ <_>13 4 3 15 -1.
+ <_>14 4 1 15 3.
+ 0
+ -0.0399094782769680
+ 0.1563739031553268
+ 1
+ <_>
+
+
+
+ <_>17 3 2 6 -1.
+ <_>18 3 1 3 2.
+ <_>17 6 1 3 2.
+ 0
+ 1.5859459526836872e-003
+ 0.4891980886459351
+ 0.5779845118522644
+ <_>
+
+ <_>
+
+
+
+ <_>4 4 3 15 -1.
+ <_>5 4 1 15 3.
+ 0
+ -0.0226902291178703
+ 0.2186879068613052
+ 1
+ <_>
+
+
+
+ <_>1 3 2 6 -1.
+ <_>1 3 1 3 2.
+ <_>2 6 1 3 2.
+ 0
+ 2.0916070789098740e-003
+ 0.4771577119827271
+ 0.6099231243133545
+ <_>
+
+ <_>
+
+
+
+ <_>7 15 12 4 -1.
+ <_>7 17 12 2 2.
+ 0
+ -0.0247154198586941
+ 0.3463996946811676
+ 1
+ <_>
+
+
+
+ <_>1 0 19 3 -1.
+ <_>1 1 19 1 3.
+ 0
+ -0.0134194502606988
+ 0.3630692958831787
+ 0.5252196192741394
+ <_>
+
+ <_>
+
+
+
+ <_>3 17 10 2 -1.
+ <_>3 17 5 1 2.
+ <_>8 18 5 1 2.
+ 0
+ -6.0629472136497498e-003
+ 0.6666321754455566
+ 1
+ <_>
+
+
+
+ <_>2 5 10 15 -1.
+ <_>2 10 10 5 3.
+ 0
+ -2.0921030081808567e-003
+ 0.3399547040462494
+ 0.5035697817802429
+ <_>
+
+ <_>
+
+
+
+ <_>13 8 3 4 -1.
+ <_>13 10 3 2 2.
+ 0
+ 0.0259618591517210
+ 0.5036802887916565
+ 1
+ <_>
+
+
+
+ <_>19 13 1 2 -1.
+ <_>19 14 1 1 2.
+ 0
+ 1.7908669542521238e-004
+ 0.5418530702590942
+ 0.4318976998329163
+ <_>
+
+ <_>
+
+
+
+ <_>4 8 3 4 -1.
+ <_>4 10 3 2 2.
+ 0
+ -3.1546850223094225e-003
+ 0.7221025228500366
+ 1
+ <_>
+
+
+
+ <_>0 13 1 2 -1.
+ <_>0 14 1 1 2.
+ 0
+ -1.1397759662941098e-003
+ 0.3320972919464111
+ 0.5024433732032776
+ <_>
+
+ <_>
+
+
+
+ <_>12 7 2 12 -1.
+ <_>12 13 2 6 2.
+ 0
+ -0.0478402115404606
+ 0.1938765048980713
+ 1
+ <_>
+
+
+
+ <_>14 7 2 2 -1.
+ <_>15 7 1 1 2.
+ <_>14 8 1 1 2.
+ 0
+ 4.1577088995836675e-004
+ 0.4802188873291016
+ 0.5730714797973633
+ <_>
+
+ <_>
+
+
+
+ <_>5 3 8 2 -1.
+ <_>5 4 8 1 2.
+ 0
+ -4.4247039477340877e-004
+ 0.4262515008449554
+ 1
+ <_>
+
+
+
+ <_>0 2 2 6 -1.
+ <_>0 4 2 2 3.
+ 0
+ 1.4479350065812469e-003
+ 0.5719171166419983
+ 0.4064153134822846
+ <_>
+
+ <_>
+
+
+
+ <_>18 2 2 12 -1.
+ <_>19 2 1 6 2.
+ <_>18 8 1 6 2.
+ 0
+ 0.0157015100121498
+ 0.4995726048946381
+ 1
+ <_>
+
+
+
+ <_>18 1 1 2 -1.
+ <_>18 2 1 1 2.
+ 0
+ 2.7805729769170284e-004
+ 0.5289286971092224
+ 0.4581728875637054
+ <_>
+
+ <_>
+
+
+
+ <_>0 2 2 12 -1.
+ <_>0 2 1 6 2.
+ <_>1 8 1 6 2.
+ 0
+ -2.9010509606450796e-003
+ 0.6012148261070252
+ 1
+ <_>
+
+
+
+ <_>1 1 1 2 -1.
+ <_>1 2 1 1 2.
+ 0
+ 2.0830519497394562e-004
+ 0.5057976841926575
+ 0.3599432110786438
+ <_>
+
+ <_>
+
+
+
+ <_>16 4 4 14 -1.
+ <_>18 4 2 7 2.
+ <_>16 11 2 7 2.
+ 0
+ -0.0515300296247005
+ 1
+ 0.4991796910762787
+ <_>
+
+
+
+ <_>10 14 1 6 -1.
+ <_>10 17 1 3 2.
+ 0
+ 1.7163449956569821e-004
+ 0.4675469994544983
+ 0.5374773144721985
+ <_>
+
+ <_>
+
+
+
+ <_>0 4 4 14 -1.
+ <_>0 4 2 7 2.
+ <_>2 11 2 7 2.
+ 0
+ 0.0236142799258232
+ 1
+ 0.6586478948593140
+ <_>
+
+
+
+ <_>9 14 1 6 -1.
+ <_>9 17 1 3 2.
+ 0
+ -5.6427798699587584e-004
+ 0.3853296041488648
+ 0.5196040272712708
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 4 3 -1.
+ <_>9 15 4 1 3.
+ 0
+ 6.6903959959745407e-003
+ 1
+ 0.6004235744476318
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>8 7 4 2 3.
+ 0
+ -4.8789530992507935e-003
+ 0.3293227851390839
+ 0.5245236754417419
+ <_>
+
+ <_>
+
+
+
+ <_>0 8 4 3 -1.
+ <_>0 9 4 1 3.
+ 0
+ -6.8537332117557526e-003
+ 0.2565914094448090
+ 1
+ <_>
+
+
+
+ <_>4 7 2 2 -1.
+ <_>4 7 1 1 2.
+ <_>5 8 1 1 2.
+ 0
+ 9.9893810693174601e-004
+ 0.4615494012832642
+ 0.5942432284355164
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 2 1 -1.
+ <_>13 7 1 1 2.
+ 0
+ -1.3354700058698654e-004
+ 0.5487375855445862
+ 1
+ <_>
+
+
+
+ <_>11 4 4 5 -1.
+ <_>11 4 2 5 2.
+ 0
+ 1.0165109997615218e-003
+ 0.4578359127044678
+ 0.5426927804946899
+ <_>
+
+ <_>
+
+
+
+ <_>4 8 3 3 -1.
+ <_>5 8 1 3 3.
+ 0
+ 9.1216771397739649e-004
+ 1
+ 0.3939461112022400
+ <_>
+
+
+
+ <_>0 3 8 1 -1.
+ <_>4 3 4 1 2.
+ 0
+ 1.0080259526148438e-003
+ 0.4049789905548096
+ 0.5520703792572022
+ <_>
+
+ <_>
+
+
+
+ <_>13 7 2 1 -1.
+ <_>13 7 1 1 2.
+ 0
+ -1.3102490629535168e-004
+ 1
+ 0.4879088997840881
+ <_>
+
+
+
+ <_>14 7 3 2 -1.
+ <_>15 7 1 2 3.
+ 0
+ 5.5228749988600612e-004
+ 0.4844943881034851
+ 0.5512825846672058
+ <_>
+
+ <_>
+
+
+
+ <_>5 7 2 1 -1.
+ <_>6 7 1 1 2.
+ 0
+ -1.2130969844292849e-004
+ 1
+ 0.4367971122264862
+ <_>
+
+
+
+ <_>3 7 3 2 -1.
+ <_>4 7 1 2 3.
+ 0
+ -1.5112989785848185e-005
+ 0.6425955295562744
+ 0.4881826937198639
+ <_>
+
+ <_>
+
+
+
+ <_>18 5 2 2 -1.
+ <_>18 6 2 1 2.
+ 0
+ -4.0125829400494695e-004
+ 1
+ 0.5372099280357361
+ <_>
+
+
+
+ <_>12 14 2 2 -1.
+ <_>13 14 1 1 2.
+ <_>12 15 1 1 2.
+ 0
+ -6.5766851184889674e-004
+ 0.5834553241729736
+ 0.4869078099727631
+ <_>
+
+ <_>
+
+
+
+ <_>0 5 2 2 -1.
+ <_>0 6 2 1 2.
+ 0
+ 6.2220421386882663e-004
+ 1
+ 0.3824636936187744
+ <_>
+
+
+
+ <_>6 14 2 2 -1.
+ <_>6 14 1 1 2.
+ <_>7 15 1 1 2.
+ 0
+ 1.4663359615951777e-003
+ 0.4813488125801086
+ 0.6966739296913147
+ <_>
+
+ <_>
+
+
+
+ <_>7 12 6 5 -1.
+ <_>9 12 2 5 3.
+ 0
+ -0.0495477095246315
+ 0.0539276599884033
+ 1
+ <_>
+
+
+
+ <_>12 17 5 2 -1.
+ <_>12 18 5 1 2.
+ 0
+ 1.3017569435760379e-003
+ 0.5337455868721008
+ 0.4160748124122620
+ <_>
+
+ <_>
+
+
+
+ <_>1 11 6 3 -1.
+ <_>4 11 3 3 2.
+ 0
+ -4.4914530590176582e-003
+ 0.5997437238693237
+ 1
+ <_>
+
+
+
+ <_>1 9 6 3 -1.
+ <_>4 9 3 3 2.
+ 0
+ 1.6592369647696614e-003
+ 0.3727185130119324
+ 0.5115634202957153
+ <_>
+
+ <_>
+
+
+
+ <_>12 7 2 12 -1.
+ <_>12 13 2 6 2.
+ 0
+ 6.4695458859205246e-003
+ 0.5252035260200501
+ 1
+ <_>
+
+
+
+ <_>8 7 5 3 -1.
+ <_>8 8 5 1 3.
+ 0
+ 4.9810269847512245e-003
+ 0.5256717801094055
+ 0.3934406042098999
+ <_>
+
+ <_>
+
+
+
+ <_>6 7 2 12 -1.
+ <_>6 13 2 6 2.
+ 0
+ -0.0385369807481766
+ 0.2061924934387207
+ 1
+ <_>
+
+
+
+ <_>1 2 9 18 -1.
+ <_>4 2 3 18 3.
+ 0
+ -0.2827565073966980
+ 0.0618832111358643
+ 0.4925057888031006
+ <_>
+
+ <_>
+
+
+
+ <_>12 17 5 2 -1.
+ <_>12 18 5 1 2.
+ 0
+ -9.0301828458905220e-003
+ 0.3157590031623840
+ 1
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>4 7 6 2 2.
+ 0
+ -0.0438662692904472
+ 0.2033682018518448
+ 0.5164769887924194
+ <_>
+
+ <_>
+
+
+
+ <_>6 7 6 1 -1.
+ <_>8 7 2 1 3.
+ 0
+ -4.5701069757342339e-003
+ 0.6611183285713196
+ 1
+ <_>
+
+
+
+ <_>7 3 3 2 -1.
+ <_>8 3 1 2 3.
+ 0
+ -2.3362410720437765e-003
+ 0.2807789146900177
+ 0.4962876141071320
+ <_>
+
+ <_>
+
+
+
+ <_>9 4 3 1 -1.
+ <_>10 4 1 1 3.
+ 0
+ 5.3960331715643406e-003
+ 0.5146387815475464
+ 1
+ <_>
+
+
+
+ <_>11 11 3 1 -1.
+ <_>12 11 1 1 3.
+ 0
+ -2.6297608856111765e-003
+ 0.6284487843513489
+ 0.4955588877201080
+ <_>
+
+ <_>
+
+
+
+ <_>8 4 3 1 -1.
+ <_>9 4 1 1 3.
+ 0
+ -3.8577478844672441e-003
+ 0.1486748009920120
+ 1
+ <_>
+
+
+
+ <_>6 11 3 1 -1.
+ <_>7 11 1 1 3.
+ 0
+ 1.3963800156489015e-003
+ 0.4701338112354279
+ 0.6320971846580505
+ <_>
+
+ <_>
+
+
+
+ <_>12 13 6 6 -1.
+ <_>12 15 6 2 3.
+ 0
+ -8.8699469342827797e-003
+ 1
+ 0.5286818146705627
+ <_>
+
+
+
+ <_>14 13 1 6 -1.
+ <_>14 15 1 2 3.
+ 0
+ -7.0626288652420044e-004
+ 0.4648370146751404
+ 0.5333210229873657
+ <_>
+
+ <_>
+
+
+
+ <_>2 13 6 6 -1.
+ <_>2 15 6 2 3.
+ 0
+ 4.2645810171961784e-003
+ 0.5084878206253052
+ 1
+ <_>
+
+
+
+ <_>1 5 18 1 -1.
+ <_>7 5 6 1 3.
+ 0
+ 0.0615721009671688
+ 0.3629625141620636
+ 0.8757156729698181
+ <_>
+
+ <_>
+
+
+
+ <_>4 7 12 2 -1.
+ <_>10 7 6 1 2.
+ <_>4 8 6 1 2.
+ 0
+ -4.5381980016827583e-003
+ 1
+ 0.4856696128845215
+ <_>
+
+
+
+ <_>6 1 8 10 -1.
+ <_>10 1 4 5 2.
+ <_>6 6 4 5 2.
+ 0
+ -4.0877899155020714e-003
+ 0.4584116041660309
+ 0.5420240759849548
+ <_>
+
+ <_>
+
+
+
+ <_>3 13 4 3 -1.
+ <_>3 14 4 1 3.
+ 0
+ 6.4308601431548595e-003
+ 1
+ 0.2707302868366242
+ <_>
+
+
+
+ <_>6 13 4 3 -1.
+ <_>6 14 4 1 3.
+ 0
+ 7.0455260574817657e-003
+ 0.5057486891746521
+ 0.7026523947715759
+ <_>
+
+ <_>
+
+
+
+ <_>9 14 4 3 -1.
+ <_>9 15 4 1 3.
+ 0
+ -2.3246440105140209e-003
+ 1
+ 0.4827278852462769
+ <_>
+
+
+
+ <_>12 9 2 3 -1.
+ <_>12 10 2 1 3.
+ 0
+ 6.0276601288933307e-005
+ 0.4247249066829681
+ 0.5508763194084168
+ <_>
+
+ <_>
+
+
+
+ <_>7 14 4 3 -1.
+ <_>7 15 4 1 3.
+ 0
+ 0.0180845595896244
+ 1
+ 0.8104801177978516
+ <_>
+
+
+
+ <_>9 0 2 1 -1.
+ <_>10 0 1 1 2.
+ 0
+ 8.4693520329892635e-004
+ 0.5154619216918945
+ 0.3514379858970642
+ <_>
+
+ <_>
+
+
+
+ <_>5 0 10 5 -1.
+ <_>5 0 5 5 2.
+ 0
+ -0.0269310399889946
+ 1
+ 0.4886888861656189
+ <_>
+
+
+
+ <_>6 6 8 7 -1.
+ <_>6 6 4 7 2.
+ 0
+ -4.2346641421318054e-003
+ 0.4622378051280975
+ 0.5382478237152100
+ <_>
+
+ <_>
+
+
+
+ <_>5 0 10 5 -1.
+ <_>10 0 5 5 2.
+ 0
+ 0.0269471108913422
+ 1
+ 0.6366596221923828
+ <_>
+
+
+
+ <_>6 6 8 7 -1.
+ <_>10 6 4 7 2.
+ 0
+ 4.6446882188320160e-003
+ 0.5368506908416748
+ 0.3765429854393005
+ <_>
+
+ <_>
+
+
+
+ <_>5 9 10 8 -1.
+ <_>10 9 5 4 2.
+ <_>5 13 5 4 2.
+ 0
+ -6.9577661342918873e-003
+ 0.4234687089920044
+ 1
+ <_>
+
+
+
+ <_>10 0 4 10 -1.
+ <_>12 0 2 5 2.
+ <_>10 5 2 5 2.
+ 0
+ 8.7609712500125170e-004
+ 0.4672406017780304
+ 0.5350683927536011
+ <_>
+
+ <_>
+
+
+
+ <_>1 4 8 3 -1.
+ <_>1 5 8 1 3.
+ 0
+ 1.6103329835459590e-003
+ 1
+ 0.5732762813568115
+ <_>
+
+
+
+ <_>4 4 8 3 -1.
+ <_>4 5 8 1 3.
+ 0
+ -1.2848590267822146e-003
+ 0.5481799244880676
+ 0.3784593045711517
+ <_>
+
+ <_>
+
+
+
+ <_>9 7 4 3 -1.
+ <_>9 8 4 1 3.
+ 0
+ 0.0102435396984220
+ 0.5155907273292542
+ 1
+ <_>
+
+
+
+ <_>12 8 3 12 -1.
+ <_>12 14 3 6 2.
+ 0
+ 2.6889349101111293e-004
+ 0.5353189706802368
+ 0.4387153983116150
+ <_>
+
+ <_>
+
+
+
+ <_>7 7 4 3 -1.
+ <_>7 8 4 1 3.
+ 0
+ 3.7903659977018833e-003
+ 0.5032002925872803
+ 1
+ <_>
+
+
+
+ <_>5 8 3 12 -1.
+ <_>5 14 3 6 2.
+ 0
+ -0.0293696802109480
+ 0.5873538851737976
+ 0.2215445041656494
+ <_>
+
+ <_>
+
+
+
+ <_>10 0 7 6 -1.
+ <_>10 2 7 2 3.
+ 0
+ 6.0743088833987713e-003
+ 1
+ 0.5417029857635498
+ <_>
+
+
+
+ <_>2 1 18 1 -1.
+ <_>8 1 6 1 3.
+ 0
+ -0.0127107203006744
+ 0.6056511998176575
+ 0.4985181987285614
+ <_>
+
+ <_>
+
+
+
+ <_>5 0 3 8 -1.
+ <_>6 0 1 8 3.
+ 0
+ -5.9445449151098728e-003
+ 0.3352069854736328
+ 1
+ <_>
+
+
+
+ <_>4 7 4 2 -1.
+ <_>4 8 4 1 2.
+ 0
+ -2.8927479870617390e-003
+ 0.6929240822792053
+ 0.4778220057487488
+ 53.7555694580078130
+ 18
+ -1
+
diff --git a/wagtail/wagtailimages/utils/feature_detection.py b/wagtail/wagtailimages/utils/feature_detection.py
new file mode 100644
index 000000000..6381fabf7
--- /dev/null
+++ b/wagtail/wagtailimages/utils/feature_detection.py
@@ -0,0 +1,84 @@
+import os
+
+try:
+ import cv
+
+ opencv_available = True
+except ImportError:
+ try:
+ import cv2.cv as cv
+
+ opencv_available = True
+ except ImportError:
+ opencv_available = False
+
+
+from wagtail.wagtailimages.utils.focal_point import FocalPoint, combine_focal_points
+
+
+class FeatureDetector(object):
+ def __init__(self, image_size, image_mode, image_data):
+ self.image_size = image_size
+ self.image_mode = image_mode
+ self.image_data = image_data
+
+ def opencv_grey_image(self):
+ image = cv.CreateImageHeader(self.image_size, cv.IPL_DEPTH_8U, 3)
+ cv.SetData(image, self.image_data)
+
+ gray_image = cv.CreateImage(self.image_size, 8, 1)
+ convert_mode = getattr(cv, 'CV_%s2GRAY' % self.image_mode)
+ cv.CvtColor(image, gray_image, convert_mode)
+
+ return gray_image
+
+ def detect_features(self):
+ if opencv_available:
+ image = self.opencv_grey_image()
+ rows = self.image_size[0]
+ cols = self.image_size[1]
+
+ eig_image = cv.CreateMat(rows, cols, cv.CV_32FC1)
+ temp_image = cv.CreateMat(rows, cols, cv.CV_32FC1)
+ points = cv.GoodFeaturesToTrack(image, eig_image, temp_image, 20, 0.04, 1.0, useHarris=False)
+
+ if points:
+ return [FocalPoint(x, y, 1) for x, y in points]
+
+ return []
+
+ def detect_faces(self):
+ if opencv_available:
+ cascade_filename = os.path.join(os.path.dirname(__file__), 'face_detection', 'haarcascade_frontalface_alt2.xml')
+ cascade = cv.Load(cascade_filename)
+ image = self.opencv_grey_image()
+
+ cv.EqualizeHist(image, image)
+
+ min_size = (40, 40)
+ haar_scale = 1.1
+ min_neighbors = 3
+ haar_flags = 0
+
+ faces = cv.HaarDetectObjects(
+ image, cascade, cv.CreateMemStorage(0),
+ haar_scale, min_neighbors, haar_flags, min_size
+ )
+
+ if faces:
+ return [FocalPoint.from_square(face[0][0], face[0][1], face[0][2], face[0][3]) for face in faces]
+
+ return []
+
+ def get_focal_point(self):
+ # Face detection
+ faces = self.detect_faces()
+
+ if faces:
+ return combine_focal_points(faces)
+
+ # Feature detection
+ features = self.detect_features()
+
+ if features:
+ return combine_focal_points(features)
diff --git a/wagtail/wagtailimages/utils/focal_point.py b/wagtail/wagtailimages/utils/focal_point.py
new file mode 100644
index 000000000..55593db66
--- /dev/null
+++ b/wagtail/wagtailimages/utils/focal_point.py
@@ -0,0 +1,98 @@
+# https://github.com/thumbor/thumbor/blob/8a50bfba9443e8d2a1a691ab20eeb525815be597/thumbor/point.py
+
+# thumbor imaging service
+# https://github.com/globocom/thumbor/wiki
+
+# Licensed under the MIT license:
+# http://www.opensource.org/licenses/mit-license
+# Copyright (c) 2011 globo.com timehome@corp.globo.com
+
+
+class FocalPoint(object):
+ ALIGNMENT_PERCENTAGES = {
+ 'left': 0.0,
+ 'center': 0.5,
+ 'right': 1.0,
+ 'top': 0.0,
+ 'middle': 0.5,
+ 'bottom': 1.0
+ }
+
+ def to_dict(self):
+ return {
+ 'x': self.x,
+ 'y': self.y,
+ 'z': self.weight,
+ 'height': self.height,
+ 'width': self.width,
+ 'origin': self.origin
+ }
+
+ @classmethod
+ def from_dict(cls, values):
+ return cls(
+ x=float(values['x']),
+ y=float(values['y']),
+ weight=float(values['z']),
+ width=float(values.get('width', 1)),
+ height=float(values.get('height', 1)),
+ origin=values.get('origin', 'alignment')
+ )
+
+ def __init__(self, x, y, height=1, width=1, weight=1.0, origin="alignment"):
+ self.x = x
+ self.y = y
+ self.height = height
+ self.width = width
+ self.weight = weight
+ self.origin = origin
+
+ @classmethod
+ def from_square(cls, x, y, width, height, origin='detection'):
+ center_x = x + (width / 2)
+ center_y = y + (height / 2)
+ return cls(center_x, center_y, height=height, width=width, weight=width * height, origin=origin)
+
+ @classmethod
+ def from_alignment(cls, halign, valign, width, height):
+ x = width * cls.ALIGNMENT_PERCENTAGES[halign]
+ y = height * cls.ALIGNMENT_PERCENTAGES[valign]
+
+ return cls(x, y)
+
+ def __repr__(self):
+ return 'FocalPoint(x: %d, y: %d, width: %d, height: %d, weight: %d, origin: %s)' % (
+ self.x, self.y, self.width, self.height, self.weight, self.origin
+ )
+
+ def get_key(self):
+ return "%(x)d-%(y)d-%(width)dx%(height)d" % self.to_dict()
+
+
+def combine_focal_points(focal_points):
+ # https://github.com/thumbor/thumbor/blob/fc75f2d617942e3548986fe8403ad717fc9978ba/thumbor/transformer.py#L255-L269
+ if not focal_points:
+ return
+
+ total_weight = 0.0
+ total_x = 0.0
+ total_y = 0.0
+
+ for focal_point in focal_points:
+ total_weight += focal_point.weight
+
+ total_x += focal_point.x * focal_point.weight
+ total_y += focal_point.y * focal_point.weight
+
+ x = total_x / total_weight
+ y = total_y / total_weight
+
+ min_x = min([point.x - point.width / 2 for point in focal_points])
+ min_y = min([point.y - point.height / 2 for point in focal_points])
+ max_x = max([point.x + point.width / 2 for point in focal_points])
+ max_y = max([point.y + point.height / 2 for point in focal_points])
+
+ width = max_x - min_x
+ height = max_y - min_y
+
+ return FocalPoint(x, y, width=width, height=height, weight=total_weight)
diff --git a/wagtail/wagtailimages/utils.py b/wagtail/wagtailimages/utils/validators.py
similarity index 95%
rename from wagtail/wagtailimages/utils.py
rename to wagtail/wagtailimages/utils/validators.py
index 4d10e2360..13604a88e 100644
--- a/wagtail/wagtailimages/utils.py
+++ b/wagtail/wagtailimages/utils/validators.py
@@ -3,7 +3,7 @@ import os
from PIL import Image
from django.core.exceptions import ValidationError
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import ugettext_lazy as _
def validate_image_format(f):
@@ -33,3 +33,4 @@ def validate_image_format(f):
# It is possible to upload PSD files if their extension is set to jpg, png or gif. This should catch them out
if image.format.upper() != extension.upper():
raise ValidationError(_("Not a valid %s image. Please use a gif, jpeg or png file with the correct file extension (*.gif, *.jpg or *.png).") % (extension.upper()))
+
diff --git a/wagtail/wagtailimages/views/frontend.py b/wagtail/wagtailimages/views/frontend.py
new file mode 100644
index 000000000..74ec8456f
--- /dev/null
+++ b/wagtail/wagtailimages/views/frontend.py
@@ -0,0 +1,20 @@
+from django.shortcuts import get_object_or_404
+from django.http import HttpResponse
+from django.core.exceptions import PermissionDenied
+from django.views.decorators.cache import cache_page
+
+from wagtail.wagtailimages.models import get_image_model, Filter
+from wagtail.wagtailimages.utils.crypto import verify_signature
+
+
+@cache_page(60 * 60 * 24 * 60) # Cache for 60 days
+def serve(request, signature, image_id, filter_spec):
+ image = get_object_or_404(get_image_model(), id=image_id)
+
+ if not verify_signature(signature.encode(), image_id, filter_spec):
+ raise PermissionDenied
+
+ try:
+ return Filter(spec=filter_spec).process_image(image.file.file, HttpResponse(content_type='image/jpeg'), focal_point=image.focal_point)
+ except Filter.InvalidFilterSpecError:
+ return HttpResponse("Invalid filter spec: " + filter_spec, content_type='text/plain', status=400)
diff --git a/wagtail/wagtailimages/views/images.py b/wagtail/wagtailimages/views/images.py
index 64f27dbda..27ad96a47 100644
--- a/wagtail/wagtailimages/views/images.py
+++ b/wagtail/wagtailimages/views/images.py
@@ -1,3 +1,5 @@
+import json
+
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib import messages
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
@@ -5,11 +7,15 @@ from django.contrib.auth.decorators import permission_required
from django.core.exceptions import PermissionDenied
from django.utils.translation import ugettext as _
from django.views.decorators.vary import vary_on_headers
+from django.core.urlresolvers import reverse, NoReverseMatch
+from django.http import HttpResponse
+from wagtail.wagtailcore.models import Site
from wagtail.wagtailadmin.forms import SearchForm
-from wagtail.wagtailimages.models import get_image_model
-from wagtail.wagtailimages.forms import get_image_form
+from wagtail.wagtailimages.models import get_image_model, Filter
+from wagtail.wagtailimages.forms import get_image_form, URLGeneratorForm
+from wagtail.wagtailimages.utils.crypto import generate_signature
@permission_required('wagtailimages.add_image')
@@ -32,7 +38,6 @@ def index(request):
if form.is_valid():
query_string = form.cleaned_data['q']
- is_searching = True
if not request.user.has_perm('wagtailimages.change_image'):
# restrict to the user's own images
images = Image.search(query_string, filters={'uploaded_by_user_id': request.user.id})
@@ -98,12 +103,79 @@ def edit(request, image_id):
else:
form = ImageForm(instance=image)
+ # Check if we should enable the frontend url generator
+ try:
+ reverse('wagtailimages_serve', args=('foo', '1', 'bar'))
+ url_generator_enabled = True
+ except NoReverseMatch:
+ url_generator_enabled = False
+
return render(request, "wagtailimages/images/edit.html", {
'image': image,
'form': form,
+ 'url_generator_enabled': url_generator_enabled,
})
+@permission_required('wagtailadmin.access_admin') # more specific permission tests are applied within the view
+def url_generator(request, image_id):
+ image = get_object_or_404(get_image_model(), id=image_id)
+
+ if not image.is_editable_by_user(request.user):
+ raise PermissionDenied
+
+ form = URLGeneratorForm(initial={
+ 'filter_method': 'original',
+ 'width': image.width,
+ 'height': image.height,
+ })
+
+ return render(request, "wagtailimages/images/url_generator.html", {
+ 'image': image,
+ 'form': form,
+ })
+
+
+def json_response(document, status=200):
+ return HttpResponse(json.dumps(document), content_type='application/json', status=status)
+
+
+@permission_required('wagtailadmin.access_admin')
+def generate_url(request, image_id, filter_spec):
+ # Get the image
+ Image = get_image_model()
+ try:
+ image = Image.objects.get(id=image_id)
+ except Image.DoesNotExist:
+ return json_response({
+ 'error': "Cannot find image."
+ }, status=404)
+
+ # Check if this user has edit permission on this image
+ if not image.is_editable_by_user(request.user):
+ return json_response({
+ 'error': "You do not have permission to generate a URL for this image."
+ }, status=403)
+
+ # Parse the filter spec to make sure its valid
+ if not Filter(spec=filter_spec).is_valid():
+ return json_response({
+ 'error': "Invalid filter spec."
+ }, status=400)
+
+ # Generate url
+ signature = generate_signature(image_id, filter_spec)
+ url = reverse('wagtailimages_serve', args=(signature, image_id, filter_spec))
+
+ # Get site root url
+ try:
+ site_root_url = Site.objects.get(is_default_site=True).root_url
+ except Site.DoesNotExist:
+ site_root_url = Site.objects.first().root_url
+
+ return json_response({'url': site_root_url + url, 'local_url': url}, status=200)
+
+
@permission_required('wagtailadmin.access_admin') # more specific permission tests are applied within the view
def delete(request, image_id):
image = get_object_or_404(get_image_model(), id=image_id)
@@ -141,3 +213,24 @@ def add(request):
return render(request, "wagtailimages/images/add.html", {
'form': form,
})
+
+
+@permission_required('wagtailadmin.access_admin')
+def usage(request, image_id):
+ image = get_object_or_404(get_image_model(), id=image_id)
+
+ # Pagination
+ p = request.GET.get('p', 1)
+ paginator = Paginator(image.get_usage(), 20)
+
+ try:
+ used_by = paginator.page(p)
+ except PageNotAnInteger:
+ used_by = paginator.page(1)
+ except EmptyPage:
+ used_by = paginator.page(paginator.num_pages)
+
+ return render(request, "wagtailimages/images/usage.html", {
+ 'image': image,
+ 'used_by': used_by
+ })
diff --git a/wagtail/wagtailimages/views/multiple.py b/wagtail/wagtailimages/views/multiple.py
index 7a3702625..5bc76fa7c 100644
--- a/wagtail/wagtailimages/views/multiple.py
+++ b/wagtail/wagtailimages/views/multiple.py
@@ -12,7 +12,7 @@ from django.utils.translation import ugettext as _
from wagtail.wagtailimages.models import get_image_model
from wagtail.wagtailimages.forms import get_image_form_for_multi
-from wagtail.wagtailimages.utils import validate_image_format
+from wagtail.wagtailimages.utils.validators import validate_image_format
def json_response(document):
diff --git a/wagtail/wagtailimages/wagtail_hooks.py b/wagtail/wagtailimages/wagtail_hooks.py
index 90ba83d37..b4f2bac19 100644
--- a/wagtail/wagtailimages/wagtail_hooks.py
+++ b/wagtail/wagtailimages/wagtail_hooks.py
@@ -1,24 +1,64 @@
from django.conf import settings
from django.conf.urls import include, url
from django.core import urlresolvers
+from django.core.exceptions import ImproperlyConfigured
from django.utils.html import format_html, format_html_join
from django.utils.translation import ugettext_lazy as _
from wagtail.wagtailcore import hooks
from wagtail.wagtailadmin.menu import MenuItem
-from wagtail.wagtailimages import urls
+from wagtail.wagtailimages import admin_urls
@hooks.register('register_admin_urls')
def register_admin_urls():
return [
- url(r'^images/', include(urls)),
+ url(r'^images/', include(admin_urls)),
]
+# Check for the presence of a pre-Wagtail-0.3-style urlconf, and fail loudly if one is found.
+# Prior to Wagtail 0.3, the standard Wagtail urls.py contained an entry for
+# wagtail.wagtailimages.urls rooted at '/admin/images/' or equivalent. As of Wagtail 0.5,
+# the wagtailimages admin views are defined by wagtail.wagtailimages.admin_urls, and
+# wagtail.wagtailimages.urls is used for front-end views instead - which means that those URLs
+# will clash with the admin.
+# This check can only be performed after the ROOT_URLCONF module has been fully imported. Since
+# importing a urlconf module generally involves recursively importing a whole load of other things
+# including models.py and wagtail_hooks.py, there is no obvious place to put this code at the
+# module level without causing a circular import. We therefore put it in construct_main_menu, which
+# is run frequently enough to ensure that the error message will not be missed. Yes, it's hacky :-(
+
+OLD_STYLE_URLCONF_CHECK_PASSED = False
+def check_old_style_urlconf():
+ global OLD_STYLE_URLCONF_CHECK_PASSED
+
+ # A faulty urls.py will place wagtail.wagtailimages.urls at the same path that
+ # wagtail.wagtailimages.admin_urls is loaded to, resulting in the wagtailimages_serve path
+ # being equal to wagtailimages_index followed by three arbitrary args
+ try:
+ wagtailimages_serve_path = urlresolvers.reverse('wagtailimages_serve', args = ['123', '456', '789'])
+ except urlresolvers.NoReverseMatch:
+ # wagtailimages_serve is not defined at all, so there's no collision
+ OLD_STYLE_URLCONF_CHECK_PASSED = True
+ return
+
+ wagtailimages_index_path = urlresolvers.reverse('wagtailimages_index')
+ if wagtailimages_serve_path == wagtailimages_index_path + '123/456/789/':
+ raise ImproperlyConfigured("""Your urls.py contains an entry for %s that needs to be removed.
+ See http://wagtail.readthedocs.org/en/latest/releases/0.5.html#urlconf-entries-for-admin-images-admin-embeds-etc-need-to-be-removed"""
+ % wagtailimages_index_path
+ )
+ else:
+ OLD_STYLE_URLCONF_CHECK_PASSED = True
+
+
@hooks.register('construct_main_menu')
def construct_main_menu(request, menu_items):
+ if not OLD_STYLE_URLCONF_CHECK_PASSED:
+ check_old_style_urlconf()
+
if request.user.has_perm('wagtailimages.add_image'):
menu_items.append(
MenuItem(_('Images'), urlresolvers.reverse('wagtailimages_index'), classnames='icon icon-image', order=300)
diff --git a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo
index 03eef3c99..17da54257 100644
Binary files a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po
index ffbced366..11ee5d379 100644
--- a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:12+0000\n"
"Last-Translator: serafeim \n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/"
@@ -69,7 +69,7 @@ msgstr "Пренасочването '{0}' добавено."
msgid "The redirect could not be created due to errors."
msgstr "Пренасочването не можеше да бъде създадено поради грешки."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Пренасочвания"
diff --git a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo
index 549a98df8..a9543f66d 100644
Binary files a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po
index 26c3931d2..53882f99c 100644
--- a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:59+0000\n"
"Last-Translator: Lloople \n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/"
@@ -69,7 +69,7 @@ msgstr "Redireccionament '{0}' afegit."
msgid "The redirect could not be created due to errors."
msgstr "No s'ha pogut crear el redireccionament."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Redireccions"
diff --git a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo
index a14456d56..a698340c8 100644
Binary files a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po
index 3b1171921..b0937da4b 100644
--- a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-24 19:01+0000\n"
"Last-Translator: pcraston \n"
"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/"
@@ -71,7 +71,7 @@ msgstr "Weiterleitung '{0}' hinzugefügt."
msgid "The redirect could not be created due to errors."
msgstr "Aufgrund von Fehlern konnte die Weiterleitung nicht erstellt werden."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Weiterleitungen"
diff --git a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo
index 317a7bba8..a7530f4bf 100644
Binary files a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po
index 1aa6bf7b6..a20fde9f9 100644
--- a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:16+0000\n"
"Last-Translator: serafeim \n"
"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/"
@@ -69,7 +69,7 @@ msgstr "Η ανακατεύθυνση '{0}' προστέθηκε."
msgid "The redirect could not be created due to errors."
msgstr "Δεν ήταν δυνατή η δημιουργία της ανακατεύθυνσης."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Ανακατευθύνει"
diff --git a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo
index 4b726f7d6..44e531ab0 100644
Binary files a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po
index b7e87b086..6a3b4fc05 100644
--- a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -63,7 +63,7 @@ msgstr ""
msgid "The redirect could not be created due to errors."
msgstr ""
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr ""
diff --git a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo
index 52afcb92c..ef1d3a7bf 100644
Binary files a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po
index 0f9cec052..5eae66a50 100644
--- a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-23 10:21+0000\n"
"Last-Translator: fooflare \n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/"
@@ -70,7 +70,7 @@ msgstr "Redirección '{0}' añadida."
msgid "The redirect could not be created due to errors."
msgstr "La redirección no puede ser creada debido a errores."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Redirecciona"
diff --git a/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.mo
index f5afff9e4..059c50fbc 100644
Binary files a/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.po
index d7bbbe401..f2336f56b 100644
--- a/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/eu/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:12+0000\n"
"Last-Translator: serafeim \n"
"Language-Team: Basque (http://www.transifex.com/projects/p/wagtail/language/"
@@ -64,7 +64,7 @@ msgstr ""
msgid "The redirect could not be created due to errors."
msgstr ""
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr ""
diff --git a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo
index 182b4cef7..5cc019daf 100644
Binary files a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po
index 047a9c754..a88294e24 100644
--- a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-18 23:07+0000\n"
"Last-Translator: nahuel\n"
"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/"
@@ -69,7 +69,7 @@ msgstr "Redirection '{0} ajoutée."
msgid "The redirect could not be created due to errors."
msgstr "La redirection ne peut être créé du fait d'erreurs."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Redirections"
diff --git a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo
index 93e89b3fd..0417c9ae8 100644
Binary files a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po
index 40788394e..a0a877ef8 100644
--- a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-23 10:32+0000\n"
"Last-Translator: fooflare \n"
"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/"
@@ -70,7 +70,7 @@ msgstr "Redirección '{0}' engadida."
msgid "The redirect could not be created due to errors."
msgstr "A redirección non pede ser creada debido a erros."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Redirecciona"
diff --git a/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.mo
index 4d78adf19..a610b6cd7 100644
Binary files a/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.po
index 32dc9b4fb..8fe2a3670 100644
--- a/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/mn/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 21:12+0000\n"
"Last-Translator: serafeim \n"
"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/"
@@ -64,7 +64,7 @@ msgstr ""
msgid "The redirect could not be created due to errors."
msgstr ""
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr ""
diff --git a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo
index 58c18567f..c499702f0 100644
Binary files a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po
index 7903d29c7..5a89ebb3f 100644
--- a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po
+++ b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Wagtail\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-07-11 10:47+0000\n"
+"POT-Creation-Date: 2014-08-01 16:39+0100\n"
"PO-Revision-Date: 2014-03-14 22:16+0000\n"
"Last-Translator: utek \n"
"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/"
@@ -70,7 +70,7 @@ msgstr "Dodano przekierowanie '{0}'."
msgid "The redirect could not be created due to errors."
msgstr "Przekierowanie nie mogło zostać stworzone z powodu błędów."
-#: wagtail_hooks.py:22 templates/wagtailredirects/index.html:3
+#: wagtail_hooks.py:23 templates/wagtailredirects/index.html:3
#: templates/wagtailredirects/index.html:17
msgid "Redirects"
msgstr "Przekierowania"
diff --git a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo
new file mode 100644
index 000000000..e6fb7e2b6
Binary files /dev/null and b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po
new file mode 100644
index 000000000..759a4906a
--- /dev/null
+++ b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po
@@ -0,0 +1,169 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+# Translators:
+# Thiago Cangussu